Az állam gép - js automata programozás

A legtöbb automata programozással kapcsolatos fogalom egy véges állapotú gép. Anélkül, hogy a matematikai dzsungelben, az állam gép lehet meghatározni az alábbiak szerint:

Egy modellt, amelyben kényelmes feldolgozni, amelynek véges számú különálló Államok kontroll

A második dolog, hogy látjuk ezt a definíciót, az „állam”. Állam, az alapja minden állam gép, és az életben, néha ezt a fogalmat. Jelentése, hogy kerül bele intuitív szinten, azonos a jelentése, amely kerül benne, ha dolgozik, véges automaták. Például, egy személy tápláljuk, vagy éhes, alvás, hogy beteg, és még megbocsátani Lord, halott, és a víz egy folyékony, szilárd anyag (jég) és gőz. Ez mind az állami és a különböző folyamatok.

A meghatározás egyértelművé teszi, hogy az állam legyen diszkrét, más szóval, azt kell tenni, hogy egyértelmű különbséget tenni a különböző technológiai körülmények. A technológiai víz fűtési nem képviselheti egy állapotgép, ha nem tesz különbséget bizonyos pontokat az ott (állami), például meleg vízzel (50 ° C), forró vízzel (80 °), és hideg vizet (10 fok).

És végül, mit jelent „vezérlési állapot”? A koncepció az állam nem idegen a világ programozás. Az egyik első előadások, beszéltem arról, hogy az állam a program, durván szólva, a leadott az emlékét, más szóval, az értéke az összes változót egy időben. Ez, persze, ez igaz, de akkor megy is tovább, és megjegyezte, hogy az állam lehet osztani két fajta. Az első típus az állam, amely felelős az összes lehetséges módon adatmozgatás a programon keresztül. Másodszor, ez az adat a saját számítógép vagy egy úgynevezett állapot.

Számuk nem túl nagy

Számuk akár végtelen vagy véges, de nagyon nagy

Mindegyiküknek van egy határozott értelme és minőségileg más, mint a többiek

Legtöbbjük nincs értelme, és az különbözteti meg a többi csak mennyiségileg

Ezek határozzák meg az intézkedések, ami a lényeg

Ezek közvetlenül meghatározza csak cselekvések eredményeit

Tekintsük az egyszerű állam gép a TV példája és az integrációs folyamatot. Ez a folyamat két állam „be” és „ki”, amely megváltoztatja az események „bekapcsol” és „kikapcsolni”.

Azt mutatja, az úgynevezett állami diagram. Ez grafikai ábrázolás segít vizuálisan elképzelni a rendszer állapotok közötti átmenetek megtekinthet minden rendelkezésre álló rendszer korlátaira (nem minden állam mehet minden). Mint látható, minden tulajdonságával egyszerűen és intuitív módon. Nézzünk egy érdekes példa:

Ez automata folyamatát mutatja kávé kávégép. Nem is olyan triviális, mint a TV. Mi mást lehet leírni egy olyan gép?

  • rendelés állapota
  • közlekedési lámpa
  • aktiválása a SIM kártyák
  • Futó gyakorlatok Hekslete
  • A felhasználói felületek (UI)

Személy szerint úgy gondolom, hogy egyszerűbb felsorolni, mit nem írja le egy olyan gép, nem pedig fordítva.

A valós világ tele van a folyamatok, amelyek által leírt véges állapotú automaták, más szóval, áiiapotgépek mindig jelen vannak, függetlenül attól, tudunk róluk, vagy nem

Én elsősorban ezt a figyelmet. Az én gyakorlatban elterjedt hiedelem már tapasztalt programozók, hogy véges automaták bonyolítja az élet és / vagy azok csak szükség írásra fordító. Ez egy nagy tévhit okozza a nem megfelelő alapképzést. Ha a program lényege a komplex viselkedést, akkor definíció szerint a legegyszerűbben leírni ez egy olyan gép folyamatokat.

Elismerik lényege komplex viselkedést a forrás programkód a következők lehetnek: A hagyományos végrehajtása az ilyen logikai elem használt változókat nevezzük zászlók bonyolult és számos elágazás szerkezet, olyan körülmények között, amelyek különböző kombinációit jelzőértékeit. Így leírására bonyolult logikai viselkedés rosszul szerkesztett, nehéz megérteni és módosítani, hibákat eredményezhet.

Az egyik központi gondolatát automata alapú programozás viselkedésének leírására a logikai egység (milyen körülmények között van szükség, hogy bizonyos műveleteket) leírásából szemantikája (jelentése önmagában minden egyes intézkedés). Továbbá, ha az automata leírása logika mereven strukturált megközelítés. Ezek a tulajdonságok teszik az automata leírása komplex viselkedését látható és egyértelmű.