Shooter szinkronizálási probléma

A lövészek szinkronizálásának  problémája a számítástechnika és a sejtautomaták elmélete területéről származik .

Először John Myhill javasolta 1957-ben, és 1962-ben adta ki (megoldással együtt) Edward Moore [2] . A név a katonák kivégzés közbeni viselkedéséhez vagy puskatisztelgéshez kapcsolódik  – minden katona egyszerre lő egy jelre.

A következőképpen fogalmazódik meg: lehetséges-e úgy programozni egy véges hosszúságú egydimenziós sejtautomatát, hogy a G●●…●●● kiindulási állapotból minden cella egyidejűleg átmegy az FFF…FFF állapotba, függetlenül a a lánc hossza, ha kötelező az átmeneti szabály ●●●→● és megfelelői a láncvégekre ⌀●●→●, ●●⌀→●? Közérthető nyelven [3] :

Mivel a jel órajelenként 1 pozíció sebességgel terjed a vonal mentén (a cellaautomaták elméletében ezt "fénysebességnek" nevezik), nyilvánvaló, hogy a szinkronizálási idő a növekedéssel növekszik .

Történelem

nyitott matematikai probléma

Van megoldás a nyilak öt állapotú szinkronizálásának problémájára - bármely , időben nem feltétlenül optimális?

Az első megoldást erre a problémára John McCarthy és Marvin Minsky találta meg, és Edward Moore a Sequential Machines-ben publikálta.

Minimális időigényű megoldást talált 1962-ben Eiichi Goto, az MIT professzora [4] . Több ezer állapotot használ, és pontosan időegységeket igényel a robotok számára. Könnyen bebizonyítható (lásd alább), hogy nincsenek időtakarékosabb megoldások.

Az optimális megoldást, mindössze hat állapotot használva (beleértve a végső "lövést" is), Jacques Mazoyer találta meg 1987-ben [5] . Korábban Robert Balzer számítógépes felsorolással bizonyította, hogy nincsenek négy cellaállapotú megoldások [6] . Peter Sanders később rájött, hogy Balzer keresési eljárása hiányos volt, de miután kijavította az eljárást, ugyanazt az eredményt kapta. A 2010 -es években több száz különböző, hat állapotú megoldás született evolúciós felsorolással [7] . Még mindig nem ismert, hogy létezik-e öt sejtállapotú megoldás.

