See also ebooksgratis.com: no banners, no cookies, totally FREE.

CLASSICISTRANIERI HOME PAGE - YOUTUBE CHANNEL
Privacy Policy Cookie Policy Terms and Conditions
Automatteori - Wikipedia

Automatteori

Frå Wikipedia – det frie oppslagsverket

I teoretisk datavitskap er automatteori studiet av abstrakte maskinar og dei problema dei er i stand til å løyse. Automatteori er nært knytt til teoriar om formelle språk, og automatar er ofte klassifisert etter klassen av formelle språk dei er i stand til å kjenne att.

Innhaldsliste

[endre] Grunnleggjande skildring

Ein automat er ein matematisk modell for ein endeleg tilstandsmaskin (eng. finite state machine, FSM). Ein FSM er ein maskin som når han får (ein streng av) symbol som input hoppar gjennom ei serie av tilstandar, etter ein overføringsfunksjon (som kan bli uttrykt som ein tabell). I den vanlege "Mealy-varianten" av FSMar, kan overføringsfunksjonen fortelje maskinen kva tilstand han skal gå til i neste steg, gjeve ein tilstand og eit symbol.

Input blir lese, symbol for symbol, til det er lese til slutt (vi kan tenke på input som ein tape med eit ord skrive på tapen, ordet er lese med automaten sitt lesehovud, som flyttar seg framover på tapen, og les eit symbol i gangen. Med ein gong (mogleg) input er lese, eller brukt opp, seier vi at automaten har stoppa.

Avhengig av tilstanden automaten stoppar i, seier vi at automaten aksepterer eller forkastar input. Viss han stoppar i ein aksepterande tilstandaksepterer automaten ordet. Viss automaten stopper i ein forkastande tilstand er ordet forkasta. Settet av alle orda som automaten aksepterer kallar vi det formelle språket som denne automaten aksepterer.

[endre] Formell skildring

[endre] Definisjonar

Vi definerer først ein del konsept

Symbol 
Ein arbitrær storleik som har meining for eller effekt på maskinen.
Ord 
ein finitt streng som blir danna med samanstilling av symbol etter kvarandre.
Alfabet 
eit finitt sett av symbol.
Språk 
Eit sett av ord som er danna av symbola i eit alfabet. Språket kan (men treng ikkje) vere infinitt.
Automat 
formelt er ein automat representert av 5-tupel \langle Q, \Sigma, \delta, S_0, F\rangle, der:
  • Q er eit finitt sett av tilstandar.
  • ∑ er eit finitt sett av symbol, dette settet kallar vi alfabetet til det språket som automaten aksepterer.
  • δ er overføringsfunksjonen, dvs.
\delta:Q \times \Sigma \rightarrow Q.
Denne funksjonen kan bli utvida, slik at han, i staden for å ta berre eitt symbol frå alfabetet, tar ein streng av symbol, og gjev attende den tilstanden automaten vil stå etter at han har prosessert input. Dette kan bli skrive som
\hat\delta:Q \times \Sigma^{\star} \rightarrow Q.
...der ∑* er Kleene-lukkinga av ∑.
Definisjonen av δ er litt meir komplisert for ikkje-finitte automatar.
  • S0 er den initiale tilstanden, dvs. den tilstanden automaten er i når input enno ikkje er prosessert( S0∈ Q).
  • F er eit sett av tilstandar i Q (dvs. F⊂Q), som vi kallar aksepterande tilstandar.

Med alt dette definert kan vi seie at språket L, akseptert av ein deterministisk finitt tilstandsautomat M=\langle Q, \Sigma, \delta, S_0, F\rangle er:

L= \{ w \in \Sigma^{\star}|\hat\delta(S_0,w)\in F\}

Det er med andre ord settet av alle orda w, over alfabetet Σ, som, viss vi gjev det som input til M vil få M til å gå til ein aksepterande tilstand frå F.

[endre] Klassar av automatar

Dette er tre typar av automatar

Deterministiske endelege tilstandsautomatar (DFA) 
Kvar tilstand i ein slik automat har ei overføring for kvart symbol i alfabetet.
Ikkjeeterministiske endelege tilstandsautomatar (NFA) 
Kvar tilstand i ein slik automat har ei overføring for kvart symbol i alfabetet, eller kan ha fleire moglege overføringar for eit symbol. Automaten aksepterer eit ord viss det finst minst ein sti frå S0 til ein tilstand i F som er merka med, eller resulterer i, input-ordet. Viss ei overføring er udefinert, slik at automaten ikkje veit korleis han skal halde fram med å lese input, blir ordet forkasta.
Ikkjeeterministiske endelege tilstandsautomatar (NFA), med ε overføringar (FND-ε eller ε-NFA) 
I tillegg til å vere i stand til å hoppe til andre (eller ingen) symbol. Med andre ord: viss ein tilstand har overgangar som er merka med ε, så kan NFA-en vere i kva tilstand som helst som automaten kjem til med ε-overgangar, direkte eller via andre tilstandar med ε-overgangar. Settet av tilstandar som kan bli nådd med denne metoden frå ein tilstand q, kallar vi ε-lukkinga av q.

Det er mogleg å vise at alle desse automatane kan akseptere dei same språka. Det er alltid mogleg å konstruere ein DFA M' som aksepterer det same språket som det ein NFA M gjer.

[endre] Utvidingar av endelege tilstandsautomatar

Settet av språk akseptert av atomatane som er skildra ovafor kallar vi settet av regulære språk. Kraftigare automatar kan akseptere meir kompliserte språk. Slike automatar er m.a. '; pushdown-automatar (PDA)' : Slike maskinar er identiske med DFAar (eller NFAar), med det unntaket at dei i tillegg kan ha minne i form av ein stakk. Overgangsfunksjonen δ er avhengig av symbolet eller symbola på toppen av staken, og spesifiserer korleis stakken skal endrast for kvar overgang. PDA-ar aksepterer kontekst-frie språk.

Turing maskinar 
Dette er dei kraftigaste datamaskinene. Dei har eit ubegrensa minne, i form av ein tape, og eit lesehovud som kan lese og endre tapen, og kan flytte seg i begge retningane av tapen. Turingmaskinar er ekvivalent til algoritmer, og det teoretiske grunnlaget for moderne datamaskiner. Turingmaskiner godtek rekursivt nummererande språk.
Lineært bunde automatar (LBA)
Ein LBA er ein avgrensa Turingmaskin; i staden for ein infinitt tape har tapen ein storleik som er proporsjonell til storleiken på input-strengen. LBA-ar godtek kontekst-sensitive språk.

[endre] Bruksområde

Automatar blir brukt i mange ulike samanhengar.

Innafor språkteknologi er dei brukt til å modellere naturleg språk.


[endre] Eksterne lenkjer

[endre] Litteratur

  • John E. Hopcroft, Rajeev Motwani, Jeffrey D. Ullman - Introduction to Automata Theory, Languages, and Computation (2nd Edition)
  • Michael Sipser (1997) Introduction to the Theory of Computation – PWS Publishing. ISBN 0-534-94728-X. Part One: Automata and Languages, chapters 1–2, pp.29–122. Section 4.1: Decidable Languages, pp.152–159. Section 5.1: Undecidable Problems from Language Theory, pp.172–183.

[endre] Kjelde

Artikkelen på engelsk wikipedia.

Automatteori: formelle språk og formell grammatikk
Chomsky-
hierarkiet
Grammatikkar Språk Minimal
automat
Type-0 Uavgrensa Rekursivt nummererbare Turingmaskin
(ikkje med) (ikkje noko felles namn) Rekursive Decider
Type-1 Kontekst-sensitiv Kontekst-sensitive Lineært bunde
Type-2 Kontekst-fri Kontekst-fri Pushdown
Type-3 Regulær Regulær Finitt
Kvar kategori av språk eller grammatikkar er eit ordentleg subsett av kategorien rett over han.


aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -