Złożoność obliczeniowa. wykład 1
|
|
- Irena Szczepańska
- 4 lat temu
- Przeglądów:
Transkrypt
1 Złożoność obliczeniowa wykład 1
2 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ą przychodzić we wtorek osoby z innych grup zadania domowe, kolokwium, egzamin wspólne Slajdy (i inne materiały) będą dostępne na stronie www.
3 Zasady zaliczania: Sprawy organizacyjne zadania domowe (3 serie) 1.5 pkt kolokwium 1.5 pkt każdy może podejść do egzaminu w pierwszym terminie (nie ma progu zaliczenia ćwiczeń) egzamin 1. termin 3 pkt do oceny liczy się: zad_dom + kolokwium + egzamin egzamin poprawkowy 4.5 pkt do oceny liczy się: zad_dom + egzamin egzamin = zadania + teoria
4 O czym jest ten przedmiot? przedmiot badań: problemy obliczeniowe podstawowe pytanie: jak szybko można rozwiązać dany problem? co to znaczy, że problem jest trudny? (może tylko nie jesteśmy wystarczająco inteligentni, aby go rozwiązać?) JAiO: są problemy rozstrzygalne i nierozstrzygalne tutaj: są (rozstrzygalne) problemy łatwe i trudne (w różnym sensie) algorytmika: mamy szybki algorytm tutaj: szybki algorytm nie istnieje
5 Maszyna Turinga formalna definicja obliczenia David Hilbert: Czy istnieje algorytm rozstrzygający dowolną hipotezę matematyczną? ( Entscheidungsproblem ) Alonzo Church (1936), Alan Turing (1937) NIE Odpowiedź wymagała formalnej definicji co to jest algorytm maszyna Turinga (rachunek lambda - Church)
6 Maszyna Turinga formalna definicja obliczenia Składniki maszyny Turinga: skończony alfabet roboczy, gdzie, alfabet wejściowy \{, } skończony zbiór stanów Q stany: początkowy, akceptujący, odrzucający q I,q A,q R Q funkcja przejścia :(Q\{qA,q R }) Q {L,R,Z} taka, że
7 Maszyna Turinga formalna definicja obliczenia Składniki maszyny Turinga: skończony alfabet roboczy, gdzie, alfabet wejściowy \{, } skończony zbiór stanów Q stany: początkowy, akceptujący, odrzucający q I,q A,q R Q funkcja przejścia :(Q\{qA,q R }) Q {L,R,Z} taka, że Konfiguracja maszyny Turinga: zawartość taśmy, nieskończonej w prawo położenie głowicy stan a b a a a a b c d... q 5 formalnie np: a b a a q 5 a a b c d...
8 Maszyna Turinga formalna definicja obliczenia Obliczenie: funkcja M między konfiguracjami Przykład: (q 5,a)=(q 8,x,L) zwyczajowa notacja: q 5,a q 8,x,L jeśli stan to q 5, litera pod głowicą to a to przejdź do stanu q 8 zapisz x na taśmie przesuń głowicę w lewo q 5 a b a a a a b c d... q 8 a b a a x a b c d...
9 Maszyna Turinga formalna definicja obliczenia Dodatkowe założenia o konfiguracji: taśma od pewnego miejsca zawiera tylko pierwszy symbol taśmy to później nie występuje Dodatkowe założenia o funkcji przejścia: maszyna nie chce nadpisać ani postawić go gdzieś dalej nie chce też pójść w lewo gdy widzi
10 Maszyna Turinga formalna definicja obliczenia Obliczenie na słowie wejściowym w *: konfiguracja początkowa: q I w maszyna akceptuje w, jeśli wpada w stan q A a b a a a b c a b c d... maszyna odrzuca w, jeśli wpada w stan q R wpp. obliczenie jest nieskończone (maszyna się zapętla)
11 Maszyna Turinga formalna definicja obliczenia Obliczenie na słowie wejściowym w *: konfiguracja początkowa: q I w maszyna akceptuje w, jeśli wpada w stan q A a b a a a b c a b c d... maszyna odrzuca w, jeśli wpada w stan q R wpp. obliczenie jest nieskończone (maszyna się zapętla) oznaczmy: L(M)={w : M akceptuje w} M ma własność stopu, jeśli zatrzymuje się na każdym słowie język L * jest częściowo obliczalny (lub rekurencyjnie przeliczalny) jeśli istnieje maszyna, która akceptuje dokładnie słowa z L (czyli L(M)=L) jeśli ta maszyna ma własność stopu, to L jest obliczalny (rozstrzygalny)
12 Maszyna Turinga formalna definicja obliczenia M ma własność stopu, jeśli zatrzymuje się na każdym słowie język L * jest częściowo obliczalny (lub rekurencyjnie przeliczalny) jeśli istnieje maszyna, która akceptuje dokładnie słowa z L jeśli ta maszyna ma własność stopu, to L jest obliczalny (rozstrzygalny) Ćwiczenia: jeśli L i dopełnienie L są częściowo obliczalne, to są obliczalne
13 Maszyna Turinga formalna definicja obliczenia M ma własność stopu, jeśli zatrzymuje się na każdym słowie język L * jest częściowo obliczalny (lub rekurencyjnie przeliczalny) jeśli istnieje maszyna, która akceptuje dokładnie słowa z L jeśli ta maszyna ma własność stopu, to L jest obliczalny (rozstrzygalny) Ćwiczenia: jeśli L i dopełnienie L są częściowo obliczalne, to są obliczalne Obliczanie funkcji: funkcja częściowa f: * * jest obliczalna, jeśli istnieje M, która akceptuje każde w dom(f) w konfiguracji z taśmą f(w) oraz odrzuca każde w dom(f)
14 Warianty maszyn Turinga taśma nieskończona w obie strony wiele stanów akceptujących / odrzucających maszyny k-taśmowe :(Q\{q A,q R }) k Q k {L,R,Z} k maszyny niedeterministyczne, alternujące (te były deterministyczne)...
15 Warianty maszyn Turinga taśma nieskończona w obie strony wiele stanów akceptujących / odrzucających maszyny k-taśmowe :(Q\{q A,q R }) k Q k {L,R,Z} k maszyny niedeterministyczne, alternujące (te były deterministyczne)... Fakt: Wszystkie rozpoznają tę samą klasę języków. Uwaga: wystarczy pokazać, że dla każdej maszyny typu X istnieje równoważna maszyna typu Y. W praktyce te konstrukcje są obliczalne, ale nie musimy tego wiedzieć. To będzie częsty motyw na tym przedmiocie: kiedy wystarczy, że coś istnieje, a kiedy musimy umieć to (szybko) policzyć?
16 Przykład: osiągalność w grafie Problemy decyzyjne vs. języki Wejście: zbiór wierzchołków, zbiór krawędzi, dwa wyróżnione wierzch. Wejście jest skomplikowanym obiektem, a nie słowem. Maszyna Turinga wczytuje słowa. Ale - graf możemy zapisać jako słowo: liczba_wierzchołków, liczba_krawędzi, lista par wierzchołków połączonych krawędziami (zakładając, że wierzchołki są numerowane kolejnymi liczbami naturalnymi); poszczególne liczby pooddzielane jakimś znakiem $. Wiele możliwych reprezentacji grafów Można łatwo przekształcić jedną reprezentację w drugą.
17 Problemy decyzyjne vs. języki Rozważając konkretny problem myślimy o algorytmie rozumianym abstrakcyjnie, zwykle nie odwołując się do konkretnej reprezentacji lecz mamy świadomość tego, że można zaimplementować standardowe konstrukcje programistyczne (zmienne, pętle, itp.) na maszynie Turinga. Dowodząc ogólnych twierdzeń rozważamy maszyny Turinga (model prosty, ale mocny).
18 Problemy decyzyjne vs. języki Rozważając konkretny problem myślimy o algorytmie rozumianym abstrakcyjnie, zwykle nie odwołując się do konkretnej reprezentacji lecz mamy świadomość tego, że można zaimplementować standardowe konstrukcje programistyczne (zmienne, pętle, itp.) na maszynie Turinga. Dowodząc ogólnych twierdzeń rozważamy maszyny Turinga (model prosty, ale mocny). Teza Turinga-Churcha: wszystko, co można obliczyć w intuicyjnym sensie, można obliczyć na maszynie Turinga. (to nie jest twierdzenie matematyczne co to znaczy obliczyć w intuicyjnym sensie?) Teza mocniejsza: problemy łatwe maszyny Turinga rozwiązują szybko.
19 Złożoność czasowa Maszyna M działa w czasie T(n) (dla funkcji T:N N) jeśli dla każdego słowa w * zatrzymuje się po co najwyżej T( w ) krokach. (w szczególności ma własność stopu) Język L * jest rozpoznawalny w czasie T(n) jeśli istnieje maszyna wielotaśmowa, która go akceptuje w czasie T(n). Aby szczegóły definicji maszyny nie grały roli, mówimy zwykle o czasie O(T(n)).
20 Złożoność czasowa Maszyna M działa w czasie T(n) (dla funkcji T:N N) jeśli dla każdego słowa w * zatrzymuje się po co najwyżej T( w ) krokach. (w szczególności ma własność stopu) Język L * jest rozpoznawalny w czasie T(n) jeśli istnieje maszyna wielotaśmowa, która go akceptuje w czasie T(n). Aby szczegóły definicji maszyny nie grały roli, mówimy zwykle o czasie O(T(n)). Ćwiczenia: Język palindromów jest rozpoznawalny w czasie liniowym, lecz maszyna jednotaśmowa potrzebuje czasu kwadratowego.
21 Złożoność czasowa Maszyna M działa w czasie T(n) (dla funkcji T:N N) jeśli dla każdego słowa w * zatrzymuje się po co najwyżej T( w ) krokach. (w szczególności ma własność stopu) Język L * jest rozpoznawalny w czasie T(n) jeśli istnieje maszyna wielotaśmowa, która go akceptuje w czasie T(n). Aby szczegóły definicji maszyny nie grały roli, mówimy zwykle o czasie O(T(n)). Ćwiczenia: Język palindromów jest rozpoznawalny w czasie liniowym, lecz maszyna jednotaśmowa potrzebuje czasu kwadratowego. Twierdzenie (o liniowym przyspieszeniu): Jeśli język L jest rozpoznawalny w czasie T(n), to dla każdej stałej c>0 jest on rozpoznawalny w czasie c. T(n)+O(n). Dowód: na ćwiczeniach (pomysł: liczymy liczbę kroków, więc wystarczy wykonywać klika kroków na raz).
22 Złożoność czasowa podstawowe klasy DTIME(T(n)) języki rozpoznawalne w czasie O(T(n)) P= k N DTIME(n k ) czyli języki rozpoznawalne w czasie p(n) dla pewnego wielomianu p EXPTIME= k N DTIME(2 nk )
23 Złożoność pamięciowa Mierząc pamięć, nie chcemy uwzględniać rozmiaru wejścia (istotne w przypadku zużycia pamięci mniejszego niż liniowe) Dlatego definiując złożoność pamięciową rozważamy maszyny off-line: taśma wejściowa, tylko do odczytu (gdy widzę, to nie mogę iść dalej w prawo) taśmy robocze przy obliczaniu funkcji: taśma wyjściowa, gdzie głowica idzie tylko w prawo (czyli: tylko do zapisu)
24 Złożoność pamięciowa Mierząc pamięć, nie chcemy uwzględniać rozmiaru wejścia (istotne w przypadku zużycia pamięci mniejszego niż liniowe) Dlatego definiując złożoność pamięciową rozważamy maszyny off-line: taśma wejściowa, tylko do odczytu (gdy widzę, to nie mogę iść dalej w prawo) taśmy robocze przy obliczaniu funkcji: taśma wyjściowa, gdzie głowica idzie tylko w prawo (czyli: tylko do zapisu) Maszyna M działa w pamięci S(n) (dla funkcji S:N N) jeśli dla każdego słowa w * odwiedza co najwyżej S( w ) komórek na taśmach roboczych. Język L * jest rozpoznawalny w pamięci S(n) jeśli istnieje maszyna wielotaśmowa mająca własność stopu, akceptująca L w pamięci S(n). Mówimy zwykle o pamięci O(S(n)). Łatwo zmniejszyć zużycie pamięci razy stała - pamiętamy kilka komórek w jednej. Możemy też zamienić maszynę wielotaśmową na maszynę z jedną taśmą roboczą, zużywającą tyle samo pamięci.
25 Złożoność pamięciowa podstawowe klasy DSPACE(S(n)) języki rozpoznawalne w pamięci O(S(n)) L=DSPACE(log n) PSPACE= k N DSPACE(n k ) czyli języki rozpoznawalne w pamięci p(n) dla pewnego wielomianu p EXPSPACE= k N DSPACE(2 nk )
26 DTIME(f(n)) DSPACE(f(n)) Czas a pamięć Dowód: W czasie f(n) maszyna może odwiedzić co najwyżej k. f(n) komórek (k = liczba taśm)
27 Czas a pamięć Odwrotnie: DSPACE(f(n)) c>0 DTIME(n. c f(n) ) jeśli f(n) log(n), to po prostu: DSPACE(f(n)) c>0 DTIME(c f(n) ) Dowód: Weźmy L DSPACE(f(n)), rozpoznawany przez M. M się nie zapętla, więc (liczba odwiedzonych konfiguracji) = (liczba kroków) (liczba wszystkich konfiguracji) (liczba kroków) konfiguracji jest: Q. (n+2). (4 ) df(n) stan zawartość taśm roboczych + specjalny znacznik na: pozycję głowicy ostatnią odwiedzoną komórka na taśmie pozycja na taśmie wejściowej
28 Czas a pamięć DTIME(f(n)) DSPACE(f(n)) c>0 DTIME(n. c f(n) ) Zatem: L P PSPACE EXPTIME EXPSPACE
29 Czas a pamięć DTIME(f(n)) DSPACE(f(n)) c>0 DTIME(n. c f(n) ) Zatem: L P PSPACE EXPTIME EXPSPACE Czy te klasy faktycznie są różne? NIE wiadomo, czy: L P P PSPACE PSPACE EXPTIME EXPTIME EXPSPACE Wiadomo (i wkrótce to udowodnimy), że L PSPACE EXPSPACE P EXPTIME
30 Twierdzenie Sipsera Tw. Rozważmy maszynę M działającą w pamięci S(n), ale bez własności stopu. Wówczas istnieje maszyna M' taka, że: L(M')=L(M) M' działa w pamięci S(n) M' zatrzymuje się na każdym wejściu
31 Twierdzenie Sipsera Tw. Rozważmy maszynę M działającą w pamięci S(n), ale bez własności stopu. Wówczas istnieje maszyna M' taka, że: L(M')=L(M) M' działa w pamięci S(n) M' zatrzymuje się na każdym wejściu Zatem: w poniższej definicji Język L * jest rozpoznawalny w pamięci S(n) jeśli istnieje maszyna wielotaśmowa mająca własność stopu, akceptująca L w pamięci S(n). ten warunek był zbędny
32 Twierdzenie Sipsera Tw. Rozważmy maszynę M działającą w pamięci S(n), ale bez własności stopu. Wówczas istnieje maszyna M' taka, że: L(M')=L(M) M' działa w pamięci S(n) M' zatrzymuje się na każdym wejściu Dowód Podejście 1: (w którym wynikowy M' zużywa dużo pamięci) Kluczowa obserwacja: w biegu akceptującym żadna konfiguracja się nie powtarza. po każdym ruchu kopiujemy aktualną konfigurację na dodatkową taśmę roboczą, a także sprawdzamy, czy aktualna konfiguracja jest równa którejś zapisanej wcześniej konfiguracja się powtórzyła pętla odrzucamy
33 Twierdzenie Sipsera Tw. Rozważmy maszynę M działającą w pamięci S(n), ale bez własności stopu. Wówczas istnieje maszyna M' taka, że: L(M')=L(M) M' działa w pamięci S(n) M' zatrzymuje się na każdym wejściu Dowód Podejście 2: licznik ruchów: bieg akceptujący ma co najwyżej c S(n) kroków, o ile S(n) log(n) aby policzyć do c S(n) wystarczy licznik rozmiaru S(n) więc liczymy, zwiększając licznik o 1 po każdym kroku licznik się przepełnia odrzucamy
ZLOŻ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ół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ół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ół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ół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ół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ół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ółowoMaszyna Turinga, ang. Turing Machine (TM)
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
Bardziej szczegółowoHierarchia 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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ół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ółowoZakładamy, że maszyna ma jeden stan akceptujacy.
Złożoność pamięciowa Rozważamy następujac a maszynę Turinga: 1 0 0 1 1 0 1 1 1 1 Taśma wejściowa (read only) 1 0 1 1 0 0 0 1 0 0 1 Taśma robocza (read/write) 0 1 1 0 0 1 0 0 1 Taśma wyjściowa (write only)
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ół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ółowoJak należy się spodziewać, mamy. Zauważmy jednak, że nie zachodzi równość
11. Wykład 11: Rachunek λ. Obliczenia i obliczalność. Rachunek λ jest systemem pozornie bardzo prostym. Abstrakcja i aplikacja wydają się trywialnymi operacjami, i może się zdawać, że niczego ciekawego
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ółowoLogika stosowana. Ćwiczenia Złożoność obliczeniowa problemu spełnialności. Marcin Szczuka. Instytut Informatyki, Uniwersytet Warszawski
Logika stosowana Ćwiczenia Złożoność obliczeniowa problemu spełnialności Marcin Szczuka Instytut Informatyki, Uniwersytet Warszawski Wykład fakultatywny w semestrze zimowym 2015/2016 Marcin Szczuka (MIMUW)
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ół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ół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ół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ół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ół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ół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ół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ółowoZasady analizy algorytmów
Zasady analizy algorytmów A więc dziś w programie: - Kilka ważnych definicji i opisów formalnych - Złożoność: czasowa i pamięciowa - Kategorie problemów - Jakieś przykłady Problem: Zadanie możliwe do rozwiązania
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ółowoTeoria obliczeń i złożoność obliczeniowa
Teoria obliczeń i złożoność obliczeniowa Kontakt: dr hab. inż. Adam Kasperski, prof. PWr. pokój 509 B4 adam.kasperski@pwr.wroc.pl materiały + informacje na stronie www. Zaliczenie: Egzamin Literatura Problemy
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa Wykład 7. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Wykład 7 Prof. dr hab. inż. Jan Magott Problemy NP-zupełne Transformacją wielomianową problemu π 2 do problemu π 1 (π 2 π 1 ) jest funkcja f: D π2 D π1 spełniająca
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ół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ółowo(j, k) jeśli k j w przeciwnym przypadku.
Zadanie 1. (6 punktów) Rozważmy język słów nad alfabetem {1, 2, 3}, w których podciąg z pozycji parzystych i podciąg z pozycji nieparzystych są oba niemalejące. Na przykład 121333 należy do języka, a 2111
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ół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ółowoTypy algorytmów losowych. ALP520 - Wykład z Algorytmów Probabilistycznych p.2
Typy algorytmów losowych ALP520 - Wykład z Algorytmów Probabilistycznych p.2 Typy algorytmów losowych Las Vegas - zawsze daje prawidłowa odpowiedź (różny czas działania). Przykład: RandQuicksort ALP520
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ół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ół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ółowoLista 6 Problemy NP-zupełne
1 Wprowadzenie Uniwersytet Zielonogórski Instytut Sterowania i Systemów Informatycznych Teoretyczne Podstawy Informatyki Lista 6 Problemy NP-zupełne Problem abstrakcyjny Q jest to relacja dwuargumentowa
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ół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ółowoAlgorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność
Algorytmy Równoległe i Rozproszone Część III - Układy kombinacyjne i P-zupełność Łukasz Kuszner pokój 209, WETI http://www.kaims.pl/ kuszner/ kuszner@eti.pg.gda.pl Oficjalna strona wykładu http://www.kaims.pl/
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ół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ółowoPoprawność semantyczna
Poprawność składniowa Poprawność semantyczna Poprawność algorytmu Wypisywanie zdań z języka poprawnych składniowo Poprawne wartościowanie zdań języka, np. w języku programowania skutki wystąpienia wyróżnionych
Bardziej szczegółowoTeoretyczne podstawy informatyki
1 Wykład cz. 2 dyżur: środa 9.00-10.00 czwartek 10.00-11.00 ul. Wieniawskiego 17/19, pok.10 e-mail: joanna.jozefowska@cs.put poznan.pl materiały do wykładów: http://www.cs.put.poznan.pl/jjozefowska/ hasło:
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ółowoTeoretyczne podstawy informatyki
n r fi i= 1 n r fi i= 1 r n ( x) = f ( x) + K+ f ( x) Def r 1 r n ( x) = f ( x) K f ( x) Def r 1 1 Wykład cz. 2 dyżur: poniedziałek 9.30-10.30 p. 436 środa 13.30-14.30 p. 436 e-mail: joanna.jozefowska@cs.put
Bardziej szczegółowoStruktury danych i złożoność obliczeniowa. Prof. dr hab. inż. Jan Magott
Struktury danych i złożoność obliczeniowa Prof. dr hab. inż. Jan Magott Formy zajęć: Wykład 1 godz., Ćwiczenia 2 godz., Projekt 1 godz.. Strona kursu: http://www.zio.iiar.pwr.wroc.pl/sdizo.html Struktury
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ółowoMatematyczne podstawy informatyki Mathematical Foundations of Computational Sciences. Matematyka Poziom kwalifikacji: II stopnia
Nazwa przedmiotu: Kierunek: Rodzaj przedmiotu: obowiązkowy dla wszystkich specjalności Rodzaj zajęć: wykład, ćwiczenia Matematyczne podstawy informatyki Mathematical Foundations of Computational Sciences
Bardziej szczegółowoPodstawy Informatyki. Sprawność algorytmów
Podstawy Informatyki Sprawność algorytmów Sprawność algorytmów Kryteria oceny oszczędności Miara złożoności rozmiaru pamięci (złożoność pamięciowa): Liczba zmiennych + liczba i rozmiar struktur danych
Bardziej szczegółowoIndukcja matematyczna
Indukcja matematyczna 1 Zasada indukcji Rozpatrzmy najpierw następujący przykład. Przykład 1 Oblicz sumę 1 + + 5 +... + (n 1). Dyskusja. Widzimy że dla n = 1 ostatnim składnikiem powyższej sumy jest n
Bardziej szczegółowoMatematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Informacje podstawowe 1. Konsultacje: pokój
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ółowoR O Z D Z I A Ł V I I I
R O Z D Z I A Ł V I I I 1. Definicja maszyny Turinga Najprostszym narzędziem do rozpoznawania języków jest automat skończony. Nie ma on pamięci zewnętrznej, a jedynie wewnętrzną. Informacją pamiętaną z
Bardziej szczegółowoEfektywność algorytmów
Efektywność algorytmów Algorytmika Algorytmika to dział informatyki zajmujący się poszukiwaniem, konstruowaniem i badaniem własności algorytmów, w kontekście ich przydatności do rozwiązywania problemów
Bardziej szczegółowoTEORIA ZŁOŻONOŚCI PROBLEMY I ALGORYTMY OGRANICZENIE DOLNE I GÓRNE PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI
PROJEKTOWANIE ALGORYTMÓW I METODY SZTUCZNEJ INTELIGENCJI TEORIA ZŁOŻONOŚCI I MASZYNA TURINGA TEORIA ZŁOŻONOŚCI Teoria złożoności poszukuje rozwiązania dla problemów, które są algorytmicznie trudne do rozwiązania
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ół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ółowoKolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie
Wykład 8. Kolorowanie 1 / 62 Kolorowanie wierzchołków - definicja Zbiory niezależne Niech G będzie grafem bez pętli. Definicja Mówimy, że G jest grafem k kolorowalnym, jeśli każdemu wierzchołkowi możemy
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ół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ółowoWstęp do informatyki. Maszyna RAM. Schemat logiczny komputera. Maszyna RAM. RAM: szczegóły. Realizacja algorytmu przez komputer
Realizacja algorytmu przez komputer Wstęp do informatyki Wykład UniwersytetWrocławski 0 Tydzień temu: opis algorytmu w języku zrozumiałym dla człowieka: schemat blokowy, pseudokod. Dziś: schemat logiczny
Bardziej szczegółowoAlgorytmiczna teoria grafów
Przedmiot fakultatywny 20h wykładu + 20h ćwiczeń 21 lutego 2014 Zasady zaliczenia 1 ćwiczenia (ocena): kolokwium, zadania programistyczne (implementacje algorytmów), praca na ćwiczeniach. 2 Wykład (egzamin)
Bardziej szczegółowoReprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów
Wykład 2. Reprezentacja komputerowa grafów 1 / 69 Macierz incydencji Niech graf G będzie grafem nieskierowanym bez pętli o n wierzchołkach (x 1, x 2,..., x n) i m krawędziach (e 1, e 2,..., e m). 2 / 69
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ółowoZa pierwszy niebanalny algorytm uważa się algorytm Euklidesa wyszukiwanie NWD dwóch liczb (400 a 300 rok przed narodzeniem Chrystusa).
Algorytmy definicja, cechy, złożoność. Algorytmy napotykamy wszędzie, gdziekolwiek się zwrócimy. Rządzą one wieloma codziennymi czynnościami, jak np. wymiana przedziurawionej dętki, montowanie szafy z
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, automaty i obliczenia
Języki, automaty i obliczenia Wykład 9: Własności języków bezkontekstowych Sławomir Lasota Uniwersytet Warszawski 27 kwietnia 2016 Plan 1 Pompowanie języków bezkontekstowych 2 Własności domknięcia 3 Obrazy
Bardziej szczegółowoZłożoność Obliczeniowa Algorytmów
Algorytmów Pożądane cechy dobrego algorytmu Dobry algorytm mający rozwiązywać jakiś problem powinien mieć 2 naturalne cechy: 1 (poprawność) zwracać prawidłowy wynik (dokładniej: zgodność z warunkiem końcowym
Bardziej szczegółowoO ROLI TEZY CHURCHA W DOWODZIE PEWNEGO TWIERDZENIA
ARTYKUŁY ZAGADNIENIA FILOZOFICZNE W NAUCE XXV / 1999, s. 76 81 Adam OLSZEWSKI O ROLI TEZY CHURCHA W DOWODZIE PEWNEGO TWIERDZENIA Zadaniem niniejszego artykułu jest zdanie sprawy z matematycznej roli Tezy
Bardziej szczegółowoNiestandardowe modele obliczeń
Niestandardowe modele obliczeń Zadania kwalifikacyjne Adam Michalik 11 czerwca 2014 1 Uwagi ogólne Do kwalifikacji należy rozwiązać wszystkie zadania o maszynach Turinga, oraz kilka zadań matematycznych
Bardziej szczegółowoSYLABUS DOTYCZY CYKLU KSZTAŁCENIA Realizacja w roku akademickim 2016/17
Załącznik nr 4 do Uchwały Senatu nr 430/01/2015 SYLABUS DOTYCZY CYKLU KSZTAŁCENIA 2016 2020 Realizacja w roku akademickim 2016/17 1.1. Podstawowe informacje o przedmiocie/module Nazwa przedmiotu/ modułu
Bardziej szczegółowoBadania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle
Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle Paweł Szołtysek 12 czerwca 2008 Streszczenie Planowanie produkcji jest jednym z problemów optymalizacji dyskretnej,
Bardziej szczegółowozłożony ze słów zerojedynkowych o długości co najmniej 3, w których druga i trzecia litera od końca sa
Zadanie 1. Rozważmy jezyk 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 równe. Narysować diagram minimalnego automatu deterministycznego akceptujacego
Bardziej szczegółowoZłożoność informacyjna Kołmogorowa. Paweł Parys
Złożoność informacyjna Kołmogorowa Paweł Parys Serock 2012 niektóre liczby łatwiej zapamiętać niż inne... (to zależy nie tylko od wielkości liczby) 100...0 100 100... 100 100 100 25839496603316858921 31415926535897932384
Bardziej szczegółowoProblemy Decyzyjne dla Systemów Nieskończonych
Problemy Decyzyjne dla Systemów Nieskończonych Ćwiczenia 1 17 lutego 2012 Na tych ćwiczeniach zajmiemy się pojęciem well quasi-ordering (WQO) bardzo przydatnym do analizy nieskończonych ciągów. Definicja
Bardziej szczegółowoCZY INFORMATYKOM MUSI WYSTARCZYĆ NIESKOŃCZONOŚĆ POTENCJALNA?
Filozofia w matematyce i informatyce, Poznań, 9-10 grudnia 2016 CZY INFORMATYKOM MUSI WYSTARCZYĆ NIESKOŃCZONOŚĆ POTENCJALNA? Paweł Stacewicz Politechnika Warszawska Nieskończoność a granice informatyki
Bardziej szczegółowoMinimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych
Szczepan Hummel Minimalizacja automatów niedeterministycznych na słowach skończonych i nieskończonych 24.11.2005 1. Minimalizacja automatów deterministycznych na słowach skończonych (DFA) [HU] relacja
Bardziej szczegółowo0 --> 5, 1 --> 7, 2 --> 9, 3 -->1, 4 --> 3, 5 --> 5, 6 --> 7, 7 --> 9, 8 --> 1, 9 --> 3.
(Aktualizacja z dnia 3 kwietnia 2013) MATEMATYKA DYSKRETNA - informatyka semestr 2 (lato 2012/2013) Zadania do omówienia na zajęciach w dniach 21 i 28 kwietnia 2013 ZESTAW NR 3/7 (przykłady zadań z rozwiązaniami)
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ół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ółowoWstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami
Wstęp do Informatyki zadania ze złożoności obliczeniowej z rozwiązaniami Przykład 1. Napisz program, który dla podanej liczby n wypisze jej rozkład na czynniki pierwsze. Oblicz asymptotyczną złożoność
Bardziej szczegółowo1 Funkcje uniwersalne
1 1 Funkcje uniwersalne 1.1 Konstrukcja funkcji uniweralnej Niech P będzie najmniejszym zbiorem liczb spełniającym warunki 1) 0, 2, 0, 0, 2, 1, 0, 2, 2 P, 2) 0, n, 3, k P dla wszystkich n > 0 oraz k takich,
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ół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ółowoParadygmaty dowodzenia
Paradygmaty dowodzenia Sprawdzenie, czy dana formuła rachunku zdań jest tautologią polega zwykle na obliczeniu jej wartości dla 2 n różnych wartościowań, gdzie n jest liczbą zmiennych zdaniowych tej formuły.
Bardziej szczegółowo1. Analiza algorytmów przypomnienie
1. Analiza algorytmów przypomnienie T.H. Cormen, C.E. Leiserson, R.L. Rivest, C. Stein Wprowadzenie do algorytmów, rozdziały 1-4 Wydawnictwa naukowo-techniczne (2004) Jak mierzyć efektywność algorytmu?
Bardziej szczegółowoTopologia zbioru Cantora a obwody logiczne
Adam Radziwończyk-Syta Michał Skrzypczak Uniwersytet Warszawski 1 lipca 2009 http://students.mimuw.edu.pl/~mskrzypczak/dokumenty/ obwody.pdf Zbiór Cantora Topologia Definicja Przez zbiór Cantora K oznaczamy
Bardziej szczegółowoLogika i teoria mnogości Wykład 14
Teoria rekursji Teoria rekursji to dział logiki matematycznej zapoczątkowany w latach trzydziestych XX w. Inicjatorzy tej dziedziny to: Alan Turing i Stephen Kleene. Teoria rekursji bada obiekty (np. funkcje,
Bardziej szczegółowo