Tabel over statsovergang - State-transition table
I automatateori og sekventiel logik er en tilstandsovergangstabel en tabel, der viser, hvilken tilstand (eller tilstander i tilfælde af en ikke-deterministisk endelig automat ), en finite-state-maskine vil flytte til, baseret på den aktuelle tilstand og andre input. Det er i det væsentlige en sandhedstabel , hvor indgangene inkluderer den aktuelle tilstand sammen med andre indgange, og udgangene inkluderer den næste tilstand sammen med andre udgange.
En tilstandsovergangstabel er en af mange måder at specificere en maskine med endelig tilstand på. Andre måder inkluderer et tilstandsdiagram .
Almindelige former
En-dimension
State-overgangstabeller er undertiden endimensionelle tabeller, også kaldet karakteristiske tabeller . De ligner meget sandhedstabeller end deres todimensionale form. Den enkelte dimension angiver indgange, aktuelle tilstande, næste tilstande og (valgfrit) udgange forbundet med tilstandsovergange.
| Indgang | Nuværende tilstand | Næste tilstand | Produktion |
|---|---|---|---|
| I 1 | S 1 | S i | O x |
| I 2 | S 1 | S j | O y |
| ... | ... | ... | ... |
| Jeg n | S 1 | S k | O z |
| I 1 | S 2 | S i ′ | O x ′ |
| I 2 | S 2 | S j ′ | O y ' |
| ... | ... | ... | ... |
| Jeg n | S 2 | S k ′ | O z ′ |
| ... | ... | ... | ... |
| I 1 | S m | S i ″ | O x ″ |
| I 2 | S m | S j ″ | O y ″ |
| ... | ... | ... | ... |
| Jeg n | S m | S k ″ | O z ″ |
To dimensioner
State-overgangstabeller er typisk todimensionelle tabeller. Der er to almindelige måder at arrangere dem på.
På den første måde angiver en af dimensionerne aktuelle tilstande, mens den anden indikerer indgange. Række / søjlekrydsene angiver de næste tilstande og (valgfrit) output forbundet med tilstandsovergange.
|
Indgang
Nuværende tilstand
|
I 1 | I 2 | ... | Jeg n |
|---|---|---|---|---|
| S 1 | S i / O x | S j / O y | ... | S k / O z |
| S 2 | S i ′ / O x ′ | S j ′ / O y ′ | ... | S k ′ / O z ′ |
| ... | ... | ... | ... | ... |
| S m | S i ″ / O x ″ | S j ″ / O z ″ | ... | S k ″ / O z ″ |
På den anden måde angiver en af dimensionerne aktuelle tilstande, mens den anden angiver næste tilstande. Række / søjlekrydsene angiver indgange og (valgfrit) udgange tilknyttet tilstandsovergange.
|
Næste tilstand
Nuværende tilstand
|
S 1 | S 2 | ... | S m |
|---|---|---|---|---|
| S 1 | I i / O x | - | ... | - |
| S 2 | - | - | ... | Jeg j / O y |
| ... | ... | ... | ... | ... |
| S m | - | I k / O z | ... | - |
Andre former
Samtidige overgange i flere finit-state-maskiner kan vises i, hvad der effektivt er en n-dimensionel tilstandsovergangstabel, hvor par af rækker kortlægger (sæt af) aktuelle stater til de næste stater. Dette er et alternativ til at repræsentere kommunikation mellem separate, indbyrdes afhængige finite-state maskiner.
På den anden ekstreme side er der blevet anvendt separate tabeller til hver af overgange inden for en enkelt maskine med endelig tilstand: "OG / ELLER tabeller" svarer til ufuldstændige beslutningstabeller , hvor beslutningen for de nuværende regler implicit er aktivering den tilknyttede overgang.
Eksempel
Et eksempel på en tilstandsovergangstabel sammen med det tilsvarende tilstandsdiagram for en finite-state maskine er givet nedenfor:
|
Indgang
Nuværende tilstand
|
0 | 1 |
|---|---|---|
| S 1 | S 2 | S 1 |
| S 2 | S 1 | S 2 |
|
|
I tilstandsovergangstabellen opregnes alle mulige input til finite-state-maskinen på tværs af kolonnerne i tabellen, mens alle mulige tilstande er opregnet på tværs af rækkerne. Hvis maskinen er i tilstanden S 1 (den første række) og modtager en indgang på 1 (anden kolonne), forbliver maskinen i tilstanden S 1 . Hvis maskinen nu er i tilstanden S 1 og modtager et input på 0 (første kolonne), overgår maskinen til tilstanden S 2 .
I tilstandsdiagrammet, er det tidligere angivet ved pilen looping fra S 1 til S 1 mærket med en 1, og sidstnævnte er angivet ved pilen fra S 1 til S 2 mærket med et 0. Denne proces kan beskrives statistisk under anvendelse Markov-kæder .
For en ikke-deterministisk finite-state-maskine kan et input få maskinen til at være i mere end en tilstand, derfor dens ikke-determinisme . Dette er angivet i en tilstandsovergangstabel med sættet af alle måltilstande, der er omsluttet af et par krøllede seler {}. Et eksempel på en tilstandsovergangstabel sammen med det tilsvarende tilstandsdiagram for en ikke-deterministisk finit-state-maskine er givet nedenfor:
|
Indgang
Nuværende tilstand
|
0 | 1 |
|---|---|---|
| S 1 | S 2 | S 1 |
| S 2 | {S 1 , S 2 } | S 2 |
|
|
Hvis maskinen er i tilstanden S 2 og modtager et input fra 0, vil maskinen være i to tilstande samtidig, staterne S 1 og S 2 .
Transformationer fra / til tilstandsdiagram
Det er muligt at tegne et tilstandsdiagram fra en tilstandsovergangstabel. En sekvens af nemme at følge trin er angivet nedenfor:
- Tegn cirklerne for at repræsentere de givne tilstande.
- For hver af staterne skal du scanne på tværs af den tilsvarende række og tegne en pil til destinationsstat (erne). Der kan være flere pile for et inputtegn, hvis maskinen med endelig tilstand ikke er bestemt.
- Udpeg en tilstand som starttilstand . Starttilstanden er givet i den formelle definition af en finit-state-maskine.
- Udpeg en eller flere stater som accepterende tilstand . Dette er også givet i den formelle definition af en finite-state maskine.
Se også
- Tilstødelsesliste
- Adjacency matrix
- Excitationstabel
- Finite-state maskine
- Moore maskine
- Mealy maskine
Referencer
Yderligere læsning
- Michael Sipser: Introduktion til teorien om beregning . PWS Publishing Co., Boston 1997 ISBN 0-534-94728-X