{"about":{"site":"https://codewithpapers.app","non_affiliation":"Code with Papers and Syntology are not affiliated with, endorsed by, or sponsored by Papers with Code, Meta, or the pwc-archive mirror.","licence":"CC BY-SA 4.0","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","attribution":"https://codewithpapers.app/attribution","modified":"archive material modified by Syntology; see the attribution page"},"url":"/paper/remembering-to-be-fair-on-non-markovian","title":"Remembering to Be Fair: Non-Markovian Fairness in Sequential Decision Making","arxiv_id":"2312.04772","date":"2023-12-08","proceeding":null,"authors":["Parand A. Alamdari","Toryn Q. Klassen","Elliot Creager","Sheila A. McIlraith"],"abstract":"Fair decision making has largely been studied with respect to a single decision. Here we investigate the notion of fairness in the context of sequential decision making where multiple stakeholders can be affected by the outcomes of decisions. We observe that fairness often depends on the history of the sequential decision-making process, and in this sense that it is inherently non-Markovian. We further observe that fairness often needs to be assessed at time points within the process, not just at the end of the process. To advance our understanding of this class of fairness problems, we explore the notion of non-Markovian fairness in the context of sequential decision making. We identify properties of non-Markovian fairness, including notions of long-term, anytime, periodic, and bounded fairness. We explore the interplay between non-Markovian fairness and memory and how memory can support construction of fair policies. Finally, we introduce the FairQCM algorithm, which can automatically augment its training data to improve sample efficiency in the synthesis of fair policies via reinforcement learning.","url_abs":"https://arxiv.org/abs/2312.04772v4","url_pdf":"https://arxiv.org/pdf/2312.04772v4.pdf","source":{"archive":"pwc-archive (Hugging Face), CC BY-SA 4.0","snapshot":"2025-07-28","licence_url":"https://creativecommons.org/licenses/by-sa/4.0/legalcode","row_kind":"abstracts"},"code_links":[{"paper_slug":"remembering-to-be-fair-on-non-markovian","repo_url":"https://github.com/praal/remembering-to-be-fair","is_official":1,"mentioned_in_paper":1,"mentioned_in_github":0,"framework":"pytorch","reach":null}],"tasks":[{"task_slug":"decision-making","task_name":"Decision Making"},{"task_slug":"fairness","task_name":"Fairness"},{"task_slug":"sequential-decision-making","task_name":"Sequential Decision Making"}],"methods":[],"datasets_introduced":[],"methods_introduced":[],"results":[],"syntology":{"syntology_url":"https://syntology.ai/paper/2312.04772","atlas_url":"https://app.syntology.ai/?focus=2312.04772","mcp":{"get_harvested_code_for_paper":{"arxiv_id":"2312.04772"}},"developers":"https://syntology.ai/developers","read_at":"2026-09-25T09:33:49+00:00","read_at_is":"when the build read Syntology's graph, not when any sample ran","claim":"Per-sample execution status on synthesized fixtures; not a correctness claim about the paper. Samples come from repositories linked to the paper, official or community; repo_kind says which.","repos":[{"provenance":"external:paperswithcode_snapshot_2025-07-28","url":"https://github.com/praal/remembering-to-be-fair","reach":null}],"summary":{"unverified":3},"by_repo_kind":{"official":{"samples":3,"ran":0,"repositories":1}},"repo_kind_vocabulary":{"official":"The archive marks this repository official for the paper","named_in_paper":"The archive records that the paper mentions this repository; it is not marked official","listed":"In the archive's code links for this paper, not marked official and not recorded as mentioned in the paper","found_in_text":"Syntology found this repository in the paper's own text; whether it is the authors' implementation is not asserted","community":"Not in the archive's code links for this paper; a community repository Syntology harvested"},"n_pointer_only_for_licence":0,"samples":[{"code_sha256_prefix":"87f9437c4885c1ac","entry":"argmax_greedy","repo":"praal/remembering-to-be-fair","repo_kind":"official","path":"ql.py","file_url":"https://github.com/praal/remembering-to-be-fair/blob/HEAD/ql.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"87f9437c4885c1ac"}},{"code_sha256_prefix":"1ebf0a52271654cb","entry":"evaluate","repo":"praal/remembering-to-be-fair","repo_kind":"official","path":"ql.py","file_url":"https://github.com/praal/remembering-to-be-fair/blob/HEAD/ql.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"1ebf0a52271654cb"}},{"code_sha256_prefix":"937b3aa6bf00e726","entry":"run_Q_learning","repo":"praal/remembering-to-be-fair","repo_kind":"official","path":"ql.py","file_url":"https://github.com/praal/remembering-to-be-fair/blob/HEAD/ql.py","link_basis":"first_harvest_node","language":"python","status":"unverified","verification_level":0,"contract_check":null,"metamorphic_tier":null,"behaviour_fingerprint":false,"licence":"MIT","inline_ok":true,"mcp_get_code":{"code_sha256":"937b3aa6bf00e726"}}]},"arxiv_metadata":null,"syntology_extracted_results":null}