Lastnosti zapiranja običajnih jezikov in metode za kombiniranje končnih avtomatov (FSM) za predstavitev operacij, kot sta združevanje in veriženje, so temeljni koncepti v teoriji računanja in imajo pomembne posledice na področju kibernetske varnosti, zlasti pri analizi in načrtovanju algoritmi za ujemanje vzorcev, sistemi za zaznavanje vdorov in druge aplikacije.
Lastnost zaprtja običajnih jezikov pri veriženju
Nabor jezikov naj bi bil zaprt glede na operacijo, če uporaba te operacije za jezike znotraj nabora povzroči jezik, ki je prav tako znotraj nabora. Običajni jeziki, ki jih lahko prepoznajo končni avtomati, so zaprti z več operacijami, vključno z združevanjem, presekom, komplementacijo in veriženjem.
Za operacijo veriženja, če in so navadni jeziki, nato pa veriženje je tudi običajni jezik. Združevanje dveh jezikov in je opredeljeno kot:
Za prikaz lastnosti zaprtja pri veriženju upoštevajte to in jih prepoznajo končni avtomati in , oz. Cilj je zgraditi nov končni avtomat ki prepozna jezik .
Konstrukcija končnega avtomata za veriženje
Naj in biti končni avtomati, ki priznavajo in , oz. tukaj, in so množice stanj, je običajna vnosna abeceda, in so prehodne funkcije, in so začetna stanja in in so množice sprejemajočih stanj.
Konstruirati končni avtomat ki prepozna :
1. Države: Niz stanj za is . To pomeni bo imel vsa stanja iz obeh in .
2. Abeceda: Vnosna abeceda ostaja enaka.
3. Prehodna funkcija: Prehodna funkcija of je opredeljen na naslednji način:
– Za države v in vnos , obnaša kot . Se pravi za .
– Za države v in vnos , obnaša kot . Se pravi za .
– Poleg tega za katero koli sprejemajočo državo in prazen niz , . Ta prehod v bistvu omogoča stroju, da se premakne iz sprejemljivega stanja do začetnega stanja brez porabe vnosa.
4. Začetno stanje: Začetno stanje je začetno stanje , Ki je .
5. Sprejemljive države: Niz sprejemljivih stanj is . To pomeni da sprejme niz, če doseže sprejemljivo stanje po obdelavi celotnega niza.
S sledenjem tej konstrukciji, bo prepoznal veriženje in .
Primer
Razmislite o dveh običajnih jezikih in . Pustiti in biti končni avtomati prepoznavni in Oz.
- morda imajo države s prehodi:
-
-
-
- morda imajo države s prehodi:
-
-
-
Zgraditi za :
– države:
– Prehodi vključujejo prehode in , Plus in
– Začetno stanje:
– Sprejemna stanja:
Združevanje končnih avtomatov za Union
Zveza dveh jezikov in je opredeljeno kot:
Konstruirati končni avtomat ki priznava zvezo in , uporabljamo konstrukcijo nedeterminističnega končnega avtomata (NFA). če in so končni avtomati za in , oziroma gradnjo je, kot sledi:
1. Države: Niz stanj za is , Kjer je novo začetno stanje.
2. Abeceda: Vnosna abeceda ostaja enaka.
3. Prehodna funkcija: Prehodna funkcija je opredeljeno kot:
- za
- za
- . Ta prehod omogoča stroju, da se nedeterministično odloči začeti v enem ali drugem or .
4. Začetno stanje: Začetno stanje je nova država .
5. Sprejemljive države: Niz sprejemljivih stanj is .
Ta konstrukcija to zagotavlja sprejme niz, če ga sprejme kateri koli or .
Primer
Razmislite o dveh običajnih jezikih in . Pustiti in biti končni avtomati prepoznavni in Oz.
- morda imajo države s prehodi:
-
-
-
- morda imajo države s prehodi:
-
-
-
Zgraditi za :
– države:
– Prehodi vključujejo prehode in , Plus
– Začetno stanje:
– Sprejemna stanja:
Ta konstrukcija prikazuje, kako je mogoče končne avtomate združiti, da predstavljajo unijo jezikov, ki jih prepoznajo, kar ponazarja lastnosti zaprtja običajnih jezikov pri uniji in veriženju.
Druga nedavna vprašanja in odgovori v zvezi Osnove teorije računske kompleksnosti EITC/IS/CCTF:
- 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?
- 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?
Oglejte si več vprašanj in odgovorov v Osnovah teorije računalniške kompleksnosti EITC/IS/CCTF