Az Even-Paz algoritmus egy számításilag hatékony algoritmus a torta tisztességes vágására . Valamilyen heterogén osztható erőforrásra, például egy születésnapi tortára szolgál, n résztvevő között, akik különböző preferenciákkal rendelkeznek a torta különböző részei iránt. Az algoritmus lehetővé teszi, hogy n ember arányos osztást kapjon .
Az első közzétett algoritmus a torta arányos felosztására az 1948-ban közzétett utolsó csökkenő algoritmus volt, amely összetett volt . 1984-ben Shimon Even és Azariah Paz izraeli matematikusok egy továbbfejlesztett algoritmust adtak ki, amelynek összetettsége [1] volt .
Az algoritmus oszd meg és uralkodj stratégiát használ, és képes időarányos osztást adni .
Indukcióval igazolható, hogy minden olyan partner, aki legalább 1/ n értéket garantáló szabályok szerint játszik , függetlenül a többi partner viselkedésétől.
Az oszd meg és uralkodj stratégiának köszönhetően az iterációk száma csak O(log n ), szemben az utoljára redukált eljárás O( n ) értékével. Minden iterációnál minden partnertől egy token szükséges. Ezért a szükséges markerek száma .
Néhány évvel az Even-Paz algoritmus megjelenése után bebizonyosodott, hogy minden determinisztikus vagy véletlenszerű arányos osztási eljárásnak, amely minden résztvevőhöz egy folytonos darabot rendel, akciókat kell használnia [2] .
Ezen túlmenően minden determinisztikus arányos felosztási eljárásnak műveleteket kell alkalmaznia , még akkor is, ha az eljárás nem folytonos darabot ad a résztvevőnek, és akkor is, ha az eljárás csak hozzávetőleges igazságosságot garantál [3] [4] .
Ezekből az algoritmusok nehézségi eredményeiből következik, hogy az Even-Paz algoritmus a leggyorsabb algoritmus a teljes arányosság elérésére folytonos darabokkal, és ez az algoritmus a leggyorsabb akár részarányosság elérésére, akár nem folytonos darabokkal is. Az egyetlen eset, amikor az algoritmus javítható, a véletlenszerű algoritmusok alkalmazása , amelyek részleges arányosságot garantálnak nem folytonos darabokkal. Lásd: " Edmonds-Prus algoritmus ".
Véletlenszerűsítéssel csökkentheti a markerek számát. A rekurzív felezési eljárás következő véletlenszerű változata arányos osztást ér el átlagosan csak O( n ) címkézési lekérdezések használatával [1] . Az ötlet az, hogy minden iterációnál ahelyett, hogy az összes résztvevőt megkérnénk, hogy középen jelöljön, csak néhány partnert kérünk meg ilyen jelzők készítésére, míg a többi partner csak azt a felét választja, amelyik jobban tetszik. A partnereket preferenciájuk szerint nyugatra vagy keletre küldik, amíg a partnerek száma mindkét oldalon n /2 lesz. Ezután egy vágás történik, és minden n /2 partnerből álló csoport rekurzívan elosztja a felét [5] .
A legrosszabb esetben iterációnként még mindig n -1 markerre van szükségünk, így a szükséges markerek száma legrosszabb esetben O( n log n ). Átlagos esetben azonban csak O(log n ) markerre van szükség iterációnként. Az ismétlődési összefüggés megoldásával kimutatható, hogy a szükséges markerek száma O( n ).
Vegye figyelembe, hogy a kérelmek teljes száma O( n log n ) marad, mivel minden partnernek a felét kell választania.