ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Podobne dokumenty
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

1 Automaty niedeterministyczne

Obliczenia inspirowane Naturą

Efektywność Procedur Obliczeniowych. wykład 5

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}

Struktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott

Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.

Wykład 8. Informatyka Stosowana. 26 listopada 2018 Magdalena Alama-Bućko. Informatyka Stosowana Wykład , M.A-B 1 / 31

Matematyczne Podstawy Informatyki

Struktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott

Imię, nazwisko, nr indeksu

Typy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Języki formalne i automaty Ćwiczenia 9

Maszyna Turinga języki

Zakładamy, że maszyna ma jeden stan akceptujacy.

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

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

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

Logika stosowana. Ćwiczenia Złożoność obliczeniowa problemu spełnialności. Marcin Szczuka. Instytut Informatyki, Uniwersytet Warszawski

O ISTOTNYCH OGRANICZENIACH METODY

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

Języki, automaty i obliczenia

Matematyczne Podstawy Informatyki

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

Lista 6 Problemy NP-zupełne

Języki, automaty i obliczenia

TEORETYCZNE PODSTAWY INFORMATYKI

10110 =

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa.

Języki formalne i automaty Ćwiczenia 7

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Hierarchia Chomsky ego Maszyna Turinga

1 Maszyny Turinga. stan 1 litera 1 litera 2 ruch stan 2. Matematycznie P S (Q {B}) (Q {B}) {L, R, } S

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

Złożoność obliczeniowa. wykład 1

Wstęp do programowania

Metody teorii gier. ALP520 - Wykład z Algorytmów Probabilistycznych p.2

Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność

ZLOŻONOŚĆ OBLICZENIOWA - WYK. 2

Porządek symetryczny: right(x)

Wstęp do metod numerycznych Uwarunkowanie Eliminacja Gaussa. P. F. Góra

a 1, a 2, a 3,..., a n,...

Wykład 7. Informatyka Stosowana. 21 listopada Informatyka Stosowana Wykład 7 21 listopada / 27

Logika Stosowana. Wykład 2 - Logika modalna Część 3. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2017/2018

Jaki język zrozumie automat?

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

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

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

Wykład z równań różnicowych

Wstęp do sieci neuronowych, wykład 12 Łańcuchy Markowa

PROBLEMY NIEROZSTRZYGALNE

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

Algorytmy i struktury danych

Języki, automaty i obliczenia

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

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

Spacery losowe generowanie realizacji procesu losowego

Lokalna odwracalność odwzorowań, odwzorowania uwikłane

Turing i jego maszyny

Obliczenia inspirowane Naturą

Równoległy algorytm wyznaczania bloków dla cyklicznego problemu przepływowego z przezbrojeniami

O ALGORYTMACH I MASZYNACH TURINGA

Sortowanie topologiczne skierowanych grafów acyklicznych

Teoretyczne podstawy programowania liniowego

Problemy Decyzyjne dla Systemów Nieskończonych

Algorytmy i Struktury Danych, 2. ćwiczenia

Efektywna analiza składniowa GBK

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

Teoretyczne podstawy informatyki

Paweł Gładki. Algebra. pgladki/

Macierze. Rozdział Działania na macierzach

Struktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott

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

Prawdopodobieństwo i statystyka

Teoretyczne podstawy informatyki

M T E O T D O ZI Z E E A LG L O G R O Y R TM

PętlaforwOctave. Roman Putanowicz 13 kwietnia 2008

Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.

Wstęp do metod numerycznych Eliminacja Gaussa Równania macierzowe. P. F. Góra

Podstawy Informatyki. Sprawność algorytmów

Algorytmy mrówkowe (optymalizacja kolonii mrówek, Ant Colony optimisation)

Matematyka dyskretna

Chaotyczne generatory liczb pseudolosowych

Wstęp do sieci neuronowych, wykład 12 Wykorzystanie sieci rekurencyjnych w optymalizacji grafowej

Algorytm. Krótka historia algorytmów

Wprowadzenie do złożoności obliczeniowej

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

Algorytmiczna teoria grafów

Algorytmy zrandomizowane

Teoria Złożoności Zadania

Algebrę L = (L, Neg, Alt, Kon, Imp) nazywamy algebrą języka logiki zdań. Jest to algebra o typie

Symulacyjne metody wyceny opcji amerykańskich

Rekurencja. Przykład. Rozważmy ciąg

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Algorytmy asymetryczne

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II

Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie

Sprzedaż online. Piotr Sankowski Uniwersytet Warszawski Warszawa p. 1/40

Kombinacje liniowe wektorów.

Transkrypt:

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW NIEDETERMINISTYCZNE MASZYNY TURINGA Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012

NIEDETERMINISTYCZNE MASZYNY TURINGA DEFINICJA: NIEDETERMINISTYCZNA MASZYNA TURINGA jest czwórka N = (K, Σ,, s) gdzie K, Σ, s maja to samo znaczenie co w deterministycznych maszynach Turinga. opisujace przejścia maszyny nie jest funkcja ale relacja: (K Σ) [(K {h, T, N}) Σ {,, }] Niedeterministyczna maszyna Turinga nie ma jednoznacznie wyznaczonej kolejnej operacji do wykonania ale ma możliwość wyboru między kilkoma akcjami. BARTOSZ ZIELIŃSKI (KFTII) ZŁOŻONOŚĆ... 2011/12 2 / 11

