Problemet med synkronisering af skydere er et problem fra området for datalogi og teorien om cellulære automater .
Først foreslået af John Myhill i 1957 og udgivet (med løsning) i 1962 af Edward Moore [2] . Navnet er forbundet med soldaternes adfærd under henrettelse eller en riffelsalut - alle soldater skyder på samme tid på et signal.
Det er formuleret som følger: er det muligt at programmere en endimensionel cellulær automat af endelig længde på en sådan måde, at fra starttilstanden G●●...●●● alle celler samtidig går over til tilstanden FFF...FFF, uanset længden af kæden, hvis overgangsreglen ●●●→● er obligatorisk og dens modstykker for enderne af kæden ⌀●●→●, ●●⌀→●? I almindeligt sprog [3] :
Da signalet forplanter sig langs linjen med en hastighed på 1 position pr. ur (i cellulær automatteori kaldes dette "lysets hastighed"), er det indlysende, at synkroniseringstiden vil stige med stigende .
Er der en løsning på problemet med synkronisering af pile i fem tilstande - for enhver , ikke nødvendigvis optimal i tid?
Den første løsning på dette problem blev fundet af John McCarthy og Marvin Minsky og udgivet i Sequential Machines af Edward Moore.
En løsning, der kræver minimal tid, blev fundet i 1962 af professor Eiichi Goto fra MIT [4] . Det bruger flere tusinde tilstande og kræver nøjagtigt tidsenheder for robotterne. Det er nemt at bevise (se nedenfor), at der ikke findes mere tidseffektive løsninger.
Den optimale løsning, der kun bruger seks tilstande (inklusive det endelige "skud"), blev fundet af Jacques Mazoyer i 1987 [5] . Tidligere beviste Robert Balzer ved computeroptælling, at der ikke findes løsninger med fire celletilstande [6] . Peter Sanders fandt senere ud af, at Balzers eftersøgningsprocedure var ufuldstændig, men efter at have rettet proceduren fik han samme resultat. I 2010'erne blev hundredvis af forskellige løsninger med seks tilstande opnået ved evolutionær opregning [7] . Det er stadig uvist, om der findes en løsning med fem celletilstande.
De forsøger også at slå rekorden for antallet af involverede overgangsregler (inklusive den påkrævede, men ikke brugte regel for chefen ⌀●●→● [7] . Der er 119 regler i Mazoyers løsning. Der er en ikke-tidsoptimal løsning med seks stater og 78 regler, og den optimale er fra den 80.
Find ufuldstændige løsninger med fire tilstande - for eksempel synkronisering af en række robotter [1] .
Den enkleste løsning på problemet beskriver to bølger af tilstande, der forplanter sig langs en række af robotter, hvoraf den ene bevæger sig tre gange hurtigere end den anden. Den hurtige bølge reflekteres fra den fjerneste kant af rækken og møder den langsomme bølge i midten. Derefter er to bølger opdelt i fire, der bevæger sig i forskellige retninger fra midten. Processen fortsætter, hver gang antallet af bølger fordobles, indtil længden af rækkens segmenter bliver lig med 1. I dette øjeblik skyder alle robotter. Denne beslutning kræver tidsenheder for soldaterne.
En ret simpel 16-statsløsning beskrevet af Abraham Waksman i 1966 [8] er beskrevet her . Fartøjschefen sender signaler med frekvenser til den tilstødende robot . Signalet hopper af i højre ende af rækken og støder på signalet (for ) i cellen . Når det hopper, opretter det også en ny chef i højre ende.
Signaler genereres ved hjælp af hjælpesignaler, der forplanter sig til venstre. Hvert andet øjeblik genererer det normale signal et hjælpesignal, der forplanter sig til venstre. bevæger sig uafhængigt med hastighed 1, mens langsommere signaler kun bevæger sig, når de modtager hjælpesignaler.
Hvis mellem chefen (initiator af skydning) og den nærmeste ende af robotterne, kræver synkronisering mindst trin [9] . Et særligt tilfælde: hvis kommandanten er på kanten, så skridt. |
Bevis. Lad os sige, at der er tre programmer, der løser synkroniseringsproblemet, og for nogle , og vil være i stand til at skyde for . Vi mener, at chefen er tættere på venstre ende.
Ethvert signal går fra robot til robot ikke hurtigere end den såkaldte "lyshastighed" - 1 position pr. tidstrin. Handlingen af den første robot i øjeblikket afhænger af de første to robotter i øjeblikket , af de første tre i øjeblikket , …, af alle robotter i øjeblikket . I dette øjeblik er den sidste robot stadig i sin oprindelige tilstand (signalet ankommer i øjeblikket ).
Det betyder, at hvis vi tilføjer flere robotter til den højre ende , i øjeblikket vil tilstanden af de første robotter være den samme, intet vil ændre sig for den første robot, og den vil skyde i samme trin . Den sidste th på trinnet forbliver i sin oprindelige tilstand - signalet har ikke tid til at nå det. Så denne trio af programmer er ikke en løsning. Modsigelse.
Den anden nedre grænse, trin, er bevist på samme måde , men antallet er ikke mindre.
Bemærk. Yderligere krav om og , hvis ikke begrænset ovenfra, kan give en gevinst i antallet af stater, men ikke i tid, og der er faktisk en generalisering af Waksmans 17-statsløsning, der virker for alle og for trin [10] .
Adskillige mere generelle formuleringer af problemet er blevet foreslået og undersøgt, herunder vilkårligt ordnede serier, lukkede ringe, firkanter, terninger, Cayley-grafer og generelle grafer.
Hvis viden om, at chefen er på kanten af den lineære formation, ikke opnår i synkroniseringstid, så vil der i den todimensionelle formation fra viden om, at han er firkantet, være en gevinst [11] .
Det var muligt at finde eksistensen af en løsning til et lineært system, hvis hver robot skal give et signal ure før skuddet, kender robotten maksimum og sit eget , og programmeres derefter [12] . Den enkleste løsning er at give robotterne yderligere tilstande og det samme antal cyklusser at synkronisere, men du kan undvære denne forsinkelse, hvis formationen er lang nok. Kompleksiteten af hvert enkelt program (faktisk husker det robottens tilstand fra den klassiske opgave).
Handlingsform | Minimum tid |
---|---|
Linje, mellem chefen og den nærmeste kant af robotterne | [9] |
Ring | [9] |
Ring med envejsformidling af information | [9] |
Kare med kommandanten på hjørnet | [elleve] |
Firkantet med kommandøren på hjørnet | [elleve] |
Terning med en kommandør øverst | [elleve] |
Conways Game of Life og andre cellulære automater | |||||
---|---|---|---|---|---|
Konfigurationsklasser | |||||
Konfigurationer |
| ||||
Vilkår | |||||
Andre rumfartøjer på et todimensionelt gitter |
| ||||
Et-dimensionelt rumfartøj | |||||
Software og algoritmer |
| ||||
KA-forskere |