Az Edmonds–Prus protokoll egy tisztességes tortavágási protokoll . Célja egy heterogén erőforrás részlegesen arányos felosztása n ember között úgy, hogy minden résztvevő megkapja a torta egy olyan részhalmazát (darabot), amelyet minden résztvevő a teljes becslés legalább 1/ -ára becsül, ahol van valami kellően nagy konstans. . Az algoritmus valószínűségi O( n ) futási idővel , a siker valószínűsége közel 1. A protokollt Jeff Edmond és Kirk Prus fejlesztette ki, amelyet később Jaisingh Solankival javítottak.
A torta arányos felosztása a rekurzív időben felező algoritmussal érhető el . A komplexitásra vonatkozó egyes eredmények azt mutatják, hogy ez a futási idő sokféle feltételezés mellett optimális. Különösen a rekurzív felezés a leggyorsabb algoritmus a teljes arányosság elérésére, amikor a darabokat össze kell kötni, és ez a lehető leggyorsabb determinisztikus algoritmus akár részarányosság elérésére, és még akkor is, ha szabad darabokra vágni. Van olyan eset, amelyet a komplexitás eredményei nem fednek le, ez a valószínűségi algoritmusok esete, amelyek csak részarányosságot és a szétválasztott darabok lehetőségét garantálják . Az Edmonds-Prus protokoll célja, hogy O( n ) futási időt biztosítson csak erre az esetre.
Az általános séma Edmunds és Prus nyomán a következő [1] :
Az algoritmus garantálja, hogy nagy valószínűséggel minden résztvevő megkapja a jelölt darabjának legalább a felét, ami azt jelenti (ha a preferenciafüggvények összeadódnak), hogy az érték legalább .
Az 5. lépésben O( n ) jelölt darab és O( n ) további vágás van, amelyek O(1) időt vesznek igénybe. Ezért az algoritmus teljes futási ideje O( n ).
Ebben a sémában a fő feladat az utolsó darabok kiválasztása a 4. lépésben:
Kezdjük azzal, hogy hozzunk létre egy metszéspont gráfot, egy gráfot, amelynek csúcsai a félvégi darabok, és egy ív az i tag I darabjától a j tag J darabjáig létezik, ha az I csonk metszi a j tag J darabját (ezért ha úgy döntünk I. darabot , és el akarjuk kerülni a kereszteződéseket, a J darabot is ki kell választanunk .
Válasszunk egy tetszőleges i résztvevőt , amelyik még nem kapta meg a darabját, és ebből a résztvevőből válasszunk egy tetszőleges I darabot végső darabnak. Ezután a metszésgráfban végigmegyünk a kapcsolaton, és végső darabnak választjuk mindazokat a darabokat, amelyeket az I csúcsból elérünk . Két jó forgatókönyv létezik - vagy kiosztunk egy utolsó darabot minden résztvevőnek, és ezzel befejezzük az eljárást, vagy elérünk egy olyan darabot, amelynek nincs kimenő linkje (ami azt jelenti, hogy nem metszi a többi darabot). Ez utóbbi esetben egyszerűen kiválasztunk egy másik darabot a megmaradt tagok közül, és folytatjuk. A rossz forgatókönyv akkor következik be, amikor utunk ugyanannak a tagnak két különböző darabjához vezet, vagy ennek megfelelően az i tag egy másik darabjához, ahonnan az utazást elkezdtük. Az ilyen utat, amely az i résztvevő egyik darabjától ugyanazon résztvevő másik részéhez vezet, páros útvonalnak nevezzük . Ha a metszéspont gráf nem tartalmaz párosított utakat, akkor a leírt algoritmus n darab nem átfedő végdarab halmazát adja vissza, és megvan a kívánt eredmény. Most már ki kell számítani annak a valószínűségét, hogy a metszésponti gráf páros útvonalat tartalmaz.
Először is vizsgáljuk meg azt a speciális esetet, amikor minden résztvevőnek ugyanazok a preferenciafunkciói (és így a jelölt darabok azonos halmaza). Ebben az esetben a párosított út valószínűsége könnyen kiszámítható, mivel minden ív valószínűsége 1/ an , és minden él független, így egy adott, k hosszúságú páros út valószínűsége , és bármely a páros útvonal legfeljebb:
A d =1 és egy kellően nagy a választásával ez a valószínűség tetszőlegesen kicsinyre tehető. Ez akkor is igaz, ha kihagyjuk az elődöntő kiválasztási szakaszát (#3), és az összes negyeddöntőst elődöntősnek tekintjük.
Vegye figyelembe, hogy ez az eset hasonló az urnákban lévő labdákhoz . Ez azt bizonyítja, hogy ha minden labdához tetszőlegesen d urnát választunk, akkor minden labdához választhat egy urnát úgy, hogy minden urna különböző legyen (a golyók maximális száma 1).
Az általános tortamodellben, ha a preferenciafüggvények eltérőek, a metszésponti gráf élvalószínűsége függő, de az elődöntős kiválasztási fázisnak köszönhetően megmutathatjuk, hogy annak a valószínűsége, hogy a metszéspont gráf páros hosszúságú utat tartalmaz legalább 3 nem haladja meg .
Marad a 2-es hosszúságú párosított utak figyelembe vétele. Sajnos nem elhanyagolható annak a valószínűsége, hogy a metszésponti gráfban ilyen páros útvonalat kapjunk. Nagy valószínűséggel azonban lehetséges két csoportra bontani a résztvevőket, amelyeknek nincs 2 hosszúságú párosított útvonala. Ezért a végső darabok kiválasztására szolgáló algoritmust kétszer, minden csoportnál egyszer lefuttathatjuk. Metszéspont csak a különböző csoportok végső darabjai között fordulhat elő, ezért az átfedés a torta egyes pontjaiban nem haladja meg a 2-t. Annak a valószínűsége, hogy egy ilyen 2-partíció lehetetlen , nem haladja meg a -t .
A fenti két kifejezés összegzése és d = 2 felvétele után azt kapjuk, hogy a meghibásodás valószínűsége megmarad . Emlékezzünk vissza, hogy a az arányosság aránya – minél nagyobb értéket szeretnénk garantálni az egyes résztvevőknek, annál valószínűbb, hogy a felosztás sikertelen lesz, és az 1. lépéstől kell kezdeni.
Egyes algoritmusok akkor is működnek, ha a vágások közelítőek, vagyis a résztvevők nem tudják, hogy a megjelölt darabok egyenlőek-e. Megjelölhetnek egy darabot a kívánt érték feletti vagy alatti p százalékos értékkel, és véletlenszerűen választják ki a pontos hibát [1] .
Tovább csökkentheti a meghibásodás esélyét a következő séma [2] használatával :
Egy adott résztvevő eltávolításának valószínűsége minden egyes bérletből . Egy adott résztvevő eltávolításának valószínűsége mindkét futásban egyenlő . Ezért a meghibásodás valószínűsége , és az n növekedésével 0-ra hajlik , még akkor is, ha az a részarányossági arányt állandó értéken tartják.
A torta modell a labdaprobléma modell általánosításának tekinthető . Ez a modell széles körben alkalmazható olyan területeken, mint a terheléselosztás . Ezekben a helyzetekben a labda különböző gépekhez (terminológiánk szerint urnákhoz) rendelhető munkát jelent. Nagyjából az egyforma gépek teherelosztása golyók és urnák, az egyenlőtlen gépek tehereloszlása pedig a tortát. Ezért teljesen egyértelmű, hogy a tortamodellnek és az Edmonds-Prus protokollnak érdekes alkalmazásai lehetnek a terheléselosztás szempontjából eltérő gépeken [1] .