Lõplik olekumuundur

Allikas: Vikipeedia

Lõplikuks olekumuunduriks nimetatakse lõplikku olekumasinat, millel on kaks mälulinti: sisend ja väljund. Tavalisel lõplikul olekumasinal on vaid üks mälulint. Lõplik olekumuundur on selline lõpliku oleku automaat, mis kaardistab kahe hulga sümbolite vahel. Lõpliku olekuga automaat defineerib formaalse keele määrates hulga masina poolt aktsepteeritud sõnu, aga olekumuundur defineerib suhted sõnade vahel, seetõttu peetakse lõplikku olekumuundurit ka üldisemaks kui lõplikku oleku automaati. [1]

Ülevaade[muuda | muuda lähteteksti]

Öeldakse, et automaat tunneb sõne ära, kui ta arvutab funktsiooni, mis kaardistab sõned hulka {0,1}. Alternatiivselt võime öelda, et automaat genereerib sõnu, sellel juhul vaatame masina väljundlinti. Selles vaates genereerib automaat formaalse keele, mis on sõnede hulk. [2]


Neid kahte linti vaadatakse muunduril tavaliselt kui sisend- ja väljundlinti. Selles vaates öeldakse, et muundur muudab (tõlgib) sisendlindi sisu väljundlindile ehk sisendiks tuleb üks sõna, mille automaat aktsepteerib ja genereerib selle pealt väljundiks mingi uue sõna. Seda võib automaat teha ka mittedeterministlikult ja ühe sisendiga võib olla mitu erinevat väljundit. On ka võimalik, et lõplik olekumuundur ei annagi mingi sisendiga väljundit. Sellisel juhul öeldakse, et masin lükkas sisendi tagasi. Iga sõnest sõne tegev lõplik olekumuundur teeb sisendsõnastiku (Σ) ja väljundsõnastiku (Γ) vahelise suhte. Relatsioon R Σ*×Γ* peal, mida saab implementeerida kui lõplikku olekumuundurit, nimetatakse ratsionaalseks relatsiooniks. Ratsionaalsed relatsioonid, mis seostavad iga sõne Σ*-st maksimaalselt ühe sõnega Γ*-st, nimetatakse ratsionaalseteks funktsioonideks[3]

Selle alal kuuluvad tegijate hulka näiteks Ronald Kaplan, Lauri Karttunen, Martin Klay ja Kimmo Koskenniemi.

Lõplikku olekumuundurit kasutatakse tihti näiteks keelte morfoloogilises analüüsis loomulike keelte töötlemises, uurimustes ja rakendustes.[4].

Formaalne konstruktsioon[muuda | muuda lähteteksti]

Formaalselt on lõplik muundur T 6-ennik ({Q, Σ, Γ, I, F, δ}) selliselt:

  • {Q} on lõplik hulk, kuhu kuuluvad olekud;
  • {Σ} lõplik hulk, nimetatakse sisendsõnastikuks;
  • {Γ} lõplik hulk, nimetatakse väljundsõnastikuks;
  • {I} on {Q} alamhulk, algolekute hulk;
  • {F} on {Q} alamhulk, lõppolekute hulk;
  • (kus ε on tühi sõne) on üleminekute relatsioon. [5]

Me võime vaadata (Q, δ) kui märgistatud suunatud graafi. Graafi tippude hulk on Q ja tähendab, et meil on märgistatud serv, mis läheb tipust q tippu r. Samuti saame öelda, et a on selle serva sisend ja b serva väljund.[6]

Kaaludega automaat[muuda | muuda lähteteksti]

Lõplik olekumuundur võib olla kaaludega, mis tähendab, et iga üleminek on märgistatud kaaluga lisaks sisend- ja väljundsiltidele. Kaalutud lõplik olekumuundur üle kaalude hulga K saab defineerida sarnaselt kaalumata muundurile 8-ennikuna {T=(Q, Σ, Γ, I, F, E, λ, ρ), kus

  • {Q, Σ, Γ, I, F} on defineeritud nagu kaaludeta variandil;
  • (kus ε on tühi sõne) on lõplik üleminekute hulk;
  • määrab algsed olekud kaaludele;
  • määrab lõplikud olekud kaaludele. [7]

Selleks, et teha kindlaid operatsioone kaalutud lõplikus olekumuunduris paremini defineerituks, on mugav pärida, et kaalude hulk moodustaks semiringi.[8]. Kõige sagedasemad semiringi variandid logaritmiline semiring ja troopiline semiring. Kui kõik kaalud kuuluvad tõeväärtuse (Boolean) semiringi, siis vaatleme seda kui kaaludeta automaati.

Viited[muuda | muuda lähteteksti]

  1. Loris D'Antoni, Margus Veanes "The power of symbolic automata and transducers" http://pages.cs.wisc.edu/~loris/papers/cav17-tutorial
  2. Blackburn, P; Striegnitz, K. "Finite State Transducers". Vaadatud 04.12.2018.{{netiviide}}: CS1 hooldus: mitu nime: autorite loend (link)
  3. Thomas Hanneforth,Finite State Transducers May 29, 2013 http://web.cs.ucdavis.edu/~rogaway/classes/120/spring13/eric-transducers.pdf
  4. Koskenniemi, Kimmo (1983), Two-level morphology: A general computational model of word-form recognition and production (PDF), Department of General Linguistics, University of Helsinki
  5. Holzer, M; Kutrib, M. "Implementation and Application of Automata". Vaadatud 04.11.2018.{{netiviide}}: CS1 hooldus: mitu nime: autorite loend (link)
  6. Thomas Hanneforth,Finite State Transducers May 29, 2013 http://web.cs.ucdavis.edu/~rogaway/classes/120/spring13/eric-transducers.pdf
  7. Holzer, M; Kutrib, M. "Implementation and Application of Automata". Vaadatud 04.11.2018.{{netiviide}}: CS1 hooldus: mitu nime: autorite loend (link)
  8. Mohri, Mehryar (2004). "Weighted Finite-State Transducer Algorithms: An Overview". Formal Languages and Applications 148 (620): 551–564. doi:10.1007/978-3-540-39886-8_29