Even-Paz algoritmus

Az oldal jelenlegi verzióját még nem ellenőrizték tapasztalt közreműködők, és jelentősen eltérhet a 2020. február 12-én felülvizsgált verziótól ; az ellenőrzéshez 1 szerkesztés szükséges .

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 .

Történelem

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 .

Leírás

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 .

Optimalitás

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ű változat

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.

Jegyzetek

  1. 1 2 Even, Paz, 1984 , p. 285.
  2. Sgall, Woeginger, 2007 , p. 213–220.
  3. Edmonds, 2006 , p. 271–278.
  4. Edmonds, 2011 , p. 1–12.
  5. Ez a véletlenszerű rekurzív felező algoritmus hasonló a jól ismert randomizált rangsoroló algoritmushoz, amely egy számtömb elemeinek r -rangsorát keresi.

Irodalom