Problemă de sincronizare a shooterului

Problema sincronizării trăgătorilor  este o problemă din domeniul informaticii și al teoriei automatelor celulare .

Propus pentru prima dată de John Myhill în 1957 și publicat (cu soluție) în 1962 de Edward Moore [2] . Numele este asociat cu comportamentul soldaților în timpul execuției sau cu un salut de pușcă  - toți soldații trag în același timp la un semnal.

Se formulează astfel: este posibil să se programeze un automat celular unidimensional de lungime finită în așa fel încât din starea inițială G●●…●●● toate celulele trec simultan în starea FFF…FFF, indiferent de lungimea lanțului, dacă regula de tranziție ●●●→● este obligatorie și omologii ei pentru capetele lanțului ⌀●●→●, ●●⌀→●? Într-un limbaj simplu [3] :

Deoarece semnalul se propagă de-a lungul liniei cu o viteză de 1 poziție pe ceas (în teoria automatelor celulare, aceasta se numește „viteza luminii”), este evident că timpul de sincronizare va crește odată cu creșterea .

Istorie

problemă matematică deschisă

Există o soluție la problema sincronizării săgeților în cinci stări - pentru orice , nu neapărat optimă în timp?

Prima soluție la această problemă a fost găsită de John McCarthy și Marvin Minsky și publicată în Sequential Machines de Edward Moore.

O soluție care necesită timp minim a fost găsită în 1962 de profesorul Eiichi Goto de la MIT [4] . Folosește câteva mii de stări și necesită exact unități de timp pentru roboți. Este ușor de demonstrat (vezi mai jos) că nu mai există soluții eficiente în timp.

Soluția optimă, folosind doar șase stări (inclusiv „împușcătura” finală), a fost găsită de Jacques Mazoyer în 1987 [5] . Anterior, Robert Balzer a demonstrat prin enumerare computerizată că nu există soluții cu patru stări de celule [6] . Peter Sanders a aflat ulterior că procedura de căutare a lui Balzer a fost incompletă, dar după ce a corectat procedura, a obținut același rezultat. În anii 2010 s-au obținut prin enumerare evolutivă sute de soluții diferite cu șase stări [7] . Încă nu se știe dacă există o soluție cu cinci stări de celule.