KONFIGURACJA MASZYN NIEDETERMINISTYCZNYCH I PRZEJŚCIA Konfiguracje określamy tak samo jak dla maszyn deterministycznych. Niedeterministyczna MT przechodzi w jednym kroku (q, w, u) N (q, w, u ) jeśli w jest reguła potwierdzajaca legalność tego przejścia. Podobnie definiujemy relacje N k, N. BARTOSZ ZIELIŃSKI (KFTII) ZŁOŻONOŚĆ... 2011/12 3 / 11

NIEDETERMINISTYCZNE ROZSTRZYGANIE MASZYNA NIEDETERMINISTYCZNA N AKCEPTUJE x Σ gdy (s,, x) N (T, w, u) dla pewnych słów w i u. Niech L Σ będzie językiem, N niedeterministyczna MT N ROZSTRZYGA L jeżeli dla każdego x Σ mamy że x L wtedy i tylko wtedy gdy (s,, x) N (T, w, u) dla pewnych słów w i u. N ROZSTRZYGA L W CZASIE f (n) jeśli N rozstrzyga L i dla dowolnego x Σ, jeśli (s,, x) N k (q, w, u) to k f ( x ). BARTOSZ ZIELIŃSKI (KFTII) ZŁOŻONOŚĆ... 2011/12 4 / 11

NIEDETERMINISTYCZNY KOMIWOJAŻER Wersja decyzyjna problemu: Czy istnieje trasa o koszcie mniejszym niż B Wypisujemy (niedeterministycznie) dowolny ciag liczb niedłuższy niż dane wejściowe. Sprawdzamy czy reprezentuje on permutację miast. Sprawdzamy czy koszt jest mniejszy od B jeśli tak, zatrzymujemy się w stanie Tak, jeśli nie, zatrzymujemy się w stanie Nie. Wszystko to zajmuje O(n 2 ). BARTOSZ ZIELIŃSKI (KFTII) ZŁOŻONOŚĆ... 2011/12 5 / 11

RÓWNOWAŻNOŚĆ Z DETERMINISTYCZNYMI MT TWIERDZENIE Przypuśćmy że istnieje niedeterministyczna maszyna Turinga N rozstrzygajaca język L w czasie f (n). Wtedy istnieje deterministyczna maszyna Turinga M o trzech ciagach rozstrzygajaca L w czasie O(c f (n) ) gdzie c > 1 jest pewna stała zależna od N, tzn. NTIME(f (n)) TIME(c f (n) ) c>1 BARTOSZ ZIELIŃSKI (KFTII) ZŁOŻONOŚĆ... 2011/12 6 / 11

DOWÓD RÓWNOWAŻNOŚCI Niech N = (K, Σ,, s). Niech dla każdego (q, σ) K Σ C q,σ = {(q, σ, D) ((q, σ), (q, σ, D)) }. Niech d := max q,σ C q,σ i załóżmy że d > 1. Dowolny ciag t wyborów niedeterministycznych możemy symulować jako ciag t liczb całkowitych z przedziału 0, 1,..., d 1. Maszyna deterministyczna M rozważa wszystkie takie ciagi wyborów w kolejności rosnacych długości i symuluje N na każdym z nich. BARTOSZ ZIELIŃSKI (KFTII) ZŁOŻONOŚĆ... 2011/12 7 / 11

PRZEBIEG SYMULACJI CIAGI Ciag 1 wejściowy, tylko do czytania. Ciag 2 przechowuje opis aktualnej ścieżki obliczeń. Ciag 3 roboczy, tam gdzie symulowana jest ścieżka obliczeń N SYMULACJA JEDNEJ GAŁEZI Maszyna generuje następna ścieżkę (c 1..., c n ) w ciagu 2. Maszyna kopiuje ciag wejściowy na roboczy. Maszyna symuluje N w ciagu 3, wybierajac w i-tym kroku c i -ty z alternatywnych ruchów. BARTOSZ ZIELIŃSKI (KFTII) ZŁOŻONOŚĆ... 2011/12 8 / 11

CZAS SYMULACJI ĆWICZENIE Wykazać że dla każdego p 1 1 + p + + p n = 1 pn+1 1 p. Pokazać że ilość gałęzi jakie należy symulować jest rzędu O(d f (n)+1 ). BARTOSZ ZIELIŃSKI (KFTII) ZŁOŻONOŚĆ... 2011/12 9 / 11

NIEDETERMINISTYCZNA PAMIEĆ DEFINICJA Majac dana niedeterministyczna maszynę Turinga z k-ciagami (w tym z wyróżnionymi ciagami we.i wy.), powiemy że N rozstrzyga język L Σ w pamięci f (n) jeśli N rozstrzyga L oraz dla każdego x (Σ ) (s,, x,...,, ɛ) N (q, w 1, u 1,..., w k, u k ) k 1 w j u j f ( x ). j=2 BARTOSZ ZIELIŃSKI (KFTII) ZŁOŻONOŚĆ... 2011/12 10 / 11

NIEDETERMINISTYCZNA OSIAGALNOŚĆ W PAMIECI LOGARYTMICZNEJ Używamy trzech ciagów. Ciag 1 wejściowy, tylko do odczytu (zawiera macierz sasiedztwa). Czy istnieje ścieżka od wierzchołka 1 do wierzchołka n? Ciag 2 numer i bieżacego wierzchołka (poczatkowo 1). Maszyna zgaduje j i umieszcza go w ciagu 3. Czy istnieje krawędź od i do j? Jeśli tak to: Jeśli j = n zatrzymujemy obliczenia w stanie tak. Jeśli nie, to kopiujemy j do ciagu 2 i kontynuujemy zgadywanie. Jeśli nie to przechodzimy do stanu nie i zatrzymujemy obliczenia. BARTOSZ ZIELIŃSKI (KFTII) ZŁOŻONOŚĆ... 2011/12 11 / 11