Problém se synchronizací střelců

Problém synchronizace střelců  je problémem z oblasti informatiky a teorie celulárních automatů .

Poprvé navrhl John Myhill v roce 1957 a publikoval (s řešením) v roce 1962 Edward Moore [2] . Název je spojen s chováním vojáků při popravě nebo salvu z pušky  – všichni vojáci střílejí současně na signál.

Je to formulováno následovně: je možné naprogramovat jednorozměrný celulární automat konečné délky tak, aby z výchozího stavu G●●…●●● všechny buňky současně přešly do stavu FFF…FFF, bez ohledu na délka řetězce, pokud je přechodové pravidlo ●●●→● povinné, a jeho protějšky pro konce řetězce ⌀●●→●, ●●⌀→●? Srozumitelně [3] :

Protože se signál šíří po lince rychlostí 1 pozice za hodinu (v teorii celulárních automatů se tomu říká „rychlost světla“), je zřejmé, že čas synchronizace se bude prodlužovat s rostoucí .

Historie

otevřený matematický problém

Existuje řešení problému synchronizace šipek v pěti stavech - pro jakýkoli , ne nutně optimální v čase?

První řešení tohoto problému našli John McCarthy a Marvin Minsky a publikovali jej v Sequential Machines Edward Moore.

Řešení vyžadující minimální čas našel v roce 1962 profesor Eiichi Goto z MIT [4] . Využívá několik tisíc stavů a ​​vyžaduje přesně jednotky času pro roboty. Je snadné dokázat (viz níže), že neexistují žádná časově výhodnější řešení.

Optimální řešení, využívající pouze šest stavů (včetně finálního „výstřelu“), našel Jacques Mazoyer v roce 1987 [5] . Dříve Robert Balzer dokázal počítačovým výčtem, že neexistují žádná řešení se čtyřmi stavy buněk [6] . Peter Sanders později zjistil, že Balzerův vyhledávací postup byl neúplný, ale po opravě postupu dostal stejný výsledek. V roce 2010 byly evolučním výčtem získány stovky různých řešení se šesti stavy [7] . Stále není známo, zda existuje řešení s pěti stavy buněk.

