Obliczenia inspirowane Naturą

Podobne dokumenty
Obliczenia inspirowane Naturą

Obliczenia inspirowane Naturą

Języki, automaty i obliczenia

Hierarchia Chomsky ego Maszyna Turinga

Maszyna Turinga języki

Matematyczne Podstawy Informatyki

Języki, automaty i obliczenia

Imię, nazwisko, nr indeksu

Języki formalne i automaty Ćwiczenia 9

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

Jaki język zrozumie automat?

Języki formalne i automaty Ćwiczenia 7

Języki, automaty i obliczenia

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}

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

2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego

Elementy Teorii Obliczeń

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

Turing i jego maszyny

Hierarchia Chomsky ego

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

Gramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka

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

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

Obliczenia inspirowane Naturą

Języki, automaty i obliczenia

Maszyna Turinga (Algorytmy Część III)

1 Automaty niedeterministyczne

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

Efektywność Procedur Obliczeniowych. wykład 5

Algorytm Genetyczny. zastosowanie do procesów rozmieszczenia stacji raportujących w sieciach komórkowych

Złożoność obliczeniowa zadania, zestaw 2

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

Obliczenia inspirowane Naturą

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

PROBLEMY NIEROZSTRZYGALNE

Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia

Obliczenia inspirowane Naturą

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

AUTOMATY KOMÓRKOWE. Symulacje komputerowe (11) Sławomir Kulesza

10110 =

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

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

Maszyny Turinga. Jerzy Pogonowski. Funkcje rekurencyjne. Zakład Logiki Stosowanej UAM

Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń

Maszyna Turinga, ang. Turing Machine (TM)

Obliczenia inspirowane Naturą

Algorytmy asymetryczne

Struktura danych. Sposób uporządkowania informacji w komputerze.

Matematyczne Podstawy Informatyki

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

MODELOWANIE RZECZYWISTOŚCI

TEORIA ZŁOŻONOŚCI PROBLEMY I ALGORYTMY OGRANICZENIE DOLNE I GÓRNE PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI

Wyrażenia regularne.

Teoretyczne podstawy informatyki

Teoretyczne podstawy informatyki

Maszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne

JAO - Wprowadzenie do Gramatyk bezkontekstowych

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

MODELOWANIE RZECZYWISTOŚCI

MODELOWANIE RZECZYWISTOŚCI

Modelowanie systemów biomedycznych

Opisy efektów kształcenia dla modułu

Teoretyczne podstawy informatyki

Języki formalne i automaty Ćwiczenia 1

Obliczenia inspirowane Naturą

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

Odmiany maszyny Turinga. dr hab. inż. Joanna Józefowska, prof. PP 1

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

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

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

Abstrakcyjny model maszyny przetwarzającej dane To pomysł jak zapisać komputer jako działające urządzenie i tu pojawia się pomysł na maszynę Turinga.

Modelowanie wieloskalowe. Automaty Komórkowe - podstawy

Grupy pytań na egzamin inżynierski na kierunku Informatyka

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)

Języki formalne i automaty Ćwiczenia 4

Automat Moore a. Teoria układów logicznych

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

Efektywna analiza składniowa GBK

Wstęp do programowania

Systemy Agentowe główne cechy. Mariusz.Matuszek WETI PG

Wprowadzenie do maszyny Turinga

R O Z D Z I A Ł V I I I

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

Teoria obliczeń czyli czego komputery zrobić nie mogą

MASZYNA TURINGA UPRASZCZANIE DANYCH

Jak należy się spodziewać, mamy. Zauważmy jednak, że nie zachodzi równość

Obliczenia inspirowane Naturą

Wprowadzenie do złożoności obliczeniowej

Układy dynamiczne Chaos deterministyczny

1. Maszyna Turinga, gramatyki formalne i ONP

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, δ)

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

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

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

Informacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia

Uzgadnianie formuł rachunku predykatów

Programowanie komputerów

Symbol, alfabet, łańcuch

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

Transkrypt:

Obliczenia inspirowane Naturą Wykład 01 Od maszyn Turinga do automatów komórkowych Jarosław Miszczak IITiS PAN Gliwice 03/03/2016 1 / 16

1 2 3 Krótka historia Znaczenie 2 / 16

Czego dowiedzieliśmy się na poprzednim wykładzie 1... 2... 3... 3 / 16

Maszyna Turinga dysponuje bardzo skromnymi środkami obliczeniowymi... Wszystkie operacje maszyny wykonywane są na taśmie, na której znajdują się symbole z pewnego skończonego zbioru Σ. Maszyna w jednym kroku może pobrać za pomocą czytnika jeden symbol x Σ z taśmy, wykonać (lub nie) ruch nad taśmą i zmienić stan wewnętrzny.... lecz pomimo to potrafi wykonać wiele skomplikowanych zadań. 4 / 16

