Tillståndsmaskin

En tillståndsmaskin (eng State Machine eller Automaton) är en abstrakt modell som används till exempel inom mjukvaruutveckling, hårdvarudesign, beräkningsteori och språkvetenskap. Tillståndsmaskiner används för att beskriva skeenden i olika former med hjälp av tillstånd och villkor för övergång från ett tillstånd till ett annat.

Vanligen anses tillståndsmaskin vara synonymt med ändlig tillståndsmaskin (eng Finite State Machine eller Finite Automaton) då en tillståndsmaskin måste ha ett ändligt antal tillstånd för att vara praktiskt användbar.

Informell beskrivning

En tillståndsmaskin består av ett antal tillstånd och ett antal övergångar mellan dessa tillstånd. Ett exempel på en tillståndsmaskin kan vara en modell för en dörr:

Modell för Dörr:

Tillstånd : Öppen, Stängd
Övergångar: Öppna, Stäng

En tillståndsmaskin befinner sig alltid i ett tillstånd och om ett visst villkor uppfylls övergår tillståndsmaskinen till ett annat tillstånd. Om till exempel tillståndsmaskinen för Dörr befinner sig i tillståndet Stängd och villkoret för övergången Öppna inträffar (det vill säga, någon öppnar dörren) så övergår tillståndsmaskinens tillstånd till Öppen.

Tillståndsmaskiner beskrivs ofta med blocksymboler som representerar tillstånd och pilar som representerar övergångar. Villkoret för övergång skrivs vid pilen:

Tillståndsmaskin för Dörr

Låt oss anta att tillståndet Låst införs i modellen för dörr. Vilka nya övergångar kräver detta? Skall det till exempel finnas en övergång till Låst när dörren är i tillståndet Öppen. I en viss mening är det möjligt att låsa en öppen dörr, men funktionellt sett är det inte meningsfullt. Vi utökar dessutom tillståndsmaskinen med tillståndet Fel.

Utökad tillståndsmaskin för Dörr

Den valda tillståndsmaskinen kommer att stoppa i tillståndet Fel om man antingen försöker låsa eller låsa upp dörren när den är öppen, eller om man försöker öppna eller stänga dörren när den är låst. Det kanske finns ett bättre sätt att hantera felbeteenden på?

Robust tillståndsmaskin för Dörr

Bilden ovan visar en tillståndsmaskin för Dörr som inte stoppar på grund av fel. En tillståndsmaskin som hanterar felbeteenden eller felaktig input utan att stoppa sägs vara robust.

Modellen för Dörr ser nu ut så här:

Tillstånd: Öppen, Stängd, Låst
Övergångar: Öppna, Stäng, Lås, Lås upp

Formell beskrivning

En Finit Tillståndsmaskin (eng Finite State Machine (FSM) eller Finite Automaton) är ett mångsidigt och allmänt använt verktyg för att modellera förlopp med hjälp av tillstånd, övergångar och händelser.

  • Ett tillstånd lagrar information om vad som har hänt under den tid som gått sedan det system som tillståndsmaskinen modellerar startades - det vill säga, den reflekterar de stimuli som systemet har utsatts för från att den startades fram till nuet.
  • En övergång innebär en tillståndsändring och övergången beskrivs av en händelse som måste inträffa för att övergången ska äga rum.
  • En händelse är en beskrivning av en aktivitet som inträffar i ett givet ögonblick.

Klassificering

Det går att särskilja två grupper av finita tillståndsmaskiner: igenkänningsmaskiner och översättningsmaskiner.

Igenkänningsmaskiner

En igenkänningsmaskin matas med ett indata i någon form och meddelar sedan omvärlden om detta indata var korrekt eller ej enligt något kriterium. En igenkänningsmaskin används till exempel till att kontrollera att en sats skriven i ett formellt språk (se formell grammatik) är korrekt och välformad.

Översättningsmaskiner

Översättningsmaskiner används för att översätta ett indata från en symboluppsättning till en annan. Man kan särskilja två olika typer, Moore-maskiner och Mealy-maskiner.

Moore-maskiner

En Moore-maskin använder endast ingångshändelser. Detta innebär att när en tillståndsförändring inträffar i en Moore-maskin så produceras också en del av resultatet av systemets arbete i samband med övergången. Vilket resultat som produceras beror endast av vilket tillstånd som övergången sker till.

Exempel: En hissdörr öppnas. Tillståndsmaskinen för hissdörrens beteende övergår från tillståndet Stängd till tillståndet Öppen. Samtidigt tänds belysningen inne i hissen
Mealy-maskiner

En Mealy-maskin använder endast indatahändelser. Detta innebär att när en tillståndsförändring inträffar i en Mealy-maskin så produceras också en del av resultatet av systemets arbete i samband med övergången. Vilket resultat som produceras beror, i motsats till Moore-maskinen, på vilket indata som ger upphov till övergången i kombination med vilket tillstånd som övergången sker till.

Exempel: En hissdörr öppnas. Tillståndsmaskinen för hissdörrens beteende övergår från tillståndet Stängd till tillståndet Öppen. Samtidigt tänds belysningen inne i hissen om den öppnas manuellt. Om det är hissens egen dörrmotor som öppnar dörren tänds inte lampan.

I praktiken används ofta en mix av dessa två maskintyper för översättning.

Deterministiska och icke-deterministiska finita tillståndsmaskiner

Man skiljer även mellan deterministiska och icke-deterministiska tillståndsmaskiner.

  • En deterministisk finit tillståndsmaskin har exakt en definierad övergång för varje tillstånd för varje indata som är möjligt (korrekt) för detta tillstånd.
  • För en icke-deterministisk finit tillståndsmaskin kan det finnas flera olika övergångar för ett givet tillstånd och ett givet korrekt ingångsdata.

Logiken för en finit tillståndsmaskin

Nästa tillstånd och nästa utdata för en finit tillståndsmaskin är en funktion av det aktuella indatat och det aktuella tillståndet.

Matematisk modell

Det finns ett flertal definitioner av finita tillståndsmaskiner beroende på vilken typ man talar om

En igenkännarmaskin är en kvintupel (femställig symbolföljd) <Σ, S, s0, δ, F>, där:

  • Σ är det som kallas maskinens indataalfabete (en ändlig icke-tom mängd av symboler)
  • S är en ändlig icke-tom mängd av tillstånd
  • s0 är det så kallade starttillståndet, ett element i S. Maskinen befinner sig alltså i tillståndet s0 när den startas.
  • δ är tillståndsövergångsfunktionen: δ = S x Σ → S
  • F är mängden av möjliga sluttillstånd, en (möjligen tom) [delmängd] av S

Även om en igenkännarmaskin saknar formell utdatafunktion (se nedan), så finns den där implicit - en boolesk funktion som returnerar Sant eller Falskt beroende på om indatat accepterades eller ej.

En översättarmaskin är en sextupel (sexställig symbolföljd) <Σ, Γ, S, s0, δ, ω>, där:

  • Σ är det som kallas maskinens indataalfabete (en ändlig icke-tom mängd av symboler)
  • Γ är det som kallas maskinens utdataalfabete (en ändlig icke-tom mängd av symboler)
  • S är en ändlig icke-tom mängd av tillstånd
  • s0 är det så kallade starttillståndet, ett element i S. Maskinen befinner sig alltså i tillståndet s0 när maskinen startas.
  • δ är tillståndsövergångsfunktionen: δ: S x Σ → S
  • ω är utdatafunktionen

Om utdatafunktionen är en funktion av ett tillstånd och av indataalfabetet (ω: S x Σ → Γ) är maskinen en Mealy-maskin.

Om utdatafunktionen enbart beror på ett tillstånd (ω: S → Γ) är maskinen en Moore-maskin.

Optimering

Att optimera en finit tillståndsmaskin innebär att man söker den maskin med minsta möjliga antal tillstånd som utför samma funktion. Detta kan utföras med så kallade färgläggningsalgoritmer.

Källor

  • Booth, Taylor L. (1967). Sequential Machines and Automata Theory (1st). New York: John Wiley and Sons, Inc. Library of Congress Card Catalog Number 67-25924 

Read other articles:

Halaman ini berisi artikel tentang sistem penulisan yang digunakan untuk tunanetra atau orang dengan penglihatan rendah. Untuk pembuat huruf Braille tersebut, lihat Louis Braille. Artikel ini membutuhkan rujukan tambahan agar kualitasnya dapat dipastikan. Mohon bantu kami mengembangkan artikel ini dengan cara menambahkan rujukan ke sumber tepercaya. Pernyataan tak bersumber bisa saja dipertentangkan dan dihapus.Cari sumber: Braille – berita · surat kabar · buku...

 

Days of Our LivesGenreOpera sabunPembuatTed CordayBetty Corday[1]Ditulis olehGary TomlinChristopher WhitesellSutradaraHerb SteinPhil SogardAlbert AlarrGrant JohnsonSteven WillifordPemeranList of cast membersNegara asal Amerika SerikatBahasa asliInggrisJmlh. musim52Jmlh. episode14460 (pada 21 Oktober 2022)ProduksiProduser eksekutifKen CordayGreg MengLisa de CazotteProduserSee belowLokasi produksiNBC Studios, Burbank, California (1965–present)Durasi30 menit (1965–75)[2]...

 

