Konačni pretvornik
Konačni pretvornik (konačni transduktor, konačni preobličavač, te još i konačni pretvarač[1]) je konačni automat s dvije trake.
Kontrastirajte ovo s običnim konačnim automatom koji ima jednu traku. Za automat kažemo da prepoznaje niz znakova (string) ako sadržaj trake shvatimo kao ulaz. Drugim riječima, automat izračunava funkciju koja preslikava niz znakova u skup {0,1}. Alternativno, možemo reći da automat generira nizove znakova, što znači da traku shvaćamo kao izlaznu traku. S ovog gledišta, automat generira formalni jezik, koji je formalno definiran skupom nizova znakova nad abecedom. Oba gledišta na automat su istovjetna - funkcija koju automat izračunava je točno karakteristična funkcija jezika kojeg prepoznaje. Klasa jezika koje konačni automat generira jest klasa regularnih jezika.
Dvije trake transduktora se tipično gledaju kao ulazna traka i izlazna traka. Po ovom pogledu, za transduktor kažemo da transducira (ili preoblikuje) sadržaj svoje ulazne trake na izlaznu traku, prihvaćanjem niza znakova na svojoj ulaznoj traci i pisanjem drugog niza na svojoj izlaznoj traci. Tu pretvorbu može obaviti i nedeterministički te na taj način proizvesti više nego jedan izlaz za svaki ulazni niz. Transduktor također može i ne proizvesti izlaz za dani ulazni niz, u kojem pak slučaju kažemo da ne prihvaća (ili odbija) ulaz. Općenito, transduktor izračunava relaciju između dva formalna jezika. Klasa relacija koju izračunavaju konačni transduktori jest klasa racionalnih relacija.
Formalna definicija
Formalno, konačni transduktor T je šestorka (Q, Σ, Γ, I, F, δ) takva da:
- Q je konačan skup stanja;
- Σ je konačan skup ulaznih znakova (ili ulazna abeceda);
- Γ je konačan skup izlaznih znakova (ili izlazna abeceda);
- I je podskup skupa Q, skup početnih (ili inicijalnih) stanja;
- F je podskup skupa Q,skup konačnih (ili finalnih) stanja; i
- [math]\displaystyle{ \delta \subseteq Q \times (\Sigma\cup\{\epsilon\}) \times (\Gamma\cup\{\epsilon\}) \times Q }[/math] (gdje je ε prazni niz) je relacija prijelaza.
Par (Q, δ) možemo shvatiti kao usmjereni graf (digraf) poznat kao graf prijelaza automata T: skup vrhova je Q, a [math]\displaystyle{ (q,a,b,r)\in\delta }[/math] znači da postoji označeni (labelirani) brid iz vrha q prema vrhu r. Još kažemo da je a ulazna oznaka (ili ulazna labela) a b je izlazna oznaka (ili izlazna labela) tog brida.
Definiramo proširenu relaciju prijelaza [math]\displaystyle{ \delta^* }[/math] kao najmanji skup takav da:
- [math]\displaystyle{ \delta\subseteq\delta^* }[/math];
- [math]\displaystyle{ (q,\epsilon,\epsilon,q)\in\delta^* }[/math] za svaki [math]\displaystyle{ q\in Q }[/math]; i
- ako [math]\displaystyle{ (q,x,y,r) \in \delta^* }[/math] i [math]\displaystyle{ (r,a,b,s) \in \delta }[/math] tada [math]\displaystyle{ (q,xa,yb,s) \in \delta^* }[/math].
Proširena relacija prijelaza jest u biti refleksivno okruženje grafa prijelaza koji je povećan na način da uzima u obzir i oznake bridova. Elementi relacije [math]\displaystyle{ \delta^* }[/math] su poznati kao putevi. Bridne oznake puta se dobiju nadovezivanjem bridnih oznaka svojih sastavnih prijelaza u redoslijedu.
Ponašanje transduktora T je racionalna relacija [T] definirana na sljedeći način: [math]\displaystyle{ x[T]y }[/math] ako i samo ako postoji [math]\displaystyle{ i \in I }[/math] i [math]\displaystyle{ f \in F }[/math] takvi da [math]\displaystyle{ (i,x,y,f) \in \delta^* }[/math]. Ovime kao da kažemo da T transducira niz znakova [math]\displaystyle{ x\in\Sigma^* }[/math] u niz znakova [math]\displaystyle{ y\in\Gamma^* }[/math] ako postoji put od početnog do konačnog stanja čija je ulazna oznaka x i izlazna oznaka y.
Operacije nad konačnim transduktorima
Sljedeće operacije definirane nad konačnim automatima također vrijede i za konačne transduktore:
- Unija. Za dane transduktore T i S, postoji transduktor [math]\displaystyle{ T\cup S }[/math] takav da [math]\displaystyle{ x[T\cup S]y }[/math] ako i samo ako [math]\displaystyle{ x[T]y }[/math] ili [math]\displaystyle{ x[S]y }[/math].
- Nadovezivanje (konkatenacija). Za dane transduktore T i S, postoji transduktor [math]\displaystyle{ T\cdot S }[/math] takav da [math]\displaystyle{ wx[T\cdot S]yz }[/math] ako i samo ako [math]\displaystyle{ w[T]y }[/math] i [math]\displaystyle{ x[S]z }[/math].
- Kleeneov operator. Za dani transduktor T, postoji transduktor [math]\displaystyle{ T^* }[/math] sa sljedećim svojstvima: (1) [math]\displaystyle{ \epsilon[T^*]\epsilon }[/math]; (2) ako [math]\displaystyle{ w[T^*]y }[/math] i [math]\displaystyle{ x[T]z }[/math] tada [math]\displaystyle{ wx[T^*]yz }[/math]; i [math]\displaystyle{ x[T^*]y }[/math] ne vrijedi osim ako to ne nalažu (1) ili (2).
Uočite da ne postoji operacija presjeka transduktora. Umjesto toga, postoji operacija kompozicije koja je specifična za transduktore i čija je konstrukcija slična onoj pri presjeku drugih automata. Kompozicija je definirana na sljedeći način:
- Za dani transduktor T nad abecedama Σ i Γ i transduktor S nad abecedama Γ i Δ, postoji transduktor [math]\displaystyle{ T \circ S }[/math] nad Σ i Δ takav da [math]\displaystyle{ x[T\circ S]z }[/math] ako i samo ako postoji niz znakova [math]\displaystyle{ y\in\Gamma^* }[/math] takav da [math]\displaystyle{ x[T]y }[/math] i [math]\displaystyle{ y[S]z }[/math].
Također se može napraviti projekcija neke od traka transduktora kako bi se dobio automat. Postoje dvije funkcije projekcije:
[math]\displaystyle{ \pi_1 }[/math] čuva ulaznu traku, i [math]\displaystyle{ \pi_2 }[/math] čuva izlaznu traku. Prva projekcija, [math]\displaystyle{ \pi_1 }[/math] je definirana na sljedeći način:
- Za dani transduktor T, postoji konačni automat [math]\displaystyle{ \pi_1 T }[/math] takav da [math]\displaystyle{ \pi_1 T }[/math] prihvaća x ako i samo ako postoji niz znakova y za koji [math]\displaystyle{ x[T]y }[/math].
Druga projekcija, [math]\displaystyle{ \pi_2 }[/math] je definirana na sličan način.
Dodatna svojstva konačnih transduktora
- Odlučivo je je li relacija [T] transduktora T prazna.
- Odlučivo je postoji li niz znakova y takav da x[T]y za dani niz znakova x.
- Neodlučivo je jesu li dva transduktora istovjetna.
Vidjeti također
Izvori
- ↑ Kiš Miroslav, Englesko-hrvatski i hrvatsko-engleski informatički rječnik, Zagreb, Naklada Ljevak, 2000., str. 921
- Jurafsky, Daniel; James H. Martin (2000). Speech and Language Processing. Prentice Hall. str. 71-83. ISBN 0-13-095069-6
- Galvez, Carmen (2006). An Evaluation of Conflation Accuracy Using Finite-State Transducers. Journal of Documentation. str. Vol. 62 (3), 328-349. ISSN 0022-0418
- Galvez, Carmen (2007). Approximate Personal Name-Matching Through Finite-State Graphs. Journal of The American Society for Information Science and Technology . str. Vol.58 (13), 1960-1976. ISSN 1532-2882
- Galvez, Carmen (2007). Standardizing Formats of Corporate Source Data. Scientometrics. str. Vol. 70 (1), 3-26. ISSN 0138-9130