A szöveg csak Firefox böngészőben jelenik meg helyesen. Használja a fenti PDF file-ra mutató link-et a letöltésre. 3. feladat. Adott teniszversenyzők két csoportja: az egyik , a másik versenyzőből áll. Mindegyik csoporton belül ismerjük a versenyzők erősorrendjét. Adjunk meg olyan eljárást, amelynek segítségével mérkőzés lejátszása után megállapítható, ki a játékos közül a középső (tehát az -edik). (Feltesszük, hogy a játékosok mind különböző erősségűek, és az erősebb játékos mindig legyőzi a gyengébbet.) A teniszezők csoportjait nagybetűkkel fogjuk jelölni, az egyes versenyzőket a megfelelő kisbetűvel, indexként melléírva, hogy a legerősebbtől kezdve hányadik erősségben a saját csoportján belül. I. megoldás. A játszmákat úgy kell választanunk, hogy eredményük alapján minél erősebben szűkíthessük azoknak a körét, akik közt az összesített sorrendben 1001-edik teniszező lehet. Ha egy és egy csoport összesített sorrendjében a -adik versenyzőt keressük, akkor egy később alkalmasan választandó értékkel -t és -t küldjük pályára. Ekkor a győztesnél csak azok lehetnek jobbak, akik -nél is, -nél is jobbak (8. ábra), a vesztesnél pedig még a győztes is, tehát eggyel több teniszező.
8. ábra A győztesnél tehát legfeljebb erősebb versenyző lehet. Így ő a -edik vagy annál erősebb az összesített sorrendben. A -adik helyre tehát nem jön szóba, a nála erősebbek természetesen szintén nem. A vesztesnél legalább eggyel több versenyző erősebb, tehát legalább . Így ő még esetleg lehet -adik, de a nála gyengébbek már nem. A 9. ábrán a nyíl a győztestől mutat a vesztesre. A zárójelbe tett versenyzők nem lehetnek már -adikak.
9. ábra Ha az csapatban versenyző van, a -ben , tehát az összsorrendben -edik versenyzőt keressük. Válasszuk -t -nek, tehát küzdjön meg és . Ha az erősebb, akkor a -edik versenyző , , és , , közül kerül ki, és ezeket állítva sorrendbe, köztük őt az -edik helyen találjuk, hiszen , , -et azért hagyhatjuk figyelmen kívül, mert biztosan erősebbek a -edik versenyzőnél. Ha viszont erősebb -nél, akkor a középső versenyző , , és , , közül kerül ki, tehát egy és egy fős csoport teniszezői közül, és köztük ő az -edik, azaz középső, hiszen olyan teniszezőt hagytunk figyelmen kívül, akik biztosan erősebbek nála. Az első esetben 2 versenyző tekinthető középsőnek, közülük az erősebbet kell keresnünk. Ha -ban versenyző van, -ben , és az összesített sorrendben a -ediket keressük, akkor és mérje össze erejét. Aszerint, hogy vagy győz-e, , , és , , közül, vagy pedig , , és , , közül kell keresnünk az -ediket, tehát két tagú csoportból az erősebb középsőt, vagy egy és egy tagú csoportból a középsőt. Meg kell vizsgálnunk két egyenlő létszámú csoport esetét is, mert láttuk, ilyenre is vezethet eljárásunk. Ilyen esetekben idáig a két középen levő versenyző közül az erősebbet kellett keresni. Ha is, is tagú és a -edik versenyzőt keressük, akkor és csapjon össze. Az és csoport szerepe most teljesen szimmetrikus, elég tehát azt az esetet vizsgálni, ha győz. Ekkor , , és , , közül kell az -ediket keresnünk, tehát két egyenlő csoport egyesített listáján az erősebbik középsőt. Ha végül is, is versenyzőből áll, és az összesítésben -edik versenyzőt keressük, akkor kézenfekvő, hogy eddigi formulánktól kissé eltérve a két középsőt: -et és -et küldjük pályára. Ismét elég azt az esetet vizsgálni, ha győz (10. ábra).
10. ábra Ekkor csoporttársa gyengébb nála, -ből pedig legalább -en, tehát az erőlistán -edik még lehet, de az őt megelőző csoporttársai már megelőzik a -edik versenyzőt. -nél csoporttársa erősebb és -ból legalább teniszező, tehát ő legalább -edik, a nála gyengébb csoporttársai pedig még hátrább vannak. Így , , és , , közül kell még kiválasztani az -ediket, vagyis egy -es és egy -es csoportból ismét a középsőt. Minden esetben azt kaptuk tehát, hogy a versenyzők összlétszáma egy‐egy lépésben megfeleződik, vagy ha páratlan volt, a rosszabbik esetben féllel több lesz a felénél. Eszerint 2001 versenyző esetén eljárásunk mellett az egyes játszmák eredménye a legrosszabb esetben a következőképpen alakulhat: Legkésőbb a 11-edik lépés után tehát kiderül, ki a középső. Ezzel igazoltuk a feladat állítását. Megjegyzések. 1. Minden lépés után felírva a két csoport lehetséges alakulását, a következő táblázatot kapjuk:
Eszerint eljárásunk a legszerencsésebb esetben is csak 10 lépésben vezet célhoz. 2. A 11-es szám optimális abban az értelemben, hogy nem lehetséges olyan algoritmus, amelyik 10 lépésben megtalálja a középső versenyzőt, bárki legyen is az. Ez azért van így, mert van 2001 versenyző, akik közül bárki lehet a középső. Másrészt viszont csak egy és egy -beli játékost van értelme játszatni egymással, mert egy csoportbelieknél tudjuk már a játszmák kimenetelét. Egy‐egy játszmában vagy az -beli vagy a -beli játékos győz, tehát kétféle kimenetel lehetséges. A 10 játszmának együtt eszerint különböző kimenetele lehet. Semmilyen algoritmus esetén sem kaphatunk 10 mérkőzésből 2001 különböző választ. 3. Váratlannak látszik, hogy a két páratlan csoport esetében változtatni kellett a stratégián. Akkor lesz , a -adik, ha -től (ha ) kikap, de -et (ha -ben van legalább játékos) már megveri. A fenti eljárásban a két itt említett játszmából mindig az előbbi típusút játszattuk le, a mondott esetben azonban az utóbbi típusú volt a célszerű. Érdekes megjegyezni, hogy a két típusú játszma minden esetben egymásba megy át, ha ahelyett, hogy a legerősebbtől kiindulva rangsorolnánk a versenyzőket, a leggyengébbtől sorszámoznánk, és "gyengébb''-et és "erősebb''-et mindenütt felcserélnénk, kivéve egyedül azt az esetet, amikor két egyenlő páratlan létszámú csoportnál keressük a középsők közül akár az erősebbet, akár a gyengébbet. 4. Sok versenyző a szimmetria kedvéért úgy hagyott el mindig versenyzőket, hogy páratlan számú versenyző maradjon vissza, és azok közül ismét a középsőt kelljen keresni. A leírt eljárástól tehát annyiban tért el, hogy amikor két különböző létszámú csoportból elég volt csak két egyenlő létszámú részt megtartani, akkor még az éppen lejátszott mérkőzés győztesét is visszatartotta. Ilyen módon és versenyzőből mindig és marad vissza, és -ből viszont a kedvezőtlenebb esetben két -es csoport helyett szintén és , összlétszámban tehát -ből is, -ből is . Az egyes mérkőzések után eszerint így alakulna az összlétszám:
Itt egy 1-es és egy 2-es csoport maradt. Ha az egyedül levő győz az erősebb partner ellen, akkor a vesztes a középső, de ha nyer, akkor még a gyöngébbel is meg kell mérkőznie. (A győztes bennhagyása összesen 3 játékos esetén nem vezetne csökkenéshez, így el kell térni az általános előírástól.) Az ötödik lépésben nem lépünk át 2 egy hatványán, és emiatt lehet szükség egy 12-ik játszmára is. Itt 1 tényleges versenyző fölösleges bennhagyása már elrontotta az algoritmust, viszont ha ügyesebben csináljuk, sok "kitalált'' játékost is hozzávehetünk a meglevőkhöz, és ezzel nem rontjuk, csak egyszerűsítjük a helyzetet. Erre a gondolatra többen is rájöttek, de igazán jól csak Tardos Gábor használta ki. II. megoldás. Helyezzünk az 1001-es csoport elejére 23 képzelt játékost, akikről tudjuk, hogy minden valódi játékosnál erősebb matadorok, és egymás közti sorrendjük is ismert, az 1000-es -csoport végére pedig 24 dilettánst, aki minden valódi játékosnál és a 23 matadornál gyengébb, és egymás közti sorrendjük is adott. (A kitalált emberek esetleges játszmáit tehát nem kell ténylegesen lejátszani, azok kimenetelét előre tudjuk.) A 23 matadort is beleszámítva, ebben a helyzetben az összesített sorrend 1024-edik emberét kell megkeresnünk. Vizsgáljuk általánosan azt a kérdést, hogy két létszámú csapatból, amelyekben külön‐külön ismerjük az erőviszonyokat, hogyan választhatjuk ki, hogy ki van az összesített lista -edik helyén. Kényelmesebb lesz most a leggyengébbtől kezdve sorszámozni rangsorban az egyes csapatok tagjait, a leggyengébbnek adva az 1-es számot. Olyan helyzeteket fogunk létrehozni, amelyekben valamilyen -re jobb, mint és gyengébb, mint . (). Egy ilyen helyzetben mérkőzzék meg és . Ha az előbbi nyer, akkor legyen , ha az utóbbi, akkor . Ekkor világos, hogy a kiindulási helyzetet kaptuk vissza és helyett -vel és -gyel.
11. ábra A kezdeti helyzetet is felfoghatjuk ilyennek, ha csapatunk legelejére odaképzelünk egy , ill. versenyzőt, akik minden eddigi teniszezőnél rosszabbak. Ekkor -lel fennáll, hogy erősebb -nél és gyengébb -nél. (Ehhez nincs szükség tényleges játékra.) Ebből a helyzetből kiindulva az -edik lépés után ott fogunk tartani, hogy valamilyen -re jobb, mint és gyengébb, mint , (11. ábra). Ekkor utolsó mérkőzésre álljon ki a két győztes: és . Mindketten erősebbek -ból játékosnál, -ből -nél, összesen -nél. A vesztes az összes többinél gyengébb, így ő a keresett játékos. A kérdés eldöntéséhez játszma elég volt. Esetünkben a (kipótolt) csapatok létszáma , így 11 lépésben vezet célra eljárásunk. (Vagy kevesebb lépésben, ha közben képzelt emberek játszmájára is sor kerül.) Megjegyzés. Beláthatjuk, hogy a tárgyalt speciális esetek: egyenlő vagy majdnem egyenlő két csoportból a középső megkeresése, csak látszólag speciális, az általános visszavezethető erre. Legyen az csoport tagú, a csoport -tagú és keressük a versenyzők összesített rangsorában a -adik versenyzőt (). Legyen az elejéről -adik versenyző a rangsor végétől számított -edik, ekkor , (12. ábra) tehát a kisebbikük ‐ vagy a közös értékük, ha egyenlők ‐ nem nagyobb, mint . Feltehetjük, hogy nem nagyobb ennél az értéknél, mert ellenkező esetben csak a "gyengébb'', "erősebb'', valamint a "győz'', "veszít'' szavakat (és szinonímáikat) kell felcserélni, és ezzel és is szerepet cserél.
12. ábra Ha , akkor csak , , és , , jön tekintetbe a -adik helyre, és így két fős csapatból kell kiválasztani azt, aki az összesített sorrendben a két középső közül az erősebb. Ha viszont , akkor tehát . Ekkor -re nem lehet -adik, de nem lehet , , sem, mert még ha az csoport mind az tagja erősebb is náluk, akkor sincs egyikük sem a -edik helynél hátrább. A csoportból tehát csak játékost kell figyelembe venni és közülük a ranglista sorszámú tagját keresni, mert a -adik versenyzőnél biztosan jobb versenyzőt figyelmen kívül hagyhattunk. Ez esetben tehát egy és egy létszámú csapatból kell a rangsorban középsőt kikeresni. A szükséges játszmák számára a II. megoldás eljárása azt adja, hogy ha két egyenlő vagy 1-gyel különböző létszámú csapatból kell az összesített ranglistán középső, ill. a középsők közül (mondjuk) erősebb versenyzőt kiválasztani, akkor ezt lépésben megtehetjük, ahol azzal van meghatározva ‐ ha a versenyzők összlétszámát -nel jelöljük ‐, hogy
|