Definicja Deterministyczną maszyną Turinga nazywamy czwórkę uporządkowaną M = (K, Σ, δ, q 0 ) złożoną z: skończonego zbioru K stanów zawierającego stan początkowy q 0 K skończonego zbioru Σ symboli (alfabetu) zawierającego symbol pusty i symbol końcowy. Funkcji δ : K Σ (K { stop, tak, nie }) Σ {,, } gdzie,, oznaczają odpowiednio ruch w prawo, w lewo i pozostanie na miejscu. 5 / 16

Przykład: funkcja przejścia δ(q i, b 1 ) = (q 2, b 2, 1) x a b 1 y (a) Konfiguracja (q i, x a, b 1y ) x a b 2 y (b) Konfiguracja (q j, x, ab 2y ) 6 / 16

Najprostszym rozszerzeniem tego modelu jest dodanie możliwości operowania na kilku ciągach danych otrzymujemy wówczas maszynę Turinga z wieloma taśmami, którą trochę łatwiej się programuje. Najważniejszą wersją tego modelu jest niedeterministyczna maszyna Turinga. 7 / 16

Definicja Niedeterministyczną maszyną Turinga nazywamy czwórkę uporządkowaną M = (K, Σ, δ, q 0 ) złożoną z: skończonego zbioru K stanów zawierającego stan początkowy q 0 K skończonego zbioru Σ symboli (alfabetu) zawierającego symbol pusty i symbol końcowy. Relacji δ K Σ (K { stop, tak, nie }) Σ {,, } 8 / 16

Jak działa niedeterministyczna maszyna Turinga? czas C.H. Papadimitriou, Złożoność obliczeniowa, WNT, 2007. Jak to interpretować? 1 Maszyna wybiera jedną z dróg a nastepnie zachowuje się tak jak maszyna deterministyczna. 2 Wiele maszyn wykonuje program równocześnie. Ale każda z tych interpretacji wskazuje że niedeteministyczna maszyna Turinga nie jest rozsądnym modelem obliczeń. 9 / 16

P (ang. polynomial time) wszystkie problemy dla których istnieje deterministyczna maszyna Turinga kończąca swoje działanie w czasie wielomianowym względem wielkości problemu. NP (ang. nondeterministic polynomial time) wszystkie problemy dla których istnieje niedeterministyczna maszyna Turinga kończąca swoje działanie w stanie tak w czasie wielomianowym względem wielkości problemu. Hipoteza P NP 10 / 16

Ograniczając możliwości maszyny Turinga możemy wprowadzić hierarchię języków. języki rekurencyjnie przeliczalne języki dla których istnieje akceptująca je maszyna Turinga (nie musi się zatrzymywać!); języki rekurencyjne języki dla których istnieje rozpoznająca je maszyna Turinga; języki bezkontekstowe języki dla których istnieje rozpoznający je (niedeterministyczny) automat ze stosem ( gramatyki bezkontekstowe Backus-Naur Form); języki regularne języki dla których istnieje rozpoznający jest automat skończony ( wyrażenia regularne sed, gawk, pcre); J.E.F. Friedl, Wyrażenia regularne, Helion, Gliwice, 2001. 11 / 16

Maszyna Turinga jest w dużej mierze określona przez określenie relacji przejścia. Ważne warianty to: obliczenia odwracalne, które pozwalają na: niski pobór energii; możliwość cofnięcia się do stanu przed wystąpieniem błędu (np. przy programowaniu robotów); obliczenia kwantowe, które pozwalają na wykorzystanie superpozycji (czyli równoczesnego wykonywania operacji na wielu danych); fizyczne operowanie na nanostrukturach (pojedyńczych atomach lub dobrze zdefiniowanych grupach atomów); wykorzystanie pojedyńczych fotonów w kryptografii. 12 / 16

Krótka historia Znaczenie Krótka historia to jeden z pierwszych i najpopularniejszych modeli obliczeniowych inspirowanych zjawiskami obserwowanymi w przyrodzie. Jest to model układów dynamicznych w którym czas i przestrzeń są dyskretne. Model automatów komórkowych został wymyślony przez Johna von Neumana i Stanisława Ulama w latach czterdziestych XX wieku. Jednak stał się on popularny dopiero w latach 70 dzięki grze Life wymyślonej przez Johna Conwaya. 13 / 16

Krótka historia Znaczenie Uniwersalny konstruktor John von Neumana opracował w latach 40 automat nazywany uniwersalnym konstruktorem. (https://en.wikipedia.org/wiki/von Neumann universal constructor) maszyna najpierw powiela taśmę z instrukcją powielona taśma jest programem do budowy nowej maszyny. 14 / 16

Uniwersalny konstruktor Krótka historia Znaczenie Replikator z dwuwymiarową taśmą. 15 / 16

Krótka historia Znaczenie Znaczenie Dlaczego automaty komórkowe są ciekawe? Jest to prosty model pozwalający na odtworzenie wielu struktur (fraktale, proce urodzin i śmierci). Mają zdolność do samopowielania i mogą służyć za model ewolucji. Jest to model obliczeń równoważny uniwersalnej maszynie Turinga wiele problemów ma swoje odpowiedniki (np. problem stopu i problem rajskich ogrodów). 16 / 16