Klasyczne i kwantowe podejście do teorii automatów i języków formalnych mgr inż. Olga Siedlecka olga.siedlecka@icis.pcz.pl Zakład Informatyki Stosowanej i Inżynierii Oprogramowania Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33
Plan seminarium Wstęp Definicje pomocnicze Klasyczna teoria automatów i języków formalnych Symbol, alfabet, słowo, język Automaty i ich odmiany Algorytm minimalizacji automatu Kwantowa teoria automatów Definicja automatu kwantowego Kwantowe języki Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.2/33
Wstęp Zastosowanie automatów klasycznych. Nowe modele obliczeń. Kwantowy model obliczeń. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.3/33
Definicje pomocnicze Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.4/33
Przestrzeń Hilberta Przestrzeń Hilberta - jest: liniowa, unormowana, zupełna, unitarna. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.5/33
Macierz unitarna Macierza unitarna nazywamy macierz kwadratowa zespolona U o rozmiarze n n spełniajac a własność: U U = UU = I, (1) gdzie I jest macierza jednostkowa n n, a U oznacza macierz sprzężona transponowana (sprzężenie hermitowskie). Zauważmy, że własność ta oznacza, że macierz U posiada macierz odwrotna U 1 równa sprzężeniu hermitowskiemu jej samej, czyli: U = U 1. (2) Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.6/33
Mechanika kwantowa [1] W mechanice kwantowej stan n-poziomowego układu jest reprezentowany przez wektor jednostkowy w n-wymiarowej zespolonej przestrzeni wektorowej H n, która nazywamy przestrzenia stanów układu. Wybierzmy w przestrzeni stanów H n bazę ortonormalna { x 1, x 2,..., x n }. Wektory bazowe x i nazywamy stanami bazowymi. Dowolny stan układu kwantowego można przedstawić w postaci superpozycji stanów bazowych: α 1 x 1 +α 2 x 2 +...+α n x n (3) gdzie α i sa liczbami zespolonymi nazywanymi amplitudami prawdopodobieństwa względem wybranej bazy. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.7/33
Mechanika kwantowa [2] Warunek unormowania wektora stanu wymaga, by spełniały one równanie α 1 2 + α 2 2 +...+ α n 2 = 1. Prawdopodobieństwo zaobserwowania własności x i wynosi α i 2. Jeżeli dwa układy kwantowe sa opisywane za pomoca przestrzeni stanów H n i H m, to przestrzeń stanów układu złożonego opisana jest przez iloczyn tensorowy H n H m. Ewolucja czasowa układów kwantowych jest opisana za pomoca macierzy unitarnych. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.8/33
Klasyczna teoria automatów i języków formalnych Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.9/33
Symbol, alfabet, słowo [1] Symbol - pojęcie niedefiniowane (inaczej: litera, znak) Alfabet - skończony, niepusty zbiór symboli. Np.: Σ 1 = {0,1} - alfabet binarny, Σ 2 = {a,b,c,...,z} - alfabet łaciński (małych liter) Słowo(łańcuch) - skończona sekwencja symboli z danego alfabetu. Np.: słowo 011101 jest słowem z alfabetu binarnego. Słowo puste (nie zawierajace symboli) oznaczamy ε. Przez długość słowa rozumiemy liczbę pozycji w tym słowie i oznaczamy: w, np.: 011101 = 6 i ε = 0. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.10/33
Symbol, alfabet, słowo [2] Konkatenacja słów - niech x = a 1 a 2...a n i y = b 1 b 2...b m będa słowami, o długościach odpowiednio n i m, wtedy słowo xy = a 1 a 2...a n b 1 b 2...b m o długości n+m stanowi ich konkatenację. Notacja potęgowa - Jeżeli Σ jest alfabetem, wtedy Σ k oznacza zbiór wszystkich słów o długości k, o symbolach z tego alfabetu. Zatem: Σ = {0,1}, Σ 0 = {ε}, Σ 1 = {0,1}, Σ 2 = {00,01,10,11}... (4) Zbiór wszystkich słów nad alfabetem Σ oznaczamy Σ, zaś zbiór wszystkich niepustych słów Σ +. Np.: Σ = {0,1}, Σ + = Σ 1 Σ 2..., Σ = Σ + {ε}. (5) Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.11/33
Język Język - Niech Σ będzie alfabetem, zaś Σ zbiorem wszystkich słów nad tym alfabetem, wtedy dowolny jego podzbiór L Σ nazywamy językiem nad alfabetem Σ. Np.: język polski nad alfabetem polskim, język C++, czy inne języki programowania nad alfabetem zawierajacym znaki ASCII itp. L 0 = /0 (6) L 1 = {ε} (7) L 2 = Σ (8) L 3 = {ε,0,001,0001} (9) L 4 = {0,01,011,0111,...} (10) Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.12/33
Niedeterministyczny automat skończony Niedeterministycznym automatem skończonym - nazywamy piatkę NFA = {Q,Σ,δ,q 0,F}, (11) gdzie: Q - skończony zbiór stanów, #Q <, Σ - alfabet wejściowy, δ - funkcja przejść δ : Q (Σ {ε}) 2 Q, q 0 Q - stan poczatkowy, F Q - zbiór stanów końcowych (akceptowalnych). Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.13/33
Deterministyczny automat skończony Deterministycznym automatem skończonym - nazywamy piatkę DFA = {Q,Σ,δ,q 0,F}, (12) gdzie: Q - skończony zbiór stanów, #Q <, Σ - alfabet wejściowy, δ - funkcja przejść δ : Q (Σ {ε}) Q, q 0 Q - stan poczatkowy, F Q - zbiór stanów końcowych (akceptowalnych). Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.14/33
Przykład NFA Przykład niedeterministycznego automatu skończonego: NFA = {Q,Σ,δ,q,F}, gdzie: Q = {q 0,q 1,q 2 } - skończony zbiór stanów, Σ = {0,1} - alfabet wejściowy, q = q 0 - stan poczatkowy, F = {q 2 } - zbiór stanów końcowych (akceptowalnych) δ - funkcja przejść: Q \ Σ 0 1 q 0 {q 0 } {q 0,q 1 } q 1 /0 {q 2 } q 2 /0 /0 Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.15/33
Przykład DFA Przykład deterministycznego automatu skończonego: DFA = {Q,Σ,δ,q,F}, gdzie: Q = {q 0,q 1,q 2,q 3 } - skończony zbiór stanów, Σ = {0,1} - alfabet wejściowy, q = q 0 - stan poczatkowy, F = {q 0 } - zbiór stanów końcowych (akceptowalnych) δ - funkcja przejść: Q \ Σ 0 1 q 0 q 2 q 1 q 1 q 3 q 0 q 2 q 0 q 3 q 3 q 1 q 2 Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.16/33
Język akceptowany przez FA Jeżeli NFA = {Q,Σ,δ,q 0,F} jest niedeterministycznym automatem skończonym, to: L(A) = {w Σ : ˆδ(q 0,w) F /0} (13) jest językiem akceptowanym przez ten automat. Jeżeli DFA = {Q,Σ,δ,q 0,F} jest deterministycznym automatem skończonym, to: L(A) = {w Σ : ˆδ(q 0,w) F} (14) jest językiem akceptowanym przez ten automat. Język akceptowany przez automat skończony jest regularny. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.17/33
Minimalizacja DFA [1] Automat A rozpoznajacy język L nazywamy minimalnym, gdy nie istnieje automat o mniejszej liczbie stanów rozpoznajacy L. Algorytm minimalizacji deterministycznego automatu skończonego polega na: wyeliminowaniu stanów nieosiagalnych, złaczeniu stanów nierozróżnialnych. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.18/33
Minimalizacja DFA [2] Dla automatu: DFA = {Q,Σ,δ,q 0,F} Q = {A,B,C,D,E,F,G} - skończony zbiór stanów, Σ = {0, 1} - zbiór symboli terminalnych (alfabet wejściowy), q 0 = A- stan poczatkowy, F = {C, E} - zbiór stanów końcowych (akceptowalnych) δ - funkcja przejść: Q \ Σ 0 1 A B D B B C C D B D D E E B C F C G G E F Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.19/33
Minimalizacja DFA [3] Wyeliminowanie stanów nieosiagalnych: Złaczenie stanów nierozróżnialnych: Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.20/33
Automat ze stosem Automatem ze stosem - nazywamy PDA = {Q,Σ,Γ,δ,q 0,Z 0,F}, (15) gdzie: Q - skończony zbiór stanów, #Q <, Σ - alfabet wejściowy, Γ - skończony zbiór symboli stosowych, δ - funkcja przejść δ : Q (Σ {ε}) Γ Q Γ, q 0 Q - stan poczatkowy, Z 0 Γ - symbol poczatkowy stosu, F Q - zbiór stanów końcowych (akceptowalnych). Języki akceptowane przez PDA nazywamy bezkontekstowymi. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.21/33
Przykład PDA Przykład automatu ze stosem: PDA = {{q 0,q 1,q 2 },{0,1},{R,0},δ,q 0,R,{q 0 }} stan symbol stos stan stos q 0 0 R q 1 R0 q 1 0 0 q 1 00 q 1 1 0 q 2 ε q 2 1 0 q 2 ε q 2 ε R q 0 ε q 0 ε R q 0 ε Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.22/33
Kwantowa teoria automatów i języków formalnych Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.23/33
Automat kwantowy 1997 rok - definicja kwantowych automatów: Cris Moore, James Crutchfield Attila Kondacs, John Watrous Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.24/33
Język kwantowy Z perspektywy Moore a i Crutchfield a: Język kwantowy określa jakie jest prawdopodobieństwo zaobserowania danego słowa: QL : Σ [1,0]. (16) Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.25/33
Automat kwantowy Kwantowy automat definiujemy jako: QA = {H,Σ,U σ, s 0,F,P}, (17) gdzie: H - przestrzeń Hilberta, Σ - alfabet wejściowy, U σ - unitarna macierz przejść U σ : H H dla każdego symbolu σ Σ, s 0 H - stan poczatkowy, spełniajacy warunek s o 2 = 1, F H - podprzestrzeń stanów akceptowalnych. P - operator P : H F Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.26/33
Język kwantowy akceptowany przez QA Jeżeli unitarna macierz przejść dla całego słowa U w będzie równa: U w = U w1 U w2...u w w (18) wtedy język akceptowany przez kwantowy automat jest funkcja: f QA (w) = s 0 U w P 2. (19) Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.27/33
QFA, QRL Kwantowy automat skończony, to automat w którym H, s 0 i U σ maja skończony wymiar n. Kwantowy język akceptowany przez kwantowy automat skończony nazywamy kwantowym językiem regularnym. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.28/33
2QFA [1] Z perspektywy Kondacs a i Watrous a: Dwukierunkowy skończony automat kwantowy definiujemy jako: 2QFA = {Q,Σ,δ,q 0,Q acc,q re j }, (20) gdzie: Q - skończony zbiór stanów, Σ - alfabet wejściowy, δ - funkcja przejść, q 0 Q- stan poczatkowy, Q acc Q - zbiór stanów akceptowalnych, Q re j Q - zbiór stanów odrzucajacych. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.29/33
2QFA [2] Definiujemy także Q non = Q\(Q acc Q re j ) - stanów nie będacych końcowymi, oraz symbole l i oznaczajace lewy i prawy koniec słowa wejściowego, stad alfabet na którym operuje automat ma postać Γ = Σ {l, }. Funkcja przejść jest odwzorowaniem: δ : Q Γ Q { 1,0,1} C. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.30/33
Cel Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.31/33
Dziękuje za uwagę i proszę o pytania. Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.32/33
Źródła M. Hirvensalo, Algorytmy kwantowe, Wydawnictwa Szkolne i Pedagogiczne S.A., Warszawa 2004 J. E. Hopcroft, R. Motwani, J. D. Ullman, Introduction to Automata Theory, Languages, and Computation, second edition, Addison-Wesley, 2001 J. Majewski, Teoria automatów i języków formalnych, teoria kompilacji, wykłady: http://home.agh.edu.pl/~tekomp/ C. Moore, J.P. Crutchfield, Quantum Automata and Quantum Grammars, Theoretical Computer Science, Vol. 237, No. 1 2, pp. 275 306, 2000 A. Kondacs, J. Watrous, On the Power of Quantum Finite State Automata, Proceedings of the 38th Annual Symposium on Foundations of Computer Science, pp. 66 75, 1997 Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.33/33