Bibit WaluyoBibit Waluyo sebagai Gubernur Jawa Tengah (2008) Gubernur Jawa Tengah ke-14Masa jabatan23 Agustus 2008 – 23 Agustus 2013WakilRustriningsih PendahuluAli MufizPenggantiGanjar PranowoPanglima Komando Cadangan Strategis Angkatan Darat ke-27Masa jabatan3 Juli 2002 – 3 November 2004 PendahuluRyamizard RyacuduPenggantiHadi WaluyoPanglima Komando Daerah Militer Jaya ke-18Masa jabatan2001–2002 PendahuluSlamet KirbiantoroPenggantiAhmad YahyaPanglima Koman...

Edoardo Anton Edoardo Anton, all'anagrafe Edoardo Antonelli (Roma, 7 gennaio 1910 – Villafranca, 11 maggio 1986), è stato un commediografo, sceneggiatore, regista e giallista italiano. Indice 1 Biografia 2 Filmografia 2.1 Regista 2.2 Sceneggiatore 3 Varietà radiofonici Rai/Eiar 4 Prosa radiofonica Rai 5 Opere teatrali 6 Note 7 Bibliografia 8 Collegamenti esterni Biografia Figlio del drammaturgo Luigi Antonelli, nacque a Roma nel 1910. Seguì le orme paterne scrivendo testi teatrali, copio...

 

