U području teorije računske složenosti, posebno u proučavanju konačnih mašina, koncept nedeterminizma igra važnu ulogu.
Nedeterminističke mašine konačnog stanja (NFSM) su teoretski modeli koji omogućavaju da se u bilo kom stanju ide više prihvatljivih putanja. Međutim, kada se suočimo s takvom situacijom, postavlja se pitanje: koji put odabrati?
Ovaj upit se dotiče pojma "prihvatanja" u NFSM-ima i kriterija koji se mogu koristiti za donošenje odluke.
Da bismo razumjeli proces selekcije, prvo istražimo prirodu nedeterminizma u NFSM-ima. Za razliku od determinističkih mašina konačnih stanja (DFSM), NFSM ne posjeduju jedinstveni prijelaz za svaki mogući ulazni simbol u svakom stanju. Umjesto toga, oni dozvoljavaju postojanje višestrukih prijelaza za isti ulazni simbol. Ova karakteristika dovodi do mogućnosti da se iz jednog stanja slijedi više puteva, što potencijalno rezultira različitim ishodima.
Kada se suoče s takvom situacijom, NFSM-ovi koriste mehanizam koji se zove "grananje" da istovremeno istražuje sve moguće puteve. To znači da mašina kreira više kopija sebe, od kojih svaka prati različitu putanju. Kao rezultat toga, NFSM se može posmatrati kao istraživanje strukture nalik stablu, gdje svaka grana predstavlja drugačiji put računanja. Ova tehnika grananja je fundamentalna u analizi NFSM-a i njihove računske složenosti.
Razmotrimo sada kriterijume koji se mogu primeniti za odabir određenog puta među više prihvatljivih. Jedan uobičajeni pristup je razmatranje koncepta "prihvatanja" u NFSM. Prihvatanje se odnosi na uslov koji određuje da li mašina smatra da je unos validan ili ne. U NFSM-ovima, prihvatanje se može definisati na dva glavna načina: "prihvatanje po konačnom stanju" i "prihvatanje praznim stekom".
Prihvatanje po konačnom stanju se dešava kada, nakon konzumiranja cijelog ulaznog niza, NFSM završi u stanju označenom kao konačno stanje. Ovaj kriterijum implicira da mašina prihvata ulaz ako postoji barem jedan put računanja koji vodi do konačnog stanja. Suprotno tome, ako nijedan put ne vodi do konačnog stanja, ulaz se odbija.
S druge strane, prihvatanje praznim stekom je relevantno kada NFSM-ovi uključuju stek kao dodatnu komponentu. U ovom scenariju, prihvaćanje se događa kada je ulazni niz potpuno obrađen, a stog postane prazan. Slično prihvatanju po konačnom stanju, ako postoji barem jedna putanja računanja koja rezultira praznim stekom, ulaz se prihvaća; u suprotnom se odbija.
Imajući u vidu ove kriterijume, izbor specifične putanje među višestruko prihvatljivim u nedeterminističkoj mašini može se odrediti davanjem prioriteta uslovima prihvatanja. Na primjer, ako je prihvaćanje prema konačnom stanju primarni kriterij, mašina bi odabrala putanju koja vodi do konačnog stanja, bez obzira na druge potencijalne puteve. Suprotno tome, ako je prihvatanje po praznom steku primarni kriterijum, mašina bi dala prioritet putu koji rezultira praznim stekom.
Važno je napomenuti da izbor putanje u NFSM ne utiče na računarsku snagu mašine. Bez obzira na odabranu putanju, NFSM i dalje može prepoznati isti skup jezika kao i bilo koji drugi NFSM za dati ulaz. Proces selekcije samo određuje prihvatanje ili odbijanje inputa na osnovu specificiranih kriterijuma.
Kada se suoči sa više prihvatljivih putanja u nedeterminističkoj mašini, izbor putanje se može odrediti davanjem prioriteta uslova prihvatanja, kao što je prihvatanje u konačnom stanju ili prihvatanje praznim stekom. Proces selekcije ne utiče na računarsku snagu mašine, ali utiče na to da li će se unos prihvatiti ili odbaciti.
Ostala nedavna pitanja i odgovori u vezi EITC/IS/CCTF Osnove teorije računske složenosti:
- Koja je uloga teoreme rekurzije u demonstraciji neodlučnosti ATM-a?
- Uzimajući u obzir PDA koji može čitati palindrome, možete li detaljno opisati evoluciju steka kada je ulaz, prvo, palindrom, a drugo, nije palindrom?
- Uzimajući u obzir nedeterminističke PDA, superpozicija stanja je moguća po definiciji. Međutim, nedeterministički PDA uređaji imaju samo jedan stek koji ne može biti u više stanja istovremeno. Kako je to moguće?
- Koji je primjer PDA uređaja koji se koristi za analizu mrežnog prometa i identifikaciju obrazaca koji ukazuju na potencijalne sigurnosne povrede?
- Šta znači da je jedan jezik moćniji od drugog?
- Da li su jezici osetljivi na kontekst prepoznatljivi po Turing mašini?
- Zašto je jezik U = 0^n1^n (n>=0) neregularan?
- Kako definirati FSM koji prepoznaje binarne nizove s parnim brojem '1' simbola i pokazati šta se s njim događa prilikom obrade ulaznog niza 1011?
- Kako nedeterminizam utiče na funkciju tranzicije?
- Da li su regularni jezici ekvivalentni sa konačnim mašinama?