Klasyczne i kwantowe podejście do teorii automatów i języków formalnych p.1/33

Podobne dokumenty
Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura

Matematyczne Podstawy Informatyki

Jaki język zrozumie automat?

Automat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki

Wprowadzenie do teorii komputerów kwantowych

Języki formalne i automaty Ćwiczenia 7

Przykład: Σ = {0, 1} Σ - zbiór wszystkich skończonych ciagów binarnych. L 1 = {0, 00, 000,...,1, 11, 111,... } L 2 = {01, 1010, 001, 11}

Hierarchia Chomsky ego Maszyna Turinga

Języki formalne i automaty Ćwiczenia 9

Języki, automaty i obliczenia

Symbol, alfabet, łańcuch

Maszyna Turinga języki

Układy liniowo niezależne

Obliczenia inspirowane Naturą

Matematyczne Podstawy Informatyki

1 Automaty niedeterministyczne

Języki formalne i automaty Ćwiczenia 1

(j, k) jeśli k j w przeciwnym przypadku.

Języki regularne, rozpoznawanie wzorców regularnych, automaty skończone, wyrażenia regularne

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

Minimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych

Algorytm Grovera. Kwantowe przeszukiwanie zbiorów. Robert Nowotniak

JAO - Języki, Automaty i Obliczenia - Wykład 2. JAO - Języki, Automaty i Obliczenia - Wykład 2

Imię, nazwisko, nr indeksu

Zadanie 1. Czy prawdziwa jest następująca implikacja? Jeśli L A jest językiem regularnym, to regularnym językiem jest też. A = (A, Q, q I, F, δ)

Matematyczne Podstawy Informatyki

Wykład5,str.1. Maszyny ze stosem ... 1,0 λ r. λ,z λ

Obliczenia inspirowane Naturą

KATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204

Dopełnienie to można wyrazić w następujący sposób:

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

Hierarchia Chomsky ego

Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych

Wyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym.

Definicja 2. Twierdzenie 1. Definicja 3

Automat Moore a. Teoria układów logicznych

Języki, automaty i obliczenia

Wstęp do Modelu Standardowego

Wstęp do komputerów kwantowych

1 Grupa SU(3) i klasyfikacja cząstek

Matematyczne Podstawy Informatyki

Języki, automaty i obliczenia

Modele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski

Teoria układów logicznych

Przekształcenia liniowe

TEORETYCZNE PODSTAWY INFORMATYKI

O informatyce kwantowej

1 Zbiory i działania na zbiorach.

AUTOMATY SKOŃCZONE. Automat skończony przedstawiamy formalnie jako uporządkowaną piątkę:

1 Przestrzenie Hilberta

Geometria Lista 0 Zadanie 1

Wykład 4 Udowodnimy teraz, że jeśli U, W są podprzetrzeniami skończenie wymiarowej przestrzeni V to zachodzi wzór: dim(u + W ) = dim U + dim W dim(u

Peter W. Shor - Polynomial-Time Algorithms for Prime Factorization and Discrete Logarithms on a Quantum Computer. 19 listopada 2004 roku

Paradygmaty i języki programowania. Analiza leksykalna Skaner, RE, DAS, NAS, ε- NAS

Języki i operacje na językach. Teoria automatów i języków formalnych. Definicja języka

Aproksymacja. j<k. L 2 p[a, b] l 2 p,n X = Lemat 1. Wielomiany ortogonalne P 0,P 1,...,P n tworza przestrzeni liniowej Π n. Dowód.

Przestrzeń unitarna. Jacek Kłopotowski. 23 października Katedra Matematyki i Ekonomii Matematycznej SGH

Niezb. ednik matematyczny. Niezb. ednik matematyczny

Algorytmy stochastyczne, wykład 05 Systemy Liendenmayera, modelowanie roślin

Automaty Büchi ego i równoważne modele obliczeń

SIMR 2016/2017, Analiza 2, wykład 1, Przestrzeń wektorowa

PODSTAWY AUTOMATYKI. MATLAB - komputerowe środowisko obliczeń naukowoinżynierskich - podstawowe operacje na liczbach i macierzach.

Wprowadzenie. Teoria automatów i języków formalnych. Literatura (1)

Języki, automaty i obliczenia

Języki formalne i automaty Ćwiczenia 8

Wykład nr 3 Techniki Mikroprocesorowe. dr inż. Artur Cichowski

Seminarium: Efekty kwantowe w informatyce

1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie

Wyrażenia regularne.

R n jako przestrzeń afiniczna

POSTULATY MECHANIKI KWANTOWEJ cd i formalizm matematyczny

Wstęp do Techniki Cyfrowej... Teoria automatów

Maszyna Turinga (Algorytmy Część III)

Maszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu

Rozwiązania około dwustu łatwych zadań z języków formalnych i złożoności obliczeniowej i być może jednego chyba trudnego (w trakcie tworzenia)

Iloczyn skalarny. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. 10. wykład z algebry liniowej Warszawa, grudzień 2013

10110 =

dr Mariusz Grządziel 15,29 kwietnia 2014 Przestrzeń R k R k = R R... R k razy Elementy R k wektory;

II. POSTULATY MECHANIKI KWANTOWEJ W JĘZYKU WEKTORÓW STANU. Janusz Adamowski

Języki formalne i automaty Ćwiczenia 6

Logika Temporalna i Automaty Czasowe

2 1 3 c c1. e 1, e 2,..., e n A= e 1 e 2...e n [ ] M. Przybycień Matematyczne Metody Fizyki I

φ(x 1,..., x n ) = a i x 2 i +

Zadanie 1. (6 punktów) Słowo w nazwiemy anagramem słowa v jeśli w można otrzymać z v poprzez zamianę kolejności liter. Niech

Teoretyczne podstawy informatyki

złożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa

Wykład 4. Informatyka Stosowana. Magdalena Alama-Bućko. 25 marca Magdalena Alama-Bućko Wykład 4 25 marca / 25

JĘZYKI FORMALNE I METODY KOMPILACJI

Macierze. Rozdział Działania na macierzach

1. Matematyka Fizyki Kwantowej: Cześć Druga

JĘZYKIFORMALNE IMETODYKOMPILACJI

Teoria obliczeń czyli czego komputery zrobić nie mogą

cx cx 1,cx 2,cx 3,...,cx n. Przykład 4, 5

AUTOMATYKA INFORMATYKA

JAO - Wprowadzenie do Gramatyk bezkontekstowych

Formy kwadratowe. Mirosław Sobolewski. Wydział Matematyki, Informatyki i Mechaniki UW. wykład z algebry liniowej Warszawa, styczeń 2009

Obliczenia inspirowane Naturą

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Algebra liniowa. 1. Macierze.

Symulacja obliczeń kwantowych

Transkrypt:

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