Kommunicerande maskin med ändligt tillstånd
Inom datavetenskap är en kommunicerande maskin med ändligt tillstånd en maskin med ändligt tillstånd märkt med "ta emot" och "sänd" operationer över något alfabet av kanaler. De introducerades av Brand och Zafiropulo och kan användas som en modell av samtidiga processer som Petri-nät . Kommunikerande finita tillståndsmaskiner används ofta för att modellera ett kommunikationsprotokoll eftersom de gör det möjligt att upptäcka större protokolldesignfel, inklusive begränsning, dödläge och ospecificerade mottagningar.
Fördelen med att kommunicera finita tillståndsmaskiner är att de gör det möjligt att bestämma många egenskaper i kommunikationsprotokoll, utöver nivån för att bara detektera sådana egenskaper. Denna fördel utesluter behovet av mänsklig hjälp eller begränsning i allmänhet.
Kommunikation av finita tillståndsmaskiner kan vara mer kraftfull än finita tillståndsmaskiner i situationer där utbredningsfördröjningen inte är försumbar (så att flera meddelanden kan vara på gång samtidigt) och i situationer där det är naturligt att beskriva protokollparterna och kommunikationsmediet som separata enheter.
Kommunicerande hierarkisk statsmaskin
Hierarkiska tillståndsmaskiner är ändliga tillståndsmaskiner vars tillstånd själva kan vara andra maskiner. Eftersom en kommunicerande finita tillståndsmaskin kännetecknas av samtidighet, är den mest anmärkningsvärda egenskapen i en kommunicerande hierarkisk tillståndsmaskin samexistensen av hierarki och samtidighet. Detta har ansetts vara mycket lämpligt eftersom det betyder starkare interaktion inuti maskinen.
Det bevisades dock att samexistensen av hierarki och samtidighet i sig kostar språkinkludering, språkekvivalens och all universalitet.
Definition
Protokoll
För ett godtyckligt positivt heltal ett protokoll med process(er) en fyrdubbel med:
- , en sekvens av ändliga mängder. Varje uppsättning används för att representera en process, och varje element i representerar ett möjligt tillstånd för den -e processen.
- (med ) , en sekvens som representerar det initiala tillståndet för varje process.
- en ändlig sekvens av disjunta ändliga mängder så att varje uppsättning representerar de möjliga meddelanden som kan skickas från process till process . Om så är tom.
- är en sekvens av övergångsfunktioner. Varje funktion modellerar övergången som kan tas genom att sända eller ta emot ett meddelande. Med avseende på process används symbolen ett meddelande som kan skickas .
Global stat
Ett globalt tillstånd är ett par där
- är en ordnad samling av tillstånd så att varje representerar ett tillstånd för den -e processen.
- är en matris så att varje är en följd av .
Det initiala globala tillståndet är ett par där
- definieras som en matris så att för alla E är lika med det tomma ordet, .
Steg
Det finns två typer av steg, steg i vilka meddelanden tas emot och steg i vilka meddelanden skickas.
Ett steg där -processen tar emot ett meddelande som tidigare skickats av i -th processen är ett par av formen när med . På liknande sätt ett par där ett meddelande skickas av i -th processen till -th one ett par av formen när
Springa
En körning är en sekvens av globala tillstånd så att ett steg relaterar ett tillstånd till nästa, och så att det första tillståndet är initialt.
Det sägs att ett globalt tillstånd kan nås om det finns en körning som passerar genom detta tillstånd.
Problem
Det har bevisats med introduktionen av själva konceptet att när två finita tillståndsmaskiner kommunicerar med endast en typ av meddelanden, kan begränsning, dödläge och ospecificerat mottagningstillstånd bestämmas och identifieras medan så inte är fallet när maskinerna kommunicerar med två eller fler typer av meddelanden. Senare har det ytterligare bevisats att när endast en ändlig tillståndsmaskin kommunicerar med en enda typ av meddelande medan kommunikationen från dess partner är obegränsad, kan vi fortfarande bestämma och identifiera begränsningar, dödlägen och ospecificerat mottagningstillstånd.
Det har vidare bevisats att när meddelandeprioritetsrelationen är tom, kan begränsning, dödläge och ospecificerat mottagningstillstånd bestämmas även under det tillstånd där det finns två eller flera typer av meddelanden i kommunikationen mellan finita tillståndsmaskiner.
Boundedness, dödlägen och ospecificerat mottagningstillstånd är alla avgörbara i polynomtid (vilket innebär att ett visst problem kan lösas inom lösbar, inte oändlig, tid) eftersom beslutsproblemen angående dem är odeterministiska logspace kompletta.
Tillägg
Några tillägg som övervägs är:
- ha en notering som anger att vissa stater kanske inte tar emot något meddelande,
- meddelanden tas emot i olika ordningsföljder, såsom FILO,
- vissa meddelanden kan försvinna,
Kanalsystem
Ett kanalsystem är i huvudsak en version av en kommunicerande maskin med ändligt tillstånd där maskinen inte är uppdelad i distinkt process. Således finns det ett enda tillstånd och det finns ingen begränsning för vilket system som kan läsa/skriva på vilken kanal som helst.
ett protokoll dess associerade kanalsystem är } av och av .
- ^ a b c d D. Brand och P. Zafiropulo. Om kommunicerande finita-state-maskiner. Journal of the ACM, 30(2):323-342, 1983.
- ^ a b c Rosier, Louis E; Gouda, Mohamed G. Beslutande framsteg för en klass av kommunicerande maskiner med ändliga tillstånd. Austin: University of Texas i Austin, 1983.
- ^ Alur, Rajeev; Kannan, Sampath; Yannakakis, Mihalis. "Kommunicera hierarkiska tillståndsmaskiner," Automater, Språk och Programmering. Prag: ICALP, 1999
- ^ Gouda, Mohamed G; Rosier, Louis E. "Kommunicera finita tillståndsmaskiner med prioriterade kanaler," Automater, språk och programmering. Antwerpen: ICALP, 1984