Deterministični končni avtomat (DFSM) in nedeterministični končni avtomat (NFSM) sta dve vrsti končnih avtomatov (FSM), ki se uporabljata na področju teorije računalniške kompleksnosti. Medtem ko imata oba FSM podobne lastnosti in ju je mogoče uporabiti za modeliranje različnih računalniških procesov, se razlikujeta glede na njuno obnašanje in naravo svojih prehodov.
Glavna razlika med DFSM in NFSM je v načinu, kako obravnavata prehode med stanji. V DFSM je prehod iz enega stanja v drugega enolično določen s trenutnim stanjem in vhodnim simbolom. To pomeni, da je za dano stanje in vhodni simbol lahko le eno možno naslednje stanje. Z drugimi besedami, DFSM deluje na determinističen način, kjer je naslednje stanje enolično določeno s trenutnim stanjem in vnosom.
Po drugi strani pa NFSM omogoča več možnih naslednjih stanj za dano stanje in vhodni simbol. To pomeni, da ima lahko prehodna funkcija NFSM več veljavnih izbir za naslednje stanje. Z drugimi besedami, NFSM deluje na nedeterminističen način, kjer naslednje stanje ni enolično določeno s trenutnim stanjem in vnosom. Namesto tega lahko NFSM preide v eno ali več stanj hkrati, kar ustvari več možnih poti izračuna.
Za ponazoritev te razlike si oglejmo primer. Recimo, da imamo NFSM in DFSM, ki modelirata preprost jezik, ki sprejema nize 0 in 1, ki se končajo z 1. NFSM ima dve stanji: S0 in S1. DFSM ima tudi dve stanji: Q0 in Q1.
Za NFSM ima lahko prehodna funkcija za stanje S0 in vhodni simbol 0 dve možni naslednji stanji: S0 in S1. To pomeni, da ko je NFSM v stanju S0 in prejme vhodni simbol 0, lahko preide v stanje S0 ali S1. Po drugi strani ima prehodna funkcija za stanje S0 in vhodni simbol 1 samo eno možno naslednje stanje: S1. To pomeni, da ko je NFSM v stanju S0 in prejme vhodni simbol 1, bo vedno prešel v stanje S1.
Nasprotno pa ima DFSM edinstveno naslednje stanje za vsako kombinacijo trenutnega stanja in vhodnega simbola. Na primer, ko je DFSM v stanju Q0 in prejme vhodni simbol 0, bo vedno prešel v stanje Q0. Podobno, ko je DFSM v stanju Q0 in prejme vhodni simbol 1, bo vedno prešel v stanje Q1.
Glavna razlika med determinističnimi in nedeterminističnimi končnimi avtomati je v naravi njihovih prehodov. Deterministični končni avtomat (DFSM) ima edinstveno naslednje stanje za vsako kombinacijo trenutnega stanja in vhodnega simbola, medtem ko nedeterministični končni avtomat (NFSM) omogoča več možnih naslednjih stanj za dano kombinacijo trenutnega stanja in vhodnega simbola.
Druga nedavna vprašanja in odgovori v zvezi Osnove teorije računske kompleksnosti EITC/IS/CCTF:
- Nepravilnost U = 0^n1^n (n>=0)
- Prosimo, opišite primer v odgovoru, kjer je binarni niz s celo 1 simbolom, ki prepozna FSM." …vhodni niz "1011", FSM ne doseže končnega stanja in se po obdelavi prvih treh simbolov zatakne v S0."
- Kako nedeterminizem vpliva na prehodno funkcijo?
- Ali so običajni jeziki enakovredni končnim avtomatom?
- Ali razred PSPACE ni enak razredu EXPSPACE?
- Ali je algoritemsko izračunljiv problem problem, ki ga lahko izračuna Turingov stroj v skladu s Church-Turingovo tezo?
- Kakšna je lastnost zaprtja navadnih jezikov pri veriženju? Kako so končni avtomati združeni, da predstavljajo zvezo jezikov, ki jih prepoznata dva stroja?
- Ali je mogoče vsak poljuben problem izraziti kot jezik?
- Ali je razred kompleksnosti P podmnožica razreda PSPACE?
- Ali ima vsak Turingov stroj z več trakovi enakovreden Turingov stroj z enim trakom?
Oglejte si več vprašanj in odgovorov v Osnovah teorije računalniške kompleksnosti EITC/IS/CCTF