Ei încearcă, de asemenea, să doboare recordul pentru numărul de reguli de tranziție implicate (inclusiv regula necesară, dar nefolosită pentru comandant ⌀●●→● [7] . Există 119 reguli în soluția lui Mazoyer. Există o regulă neoptimală de timp. soluție cu șase stări și 78 de reguli, iar cea optimă este din a 80-a.

Găsiți soluții incomplete cu patru stări - de exemplu, sincronizarea unei linii de roboți [1] .

Cea mai simplă soluție

Cea mai simplă soluție a problemei descrie două valuri de stări care se propagă de-a lungul unei linii de roboți, dintre care unul se mișcă de trei ori mai repede decât celălalt. Valul rapid este reflectat de la marginea îndepărtată a rândului și se întâlnește cu unda lentă în centru. După aceea, două valuri sunt împărțite în patru, mișcându-se în direcții diferite față de centru. Procesul continuă, dublând de fiecare dată numărul de valuri, până când lungimea segmentelor rândului devine egală cu 1. În acest moment, toți roboții trag. Această decizie necesită unități de timp pentru soldați.

Soluție care necesită timp minim

O soluție destul de simplă cu 16 stări descrisă de Abraham Waksman în 1966 [8] este descrisă aici . Comandantul trimite semnale cu frecvențe către robotul adiacent . Semnalul sare în capătul drept al rândului și întâlnește semnalul (pentru ) în celulă . Când sare, creează și un nou comandant la capătul drept.

Semnalele sunt generate folosind semnale auxiliare care se propagă spre stânga. La fiecare secundă de timp, semnalul normal generează un semnal auxiliar care se propagă spre stânga. se deplasează independent la viteza 1, în timp ce semnalele mai lente se mișcă numai atunci când primesc semnale auxiliare.

Dovada timpului minim

Dacă între comandant (inițiatorul tragerii) și cel mai apropiat capăt al roboților, sincronizarea necesită cel puțin pași [9] .

Un caz special: dacă comandantul este pe margine, atunci face pași.

Dovada. Să presupunem că există trei programe care rezolvă problema de sincronizare, iar pentru unele , și vor putea trage pentru . Credem că comandantul este mai aproape de capătul din stânga.

Orice semnal se deplasează de la robot la robot nu mai repede decât așa-numita „viteză a luminii” - 1 poziție pe pas de timp. Acțiunile primului robot în acest moment depind de primii doi roboți în acest moment , de primii trei în acest moment , …, de toți roboții în acest moment . În acest moment, ultimul robot este încă în starea inițială (semnalul ajunge în acest moment ).

Aceasta înseamnă că dacă adăugăm alți roboți la capătul drept , în momentul de față starea primilor roboți va fi aceeași, nu se va schimba nimic pentru primul robot și va trage în același pas . Ultimul th de pe treaptă va rămâne în starea inițială - semnalul nu va avea timp să-l ajungă. Deci acest trio de programe nu este o soluție. Contradicţie.

Cealaltă limită inferioară, trepte, este dovedită în același mod , dar numărul nu este mai mic.

Notă. Cerințe suplimentare privind și , dacă nu sunt limitate de mai sus, pot da un câștig în numărul de stări, dar nu în timp, și într-adevăr există o generalizare a soluției cu 17 stări a lui Waksman care funcționează pentru oricare și pentru pași [10] .

Generalizări

Au fost propuse și studiate mai multe formulări mai generale ale problemei, inclusiv serii ordonate arbitrar, inele închise, pătrate, cuburi, grafice Cayley și grafice generale.

Dacă cunoașterea că comandantul se află la marginea formației liniare nu reușește să câștige în timpul de sincronizare, atunci în formația bidimensională din cunoașterea că el este pătrat, va exista un câștig [11] .

A fost posibil să se constate existența unei soluții pentru un sistem liniar, dacă fiecare robot trebuie să dea un semnal de ceas înainte de împușcare, robotul cunoaște maximul și propriul său , și este programat corespunzător [12] . Cea mai simplă soluție este să dai roboților stări suplimentare și același număr de cicluri de sincronizat, dar poți face fără această întârziere dacă formarea este suficient de lungă. Complexitatea fiecărui program individual (de fapt, își amintește starea robotului din sarcina clasică).

Timpul minim exact de sincronizare pe diferite scale
(a fost găsită o soluție și s-a dovedit că nu poate fi mai rapid)
Forma de acțiune Timp minim
Linie, între comandant și marginea apropiată a roboților [9]
Inel [9]
Ring cu propagare unidirecțională a informațiilor [9]
Kare cu comandantul la colt [unsprezece]
Pătrat cu comandantul pe colț [unsprezece]
Cub cu un comandant în partea de sus [unsprezece]

Note

  1. 1 2 https://www.researchgate.net/publication/220977377_About_4-States_Solutions_to_the_Firing_Squad_Synchronization_Problem
  2. FR Moore, GG Langdon, O problemă generalizată a plutonului de execuție . Informații și control, volumul 12, numărul 3, martie 1968, paginile 212-220. DOI
  3. [Confetti] Problemă de sincronizare a trupei de execuție - YouTube
  4. Treceți la E. O soluție în timp minim a problemei plutonului de execuție. Idem note de curs pentru Matematică Aplicată, vol.298,pp.52-59. Universitatea Harvard, Cambridge (1962)
  5. Jacques Mazoyer, O soluție de timp minim în șase stări la problema de sincronizare a plutonului de execuție . Informatica teoretica, 1987, voi. 50 p. 183-238 DOI
  6. Robert Balzer, O soluție de timp minim în 8 stări pentru problema de sincronizare a trupei de execuție . Informare și control, 1967, vol.10, pp.22-42 DOI
  7. 1 2 Accueil - Archive ouverte HAL
  8. Abraham Waksman, O soluție optimă pentru problema de sincronizare a trupei de execuție . Informare și control, 1966, vol.9, pp.66-78 DOI
  9. 1 2 3 4 Problema plutonului de execuție
  10. https://www.sciencedirect.com/science/article/pii/S0019995868903094
  11. 1 2 3 4 Shinahr, Ilka. Problemă de sincronizare a plutonului de execuție în două și trei dimensiuni  //  Informații și control : jurnal. - Presa Academică, 1974. - Vol. 24 . - P. 163-180 . - doi : 10.1016/S0019-9958(74)80055-0 .
  12. V. I. Varshavsky, V. B. Marakhovsky, V. A. Peschansky, „Unele variante ale problemei sincronizarii lanțului automatelor”, Probl. peredachi inform., 4:3 (1968), 73-83; Probleme informează...

Literatură

Link -uri