Maszyna Turinga, ang. Turing Machine (TM)
|
|
- Kinga Zakrzewska
- 7 lat temu
- Przeglądów:
Transkrypt
1 Maszyna Turinga, ang. Turing Machine (TM) Alan Turing wybitny angielski matematyk, logik i kryptolog, jeden z najważniejszych twórców informatyki teoretycznej, któremu zawdzięczamy pojęcie maszyny Turinga i rozważania na temat nierozstrzygalności problemów obliczeniowych. Głównym modelem wykorzystywanym w opracowanej przez Turinga teorii informatyki był abstrakcyjny, prosty matematyczny model obliczeniowy, analog komputera, nazwany potem na cześć jego wynalazcy Maszyną Turinga (MT). Maszyna Turinga jest pierwszą historycznie, szeroko rozważaną formalizacją komputera, jako urządzenia realizującego algorytmy. Innymi słowy, jeżeli jesteśmy w stanie podać efektywną procedurę realizacji jakichkolwiek obliczeń, to jest to równoważne możliwości podania Maszyny Turinga wykonującej te same obliczenia. Maszyna Turinga MT składa się ze skończonego zbioru stanów i skończonego zbioru przejść między tymi stanami Działanie MT opisuje funkcja przejścia, którą można reprezentować w postaci tabeli przejść lub w sposób graficzny za pomocą diagramu przejść (grafu skierowanego) MT pobiera kolejne symbole z ciągu wejściowego (taśmy) MT rozpoczyna działanie od stanu początkowego i odczytania pierwszego symbolu z ciągu wejściowego Po przeczytaniu każdego kolejnego symbolu z taśmy, MT przechodzi do innego stanu lub pozostaje w tym samym stanie Po odczytaniu znaku z taśmy MT na podstawie tego znaku i swojego bieżącego stanu (dwie informacje), zastępuje ten znak innym, zmienia swój stan na inny bądź ten sam i przesuwa głowicę o jedną pozycję w prawo lub w lewo (trzy informacje). Takie działanie opisuje właśnie funkcja przejścia. Taśma MT zawierająca ciąg danych wejściowych jest obustronnie nieskończona. W trakcie działania MT realizuje algorytm MT może znajdować się w jednym z m stanów, a każda komórka taśmy może zawierać jeden z k symboli. Gdyby liczba komórek taśmy była skończona (n), to MT miałaby skończoną liczbę konfiguracji (nazywanych opisem chwilowym) i wynosiłaby ona mk n. Ponieważ liczba komórek jest nieskończona to liczba różnych konfiguracji MT jest także nieskończona. MT można traktować jako komputer, na którym uruchomiono jeden, konkretny program (algorytm) opisany diagramem przejść. Praktyczną realizacją jednej Maszyny Turinga jest program komputerowy, a zbioru Maszyn Turinga komputer.
2 W informatyce teoretycznej MT wykorzystuje się do udowadniania nierozstrzygalności, bądź niepodatności różnych problemów. Zapotrzebowanie na czas i pamięć wykorzystywane podczas obliczeń przez Maszynę Turinga nie różnią się zasadniczo od zapotrzebowania jakie posiadają rzeczywiste realne komputery. Formalna definicja Maszyny Turinga Maszyna Turniga jest uporządkowaną siódemką (Q,,,,q 0,B,F) gdzie: Q jest skończonym zbiorem stanów jest skończonym zbiorem symboli wejściowych jest skończonym zbiorem dopuszczalnych symboli taśmowych q 0 jest stanem początkowym (q 0 Q) B jest symbolem pustym F jest zbiorem stanów akceptujących (FQ) jest funkcją przejścia odwzorowującą Qx w Qx x{l,p} Funkcja przejścia ma postać: (q,x) = (p,y,k) gdzie q,pq X,Y K{L,P} W pojedynczym ruchu MT odczytuje kolejny symbol z alfabetu znajdujący się na taśmie w pozycji wskazywanej przez głowicę czytająco-zapisującą, zmienia swój stan zgodnie z opisem zawartym w diagramie przejść, zapisuje nowy symbol na aktualnej pozycji na taśmie (nadpisując poprzedni), i przesuwa głowicę o jedną pozycję w prawo lub w lewo. MT rozpoczyna działanie dla głowicy znajdującej się nad pierwszym symbolem z lewej strony taśmy różnym od symbolu pustego B. Przykłady: 1) MT sprawdzająca czy dany ciąg binarny jest palindromem, tzn. akceptująca język: L={w(0 1 ε)w R ; w= *, ={0,1}} M=({q 0,q 1,q 2,q 3,q 4,q 5,q 6,q 7 },{0,1},{0,1,B},,q 0,B,{q 3 })
3 2) MT akceptująca język: L={0 n 1 n ; n 1} M=({q 0,q 1,q 2,q 3,q 4,q 5 },{0,1},{0,1,X,Y,B},,q 0,B,{q 4 }) Druga MT akceptująca ten sam język: M=({q 0,q 1,q 2,q 3,q 4,q 5,q 6,q 7,q 8,q 9 },{0,1},{0,1,B},,q 0,B,{q 8 }) Opis chwilowy MT Jeden ruch MT oznaczamy symbolem Jeżeli (q,x i ) = (p,y,l) to ruch głowicy w lewo X 1 X 2 X 3 X i-1 qx i X i+1 X n-2 X n-1 X n X 1 X 2 X 3 X i-2 px i-1 YX i+1 X n-2 X n-1 X n Jeżeli (q,x i ) = (p,y,p) to ruch głowicy w prawo X 1 X 2 X 3 X i-1 qx i X i+1 X n-2 X n-1 X n X 1 X 2 X 3 X i-1 YpX i+1 X n-2 X n-1 X n Dla oznaczenia jednego lub więcej ruchów MT używamy symbolu Opis chwilowy MT dla przykładu 1: q Bq B1q 1 10 B11q 1 0 B110q 1 B B11q 2 0B B1q 5 1BB czyli q Bq 3 BBB
4 Definicja języka maszyny Turinga języka rekurencyjnie przeliczalnego (JRP) Jeżeli M = (Q,,,,q 0,B,F) jest maszyną Turinga to język tej maszyny oznaczamy jako L(M) i definiujemy następująco: L(M) = {w * ; q 0 w p, pf,, * } Języki rekurencyjnie przeliczalne (JRP) języki, które są akceptowane przez maszynę Turinga, przy założeniu, że MT zatrzymuje się, gdy znajdzie się w stanie akceptującym, natomiast nie musi się wcale zatrzymywać, gdy nie akceptuje. Języki rekurencyjne (JR) języki takich MT, które się w końcu zatrzymują bez względu na to czy akceptują ciąg wejściowy, czy nie. MT, które zawsze się zatrzymują stanowią poprawny model algorytmu. Oznacza to, że postawiony problem posiada rozwiązujący go zawsze algorytm, a więc problem taki to problem rozstrzygalny. Dowolny możliwy do opracowania algorytm obliczeniowy ma zawsze swoją reprezentację w postaci Maszyna Turinga. Teza Churcha-Turinga (Alonzo Church amerykański logik i matematyk) Maszyna Turinga potrafi rozwiązać każdy efektywnie rozwiązywalny problem algorytmiczny, dla którego możemy znaleźć algorytm dający się opisać w pewnym dowolnym języku programowania (nawet takim, którego jeszcze nie wymyślono), wykonujący się na pewnym, dowolnym komputerze (nawet na takim jakiego jeszcze nie skonstruowano, ale w przyszłości można skonstruować). rozwiązywalny przez MT = efektywnie rozwiązywalny Inne sformułowanie tezy Churcha-Turinga Każde praktycznie stosowane techniki obliczeniowe mogą być przetłumaczone na równoważne im obliczenia realizowane na MT. Oznacza to, że wszystkie podane poniżej modele obliczeniowe są sobie równoważne: 1) Maszyna Turinga 2) Gramatyka kombinatoryczna (gramatyka klasy 0) 3) Maszyna typu RAM (rejestry, pamięć, instrukcja warunkowa i skoku) 4) Języki programowania z instrukcjami iteracyjnymi (instrukcje podstawienia, warunkowe, pętle, struktury danych, tablice) 5) Rachunek funkcji rekurencyjnych Teza Churcha-Turinga jest tezą a nie twierdzeniem, dlatego nie można przeprowadzić dla niej dowodu matematycznego wykazującego jej poprawność.
5 Co wynika z tezy Church-Turinga? Każdy rzeczywisty komputer od najprostszego do najbardziej skomplikowanego, a także każdy inny teoretyczny model komputera potrafi obliczyć dokładnie to samo co MT. Co jeszcze wynika z tezy Churcha-Turinga? Czy istnieje równoważność pod względem obliczeniowym MT i dowolnego komputera? Maszyna Turinga i dowolne urządzenie obliczeniowe (komputer) są wielomianowo równoważne Oznacza to, że klasa problemów mających rozsądne czasowo rozwiązanie (problemy podatne wykonywane w czasie wielomianowym) jest taka sama dla obu modeli. Rozwiązując wybrany problem algorytmiczny MT może potrzebować na jego wykonanie dwa razy, sto razy, n razy, n 2 razy a nawet n 10 razy więcej czasu niż potrzebuje komputer, lecz nigdy wykładniczo więcej (2 n razy, 10 n razy, n! razy). Zmienna n oznacza rozmiar problemu (danych wejściowych). Dlatego jeżeli jakiś komputer rozwiązuje problem algorytmiczny w czasie O(f(n)), to MT rozwiązuje ten sam problem w czasie O(p(f(n))), gdzie p jest funkcją wielomianową. W rzeczywistości większość redukcji złożoności obliczeniowej algorytmów wykonywanych na komputerach w stosowanych aktualnie językach programowania do poziomu MT wiąże się z wielomianami względnie niskiego rzędu, na ogół nie większego niż n 5. Niedeterministyczna Maszyna Turinga (NMT) W NMT istnieją stany (co najmniej jeden), w których co najmniej dwa przejścia opisane są tym samym symbolem X. W NMT funkcja przejścia ma postać: (q,x) = {(q 1,Y 1,K 1 ), (q 2,Y 2,K 2 ),, (q n,y n,k n )}; gdzie nn q,q 1,q 2,, q n Q X,Y 1,Y 2,, Y n, K 1, K 2,, K n {L,P} Oznacza to, że istnieją rozwidlenia działania algorytmu na kilka możliwych ścieżek jego realizacji. NMT poprawnie wykonuje algorytm, gdy podczas jego wykonywania możliwe są takie kolejne wybory niedeterministyczne, które na co najmniej jednej ze ścieżek doprowadzą nas do poprawnego zrealizowania tego algorytmu. NMT nie realizuje poprawnie algorytmu, gdy żadna z możliwych ścieżek działania nie zapewni nam poprawnego jego wykonania. Działanie NMT można interpretować jako tworzenie wielu kopii Maszyny Turinga dla każdego z możliwych wariantów, lub zdolność zgadywania, które przejście należy wybrać aby rozwiązać problem algorytmiczny.
6 Rozszerzone i ograniczone wersje Maszyny Turinga oraz języki akceptowane przez te maszyny 1) Wielotaśmowa MT Wielotaśmowa MT korzysta z więcej niż jednej taśmy. W każdym ruchu głowica może wykonać jedną z trzech czynności (a nie dwóch jak w klasycznej MT): L ruch w lewo o jedna pozycję, P ruch w prawo o jedna pozycję, S głowica nie przesuwa się w żadnym kierunku. Na początku realizacji algorytmu dane wejściowe znajdują się tylko na taśmie pierwszej, a pozostałe są puste. Funkcja przejścia uzależnia kolejny ruch od symboli znajdujących się na wszystkich taśmach, w miejscach wskazywanych przez wszystkie głowice. Funkcja przejścia wielotaśmowej MT o n taśmach ma postać: (q,x 1,X 2,, X n ) = (p,y 1,K 1,Y 2,K 2,, Y n,k n ) K{L,P,S} Wielotaśmowe MT akceptują te same języki co jednotaśmowe MT czyli JRP. Tw: Jednotaśmowa MT symuluje n ruchów k-taśmowej MT w O(n 2 ) ruchach. 2) MT o taśmie tylko jednostronnie nieograniczonej MT o taśmie jednostronnie nieograniczonej akceptuje te same języki co klasyczna MT o taśmie obustronnie nieograniczonej, czyli JRP.
7 3) Maszyna dwustosowa Maszyna dwustosowa akceptuje te same języki co MT, czyli JRP. Dwa stosy mogą symulować jedną taśmę maszyny Turinga. Jeden stos przechowuje komórki znajdujące się na lewo od głowicy, a drugi stos na prawo. 4) Maszyna dwulicznikowa Liczniki mogą zawierać dowolną liczbę naturalną lub zero, ale ML przy wykonywaniu kolejnego ruchu może wykonywać tylko test polegający na sprawdzaniu tylko czy licznik zawiera liczbę większą od zera, czy równą zero. W jednym ruchu ML zmienia stan lub pozostaje w tym samym, zwiększa lub zmniejsza o jeden wartość jednego z dwóch liczników, ew. pozostawia go bez zmian (liczniki zawierają wartości dodatnie, a dekrementacja wartości 0 pozostawia ją bez zmian). Maszyna licznikowa może być uważana za ograniczoną maszyną wielostosową z dwoma symbolami stosowymi: Z 0 (znacznik spodu stosu) i X. Maszyna dwulicznikowa akceptuje te same języki co MT JRP. Maszyna jednolicznikowa akceptuje te same języki co automat ze stosem (AZS), czyli języki bezkontekstowe (JBK).
8 Uniwersalna Maszyna Turinga Tak jak Maszyna Turinga jest reprezentacją jednego konkretnego algorytmu, tak Uniwersalna Maszyna Turinga jest równoważna komputerowi, który może realizować różnorodne algorytmy. UMT = (M,w) gdzie M jest słowem kodującym funkcję przejścia danej MT, a w jest słowem analizowanym przez tą MT. Przykładowe kodowanie MT na taśmie czytanej przez UMT MT = (Q,,,,q 0,B,F) = {0,1}, = {0,1,B} kolejne elementy definiujące MT oddzielamy $ kolejne przejścia funkcji oddzielamy # Funkcję przejścia opisujemy następującymi łańcuchami tekstowymi: (q i,x j ) = (q k, X l, K m ) K m = {L,P} i * X j * k * X l * K m pięć elementów opisujących jedno przejście w funkcji oddzielamy * czyli dla przykładowej MT:
9 uzyskujemy następujące kodowanie tej maszyny na taśmie: (q 0,1) = (q 2,0,P) (q 2,0) = (q 0,1,P) (q 2,1) = (q 1,0,P) (q 2,B) = (q 2,1,L) 0*1*2*0*P# 2*0*0*1*P# 2*1*1*0*P# 2*B*2*1*L 3$01$01B$ $0$B$1 czyli powyższą MT reprezentuje następujący łańcuch tekstowy: k 1 k n = 3$01$01B$0*1*2*0*P#2*0*0*1*P#2*1*1*0*P#2*B*2*1*L$0$B$1 Przykład Rozważmy problem polegający na rozstrzyganiu czy dany ciąg wejściowy składa się z ciągu liter a o długości m, po którym jest drugi ciąg składający się z takiej samej ilości liter b. Problem ten można inaczej sformułować jako pytanie czy słowo w wczytywane w ciągu wejściowym należy do języka L = {a m b m, m1}. Chcemy wyznaczyć pesymistyczną złożoność obliczeniową algorytmu rozstrzygającego, czy dane słowo w należy do języka L. Instrukcją podstawową jest jeden ruch głowicy, rozmiarem danych wejściowych długość n badanego słowa. a) Algorytm 1 Maszyna Turinga 1 Opis działania MT rozstrzygającej przynależność w do języka L 1. Sprawdź czy słowo składa się z ciągu symboli a po którym jest ciąg symboli b (a ab b) 2. Dopóki na taśmie są symbole a i b, wykreślaj parami po jednym symbolu a i b 3. Jeżeli na taśmie nie ma ani jednego symbolu a i ani jednego symbolu b to zaakceptuj, w przeciwnym razie odrzuć Rozwiązanie (omawiane wcześniej, tylko dla innego alfabetu) M=({q 0,q 1,q 2,q 3,q 4,q 5,q 6,q 7,q 8,q 9 },{a,b},{a,b,b},,q 0,B,{q 8 })
10 Analiza złożoności obliczeniowej: w kroku 1 MT przechodzi przez taśmę w n ruchach głowicy (n długość słowa) w kroku 2 MT przesuwa głowicę od jednego końca do drugiego i z powrotem, usuwając po jednym skrajnym symbolu najpierw b, a potem a; w każdym kolejnym wykonaniu kroku 2 słowo jest krótsze o dwa symbole Złożoność pesymistyczna wynosi: W(n) = n + (n+1 + n) + (n-1 + n-2) + (n-3 + n-4) + (3 + 2) + 1 = n + i = 1 5 n n i1 Złożoność oczekiwana: A(n) = O(n 2 ), LTime(n 2 ) b) Algorytm 2 szybszy Maszyna Turinga 2 Opis działania MT rozstrzygającej przynależność w do języka L 1. Sprawdź czy słowo składa się z ciągu symboli a po którym jest ciąg symboli b (a ab b) 2. Dopóki na taśmie są symbole a i b: a. Sprawdź czy sumaryczna ilość symboli a i b jest nieparzysta. Jeżeli tak to odrzuć b. Zamień co drugi symbol a na inny (np. X) i co drugi symbol b na inny (np. Y) 3. Jeżeli na taśmie nie ma ani jednego symbolu a i ani jednego symbolu b to zaakceptuj, w przeciwnym razie odrzuć Rozwiązanie (fragment Maszyny Turinga z początkowymi ruchami głowicy) M=({q 0,q 1, },{a,b},{a,b,x,y,b},,q 0,B,{ }) n 1 2 Analiza złożoności obliczeniowej: w kroku 1 MT przechodzi przez taśmę w n ruchach głowicy w krokach 2a i 2b MT przesuwa głowicę od jednego końca do drugiego i z powrotem w 2(n+1) ruchach. Kroki te wykonuje w najgorszym przypadku log 2 (n) razy w kroku 3 MT w n+2 ruchach sprawdza, czy na taśmie nie ma już żadnych symboli a ani b
11 Złożoność pesymistyczna wynosi: W(n) = n + 2(n+1) log 2 (n) + n+2 = 2(n+1)(1+log 2 (n)) Złożoność oczekiwana: A(n) = O(nlog(n)), LTime(nlog(n)) c) Algorytm 3 najszybszy Dwutaśmowa Maszyna Turinga 3 Opis działania MT rozstrzygającej przynależność w do języka L 1. Dla każdego symbolu a na taśmie 1 zapisz symbol a na taśmie 2 2. Dla każdego symbolu b na taśmie 1 sprawdzaj czy na taśmie 2 jest odpowiadający mu symbol a 3. Jeżeli na taśmie 1 skończyły się symbole b, a na taśmie 2 odpowiadające im symbole a to zaakceptuj, w przeciwnym razie odrzuć Rozwiązanie (fragment Maszyny Turinga z prawie wszystkimi ruchami głowicy) M=({q 0,q 1, },{a,b},{a,b,b},,q 0,B,{ }) Analiza złożoności obliczeniowej: w kroku 1 MT przechodzi przez taśmę w k ruchach (k jest ilością symboli a) w kroku 2 MT przechodzi przez taśmę w k+1 ruchach Złożoność pesymistyczna wynosi: W(n) = k+k+1 = n+1 Złożoność oczekiwana: A(n) = O(n), LTime(n) d) A teraz dowolny język programowania - Algorytm 4 Opis działania algorytmu rozstrzygającego przynależność w do języka L 1. Przeglądaj tablicę zliczając najpierw symbole a, potem symbole b 2. Porównaj oba liczniki, jeżeli zawierają taką samą wartość to zaakceptuj, w przeciwnym razie odrzuć Analiza złożoności obliczeniowej: Instrukcją podstawową jest inkrementacja licznika. Złożoność pesymistyczna wynosi: Złożoność oczekiwana: W(n) = n A(n) = O(n), LTime(n)
Hierarchia Chomsky ego Maszyna Turinga
Hierarchia Chomsky ego Maszyna Turinga Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G = V skończony zbiór
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Automat ze stosem Automat ze stosem to szóstka
Bardziej szczegółowoJęzyki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 10: Maszyny Turinga Sławomir Lasota Uniwersytet Warszawski 29 kwietnia 2015 Plan Maszyny Turinga (Niedeterministyczna) maszyna Turinga M = (A, Q, q 0, F, T, B, δ) A
Bardziej szczegółowoMaszyna Turinga języki
Maszyna Turinga języki Teoria automatów i języków formalnych Dr inż. Janusz Majewski Katedra Informatyki Maszyna Turinga (1) b b b A B C B D A B C b b Q Zależnie od symbolu obserwowanego przez głowicę
Bardziej szczegółowoElementy Teorii Obliczeń
Wykład 2 Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 10 stycznia 2009 Maszyna Turinga uwagi wstępne Maszyna Turinga (1936 r.) to jedno z najpiękniejszych i najbardziej intrygujacych
Bardziej szczegółowoObliczenia inspirowane Naturą
Obliczenia inspirowane Naturą Wykład 01 Modele obliczeń Jarosław Miszczak IITiS PAN Gliwice 05/10/2016 1 / 33 1 2 3 4 5 6 2 / 33 Co to znaczy obliczać? Co to znaczy obliczać? Deterministyczna maszyna Turinga
Bardziej szczegółowoEfektywność Procedur Obliczeniowych. wykład 5
Efektywność Procedur Obliczeniowych wykład 5 Modele procesu obliczeń (8) Jedno-, wielotaśmowa MT oraz maszyna RAM są równoważne w przypadku, jeśli dany problem jest rozwiązywany przez jeden model w czasie
Bardziej szczegółowoPROBLEMY NIEROZSTRZYGALNE
PROBLEMY NIEROZSTRZYGALNE Zestaw 1: T Przykład - problem domina T Czy podanym zestawem kafelków można pokryć dowolny płaski obszar zachowując odpowiedniość kolorów na styku kafelków? (dysponujemy nieograniczoną
Bardziej szczegółowoMaszyna Turinga. Algorytm. czy program???? Problem Hilberta: Przykłady algorytmów. Cechy algorytmu: Pojęcie algorytmu
Problem Hilberta: 9 Czy istnieje ogólna mechaniczna procedura, która w zasadzie pozwoliłaby nam po kolei rozwiązać wszystkie matematyczne problemy (należące do odpowiednio zdefiniowanej klasy)? 2 Przykłady
Bardziej szczegółowoStruktura danych. Sposób uporządkowania informacji w komputerze.
Struktura danych Sposób uporządkowania informacji w komputerze. Algorytm Skończony, uporządkowany ciąg jasno zdefiniowanych czynności, koniecznych do wykonania pewnego zadania. Al-Khwarizmi perski matematyk
Bardziej szczegółowoZłożoność obliczeniowa. wykład 1
Złożoność obliczeniowa wykład 1 Dwa wykłady: wtorek / środa różnice niewielkie Sprawy organizacyjne wtorek: trochę szybciej, parę dodatkowych rzeczy dedykowana grupa ćw. M. Pilipczuka - ale śmiało mogą
Bardziej szczegółowoMaszyna Turinga (Algorytmy Część III)
Maszyna Turinga (Algorytmy Część III) wer. 9 z drobnymi modyfikacjami! Wojciech Myszka 2018-12-18 08:22:34 +0100 Upraszczanie danych Komputery są coraz szybsze i sprawniejsze. Na potrzeby rozważań naukowych
Bardziej szczegółowoInformacja w perspektywie obliczeniowej. Informacje, liczby i obliczenia
Informacja w perspektywie obliczeniowej Informacje, liczby i obliczenia Cztery punkty odniesienia (dla pojęcia informacji) ŚWIAT ontologia fizyka UMYSŁ psychologia epistemologia JĘZYK lingwistyka nauki
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 6. Prof. dr hab. inż. Jan Magott Problemy łatwe i trudne Problemy łatwe to problemy rozwiązywalne w czasie wielomianowym. Problemy trudne to takie, których
Bardziej szczegółowoMatematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń
Matematyczna wieża Babel. 4. Ograniczone maszyny Turinga o językach kontekstowych materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 4 kwietnia 2019 1 Dodajmy kontekst! Rozważaliśmy
Bardziej szczegółowoObliczenia inspirowane Naturą
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ę
Bardziej szczegółowoZłożoność obliczeniowa zadania, zestaw 2
Złożoność obliczeniowa zadania, zestaw 2 Określanie złożoności obliczeniowej algorytmów, obliczanie pesymistycznej i oczekiwanej złożoności obliczeniowej 1. Dana jest tablica jednowymiarowa A o rozmiarze
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 9
Języki formalne i automaty Ćwiczenia 9 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Maszyna Mealy'ego... 2 Maszyna Moore'a... 2 Automat ze stosem... 3 Konwersja gramatyki bezkontekstowej
Bardziej szczegółowoZadanie 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
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 anagram(l) = {w : w jest anagaramem v dla pewnego v L}. (a) Czy jeśli L jest
Bardziej szczegółowoAutomat ze stosem. Języki formalne i automaty. Dr inż. Janusz Majewski Katedra Informatyki
Automat ze stosem Języki formalne i automaty Dr inż. Janusz Majewski Katedra Informatyki Automat ze stosem (1) dno stosu Stos wierzchołek stosu Wejście # B B A B A B A B a b b a b a b $ q i Automat ze
Bardziej szczegółowoPrzykł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}
Języki Ustalmy pewien skończony zbiór symboli Σ zwany alfabetem. Zbiór Σ zawiera wszystkie skończone ciagi symboli z Σ. Podzbiór L Σ nazywamy językiem a x L nazywamy słowem. Specjalne słowo puste oznaczamy
Bardziej szczegółowoImię, nazwisko, nr indeksu
Imię, nazwisko, nr indeksu (kod) (9 punktów) Wybierz 9 z poniższych pytań i wybierz odpowiedź tak/nie (bez uzasadnienia). Za prawidłowe odpowiedzi dajemy +1 punkt, za złe -1 punkt. Punkty policzymy za
Bardziej szczegółowo1 Maszyny Turinga. stan 1 litera 1 litera 2 ruch stan 2. Matematycznie P S (Q {B}) (Q {B}) {L, R, } S
1 Maszyny Turinga Mając pewną wiedze techniczną na temat budowy komputera trudno przyjąć model rozważany wcześniej. Należy też uświadomoć sobie, że prosty pomysł łatwiej zrealizować technicznie. Tę zaletę
Bardziej szczegółowoO ALGORYTMACH I MASZYNACH TURINGA
O ALGORYTMACH I MASZYNACH TURINGA ALGORYTM (objaśnienie ogólne) Algorytm Pojęcie o rodowodzie matematycznym, oznaczające współcześnie precyzyjny schemat mechanicznej lub maszynowej realizacji zadań określonego
Bardziej szczegółowoMODELOWANIE RZECZYWISTOŚCI
MODELOWANIE RZECZYWISTOŚCI Daniel Wójcik Instytut Biologii Doświadczalnej PAN d.wojcik@nencki.gov.pl tel. 022 5892 424 http://www.neuroinf.pl/members/danek/swps/ Podręcznik Iwo Białynicki-Birula Iwona
Bardziej szczegółowoJęzyki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 11: Obliczalność i nieobliczalność Sławomir Lasota Uniwersytet Warszawski 6 maja 2015 Plan 1 Problemy częściowo rozstrzygalne 2 Problemy rozstrzygalne 3 Funkcje (częściowo)
Bardziej szczegółowoAlan M. TURING. Matematyk u progu współczesnej informatyki
Alan M. TURING n=0 1 n! Matematyk u progu współczesnej informatyki Wykład 5. Alan Turing u progu współczesnej informatyki O co pytał Alan TURING? Czym jest algorytm? Czy wszystkie problemy da się rozwiązać
Bardziej szczegółowoJęzyki, automaty i obliczenia
Języki, automaty i obliczenia Wykład 12: Gramatyki i inne modele równoważne maszynom Turinga. Wstęp do złożoności obliczeniowej Sławomir Lasota Uniwersytet Warszawski 20 maja 2015 Plan 1 Gramatyki 2 Języki
Bardziej szczegółowoMASZYNA TURINGA UPRASZCZANIE DANYCH
MASZYNA TURINGA Maszyna Turinga jest prostym urządzeniem algorytmicznym, uderzająco prymitywnym w porównaniu z dzisiejszymi komputerami i językami programowania, a jednak na tyle silnym, że pozwala na
Bardziej szczegółowoWyrażenie nawiasowe. Wyrażenie puste jest poprawnym wyrażeniem nawiasowym.
Wyrażenie nawiasowe Wyrażeniem nawiasowym nazywamy dowolny skończony ciąg nawiasów. Każdemu nawiasowi otwierającemu odpowiada dokładnie jeden nawias zamykający. Poprawne wyrażenie nawiasowe definiujemy
Bardziej szczegółowo2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego
2.2. Gramatyki, wyprowadzenia, hierarchia Chomsky'ego Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną G = gdzie: N zbiór symboli nieterminalnych, T zbiór symboli terminalnych, P zbiór
Bardziej szczegółowoModele Obliczeń. Wykład 1 - Wprowadzenie. Marcin Szczuka. Instytut Matematyki, Uniwersytet Warszawski
Modele Obliczeń Wykład 1 - Wprowadzenie Marcin Szczuka Instytut Matematyki, Uniwersytet Warszawski Wykład fakultatywny w semestrze zimowym 2014/2015 Marcin Szczuka (MIMUW) Modele Obliczeń 2014/2015 1 /
Bardziej szczegółowoJęzyki regularne, rozpoznawanie wzorców regularnych, automaty skończone, wyrażenia regularne
Języki regularne, rozpoznawanie wzorców regularnych, automaty skończone, wyrażenia regularne Automat skończony (AS), ang. Finite Automaton (FA) Automat skończony (automat czytający, maszyna Rabina-Scotta)
Bardziej szczegółowoTuring i jego maszyny
Turing Magdalena Lewandowska Politechnika Śląska, wydział MS, semestr VI 20 kwietnia 2016 1 Kim był Alan Turing? Biografia 2 3 Mrówka Langtona Bomba Turinga 4 Biografia Kim był Alan Turing? Biografia Alan
Bardziej szczegółowoPodstawy Informatyki Maszyna Turinga
Podstawy Informatyki alina.momot@polsl.pl http://zti.polsl.pl/amomot/pi Plan wykładu 1 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga 2 3 4 Czym jest Programowanie maszyny Turinga Teza Churcha-Turinga,
Bardziej szczegółowoMaszyna Turinga Złożoność obliczeniowa
Maszyna Turinga Złożoność obliczeniowa Weryfikacja poprawności programu W celu uniezależnienia się od typu komputera służącego do realizowania obliczeń, musimy się posłużyć ogólnym abstrakcyjnym modelem
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 7
Języki formalne i automaty Ćwiczenia 7 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Automaty... 2 Cechy automatów... 4 Łączenie automatów... 4 Konwersja automatu do wyrażenia
Bardziej szczegółowoJAO - Wprowadzenie do Gramatyk bezkontekstowych
JAO - Wprowadzenie do Gramatyk bezkontekstowych Definicja gramatyki bezkontekstowej Podstawowymi narzędziami abstrakcyjnymi do opisu języków formalnych są gramatyki i automaty. Gramatyka bezkontekstowa
Bardziej szczegółowoM T E O T D O ZI Z E E A LG L O G R O Y R TM
O ALGORYTMACH I METODZIE ALGORYTMICZNEJ Czym jest algorytm? Czym jest algorytm? przepis schemat zestaw reguł [ ] program ALGORYTM (objaśnienie ogólne) Algorytm Pojęcie o rodowodzie matematycznym, oznaczające
Bardziej szczegółowoWprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty. Literatura
Wprowadzenie: języki, symbole, alfabety, łańcuchy Języki formalne i automaty Dr inŝ. Janusz Majewski Katedra Informatyki Literatura Aho A. V., Sethi R., Ullman J. D.: Compilers. Principles, Techniques
Bardziej szczegółowoWprowadzenie do maszyny Turinga
Wprowadzenie do maszyny Turinga Deterministyczna Maszyna Turinga (DTM) jest pewną klasą abstrakcyjnych modeli obliczeń. W tej instrukcji omówimy konkretną maszynę Turinga, którą będziemy zajmować się podczas
Bardziej szczegółowoTechnologie cyfrowe. Artur Kalinowski. Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15
Technologie cyfrowe Artur Kalinowski Zakład Cząstek i Oddziaływań Fundamentalnych Pasteura 5, pokój 4.15 Artur.Kalinowski@fuw.edu.pl Semestr letni 2014/2015 Zadanie algorytmiczne: wyszukiwanie dane wejściowe:
Bardziej szczegółowoZADANIA Z AUTOMATU SKOŃCZONEGO SPRAWOZDANIE NR 4
ZADANIA Z AUTOMATU SKOŃCZONEGO SPRAWOZDANIE NR 4 Dla każdego zadania określić: graf przejść tablicę stanów automatu skończonego akceptującego określoną klasę słów podać dwa przykłady ilustrujące parę AS
Bardziej szczegółowoKATEDRA INFORMATYKI TECHNICZNEJ. Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych. ćwiczenie 204
Opracował: prof. dr hab. inż. Jan Kazimierczak KATEDA INFOMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 204 Temat: Hardware'owa implementacja automatu skończonego pełniącego
Bardziej szczegółowoDopełnienie to można wyrazić w następujący sposób:
1. (6 punktów) Czy dla każdego regularnego L, język f(l) = {w : każdy prefiks w długości nieparzystej należy do L} też jest regularny? Odpowiedź. Tak, jęsli L jest regularny to też f(l). Niech A będzie
Bardziej szczegółowoZLOŻONOŚĆ OBLICZENIOWA - WYK. 2
ZLOŻONOŚĆ OBLICZENIOWA - WYK. 2 1. Twierdzenie Sipsera: Dla dowolnej maszyny M działającej w pamięci S(n) istnieje maszyna M taka, że: L(M) = L(M ), M działa w pamięci S(n), M ma własność stopu. Dowód:
Bardziej szczegółowo1. Synteza automatów Moore a i Mealy realizujących zadane przekształcenie 2. Transformacja automatu Moore a w automat Mealy i odwrotnie
Opracował: dr hab. inż. Jan Magott KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie 207 Temat: Automaty Moore'a i Mealy 1. Cel ćwiczenia Celem ćwiczenia jest
Bardziej szczegółowoO LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ
O LICZBACH NIEOBLICZALNYCH I ICH ZWIĄZKACH Z INFORMATYKĄ Jakie obiekty matematyczne nazywa się nieobliczalnymi? Jakie obiekty matematyczne nazywa się nieobliczalnymi? Najczęściej: a) liczby b) funkcje
Bardziej szczegółowoJeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze,
Oznaczenia: Jeśli czas działania algorytmu zależy nie tylko od rozmiaru danych wejściowych i przyjmuje różne wartości dla różnych danych o tym samym rozmiarze, to interesuje nas złożoność obliczeniowa
Bardziej szczegółowoObliczanie. dr hab. inż. Joanna Józefowska, prof. PP 1
Obliczanie 1 Obliczanie Co to jest obliczanie? Czy wszystko można obliczyć? Czy to, co intuicyjnie uznajemy za obliczalne można obliczyć za pomocą mechanicznej procedury? 2 Czym jest obliczanie? Dawid
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 1
Języki formalne i automaty Ćwiczenia Autor: Marcin Orchel Spis treści Spis treści... Wstęp teoretyczny... 2 Wprowadzenie do teorii języków formalnych... 2 Gramatyki... 5 Rodzaje gramatyk... 7 Zadania...
Bardziej szczegółowoKlasa 2 INFORMATYKA. dla szkół ponadgimnazjalnych zakres rozszerzony. Założone osiągnięcia ucznia wymagania edukacyjne na. poszczególne oceny
Klasa 2 INFORMATYKA dla szkół ponadgimnazjalnych zakres rozszerzony Założone osiągnięcia ucznia wymagania edukacyjne na poszczególne oceny Algorytmy 2 3 4 5 6 Wie, co to jest algorytm. Wymienia przykłady
Bardziej szczegółowoOdmiany maszyny Turinga. dr hab. inż. Joanna Józefowska, prof. PP 1
Odmiany maszyny Turinga 1 Uniwersalna maszyna Turinga Uniwersalna maszyna U nad alfabetem A k jest to maszyna definiująca funkcje: f U, n+1 = {((w(i 1, I 2,..., I n )),y) w - opis maszyny T za pomocą słowa,
Bardziej szczegółowo3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki.
1. Podaj definicję informatyki. 2. W jaki sposób można definiować informatykę? 3. Podaj elementy składowe jakie powinna uwzględniać definicja informatyki. 4. Co to jest algorytm? 5. Podaj neumanowską architekturę
Bardziej szczegółowoPorównanie czasów działania algorytmów sortowania przez wstawianie i scalanie
Więcej o sprawności algorytmów Porównanie czasów działania algorytmów sortowania przez wstawianie i scalanie Załóżmy, że możemy wykonać dane zadanie przy użyciu dwóch algorytmów: jednego o złożoności czasowej
Bardziej szczegółowoAlgorytm. a programowanie -
Algorytm a programowanie - Program komputerowy: Program komputerowy można rozumieć jako: kod źródłowy - program komputerowy zapisany w pewnym języku programowania, zestaw poszczególnych instrukcji, plik
Bardziej szczegółowoGramatyki, wyprowadzenia, hierarchia Chomsky ego. Gramatyka
Gramatyki, wyprowadzenia, hierarchia Chomsky ego Teoria automatów i języków formalnych Dr inŝ. Janusz Majewski Katedra Informatyki Gramatyka Gramatyką G nazywamy czwórkę uporządkowaną gdzie: G =
Bardziej szczegółowoWstęp do programowania
Wstęp do programowania Złożoność obliczeniowa, poprawność programów Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XII Jesień 2013 1 / 20 Złożoność obliczeniowa Problem Ile czasu
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Stany równoważne Stany p i q są równoważne,
Bardziej szczegółowoDefinicje. Algorytm to:
Algorytmy Definicje Algorytm to: skończony ciąg operacji na obiektach, ze ściśle ustalonym porządkiem wykonania, dający możliwość realizacji zadania określonej klasy pewien ciąg czynności, który prowadzi
Bardziej szczegółowoEfektywna analiza składniowa GBK
TEORETYCZNE PODSTAWY INFORMATYKI Efektywna analiza składniowa GBK Rozbiór zdań i struktur zdaniowych jest w wielu przypadkach procesem bardzo skomplikowanym. Jego złożoność zależy od rodzaju reguł produkcji
Bardziej szczegółowoHierarchia Chomsky ego
Hierarchia Chomsky ego Gramatyki nieograniczone Def. Gramatyką nieograniczoną (albo typu 0) nazywamy uporządkowaną czwórkę G= gdzie: % Σ - skończony alfabet symboli końcowych (alfabet, nad którym
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Gramatyki bezkontekstowe I Gramatyką bezkontekstową
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 12a: Prawdopodobieństwo i algorytmy probabilistyczne http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Teoria prawdopodobieństwa
Bardziej szczegółowo1 Automaty niedeterministyczne
Szymon Toruńczyk 1 Automaty niedeterministyczne Automat niedeterministyczny A jest wyznaczony przez następujące składniki: Alfabet skończony A Zbiór stanów Q Zbiór stanów początkowych Q I Zbiór stanów
Bardziej szczegółowoWprowadzenie do złożoności obliczeniowej
problemów Katedra Informatyki Politechniki Świętokrzyskiej Kielce, 16 stycznia 2007 problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów Plan wykładu 1 2 algorytmów 3 4 5 6 problemów problemów
Bardziej szczegółowoTeoria układów logicznych
Automat Moore a Automatem Moore a nazywamy uporządkowaną piątkę ( Q, X,,, ) gdzie Q jest skończonym zbiorem niepustym, nazwanym zbiorem stanów automatu, X jest skończonym zbiorem niepustym, nazwanym alfabetem
Bardziej szczegółowoJaki język zrozumie automat?
Jaki język zrozumie automat? Wojciech Dzik Instytut Matematyki Uniwersytet Śląski Katowice wojciech.dzik@us.edu.pl 7. Forum Matematyków Polskich, 12-17 września 2016, Olsztyn Prosty Automat do kawy Przemawiamy
Bardziej szczegółowoJęzyki programowania zasady ich tworzenia
Strona 1 z 18 Języki programowania zasady ich tworzenia Definicja 5 Językami formalnymi nazywamy każdy system, w którym stosując dobrze określone reguły należące do ustalonego zbioru, możemy uzyskać wszystkie
Bardziej szczegółowoWykład5,str.1. Maszyny ze stosem ... 1,0 λ r. λ,z λ
Wykład5,str1 p 0,Z 0Z 0,0 00 q λ,z λ r Wykład5,str1 Słowo na wejściu: 0011 część nieprzeczytana Z p 0,Z 0Z 0,0 00 q λ,z λ r Wykład5,str1 Słowo na wejściu: 0011 część nieprzeczytana 0 Z p 0,Z 0Z 0,0 00
Bardziej szczegółowoTeoretyczne podstawy informatyki
Teoretyczne podstawy informatyki Wykład 10: Opis wzorców - wyrażenia regularne. http://hibiscus.if.uj.edu.pl/~erichter/dydaktyka2010/tpi-2010 Prof. dr hab. Elżbieta Richter-Wąs 1 Wyrażenia regularne Wyrażenia
Bardziej szczegółowoOBLICZALNOŚĆ I NIEOBLICZALNOŚĆ
OBLICZALNOŚĆ I NIEOBLICZALNOŚĆ Dwa konteksty obliczalności OBLICZALNE i NIEOBLICZALNE problemy (kontekst informatyczny) liczby (kontekst matematyczny) Problem nieobliczalny jest to problem nierozwiązywalny
Bardziej szczegółowoO ISTOTNYCH OGRANICZENIACH METODY
O ISTOTNYCH OGRANICZENIACH METODY ALGORYTMICZNEJ Dwa pojęcia algorytmu (w informatyce) W sensie wąskim Algorytmem nazywa się każdy ogólny schemat procedury możliwej do wykonania przez uniwersalną maszynę
Bardziej szczegółowoStruktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott
Struktury danych i złozoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 1 godz., Projekt 2 godz.. Adres strony z materiałami do wykładu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 5. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 5 Prof. dr hab. inż. Jan Magott DMT rozwiązuje problem decyzyjny π przy kodowaniu e w co najwyżej wielomianowym czasie, jeśli dla wszystkich łańcuchów wejściowych
Bardziej szczegółowoAlgorytm. Krótka historia algorytmów
Algorytm znaczenie cybernetyczne Jest to dokładny przepis wykonania w określonym porządku skończonej liczby operacji, pozwalający na rozwiązanie zbliżonych do siebie klas problemów. znaczenie matematyczne
Bardziej szczegółowo10110 =
1. (6 punktów) Niedeterministyczny automat skończony nazwiemy jednoznacznym, jeśli dla każdego akceptowanego słowa istnieje dokładnie jeden bieg akceptujący. Napisać algorytm sprawdzający, czy niedeterministyczny
Bardziej szczegółowoMaszyny Turinga. Jerzy Pogonowski. Funkcje rekurencyjne. Zakład Logiki Stosowanej UAM
Maszyny Turinga Jerzy Pogonowski Zakład Logiki Stosowanej UAM www.logic.amu.edu.pl pogon@amu.edu.pl Funkcje rekurencyjne Jerzy Pogonowski (MEG) Maszyny Turinga Funkcje rekurencyjne 1 / 29 Wprowadzenie
Bardziej szczegółowoTemat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów skończonych
Opracował: dr inż. Zbigniew Buchalski KATEDRA INFORMATYKI TECHNICZNEJ Ćwiczenia laboratoryjne z Logiki Układów Cyfrowych ćwiczenie Temat: Zastosowanie wyrażeń regularnych do syntezy i analizy automatów
Bardziej szczegółowoWyrażenia regularne.
Teoretyczne podstawy informatyki Wykład : Wyrażenia regularne. Prof. dr hab. Elżbieta Richter-Wąs.2.202 Wyrażenia regularne Wyrażenia regularne (ang. regular expressions) stanowią algebraiczny sposób definiowania
Bardziej szczegółowoAlgorytm poprawny jednoznaczny szczegółowy uniwersalny skończoność efektywność (sprawność) zmiennych liniowy warunkowy iteracyjny
Algorytm to przepis; zestawienie kolejnych kroków prowadzących do wykonania określonego zadania; to uporządkowany sposób postępowania przy rozwiązywaniu zadania, problemu, z uwzględnieniem opisu danych
Bardziej szczegółowoKONKURS MATEMATYCZNY KOMA 2018
ELIMINACJE SZKOLNE RACHUNEK LAMBDA NOTATKI Z WYKŁADU - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
1 TEORETYCZNE PODSTAWY INFORMATYKI 16/01/2017 WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Repetytorium złożoność obliczeniowa 2 Złożoność obliczeniowa Notacja wielkie 0 Notacja Ω i Θ Rozwiązywanie
Bardziej szczegółowoTeoria obliczeń czyli czego komputery zrobić nie mogą
Teoria obliczeń czyli czego komputery zrobić nie mogą Marek Zaionc Uniwersytet Jagielloński Materiały do wykładu: P. Odifreddi, Classical Recursion Theory, North Holland 1989. J.H. Hopcroft, J.D. Ullman
Bardziej szczegółowoInformatyka. Michał Rad
Informatyka Michał Rad 13.10.2016 Co i po co będziemy robić Plan wykładów: Wstęp, historia Systemy liczbowe Co to jest system operacyjny i po co to jest Sprawy związane z tworzeniem i własnością oprogramowania
Bardziej szczegółowoZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW RELACJE MIEDZY KLASAMI ZŁOŻONOŚCI Bartosz Zieliński Katedra Fizyki Teoretycznej i Informatyki Zima 2011-2012 KLASY ZŁOŻONOŚCI KLASE ZŁOŻONOŚCI OPISUJE SIE PODAJAC: Model
Bardziej szczegółowoALGORYTMY. 1. Podstawowe definicje Schemat blokowy
ALGORYTMY 1. Podstawowe definicje Algorytm (definicja nieformalna) to sposób postępowania (przepis) umożliwiający rozwiązanie określonego zadania (klasy zadań), podany w postaci skończonego zestawu czynności
Bardziej szczegółowoJęzyki formalne i automaty Ćwiczenia 3
Języki formalne i automaty Ćwiczenia 3 Autor: Marcin Orchel Spis treści Spis treści... 1 Wstęp teoretyczny... 2 Algorytm LL(1)... 2 Definicja zbiorów FIRST1 i FOLLOW1... 3 Konstrukcja tabeli parsowania
Bardziej szczegółowoAlgorytmy sztucznej inteligencji
www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego
Bardziej szczegółowoLista 0. Kamil Matuszewski 1 marca 2016
Lista 0 Kamil Matuszewski marca 206 2 3 4 5 6 7 8 0 0 Zadanie 4 Udowodnić poprawność mnożenia po rosyjsku Zastanówmy się co robi nasz algorytm Mamy podane liczby n i m W każdym kroku liczbę n dzielimy
Bardziej szczegółowoa[1] a[2] a[3] a[4] a[5] a[6] a[7] a[8] a[9] a[10] 3-2 5 8 12-4 -26 12 45-76
. p. 1 Algorytmem nazywa się poddający się interpretacji skończony zbiór instrukcji wykonania zadania mającego określony stan końcowy dla każdego zestawu danych wejściowych W algorytmach mogą występować
Bardziej szczegółowoiks plus trzy dzielone na dwa iks razy iks plus pięć
ELIMINACJE SZKOLNE RACHUNEK LAMBDA NOTATKI Z WYKŁADU - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Bardziej szczegółowoZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW
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
Bardziej szczegółowoAlgorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące.
Algorytmy Równoległe i Rozproszone Część X - Algorytmy samostabilizujące. Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/
Bardziej szczegółowoDowód pierwszego twierdzenia Gödela o. Kołmogorowa
Dowód pierwszego twierdzenia Gödela o niezupełności arytmetyki oparty o złożoność Kołmogorowa Grzegorz Gutowski SMP II rok opiekun: dr inż. Jerzy Martyna II UJ 1 1 Wstęp Pierwsze twierdzenie o niezupełności
Bardziej szczegółowoAnaliza leksykalna 1. Teoria kompilacji. Dr inż. Janusz Majewski Katedra Informatyki
Analiza leksykalna 1 Teoria kompilacji Dr inż. Janusz Majewski Katedra Informatyki Zadanie analizy leksykalnej Kod źródłowy (ciąg znaków) Analizator leksykalny SKANER Ciąg symboli leksykalnych (tokenów)
Bardziej szczegółowoMaszyny Turinga i problemy nierozstrzygalne. Maszyny Turinga i problemy nierozstrzygalne
Maszyny Turinga Maszyna Turinga jest automatem ta±mowym, skª da si z ta±my (tablicy symboli) potencjalnie niesko«czonej w prawo, zakªadamy,»e w prawie wszystkich (tzn. wszystkich poza sko«czon liczb )
Bardziej szczegółowoOdwrotna Notacja Polska
Odwrotna Notacja Polska Odwrotna Notacja Polska w skrócie ONP) jest sposobem zapisu wyrażeń arytmetycznych. Znak wykonywanej operacji umieszczany jest po operandach, argumentach tzw. zapis postfiksowy).
Bardziej szczegółowoDla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego
Arytmetyka cyfrowa Dla człowieka naturalnym sposobem liczenia jest korzystanie z systemu dziesiętnego, dla komputera natomiast korzystanie z zapisu dwójkowego (binarnego). Zapis binarny - to system liczenia
Bardziej szczegółowoTEORETYCZNE PODSTAWY INFORMATYKI
TEORETYCZNE PODSTAWY INFORMATYKI Podstawowe pojęcia teorii automatów i języków Zbiór grupa obiektów, nazywanych elementami zbioru, traktowana jako całość {0,5,7,21,57,12,18} Ciąg lista obiektów nazywanych
Bardziej szczegółowo