Deterministinė Tiuringo mašina (DTM) ir nedeterministinė Tiuringo mašina (NTM) yra dviejų tipų abstraktūs skaičiavimo įrenginiai, kurie atlieka pagrindinį vaidmenį skaičiavimo sudėtingumo teorijoje. Nors abu modeliai yra pagrįsti Tiuringo mašinos koncepcija, jie skiriasi savo skaičiavimo elgesiu ir problemų, kurias jie gali išspręsti, tipais. Norint suprasti teorinius kibernetinio saugumo ir skaičiavimo sudėtingumo teorijos pagrindus, svarbu suprasti pagrindinius šių dviejų modelių skirtumus.
Deterministinėje Tiuringo mašinoje mašinos elgesį visiškai lemia dabartinė jos būsena ir simbolis, kurį ji nuskaito iš juostos. Bet kuriame žingsnyje aparatas turi vieną unikalų perėjimą į kitą būseną, pagrįstą dabartine būsena ir skaitomu simboliu. Šis deterministinis pobūdis užtikrina, kad bet kuriai įvesties įvesties atveju mašina visada gamins tą pačią išvestį, o skaičiavimas vyks vienu, tiksliai apibrėžtu keliu. Dėl deterministinės DTM prigimties juos lengva analizuoti ir samprotauti, nes jų elgesys yra nuspėjamas ir nedviprasmiškas.
Kita vertus, nedeterministinė Tiuringo mašina gali turėti kelis galimus perėjimus iš tam tikros būsenos ir simbolių derinio. Šis neapibrėžtumas reiškia, kad mašina gali vienu metu ištirti kelis skaičiavimo kelius. Kiekviename žingsnyje NTM gali pasirinkti bet kurį iš šių galimų perėjimų, todėl galimi skaičiavimo keliai išsišakoja. Šis nedeterministinis elgesys leidžia NTM ištirti didesnę paieškos erdvę ir galbūt efektyviau rasti sprendimą nei DTM. Tačiau svarbu pažymėti, kad NTM nesuteikia lygiagrečio skaičiavimo, o yra hipotetinė mašina, kuri gali ištirti visus galimus kelius nedeterministiniu būdu.
Pagrindinė nedeterminizmo pasekmė Turingo mašinose yra ta, kad jis leidžia egzistuoti nedeterministinėms daugianario laiko (NP) problemoms. NP problemos yra skaičiavimo uždavinių klasė, kurios tariamas sprendimas gali būti patikrintas daugianario laiku. Nors deterministinis NP atitikmuo yra žinomas kaip P (polinominis laikas), atviras klausimas, ar P lygus NP. Jei P lygus NP, tai reikštų, kad kiekviena problema, kurios sprendimą galima patikrinti daugianario laiku, taip pat gali būti išspręsta polinominiu laiku DTM. Tačiau jei P nelygus NP, tai reiškia, kad egzistuoja problemos, kurių sprendimo negali rasti joks efektyvus deterministinis algoritmas, tačiau nedeterministinis algoritmas gali efektyviai patikrinti tariamą sprendimą.
Norėdami iliustruoti skirtumą tarp DTM ir NTM, panagrinėkime kelio radimo grafike problemą. Pateiktas grafikas ir dvi viršūnės, užduotis yra nustatyti, ar tarp dviejų viršūnių yra kelias. Šią problemą DTM gali išspręsti daugianario laiku, nes DTM gali sistemingai ištirti visus galimus kelius, kol bus rastas sprendimas arba visi keliai bus išnaudoti. Tačiau NTM gali efektyviau išspręsti šią problemą, nedeterministiškai atspėdamas teisingą kelią ir patikrindamas jį daugianario laiku. NTM gali vienu metu ištirti visus įmanomus kelius, todėl labiau tikėtina, kad sprendimą ras greičiau nei DTM.
Pagrindinis skirtumas tarp deterministinės Tiuringo mašinos ir nedeterministinės Tiuringo mašinos yra jų skaičiavimo elgesys. DTM eina vienu, tiksliai apibrėžtu skaičiavimo keliu, o NTM vienu metu gali tyrinėti kelis kelius. Šis nedeterminizmas leidžia NTM efektyviau nei DTM išspręsti tam tikras problemas. Nedeterministinių daugianario laiko problemų, žinomų kaip NP problemos, egzistavimas yra nedeterministinio NTM elgesio pasekmė. Šių dviejų modelių skirtumų supratimas yra svarbus norint analizuoti skaičiavimo sudėtingumą ir teorinius kibernetinio saugumo pagrindus.
Kiti naujausi klausimai ir atsakymai apie EITC/IS/CCTF skaičiavimo sudėtingumo teorijos pagrindai:
- Kokie yra pagrindiniai matematiniai apibrėžimai, žymėjimai ir įvadai, reikalingi skaičiavimo sudėtingumo teorijos formalizmui suprasti?
- Kodėl skaičiavimo sudėtingumo teorija yra svarbi norint suprasti kriptografijos ir kibernetinio saugumo pagrindus?
- Koks yra rekursijos teoremos vaidmuo įrodant bankomato neapibrėžtumą?
- Turint omenyje PDA, galintį nuskaityti palindromus, ar galėtumėte išsamiai aprašyti krūvos raidą, kai įvestis, pirma, yra palindromas, o antra, ne palindromas?
- Atsižvelgiant į nedeterministinius PDA, būsenų superpozicija yra įmanoma pagal apibrėžimą. Tačiau nedeterministiniai PDA turi tik vieną krūvą, kuri negali būti kelių būsenų vienu metu. Kaip tai įmanoma?
- Koks yra PDA, naudojamo tinklo srautui analizuoti ir modeliams, rodantiems galimus saugumo pažeidimus, pavyzdys?
- Ką reiškia, kad viena kalba yra galingesnė už kitą?
- Ar Turingo mašina atpažįsta kontekstui jautrias kalbas?
- Kodėl kalba U = 0^n1^n (n>=0) yra netaisyklinga?
- Kaip apibrėžti FSM, atpažįstantį dvejetaines eilutes su lyginiu simbolių skaičiumi '1', ir parodyti, kas su juo atsitinka apdorojant įvesties eilutę 1011?
Peržiūrėkite daugiau klausimų ir atsakymų EITC/IS/CCTF skaičiavimo sudėtingumo teorijos pagrinduose