V oblasti teórie výpočtovej zložitosti, konkrétne pri štúdiu konečných automatov, hrá pojem nedeterminizmus dôležitú úlohu.
Nedeterministické konečné automaty (NFSM) sú teoretické modely, ktoré umožňujú použiť viacero prijateľných ciest v akomkoľvek danom stave. Keď však čelíme takejto situácii, vynára sa otázka: akú cestu si vybrať?
Táto otázka sa dotýka pojmu „prijatie“ v NFSM a kritérií, ktoré možno použiť pri rozhodovaní.
Aby sme pochopili proces výberu, najprv preskúmame povahu nedeterminizmu v NFSM. Na rozdiel od deterministických konečných automatov (DFSM), NFSM nemajú jedinečný prechod pre každý možný vstupný symbol v každom stave. Namiesto toho umožňujú existenciu viacerých prechodov pre rovnaký vstupný symbol. Táto charakteristika vedie k možnosti, že z jedného stavu bude nasledovať viacero ciest, čo môže viesť k rôznym výsledkom.
Keď sú NFSM konfrontované s takouto situáciou, využívajú mechanizmus nazývaný „vetvovanie“, aby preskúmali všetky možné cesty súčasne. To znamená, že zariadenie vytvára viacero kópií seba samého, pričom každá sleduje inú cestu. Výsledkom je, že NFSM možno považovať za skúmanie stromovej štruktúry, kde každá vetva predstavuje inú výpočtovú cestu. Táto technika vetvenia je základná pri analýze NFSM a ich výpočtovej zložitosti.
Teraz sa pozrime na kritériá, ktoré možno použiť na výber konkrétnej cesty spomedzi viacerých prijateľných. Jedným z bežných prístupov je zvážiť koncepciu „prijatia“ v NFSM. Prijatie sa týka podmienky, ktorá určuje, či daný vstup stroj považuje za platný alebo nie. V NFSM môže byť prijatie definované dvoma hlavnými spôsobmi: „prijatie podľa konečného stavu“ a „prijatie podľa prázdneho zásobníka“.
Akceptácia konečným stavom nastáva, keď po spotrebovaní celého vstupného reťazca NFSM skončí v stave označenom ako konečný stav. Toto kritérium znamená, že stroj akceptuje vstup, ak existuje aspoň jedna výpočtová cesta, ktorá vedie do konečného stavu. Naopak, ak žiadna cesta nevedie ku konečnému stavu, vstup je odmietnutý.
Prijatie prázdnym zásobníkom je na druhej strane dôležité, keď NFSM obsahujú zásobník ako dodatočnú zložku. V tomto scenári k prijatiu dôjde, keď je vstupný reťazec úplne spracovaný a zásobník sa vyprázdni. Podobne ako pri akceptovaní konečným stavom, ak existuje aspoň jedna výpočtová cesta, ktorá vedie k prázdnemu zásobníku, vstup je akceptovaný; v opačnom prípade sa zamietne.
Vzhľadom na tieto kritériá môže byť výber špecifickej cesty spomedzi viacerých prijateľných v nedeterministickom stroji určený uprednostnením akceptačných podmienok. Napríklad, ak je primárnym kritériom prijatie konečným stavom, stroj si vyberie cestu, ktorá vedie ku konečnému stavu, bez ohľadu na iné potenciálne cesty. Naopak, ak je primárnym kritériom prijatie prázdnym zásobníkom, stroj by uprednostnil cestu, ktorá vedie k prázdnemu zásobníku.
Je dôležité poznamenať, že výber cesty v NFSM neovplyvňuje výpočtový výkon stroja. Bez ohľadu na zvolenú cestu môže NFSM stále rozpoznať rovnakú sadu jazykov ako ktorýkoľvek iný NFSM pre daný vstup. Proces výberu určuje iba prijatie alebo odmietnutie vstupu na základe špecifikovaných kritérií.
Keď čelíte viacerým prijateľným cestám v nedeterministickom stroji, výber cesty možno určiť uprednostnením akceptačných podmienok, ako je akceptovanie podľa konečného stavu alebo akceptovanie prázdneho zásobníka. Proces výberu neovplyvňuje výpočtový výkon stroja, ale ovplyvňuje, či je vstup prijatý alebo odmietnutý.
Ďalšie nedávne otázky a odpovede týkajúce sa Základy teórie výpočtovej zložitosti EITC/IS/CCTF:
- Aké sú základné matematické definície, notácie a úvody potrebné pre pochopenie formalizmu teórie výpočtovej zložitosti?
- Prečo je teória výpočtovej zložitosti dôležitá pre pochopenie základov kryptografie a kybernetickej bezpečnosti?
- Aká je úloha vety o rekurzii pri demonštrácii nerozhodnuteľnosti ATM?
- Ak vezmeme do úvahy PDA, ktoré dokáže čítať palindrómy, mohli by ste podrobne uviesť vývoj zásobníka, keď je vstupom po prvé palindróm a po druhé, nie palindróm?
- Vzhľadom na nedeterministické PDA je superpozícia stavov z definície možná. Avšak nedeterministické PDA majú iba jeden zásobník, ktorý nemôže byť súčasne vo viacerých stavoch. Ako je to možné?
- Aký je príklad PDA používaných na analýzu sieťovej prevádzky a identifikáciu vzorcov, ktoré naznačujú potenciálne narušenia bezpečnosti?
- Čo to znamená, že jeden jazyk je silnejší ako druhý?
- Sú kontextovo citlivé jazyky rozpoznateľné Turingovým strojom?
- Prečo je jazyk U = 0^n1^n (n>=0) nepravidelný?
- Ako definovať FSM rozpoznávajúce binárne reťazce s párnym počtom symbolov '1' a ukázať, čo sa s ním stane pri spracovaní vstupného reťazca 1011?
Pozrite si ďalšie otázky a odpovede v EITC/IS/CCTF Základy teórie výpočtovej zložitosti