Provincia di Riminiprovincia LocalizzazioneStato Italia Regione Emilia-Romagna AmministrazioneCapoluogo Rimini PresidenteJamil Sadegholvaad (PD) dal 24-11-2022 Data di istituzione1992 (prima elezione 1995) TerritorioCoordinatedel capoluogo44°03′34.9″N 12°33′09.9″E / 44.059694°N 12.55275°E44.059694; 12.55275 (Provincia di Rimini)Coordinate: 44°03′34.9″N 12°33′09.9″E / 44.059694°N 12.55275°E44.059694; 12.55275 (P...

 

Sanna MarinMarin, 2021 Perdana Menteri Finlandia ke-46Masa jabatan10 Desember 2019 – 20 Juni 2023PresidenSauli Niinistö PendahuluAntti RinnePenggantiPetteri OrpoMenteri Transportasi dan KomunikasiMasa jabatan6 Juni 2019 – 10 Desember 2019Perdana MenteriAntti Rinne PendahuluAnu VehviläinenPenggantiTimo Harakka Informasi pribadiLahirSanna Mirella Marin16 November 1985 (umur 38)Helsinki, FinlandiaPartai politikPartai Demokrat SosialSuami/istriMarkus RäikkönenAnak1P...

1991 album by R.E.M. Out of TimeCover to the standard release of Out of TimeStudio album by R.E.M.ReleasedMarch 12, 1991 (1991-03-12)[1]RecordedMid-1990StudioBearsville (Woodstock, New York)John Keane Studios (Athens, Georgia) (recording)Soundscape (Atlanta, Georgia) (strings)Paisley Park (Chanhassen, Minnesota) (mixing)GenreAlternative rock[2]folk rock[3]Length44:08LabelWarner Bros.ProducerScott LittR.E.M.R.E.M. chronology Green(1988) Out of Time(19...

 

Election 1895 San Diego mayoral election ← 1893 April 2, 1895 (1895-04-02) 1897 →   Nominee William H. Carlson Daniel Stone Party Independent Populist Popular vote 1,090 1,015 Percentage 33.9% 31.6% Mayor before election William H. Carlson Independent Elected Mayor William H. Carlson Independent Elections in California Federal government U.S. President 1852 1856 1860 1864 1868 1872 1876 1880 1884 1888 1892 1896 1900 1904 1908 1912 1916 1920 1924 ...

 

Disambiguazione – Se stai cercando altri significati, vedi Stephen Foster (disambigua). Stephen Collins Foster Stephen Collins Foster (Pittsburgh, 4 luglio 1826 – New York, 13 gennaio 1864) è stato un compositore statunitense. Conosciuto come il padre della musica americana, fu il più noto compositore e scrittore di canzoni del XIX secolo negli Stati Uniti. Le sue canzoni, fra cui la celeberrima Oh! Susanna, rimangono conosciute e popolari in tutto il mondo dopo più di un secolo e mez...

Northern Ireland loyalist (1940–2006) Billy MitchellBorn1940Glengormley, Northern IrelandDied22 July 2006 (aged 65)Carrickfergus, County Antrim, Northern IrelandResting placeChurch of the Nazarene, CarrickfergusNationalityBritishOther namesRichard CameronOccupation(s)Copy boy, lorry driver, community workerYears active1966–2006Organization(s)Ulster Protestant VolunteersUlster Volunteer ForceKnown forUlster loyalist, community workerPolitical partyProgressive Unionist PartyC...

 

American archive of research materials Established1960PurposeArchive for performing arts researchHeadquarters816 State StreetMadison, Wisconsin 53706Coordinates43°04′31″N 89°24′00″W / 43.0752°N 89.4°W / 43.0752; -89.4Websitewcftr.commarts.wisc.edu The Wisconsin Center for Film and Theater Research (WCFTR) is a major archive of motion picture, television, radio, and theater research materials. Located in the headquarters building of the Wisconsin Historical ...

 

Danish-Faroese footballer and coach For the Danish racewalking athlete, see Claus Jørgensen (racewalker). Claus Bech Jørgensen Jørgensen pictured whilst on trial at Tamworth in 2010.Personal informationFull name Claus Bech Jørgensen[1]Date of birth (1976-04-27) 27 April 1976 (age 48)Place of birth Holstebro, DenmarkHeight 1.78 m (5 ft 10 in)[2]Position(s) MidfielderSenior career*Years Team Apps (Gls)1994–1997 Holstebro BK 1997–1998 AGF Aarhus 0 (0)1...

Painting by Andrea Mantegna This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Adoration of the Shepherds Mantegna – news · newspapers · books · scholar · JSTOR (March 2014) (Learn how and when to remove this message) The Adoration of the ShepherdsArtistAndrea MantegnaYear1450–1451MediumTempera on canvas...

 

Current caused by the tide pulling water through an inlet This article is about currents caused by the tide pulling water through an inlet. For currents appearing near beaches, see Rip current. For other uses, see Riptide (disambiguation). A rip tide, or riptide, is a strong offshore current that is caused by the tide pulling water through an inlet along a barrier beach, at a lagoon or inland marina where tide water flows steadily out to sea during ebb tide. It is a strong tidal flow of water...

 

Country house in Norfolk, England, private home of King Charles III Sandringham HouseThe most comfortable house in England[1]TypeCountry houseLocationNear Sandringham, Norfolk, EnglandCoordinates52°49′47″N 0°30′50″E / 52.82972°N 0.51389°E / 52.82972; 0.51389Built1870–1892Built forAlbert Edward, Prince of WalesArchitectA. J. HumbertRobert William EdisArchitectural style(s)JacobethanOwnerCharles III (personally) National Register of Historic Parks a...

Pi

Untuk singkatan pusat perbelanjaan di Jakarta Pusat, lihat Plaza Indonesia. Simbol Pi, π.Bagian dari serial artikel mengenaiπ Artikel mengenai π 3.141 529 653 587 893 238 462 … {\displaystyle 3.141\,529\,653\,587\,893\,238\,462\,\dots } Penggunaan Luas lingkaran Keliling lingkaran Sifat Irasional Transenden Nilai Kurang dari 22/7 Perkiraan Mengingat π Tokoh Archimedes Liu Hui Zu Chongzhi Aryabhata Madhava Ludolph van Ceulen Seki Takakazu Takebe Kenko William Jones John Machin W...

 

This article includes a list of general references, but it lacks sufficient corresponding inline citations. Please help to improve this article by introducing more precise citations. (April 2012) (Learn how and when to remove this message) Chen Yi陈怡MABorn (1953-04-04) April 4, 1953 (age 71)Guangzhou, ChinaOccupation(s)Composer, ViolinistInstrument(s)ViolinYears active1970–presentMusical artist In this Chinese name, the family name is Chen. Chen Yi (simplified Chinese: 陈怡; t...

 

American business executive (1908–1987) Jack HeinzBornHenry John Heinz II(1908-07-10)July 10, 1908Pittsburgh, Pennsylvania, U.S.DiedFebruary 23, 1987(1987-02-23) (aged 78)Hobe Sound, Florida, U.S.Occupation(s)Business executive, former CEO of the H. J. Heinz CompanyChildrenJohn HeinzRelativesHenry J. Heinz (grandfather) Donald Trump (fourth cousin) Henry John Heinz II (July 10, 1908 – February 23, 1987) was an American business executive and CEO of the H. J. Heinz Company based i...

For the Jewish self-defense organization, see Bar-Giora (organization). Place in Jerusalem, IsraelBar Giora בר גיוראبار جيوراBar GioraCoordinates: 31°43′46″N 35°4′20″E / 31.72944°N 35.07222°E / 31.72944; 35.07222CountryIsraelDistrictJerusalemCouncilMateh YehudaAffiliationMishkei Herut BeitarFounded18 October 1950Founded byYemenite JewsPopulation (2022)[1]725 Bar Giora (Hebrew: בַּר גִּיּוֹרָא) is a moshav in the Jud...

 

Cet article est une ébauche concernant la Croatie et la Hongrie. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les recommandations des projets correspondants. Armoiries du Royaume de Croatie-Slavonie Le compromis croato-hongrois (en croate : Hrvatsko-ugarska nagodba) ou compromis hungaro-croate (en hongrois : Magyar-horvát kiegyezés) de 1868 est le nom donné à l'accord entre la diète de Hongrie et celle de Croatie-Slavonie en 1868. L'accord ...