Na področju teorije računalniške kompleksnosti, zlasti pri preučevanju končnih avtomatov, ima koncept nedeterminizma pomembno vlogo.
Nedeterministični končni avtomati (NFSM) so teoretični modeli, ki omogočajo več sprejemljivih poti v katerem koli stanju. Vendar pa se ob taki situaciji postavlja vprašanje, katero pot izbrati?
Ta poizvedba se dotika pojma "sprejemanje" v NFSM in meril, ki jih je mogoče uporabiti za odločitev.
Da bi razumeli izbirni postopek, najprej raziščimo naravo nedeterminizma v NFSM. Za razliko od determinističnih končnih avtomatov (DFSM) NFSM nimajo edinstvenega prehoda za vsak možen vhodni simbol v vsakem stanju. Namesto tega omogočajo obstoj več prehodov za isti vhodni simbol. Ta značilnost vodi do možnosti, da obstaja več poti, ki jim je treba slediti iz enega samega stanja, kar lahko povzroči različne rezultate.
Ko se soočijo s takšno situacijo, NFSM uporabijo mehanizem, imenovan "razvejanje", da raziščejo vse možne poti hkrati. To pomeni, da stroj ustvari več kopij samega sebe, od katerih vsaka sledi drugačni poti. Posledično lahko na NFSM gledamo kot na raziskovanje drevesne strukture, kjer vsaka veja predstavlja drugačno računsko pot. Ta tehnika razvejanja je temeljna pri analizi NFSM in njihove računske kompleksnosti.
Zdaj pa razmislimo o merilih, ki jih je mogoče uporabiti za izbiro določene poti med več sprejemljivimi. Eden pogostih pristopov je obravnava koncepta "sprejemanja" v NFSM. Sprejemanje se nanaša na pogoj, ki določa, ali stroj šteje dani vnos za veljavnega ali ne. V NFSM je sprejem mogoče opredeliti na dva glavna načina: "sprejemanje s končnim stanjem" in "sprejemanje s praznim skladom".
Sprejem s končnim stanjem se zgodi, ko po porabi celotnega vhodnega niza NFSM konča v stanju, ki je označeno kot končno stanje. Ta kriterij pomeni, da stroj sprejme vhod, če obstaja vsaj ena računska pot, ki vodi do končnega stanja. Nasprotno, če nobena pot ne vodi do končnega stanja, je vnos zavrnjen.
Po drugi strani pa je sprejem s praznim skladom pomemben, kadar NFSM vključuje sklad kot dodatno komponento. V tem scenariju se sprejem zgodi, ko je vhodni niz v celoti obdelan in sklad postane prazen. Podobno kot pri sprejemu s končnim stanjem, če obstaja vsaj ena računska pot, ki povzroči prazen sklad, je vnos sprejet; sicer se zavrne.
Glede na ta merila je mogoče izbiro določene poti med več sprejemljivimi v nedeterminističnem stroju določiti s prednostno razvrstitvijo pogojev sprejemljivosti. Na primer, če je primarno merilo sprejemanje s končnim stanjem, bi stroj izbral pot, ki vodi do končnega stanja, ne glede na druge možne poti. Nasprotno, če je primarno merilo sprejem s praznim skladom, bo stroj dal prednost poti, ki povzroči prazen sklad.
Pomembno je omeniti, da izbira poti v NFSM ne vpliva na računsko moč stroja. Ne glede na izbrano pot lahko NFSM še vedno prepozna isti nabor jezikov kot kateri koli drug NFSM za določen vnos. Izbirni postopek le določi sprejem ali zavrnitev vnosa na podlagi določenih kriterijev.
Ko se soočimo z več sprejemljivimi potmi v nedeterminističnem stroju, se lahko izbira poti določi z dajanjem prednosti sprejemljivim pogojem, kot je sprejem s končnim stanjem ali sprejem s praznim skladom. Izbirni postopek ne vpliva na računsko moč stroja, ampak vpliva na to, ali je vnos sprejet ali zavrnjen.
Druga nedavna vprašanja in odgovori v zvezi Osnove teorije računske kompleksnosti EITC/IS/CCTF:
- Katere so nekatere osnovne matematične definicije, oznake in uvodi, potrebni za razumevanje formalizma teorije računske kompleksnosti?
- Zakaj je teorija računske kompleksnosti pomembna za razumevanje temeljev kriptografije in kibernetske varnosti?
- Kakšna je vloga rekurzijskega izreka pri dokazovanju neodločljivosti ATM?
- Če upoštevate dlančnik, ki lahko bere palindrome, ali lahko podrobno opišete razvoj sklada, ko je vhod, prvič, palindrom, in drugič, ni palindrom?
- Glede na nedeterministične dlančnike je superpozicija stanj možna po definiciji. Vendar pa imajo nedeterministični dlančniki samo en sklad, ki ne more biti v več stanjih hkrati. Kako je to mogoče?
- Kateri je primer dlančnikov, ki se uporabljajo za analizo omrežnega prometa in prepoznavanje vzorcev, ki kažejo na možne kršitve varnosti?
- Kaj pomeni, da je en jezik močnejši od drugega?
- Ali Turingov stroj prepozna kontekstno občutljive jezike?
- Zakaj je jezik U = 0^n1^n (n>=0) nepravilen?
- Kako definirati FSM, ki prepozna binarne nize s sodim številom simbolov '1', in pokazati, kaj se zgodi z njim pri obdelavi vhodnega niza 1011?
Oglejte si več vprašanj in odgovorov v Osnovah teorije računalniške kompleksnosti EITC/IS/CCTF