U polju teorije računske složenosti, mašine konačnih stanja (FSM) se široko koriste za modeliranje i analizu ponašanja sistema. FSM-ovi su matematički modeli koji se sastoje od konačnog broja stanja i prijelaza između tih stanja na osnovu ulaznih simbola. Obično se koriste za predstavljanje regularnih jezika, koji su podskup formalnih jezika koji se mogu opisati regularnim izrazima ili generirati pomoću FSM-a.
Da bismo predstavili uniju jezika koju prepoznaju dva FSM-a, moramo kombinovati dvije mašine na način koji nam omogućava da prepoznamo nizove koji pripadaju jednom od jezika. To se može postići kroz proces koji se naziva sindikalna operacija.
Unija dva FSM-a, M1 i M2, uključuje stvaranje novog FSM-a, M, koji prepoznaje jezik formiran udruživanjem jezika koje prepoznaju M1 i M2. Ovo se može učiniti uvođenjem novog početnog stanja i povezivanjem sa početnim stanjima M1 i M2 pomoću ε-prijelaza (prijelaza koji ne konzumiraju nijedan ulazni simbol). ε-prijelazi omogućavaju mašini da bira između dva početna stanja i u skladu s tim nastavi s procesom prepoznavanja.
Rad sindikata također zahtijeva neke modifikacije na originalnim mašinama. Prvo, moramo osigurati da konačna stanja M1 i M2 ostanu konačna stanja u novom stroju M. To se može postići uvođenjem ε-prijelaza iz konačnih stanja M1 i M2 u novo konačno stanje u M. Ove ε -prijelazi dozvoljavaju mašini da prihvati niz ako ga prihvati ili M1 ili M2.
Nadalje, moramo osigurati da su prijelazi M1 i M2 sačuvani u novom stroju M. To se može učiniti jednostavnim kopiranjem prijelaza M1 i M2 u M. Ako postoje bilo kakvi zajednički prijelazi između M1 i M2, oni mogu biti spojen u jednu tranziciju u M.
Razmotrimo jednostavan primjer kako bismo ilustrirali proces. Pretpostavimo da imamo dva FSM-a, M1 i M2, kao što je prikazano u nastavku:
M1:
Početno stanje: q0
Završno stanje: q2
Prijelazi: (q0, a) -> q1, (q1, b) -> q2
M2:
Početno stanje: p0
Završno stanje: p2
Prijelazi: (p0, c) -> p1, (p1, d) -> p2
Da bismo predstavili uniju jezika koje prepoznaju M1 i M2, kreiramo novi FSM, M:
M:
Početno stanje: s0 (novo startno stanje)
Završno stanje: f2 (novo konačno stanje)
Prijelazi: (s0, ε) -> q0, (s0, ε) -> p0, (q2, ε) -> f2, (p2, ε) -> f2
(q0, a) -> q1, (q1, b) -> q2, (p0, c) -> p1, (p1, d) -> p2
U ovom primjeru, novi FSM M prepoznaje uniju jezika koje prepoznaju M1 i M2. Počinje u novom početnom stanju s0 i može preći na q0 ili p0 koristeći ε-prijelaze. Odatle prati prelaze M1 i M2 na osnovu ulaznih simbola. Ako dostigne konačno stanje bilo M1 ili M2, može prijeći u novo konačno stanje f2 pomoću ε-prijelaza.
Da rezimiramo, unija jezika koju prepoznaju dva FSM-a može se predstaviti kombinovanjem mašina i uvođenjem ε-prijelaza kako bi se omogućio izbor između početnih stanja. Dodatno, ε-prijelazi se mogu koristiti za povezivanje krajnjih stanja originalnih mašina sa novim konačnim stanjem u kombinovanoj mašini. Sačuvanjem originalnih prijelaza, nova mašina može prepoznati nizove koji pripadaju jednom od jezika koje prepoznaju originalne mašine.
Ostala nedavna pitanja i odgovori u vezi EITC/IS/CCTF Osnove teorije računske složenosti:
- Da li su regularni jezici ekvivalentni sa konačnim mašinama?
- Zar PSPACE klasa nije jednaka klasi EXPSPACE?
- Da li je algoritamski izračunljiv problem problem koji se može izračunati Turingovom mašinom u skladu sa Church-Turing tezom?
- Koje je svojstvo zatvaranja regularnih jezika pod konkatenacijom? Kako su konačne mašine kombinovane da predstavljaju uniju jezika koje prepoznaju dve mašine?
- Može li se svaki proizvoljni problem izraziti jezikom?
- Da li je P klasa složenosti podskup klase PSPACE?
- Da li svaka Turing mašina sa više traka ima ekvivalentnu Turing mašinu sa jednom trakom?
- Koji su rezultati predikata?
- Da li su lambda račun i Turingove mašine izračunljivi modeli koji odgovara na pitanje šta znači izračunljiv?
- Možemo li dokazati da su Np i P klasa iste pronalaženjem efikasnog polinomskog rješenja za bilo koji NP kompletan problem na determinističkom TM?