  Fair resource allocation is an important problem in many real-world
scenarios, where resources such as goods and chores must be allocated among
agents. In this survey, we delve into the intricacies of fair allocation,
focusing specifically on the challenges associated with indivisible resources.
We define fairness and efficiency within this context and thoroughly survey
existential results, algorithms, and approximations that satisfy various
fairness criteria, including envyfreeness, proportionality, MMS, and their
relaxations. Additionally, we discuss algorithms that achieve fairness and
efficiency, such as Pareto Optimality and Utilitarian Welfare. We also study
the computational complexity of these algorithms, the likelihood of finding
fair allocations, and the price of fairness for each fairness notion. We also
cover mixed instances of indivisible and divisible items and investigate
different valuation and allocation settings. By summarizing the
state-of-the-art research, this survey provides valuable insights into fair
resource allocation of indivisible goods and chores, highlighting computational
complexities, fairness guarantees, and trade-offs between fairness and
efficiency. It serves as a foundation for future advancements in this vital
field.