Megpróbálják megdönteni a rekordot az átmeneti szabályok számában is (beleértve a parancsnok kötelező, de nem használt szabályát ⌀●●→● [7] . Mazoyer megoldásában 119 szabály van. Van egy nem időben optimális szabály megoldás hat állapottal és 78 szabállyal, az optimális pedig a 80.-tól.

Keressen hiányos megoldásokat négy állapottal - például egy robotsor szinkronizálása [1] .

A legegyszerűbb megoldás

A probléma legegyszerűbb megoldása két állapothullámot ír le, amelyek egy robotsor mentén terjednek, amelyek közül az egyik háromszor gyorsabban mozog, mint a másik. A gyors hullám a sor túlsó széléről verődik vissza, és középen találkozik a lassú hullámmal. Ezt követően két hullámot négy részre osztanak, amelyek a központtól különböző irányokba mozognak. A folyamat folytatódik, minden alkalommal megduplázva a hullámok számát, amíg a sor szakaszainak hossza 1 lesz. Ebben a pillanatban minden robot lő. Ez a döntés egységnyi időt igényel a katonáktól.

Minimális időt igénylő megoldás

Abraham Waksman által 1966-ban [8] leírt meglehetősen egyszerű, 16 állapotból álló megoldást ismertetünk itt . A parancsnok frekvenciájú jeleket küld a szomszédos robotnak . A jel a sor jobb végéről visszaverődik, és a cellában találkozik a (for ) jellel. Amikor az visszapattan, egy új parancsnokot is létrehoz a jobb oldalon.

A jelek előállítása balra terjedő segédjelek segítségével történik. Minden második pillanatban a normál jel egy segédjelet generál, amely balra terjed. önállóan mozog 1-es sebességgel, míg a lassabb jelek csak akkor mozognak, ha segédjeleket kapnak.

A minimális idő igazolása

Ha a parancsnok (a lövészet kezdeményezője) és a robotok legközelebbi vége között van, a szinkronizáláshoz legalább [9] lépés szükséges .

Speciális eset: ha a parancsnok a szélen van, akkor lép.

Bizonyíték. Tegyük fel, hogy három program oldja meg a szinkronizálási problémát, és egyeseknél a , és képes lesz lőni a -ra . Úgy gondoljuk, hogy a parancsnok közelebb van a bal szélhez.

Bármilyen jel nem terjed robotról robotra gyorsabban, mint az úgynevezett "fénysebesség" - 1 pozíció időlépésenként. Az első robot pillanatnyi tevékenysége a pillanatnyi első két robottól, a pillanatnyilag az első háromtól , …, az összes pillanatnyi robottól függ . Ebben a pillanatban az utolsó robot még a kezdeti állapotában van (a jel pillanatnyilag érkezik ).

Ez azt jelenti, hogy ha több robotot adunk a jobb oldali véghez , pillanatnyilag az első robotok állapota ugyanaz lesz, az első robotnál semmi sem változik, és ugyanabban a lépésben fog lőni . A lépés utolsó része az eredeti állapotában marad - a jelnek nem lesz ideje elérni. Tehát ez a programhármas nem megoldás. Ellentmondás.

A másik alsó korlátot, a lépéseket ugyanígy bizonyítjuk , de a szám nem kisebb.

Jegyzet. További követelmények a és -on , ha nem korlátozzák felülről, növelhetik az állapotok számát, de nem időben, és valóban létezik a Waksman-féle 17 állapotú megoldás általánosítása, amely bármely lépésre és lépésre is működik [10] .

Általánosítások

A probléma számos általánosabb megfogalmazását javasolták és tanulmányozták, beleértve az önkényesen rendezett sorozatokat, zárt gyűrűket, négyzeteket, kockákat, Cayley-gráfokat és általános gráfokat.

Ha az a tudás, hogy a parancsnok a lineáris formáció szélén van, nem nyeri el a szinkronizálási időt, akkor a kétdimenziós formációban abból a tudásból, hogy ő négyzet, nyereség lesz [11] .

Meg lehetett találni a megoldást egy lineáris rendszerre, ha minden robotnak jelet kell adnia a lövés előtt, akkor a robot tudja a maximumot és a sajátját , és ennek megfelelően van programozva [12] . A legegyszerűbb megoldás, ha a robotoknak további állapotokat és ugyanannyi ciklust adunk a szinkronizáláshoz, de ezt a késleltetést is megtehetjük, ha elég hosszú a formáció. Az egyes programok összetettsége (sőt, a klasszikus feladatból emlékszik a robot állapotára ).

A pontos minimális szinkronizálási idő különböző skálákon
(megoldást találtak, és bebizonyosodott, hogy nem is lehet gyorsabb)
A cselekvés formája Minimális idő
Vonal, a parancsnok és a robotok közeli széle között [9]
Gyűrű [9]
Gyűrű az információ egyirányú terjedésével [9]
Kare a parancsnokkal a sarkon [tizenegy]
Négyzet a parancsnokkal a sarkon [tizenegy]
Kocka parancsnokkal a tetején [tizenegy]

Jegyzetek

  1. 1 2 https://www.researchgate.net/publication/220977377_About_4-States_Solutions_to_the_Firing_Squad_Synchronization_Problem
  2. FR Moore, GG Langdon, Egy általánosított tüzelőosztag-probléma . Információ és ellenőrzés, 12. kötet, 3. szám, 1968. március, 212-220. oldal. DOI
  3. [Konfetti] Tüzelőosztag szinkronizálási probléma – YouTube
  4. Goto E. Minimális időre szóló megoldás a lőosztag problémájára. Hasonló kurzusjegyzetek az Applied Mathematics számára, 298. kötet, 52-59. Harvard Egyetem, Cambridge (1962)
  5. Jacques Mazoyer, Hat állapotú, minimális időbeli megoldás a lőosztag szinkronizálási problémájára . Elméleti Számítástudomány, 1987, vol. 50 pp 183-238 DOI
  6. Robert Balzer, Nyolc állapotú, minimális időre szóló megoldás a lőosztag szinkronizálási problémájára . Information and Control, 1967, 10. kötet, 22-42 DOI
  7. 1 2 Accueil - Archívum ouverte HAL
  8. Abraham Waksman, Optimális megoldás a lövészosztag szinkronizálási problémájára . Information and Control, 1966, 9. kötet, 66-78 DOI
  9. 1 2 3 4 A tüzelőosztag probléma
  10. https://www.sciencedirect.com/science/article/pii/S0019995868903094
  11. 1 2 3 4 Shinahr, Ilka. Két- és háromdimenziós lőosztag szinkronizálási probléma  //  Információ és vezérlés : folyóirat. - Akadémiai Kiadó, 1974. - 1. évf. 24 . - 163-180 . o . - doi : 10.1016/S0019-9958(74)80055-0 .
  12. V. I. Varshavsky, V. B. Marakhovsky, V. A. Peschansky, „Some variations of the problem of automaton chain synchronization”, Probl. peredachi inform., 4:3 (1968), 73-83; Problémák Tájékoztassa….

Irodalom

Linkek