Snaží se také překonat rekord v počtu zapojených přechodových pravidel (včetně povinného, ​​ale nevyužitého pravidla pro velitele ⌀●●→● [7] . V Mazoyerově řešení je 119 pravidel. Existuje nečasově optimální řešení se šesti stavy a 78 pravidly a optimální je od 80.

Najděte neúplná řešení se čtyřmi stavy – například synchronizace řady robotů [1] .

Nejjednodušší řešení

Nejjednodušší řešení problému popisuje dvě vlny stavů šířící se podél řady robotů, z nichž jeden se pohybuje třikrát rychleji než druhý. Rychlá vlna se odráží od vzdáleného okraje řady a setkává se s pomalou vlnou uprostřed. Poté se dvě vlny rozdělí na čtyři a pohybují se různými směry od středu. Proces pokračuje s každým zdvojnásobením počtu vln, dokud se délka segmentů řady nerovná 1. V tomto okamžiku všichni roboti střílejí. Toto rozhodnutí vyžaduje jednotky času pro vojáky.

Řešení vyžadující minimální čas

Poměrně jednoduché 16stavové řešení popsané Abrahamem Waksmanem v roce 1966 [8] je popsáno zde . Velitel vysílá signály s frekvencemi sousednímu robotu . Signál se odrazí od pravého konce řady a narazí na signál (pro ) v buňce . Když se odrazí, vytvoří také nového velitele na pravém konci.

Signály jsou generovány pomocí pomocných signálů šířících se doleva. Každý druhý okamžik normální signál generuje pomocný signál šířící se doleva. se pohybuje nezávisle rychlostí 1, zatímco pomalejší signály se pohybují pouze tehdy, když přijímají pomocné signály.

Důkaz o minimální době

Pokud mezi velitelem (iniciátorem střelby) a nejbližším koncem robotů, synchronizace vyžaduje alespoň kroky [9] .

Zvláštní případ: pokud je velitel na hraně, tak kroky.

Důkaz. Řekněme, že existují tři programy, které řeší problém synchronizace, a pro některé , a budou moci střílet pro . Věříme, že velitel je blíže levému konci.

Jakýkoli signál putuje od robota k robotu rychleji, než je takzvaná "rychlost světla" - 1 pozice za časový krok. Akce prvního robota v tuto chvíli závisí na prvních dvou robotech v tuto chvíli , na prvních třech v tuto chvíli , …, na všech robotech v tuto chvíli . V tuto chvíli je poslední robot stále ve svém výchozím stavu (signál přichází v tuto chvíli ).

To znamená, že pokud přidáme další roboty na pravý konec , v tuto chvíli bude stav prvních robotů stejný, pro prvního robota se nic nezmění a bude střílet ve stejném kroku . Poslední krok na schodu zůstane v původním stavu - signál ho nestihne dosáhnout. Tato trojice programů tedy není řešením. Rozpor.

Další dolní mez, kroky, se dokazuje stejným způsobem , ale počet není menší.

Poznámka. Další požadavky na a , pokud nejsou shora omezeny, mohou přinést zisk v počtu stavů, ale ne v čase, a skutečně existuje zobecnění Waksmanova 17stavového řešení, které funguje pro všechny a pro kroky [10] .

Zobecnění

Bylo navrženo a studováno několik obecnějších formulací problému, včetně libovolně uspořádaných řad, uzavřených kruhů, čtverců, krychlí, Cayleyových grafů a obecných grafů.

Pokud se v synchronizačním čase nepodaří získat poznatek, že velitel je na hraně lineární formace, pak ve dvourozměrné formaci z poznání, že je čtvercový, dojde k zisku [11] .

Bylo možné najít existenci řešení pro lineární systém, pokud každý robot musí dát signál hodin před výstřelem, robot zná maximum a své a je podle toho naprogramován [12] . Nejjednodušším řešením je dát robotům další stavy a stejný počet cyklů k synchronizaci, ale můžete se obejít bez tohoto zpoždění, pokud je formace dostatečně dlouhá. Složitost každého jednotlivého programu (ve skutečnosti si pamatuje stav robota z klasické úlohy).

Přesná minimální doba synchronizace na různých měřítcích
(našlo se řešení a bylo prokázáno, že to nemůže být rychlejší)
Forma akce Minimální čas
Linka mezi velitelem a blízkým okrajem robotů [9]
Prsten [9]
Prsten s jednosměrným šířením informace [9]
Kare s velitelem na rohu [jedenáct]
Čtvereček s velitelem na rohu [jedenáct]
Kostka s velitelem nahoře [jedenáct]

Poznámky

  1. 1 2 https://www.researchgate.net/publication/220977377_About_4-States_Solutions_to_the_Firing_Squad_Synchronization_Problem
  2. FR Moore, GG Langdon, Obecný problém popravčí čety . Informace a kontrola, svazek 12, vydání 3, březen 1968, strany 212-220. DOI
  3. [Konfety] Problém se synchronizací Fire Squad - YouTube
  4. Přejít na E. Minimální časové řešení problému popravčí čety. Stejné poznámky k kurzu pro aplikovanou matematiku, sv. 298, s. 52-59. Harvard University, Cambridge (1962)
  5. Jacques Mazoyer, Šestistavové minimální časové řešení problému synchronizace popravčí čety . Teoretická informatika, 1987, roč. 50 pp 183-238 DOI
  6. Robert Balzer, 8stavové minimální časové řešení problému synchronizace palebné čety . Information and Control, 1967, vol.10, pp.22-42 DOI
  7. 1 2 Accueil - Archiv otevřený HAL
  8. Abraham Waksman, Optimální řešení problému synchronizace popravčí čety . Informace a kontrola, 1966, sv. 9, s. 66-78 DOI
  9. 1 2 3 4 Problém popravčí čety
  10. https://www.sciencedirect.com/science/article/pii/S0019995868903094
  11. 1 2 3 4 Shinahr, Ilka. Problém synchronizace dvou a třírozměrných popravčích čet  //  Information and Control : deník. - Academic Press, 1974. - Sv. 24 . - S. 163-180 . - doi : 10.1016/S0019-9958(74)80055-0 .
  12. V. I. Varshavsky, V. B. Marachovsky, V. A. Peschansky, “Některé varianty problému synchronizace řetězu automatů”, Probl. peredachi inform., 4:3 (1968), 73-83; Problémy Informujte….

Literatura

Odkazy