Problemy NP-zupełne. Spis treści. Osoba prowadząca wykład i ćwiczenia: dr inż. Marek Sawerwain. Ostatnia zmiana: 15 styczeń Notatki.

Wielkość: px
Rozpocząć pokaz od strony:

Download "Problemy NP-zupełne. Spis treści. Osoba prowadząca wykład i ćwiczenia: dr inż. Marek Sawerwain. Ostatnia zmiana: 15 styczeń 2013. Notatki."

Transkrypt

1 Osoba prowadząca wykład i ćwiczenia: dr inż. Marek Sawerwain Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski M.Sawerwain@issi.uz.zgora.pl tel. (praca) : , pok. 328a A-2, ul. prof. Z.Szafrana 2, Zielona Góra Ostatnia zmiana: 15 styczeń 2013 V1.0 1/ 51 Spis treści Wprowadzenie Plan wykładu Redukcje wielomianowe Redukcje logarytmiczne Transformacja wielomianowa w sensie Turinga Klasa NP Klasa NP komentarz Problem SAT Pokrycie wierzchołkowe Klasa NC Klasa NC Własności klasy NC P-zupełność A za tydzień na wykładzie V1.0 2/ 51

2 Wprowadzenie Plan wykładu Plan wykładu spotkania tydzień po tygodniu (1) Informacje o wykładzie, poprawność algorytmów (2) Poprawność algorytmów logika Hoarego (3) Analiza złożoności kodu wysokiego i niskiego poziomu (4) Modele algorytmiczne maszyny proste, obwody logiczne (5) Modele algorytmiczne maszyna Turinga oraz rachunek-λ (6) Automaty (nie)deterministyczne część I (7) Automaty (nie)deterministyczne część II (8) Gramatyki regularne i bezkontekstowe V1.0 3/ 51 Wprowadzenie Plan wykładu Plan wykładu spotkania tydzień po tygodniu (9) Gramatyki i automaty ze stosem (10) Algorytmy równoległe (11) Klasy złożoności obliczeniowej (12) (13) Pamięć logarytmiczna i wielomianowa (14) Wstęp do obliczeń kwantowych (15) Wybrane algorytmy kwantowe V1.0 4/ 51

3 Wprowadzenie Plan wykładu Plan wykładu 1. Pojęcie redukcji 1.1 redukcje logarytmiczne i wielomianowe 1.2 transformacja wielomianowa w sensie Turinga 1.3 definicja zupełności definicja klasy NP 2.2 problem SAT 2.3 pokrycie wierzchołkowe 2.4 cykl Hamiltona 3. Małe co nieco, o klasie NC 3.1 definicja i własności klasy NC 3.2 P-zupełność i jej dowodzenie V1.0 5/ 51 Wprowadzenie Plan wykładu Materiały wykorzystane podczas tworzenia tego wykładu, a także przydatne do dalszych studiów: 1. Cormen T.H., Leiserson C.E., Rivest R.L.: Wprowadzenie do algorytmów, WNT, 1997 (starsze i nowsze wydania), 2. Papadimitriou C.H., Złożoność obliczeniowa, Wydawnictwa Naukowo-Techniczne, Warszawa Ważniakowe materiały: title=z\t1\lożoność_obliczeniowa 4. J.E. Hopcroft, J.D. Ullman, Wprowadzenie do teorii automatów, języków i obliczeń, Wydawnictwo Naukowe PWN, Warszawa V1.0 6/ 51

4 V1.0 7/ 51 Definicja redukcji Pojęcie redukcji należy rozpocząć Niech F reprezentuje pewną rodzinę funkcji o sygnaturze {0, 1} {0, 1} która domknięta na składanie i zawierającą identyczność. Redukcja Niech L 1 i L 2 będą językami nad alfabetem {0, 1} (języki te reprezentują zakodowane binarnie problemy decyzyjne). Problem L 1 jest redukowalny do problemu L 2 w sensie rodziny F co jest zapisywane jako: wtedy i tylko wtedy, gdy L 1 F L 2. f F w {0,1} w L 1 f (w) L 2 V1.0 8/ 51

5 Definicja redukcji Należy powiedzieć, że problem L 1 jest w pewnym sensie co najwyżej tak trudny, jak problem L 2 - pod warunkiem że znamy rozwiązanie problemu L 2 oraz odpowiednią funkcję (stanowiącą redukcję), co pociąga za sobą również rozwiązanie problemu L 1. Należy zauważyć, że relacja F jest preporządkiem: czyli jest to relacja zwrotna (ze względu na obecność identyczności) i przechodnia (ze względu na domkniętość rodziny F na składanie). W dalszej części będziemy wyróżniać: redukcje logarytmiczne, redukcje wielomianowe. V1.0 9/ 51 Redukcje wielomianowe Redukcje wielomianowe Rodzina redukcji wielomianowych (redukcje Karpa) to rodzina funkcji {0, 1} {0, 1} obliczalnych na deterministycznej maszynie Turinga w czasie wielomianowym. Redukcje wielomianowe mają następującą własność: jeżeli problem L 1 jest redukowalny wielomianowo do problemu L 2 oraz L 2 należy do klasy P, to L 1 również należy do klasy P. Uzasadnienie tej własności odbywa się poprzez konstrukcję maszyny, która najpierw przekształci instancję problemu L 1 do instancji problemu L 2 (przekształcenie jest realizowane w czasie wielomianowym, bo L 1 jest wielomianowo redukowalne do L 2 ), po czym w czasie wielomianowym da odpowiedź dla instancji problemu L 2. V1.0 10/ 51

6 Redukcje wielomianowe Jeden z możliwych przykładów redukowalnosci wielomianowej jest redukowalność problemu maksymalnego skojarzenia w grafie dwudzielnym do problemu maksymalnego przepływu w grafie skierowanym: s t Graf dwudzielny przekształcony w sieć przepływową. V1.0 11/ 51 Redukcje wielomianowe Ćwiczenie z redukcji wielomianowych Wiedząc, że L 1 jest wielomianowo redukowalne do L 2 oraz L 2 należy do klasy NP. Chcemy pokazać, że L 1 również należy do klasy NP. Wykorzystuje się fakt, że deterministyczna maszyna Turinga jest specjalnym przypadkiem maszyny niedeterministycznej. Wystarczy zatem najpierw uruchomić deterministyczną maszynę implementującą redukcję z L 1 do L 2, po czym uruchomić niedeterministyczną maszynę, rozwiązującą problem L 2 w czasie wielomianowym. Otrzymamy w tym momencie niedeterministyczną maszynę rozwiązującą problem L 1. Należy jeszcze tylko uzasadnić, dlaczego łączny czas działania tej maszyny będzie wielomianowo zależny od wielkości wejścia; wiemy jednak, że wyjście redukcji jest co najwyżej wielomianowo zależne od wielkości wejścia (maszyna ńie ma czasu"żeby zapisać więcej komórek), oraz że złożenie dwóch wielomianów nadal jest wielomianem. Własności te sprawiają, że ostateczny program będzie miał wielomianową złożoność, co oznacza że problem L 1 będzie należał do klasy NP. V1.0 12/ 51

7 Redukcje logarytmiczne Redukcje logarytmiczne Drugą ważną klasą redukcji jest rodzina redukcji logarytmicznych. Definiować tej rodziny wymaga modyfikacji definicji maszyny Turinga, poprzez wyznaczenie dwóch specjalnych taśm: taśmy wejściowej (tylko do odczytu) i taśmy wyjściowej. Po zapisie na taśmę wyjściową głowica przesuwa się zawsze w tym samym kierunku, co uniemożliwia odczyt poprzednio zapisanych symboli. Redukcja logarytmiczna jest funkcją obliczalną na deterministycznej maszynie Turinga z użyciem logarytmicznej ilości pamięci na taśmie roboczej. Nie są nakładane dodatkowe ograniczenia na wielkość słowa wyjściowego - najczęśniej jego wielkość jest wielomianowo zależna od wielkości słowa wejściowego. Intuicyjnie transformacja logarytmiczna pozwala przechowywać na taśmie roboczej stałą liczbę wskaźników do komórek wejściowych (lub innych obiektów o podobnej wielkości). V1.0 13/ 51 Redukcje logarytmiczne Redukcje logarytmiczne Problem maksymalnego skojarzenia w grafie dwudzielnym jest redukowalny do problemu maksymalnego przepływu w sensie rodziny transformacji logarytmicznych. Szkic dowodu: Zakłada się, że graf dwudzielny jest przedstawiony w postaci macierzy sąsiedztwa (niekoniecznie musi to być macierz kwadratowa, bo graf wejściowy jest dwudzielny) oraz że na wyjście chcemy również wypisać graf, również w postaci macierzy sąsiedztwa (tym razem będzie to macierz kwadratowa). Problem ten możemy rozwiązać, używając następujących danych na taśmie tymczasowej: dwie liczby reprezentujące pozycję aktualnie wypisywanego elementu macierzy wyjściowej (każda o rozmiarze logarytmicznie zależnym od wielkości wejścia), liczbę pamiętającą aktualną pozycję głowicy na taśmie wejściowej (rozmiar podobnie j.w.). V1.0 14/ 51

8 Redukcje logarytmiczne Redukcje logarytmiczne Problem maksymalnego skojarzenia w grafie dwudzielnym jest redukowalny do problemu maksymalnego przepływu w sensie rodziny transformacji logarytmicznych. Szkic dowodu cd: Aby wypisać jakiś element macierzy wyjściowej, należy sprawdzić, jakiego typu są odpowiadające mu wierzchołki, czyli czy są one: źródłem, ujściem, elementem pierwszego zbioru czy elementem drugiego zbioru. Taka klasyfikacja może zostać wykonana z użyciem logarytmicznej ilości pamięci (polega ona na wykonaniu kilku porównań liczb o rozmiarze logarytmicznym). Jeżeli okaże się, że element macierzy reprezentuje krawędź pomiędzy rozłącznymi zbiorami grafu dwudzielnego, to należy odwołać się do grafu wejściowego. W tym celu należy obliczyć numer komórki na taśmie wejściowej, która reprezentuje interesującą nas krawędź; możemy to zrobić z użyciem tylko takiej ilości pamięci, która jest potrzebna, aby zapisać wynik. Następne zadanie to tylko przesunięcie się do odpowiedniej komórki - ta operacja nie wymaga już jednak żadnej dodatkowej pamięci. Wolno zatem stwierdzić, że przedstawiona powyżej redukcja działa z użyciem logarytmicznej ilości pamięci; problem maksymalnego skojarzenia w grafie dwudzielnym jest zatem redukowalny do problemu maksymalnego przepływu w sensie redukcji logarytmicznej. V1.0 15/ 51 Transformacja wielomianowa w sensie Turinga Transformacja wielomianowa w sensie Turinga Poniżej określona transformacje nie jest redukcją w sensie dwóch wcześniej określonych pojęć, posługuje się ona pojęciem maszyny Turinga oraz wyroczni. Maszyna Turinga z wyrocznią Maszyna z wyrocznią Q {0, 1} jest wielotaśmową maszyną Turinga, z jedną wyróżnioną taśmą i trzema wyróżnionymi stanami {q a, q b, q c }. Zachowanie maszyny opisuje się w następujący sposób: przejście maszyny do stanu q a jest traktowane jako odwołanie do wyroczni Q. Jeżeli słowo aktualnie zapisane na wyróżnionej taśmie należy do języka Q, to maszyna przechodzi do stanu q b ; w przeciwnym razie przechodzi do stanu q c. Odwołanie do wyroczni wliczane jest do czasu działania maszyny jako jedno przejście. Tak określona maszyna może w trakcie swojego działania wielokrotnie prosić wyrocznię o rozwiązanie problemu Q. V1.0 16/ 51

9 Transformacja wielomianowa w sensie Turinga Transformacja wielomianowa w sensie Turinga Definicja transformacji: Transformacja wielomianowa w sensie Turinga Niech L 1 i L 2 będą językami nad alfabetem {0, 1}. Mówimy, że L 1 transformuje się do L 2 w sensie wielomianowej transformacji Turinga wtedy i tylko wtedy, gdy istnieje maszyna Turinga z wyrocznią L 2, rozwiązująca L 1 w czasie wielomianowym. Transformacja wielomianowa w sensie Turinga może być intuicyjnie traktowana jako rodzaj podprogramów - jeżeli znamy rozwiązanie problemu L 2, to stosujemy go jako podprocedurę przy rozwiązywaniu problemu L 1. V1.0 17/ 51 Transformacja wielomianowa w sensie Turinga Transformacja wielomianowa w sensie Turinga Nie powinno się o podprogramu traktować jako coś prostszego od całego problemu. Dość często w przypadku wielomianowego (czyli "prostego") algorytmu używający pewnego podprogramu można wskazać że pewna trudność w rozwiązywaniu danego problemu może tkwić właśnie w "trudności"tego podprogramu. Niech L 1 i L 2 będą językami nad alfabetem {0, 1} oraz niech L 1 transformuje się do L 2 w sensie transformacji wielomianowej Turinga. Poniższe dwa zdania są prawdziwe: L 1 P L 2 P, L 2 P L 1 P? Należy zauważyć, że transformacja z problemu L 1 do L 2 nie wskazuje złożoności problemu L 2. Dodatkowo, jeśli L 1 P to problem ten transformuje się w sensie Turinga do każdego problemu decyzyjnego czyli można rozwiązać L 1 w ogóle nie odwołując się do wyroczni. W drugim zdaniu problem L 1 można rozwiązać, stosując rozwiązanie problemu L 2 jako podprogram. Złożoność czasowa tego rozwiązania będzie określona od góry przez złożenie dwóch wielomianów czego wynikiem jest również wielomian. V1.0 18/ 51

10 Transformacja wielomianowa w sensie Turinga Transformacja wielomianowa w sensie Turinga Transformacja wielomianowa w sensie Turinga wyznacza preporządek na językach zawartych w {0, 1}, co zostanie oznaczone symbolem T. Zachodzi np.: L 1 P L 2 L 1 T L 2 Na maszynie z wyrocznią wykonać redukcję wielomianową (typu Karpa), po czym odwołać się do wyroczni i w zależności od jej odpowiedzi przejść do stanu akceptującego lub odrzucającego. V1.0 19/ 51 Transformacja wielomianowa w sensie Turinga Definicja zupełności Definicja zupełności Niech C będzie pewną klasą złożoności, natomiast preporządkiem określonym na językach zawartych w {0, 1} (w domyśle jedną ze zdefiniowanych wcześniej rodzin transformacji). Mówimy, że problem decyzyjny L {0, 1} jest C-zupełny w sensie preporządku wtedy i tylko wtedy, gdy: L C, L CL L. Można powiedzieć (co jest rozumiane w prost/intuicyjnie) że problem C- zupełny jest najtrudniejszym do rozwiązania problemem w klasie złożoności C. Należy zaznaczyć, że może istnieć (i zazwyczaj istnieje) więcej niż jeden problem C-zupełny. Problemy te są równoważne w sensie zastosowanej relacji preporządku. V1.0 20/ 51

11 Transformacja wielomianowa w sensie Turinga Definicja zupełności i klasa P Problemami P-zupełnymi są wszystkie problemy reprezentowane przez nietrywialne języki (o języku mówi się iż jest nietrywialny, jeśli jest niepusty i różny od zbioru wszystkich słów nad danym alfabetem). Transformacja języka L 1 P do nietrywialnego języka L 2 P polega na rozwiązaniu problemu L 1, a następnie - w zależności od tego, czy obliczenie jest akceptujące, czy też nie - na wypisaniu jednej z dwóch ustalonych wcześniej instancji problemu L 2, z których pierwsza należy do L 2, a druga nie należy do języka L 2. P-zupełność Okazuje się iż definicja P-zupełności nie jest zbyt interesująca w kontekście transformacji w sensie Turinga, w tym przypadku ważniejsze są transformacje logarytmiczne. Jednakże problemy P-zupełne są problemami, które nie są łatwe do zrównoleglenia. V1.0 21/ 51 V1.0 22/ 51

12 Klasa NP Twierdzenie o klasie NP Klasa NP i problemy NP-zupełne to ważne oraz niestety nadal nierozwiązane problemy we współczesnej informatyce. Twierdzenie klasa NP Niech L {0, 1}, L NP p(x) wielomian L P n N w {0,1} n[w L ( v {0,1} p(n) w, v L )]. Krótkie wyjaśnienie: słowo v nazywane jest świadkiem słowa w. Wymagane jest, żeby każde słowo należące do języka L miało świadka o długości wielomianowej, natomiast żadne słowo spoza L takiego świadka nie miało. Co więcej - jest wymagane, aby sprawdzanie, czy v jest świadkiem słowa w było wykonywane w czasie wielomianowym na maszynie deterministycznej, dlatego klasę NP zwykło się nazywać klasą problemów weryfikowalnych w czasie wielomianowym. V1.0 23/ 51 Klasa NP Szkic dowodu: W stronę dowód jest prosty - skonstruujemy niedeterministyczną maszynę Turinga, rozwiązującą problem L. Maszyna ta najpierw przesunie głowicę za słowo wejściowe, przez następne p(n) kroków będzie wypisywać na taśmę symbole 0 lub 1 (tu jest stosowany niedeterminizm) i przesuwać głowicę w prawo. Od tego momentu maszyna będzie działać całkowicie deterministycznie przesunie się na początek taśmy i zacznie się zachowywać jak deterministyczna maszyna rozwiązująca problem L w czasie wielomianowym. Jeżeli dla słowa wejściowego w istnieje świadek, to zostanie on wygenerowany przez jedną ze ścieżek postępowania w etapie niedeterministycznym. W przeciwnym przypadku wszyscy kandydaci na świadków zostaną odrzuceni przez maszynę rozwiązującą L. V1.0 24/ 51

13 Klasa NP Szkic dowodu cd: Należy teraz udowodnić przejście w drugą stronę ( ). Skoro L NP, to istnieje niedeterministyczna maszyna Turinga M rozstrzygająca problem L. Niech k oznacza maksymalny stopień rozgałęzienia maszyny M: k := max #d(s, q), (s,q) Σ Q czyli największą liczbę rozgałęzień, która może się dokonać w jednym kroku. Łatwo zauważyć, że istnieje równoważna maszyna M co najwyżej (k 1)- krotnie wolniejsza (a zatem nadal wielomianowa) o maksymalnym stopniu rozgałęzienia równym 2. Co łatwo pokazać na poniższym rysunku: k 1... V1.0 25/ 51 Klasa NP Szkic dowodu cd: Należy teraz przejść do maszyny M. Jej czas działania zostanie oznaczony jako W (n); w związku z tym maszyna dla słowa wielkości n wykona co najwyżej W (n) rozgałęzień. Każda ścieżka postępowania maszyny M jest zatem zdefiniowana poprzez ciąg W (n) bitów mówiących, która spośród co najwyżej dwóch dostępnych ścieżek została wybrana. Jako kandydatów na świadków wybierzmy zatem ciągi {0, 1} W (n), świadkiem natomiast niech będzie ciąg reprezentujący akceptującą ścieżkę postępowania maszyny M - jeśli taka istnieje. Wystarczy w tym momencie wskazać deterministyczna maszynę Turinga N, rozpoznającą język L czyli weryfikującą dla pary słów w, v, czy v jest świadkiem dla w. Maszyna taka jest prosta do skonstruowania w następujący sposób: maszyna N najpierw przepisuje v na taśmę pomocniczą, po czym wraca na głównej taśmie do początku słowa w, maszyna N zachowuje się podobnie jak maszyna M ; w przypadku, gdy maszyna ma do wyboru dwie opcje, N sięga po kolejny dostępny bit taśmy pomocniczej i na jego podstawie wybiera ścieżkę postępowania. Łatwo zauważyć, że M akceptuje słowo w wtedy i tylko wtedy, gdy istnieje świadek, który spowoduje, że maszyna N dojdzie do stanu akceptującego. V1.0 26/ 51

14 Klasa NP komentarz Twierdzenie o klasie NP komentarz Przytoczone twierdzenie wskazuje, że maszyna rozwiązująca problem z klasy NP najpierw odgaduje świadka, a potem weryfikuje go w deterministyczny sposób w czasie wielomianowym. Trzeba jednak pamiętać, że maszyna w rzeczywistości nie źgaduje- zamiast tego sprawdza się wszystkich możliwych świadków. Tak sformułowane twierdzenie o klasie NP, pozwala na wprowadzenie następujących klas oznaczonych jako NPC, NPC L i NPC T klasy problemów NP-zupełnych w sensie odpowiednio transformacji wielomianowej Karpa, transformacji logarytmicznej i transformacji wielomianowej Turinga. Możliwe jest określenie relacji zawierania pomiędzy tymi klasami: NPC L NPC NPC T. Biorąc dowolny problem z NPC L, wiadomo, że można do niego przekształcić każdy problem z NP z użyciem transformacji logarytmicznej. Wiadomo także, że redukowalność logarytmiczna implikuje redukowalność wielomianową; rozpatrywany problem należy zatem do klasy NPC. Analogiczne rozumowanie można zastosować do uzasadnienia drugiej inkluzji. Niestety, nie wiadomo, czy pomiędzy jakąś parą klas zachodzi równość. V1.0 27/ 51 Problem SAT Problem SAT Kilka słów przypomnienia o logice: literałem nazywamy zmienną lub jej negację, klauzulą nazywamy alternatywę skończonej liczby literałów, formuła logiczna jest w koniunkcyjnej postaci normalnej wtedy i tylko wtedy, gdy jest koniunkcją skończonej liczby klauzul. Przykładem formuły w koniunkcyjnej postaci normalnej jest poniższa formuła: (x 1 x 2 x 3 ) (x 2 x 3 ) ( x 1 x 4 ). Formuła jest spełnialna wtedy i tylko wtedy gdy istnieje wartościowanie zmiennych, dla których ta formuła jest spełniona. Dla powyższej formuły jednym z wartościowań, dla których jest ona spełniona, jest wartościowanie przypisujące zmiennym x 1, x 2, x 3, x 4 odpowiednio wartości 0, 1, 1, 0; w związku z tym powyższa formuła jest spełnialna. V1.0 28/ 51

15 Problem SAT Problem SAT Niech w {0, 1}. Wtedy w SAT reprezentuje poprawnie zakodowaną formułę logiczną w koniunkcyjnej postaci normalnej oraz formuła ta jest spelnialna. Można pokazać że problem SAT przynależy do klasy NP odnosząc się bezpośrednio do definicji klasy NP i pojęcia świadka. Co doprowadza do następującego twierdzenia: Twierdzenie Cook a-lewina Problem SAT jest NP-zupełny w sensie redukcji logarytmicznej. Szkic dowodu: Wiedząc, że SAT NP. Do pokazania pozostaje fakt, że L NP L L SAT. Weźmy zatem dowolny język L NP. Korzystając z udowodnionego wcześniej twierdzenia wiadomo, że istnieje p(n) - wielomian określający długość świadka - oraz wielomianowy program dla deterministycznej maszyny Turinga, weryfikujący świadka - jego czas działania to Q(n). V1.0 29/ 51 Problem SAT Problem SAT Szkic dowodu cd: Zakłada się bez straty ogólności, że program ten kontynuuje działanie po dojściu do stanu akceptującego i pozostaje w tym stanie niezależnie od symbolu pod głowicą. Jako, że wejściem programu weryfikującego jest konkatenacja słowa wejściowego i świadka, górnym ograniczeniem na czas jego działania w zależności od wielkości wejścia jest wyrażenie T (n) := Q(p(n) + n) i jest to ograniczenie wielomianowe. Główne zadanie to takie przekształcenie słowa wejściowego w w formułę logiczną, aby formuła była spełnialna wtedy i tylko wtedy, gdy w L. Szczegóły opisu postaci formuł znajdują np.: na Ważniaku. Ogólnie oczekuje, by w chwili początkowej na taśmie znalazło się słowo wejściowe oraz świadek, który zostanie poddany weryfikacji, Na koniec wymaga się, aby po T (n) krokach program znajdował się w stanie akceptującym (mógł się w nim znaleźć wcześniej, jednak wcześniej założono, że maszyna zatrzyma się w tym stanie, więc wystarczy, jeśli sprawdzimy w chwili T(n). Z problemem SAT związane są poprzez redukcje problemy: 3SAT, MAXSAT. V1.0 30/ 51

16 Pokrycie wierzchołkowe Pokrycie wierzchołkowe Dla grafu nieskierowanego G = (V, E) mówimy, że podzbiór V V jest pokryciem wierzchołkowym, jeśli każda krawędź w G ma co najmniej jeden z końców w zbiorze V. Twierdzenie Problem pokrycia wierzchołkowego (ang. NODE COVER) jest NP-zupełny. Szkic dowodu: Dla podanego podzbioru zbioru wierzchołków bardzo łatwo sprawdzić, czy stanowi on pokrycie, zatem NODE COVER NP. Problem 3SAT można zredukować do NODE COVER. Na wejściu dla formuły φ = C 1... C m, zakłada się, że każda alternatywa C j zawiera dokładnie 3 różne literały. Konstruujemy graf następujący: każde wystąpienie literału jest wierzchołkiem grafu, wystąpienia wewnątrz jednej klauzuli tworzą trójkąt. Ponadto, dla każdej pary literałów przeciwnych występujących w różnych klauzulach odpowiadające im wierzchołki łączymy krawędzią. V1.0 31/ 51 Pokrycie wierzchołkowe Pokrycie wierzchołkowe Szkic dowodu cd: Co łatwo pokazać na rysunku: (x2 x3 x4)(x1 x2 x3)( x1 x2 x4)(x1 x2 x4) x4 x3 x4 x4 x2 x3 x1 x2 x1 x2 x1 x2 Teraz należy wykazać, że formuła wejsciowa jest spełnialna wtedy i tylko wtedy, gdy wygenerowany graf ma pokrycie wierzchołkowe o liczności k. Z ograniczenia na wielkość pokrycia wynika, że z każdego trójkąta do pokrycia muszą być wybrane dokładnie dwa wierzchołki. Jeśli formuła jest spełnialna, to w każdym trójkącie wyróżnia się jeden wierzchołek v odpowiadający literałowi równemu 1. Do pokrycia wybieramy pozostałe dwa wierzchołki. Pokrywają one wszystkie krawędzie trójkątów oraz wychodzące z tych wierzchołków krawędzie między trójkątami. Każda pozostała krawędź, wychodząca z wierzchołka v, prowadzi do pewnego wierzchołka w odpowiadającego zaprzeczeniu literału wierzchołka v, zatem literał wierzchołka w ma wartość zero i w jest wybrane do pokrycia w trójkącie, w którym występuje. Zatem krawędź (v, w) też jest pokryta. V1.0 32/ 51

17 Pokrycie wierzchołkowe Szkic dowodu cd: W drugą stronę, załóżmy, że dane jest pokrycie. W każdym trójkącie, dla wierzchołka, który nie jest w pokryciu, ustawiamy wartość odpowiedniej zmiennej tak, aby literał w tym wierzchołku był równy 1. Należy zauważyć, że takie wartościowanie jest niesprzeczne. Wynika to stąd, że przeciwne literały zawsze odpowiadają dwóm wierzchołkom z różnych trójkątów połączonych krawędzią. Co najmniej jeden z tych wierzchołków jest w pokryciu, a więc odpowiadający mu literał nie bierze udziału w obliczaniu wartościowania. Zauważmy, że tak jak i poprzednio, do realizacji redukcji wystarczy pamięć robocza rzędu n, co kończy dowód. V1.0 33/ 51 Dla grafu nieskierowanego G = (V, E) mówimy, że G ma cykl Hamiltona, czyli cykl przechodzący przez każdy wierzchołek dokładnie raz. Twierdzenie CYKL HAMILTONA jest NP-zupełny. Szkic dowodu: Przynależność do klasy NP jest łatwa (względnie) do udowodnienia. Należy zająć się konstrukcją redukcji z problemu NODE COVER. Na wejściu mamy nieskierowany graf G = (V, E) oraz liczbę całkowitą k V. Oznaczmy graf wynikowy jako G = (V, E ). Redukcja przeprowadzona jest techniką gadżetu (stosuje się również termin widget). Gadżet to fragment struktury wynikowej o określonych własnościach. W naszym przypadku pierwszym krokiem redukcji jest wygenerowanie, dla każdej krawędzi (u, v) E, gadżetu G uv = (V uv, E uv ) będącego grafem przedstawionym na rysunku pokazanym dalej. V1.0 34/ 51

18 Szkic dowodu cd: [u, v, 1] [u, v, 2] [u, v, 3] [u, v, 4] [u, v, 5] [u, v, 6] G uv [v, u, 1] [v, u, 2] [v, u, 3] [v, u, 4] [v, u, 5] [v, u, 6] Jedynie narożne wierzchołki grafu G uv będą połączone z wierzchołkami spoza G uv. Stąd wynika, że jeśli G ma cykl Hamiltona, to musi on przechodzić przez G uv tylko na jeden z przedstawionych na rysunku sposobów. Konstrukcja gadżetu uniemożliwia inne usytuowanie cyklu Hamiltona względem G uv niż pokazane na rysunku na następnym slajdzie. V1.0 35/ 51 Szkic dowodu cd: Drugi krok redukcji to wygenerowanie krawędzi w G łączących gadżety w tak zwane ścieżki. Dla każdego wierzchołka v V najpierw porządkujemy dowolnie wszystkie jego sąsiednie wierzchołki, oznaczmy je przez uv 1,..., uv d(v), gdzie d(v) jest stopniem wierzchołka v. Konstrukcja ścieżki odpowiadającej wierzchołkowi v, łączącej wszystkie gadżety odpowiadające krawędziom incydentnym z v, dokonuje się przez dołączenie do G zbioru krawędzi postaci E v = {([v, u i v, 6], [v, u i+1 v, 1]), i = 1,..., d(v) 1}. V1.0 36/ 51

19 Szkic dowodu cd: Ostatni krok to dodanie wierzchołków-selektorów s 1,..., s k, i połączenie krawędzią każdego selektora z początkiem i końcem ścieżki odpowiadającej wierzchołkowi v, dla każdego v. E S = {(s i, [v, u 1 v, 1]) : v V, 1 i k}{(s i, [v, u d v (v), 6]) : v V, 1 i k Definicja odpowiednich wierzchołków i krawędzi to: V = V uv {s j, 1 j k}, E = E uv E v E S. (uv) E (uv) E v V V1.0 37/ 51 Szkic dowodu cd: u w x y Gux Gwx Gwy Gxy s1 s2 Na rysunku pokazano graf o 4 wierzchołkach i rezultat redukcji. Pogrubione krawędzie tworzą cykl Hamiltona. Zaczynając od selektora s 1, przechodzi się do początku ścieżki odpowiadającej pierwszemu wierzchołkowi z pokrycia, czyli x. Po przejściu gadżetów na tej ścieżce wracamy do s 2, a stąd do początku ścieżki odpowiadającej drugiemu węzłowi z pokrycia, y. V1.0 38/ 51

20 Szkic dowodu cd: Należy teraz wykazać, że G ma cykl Hamiltona wtedy i tylko wtedy, gdy G ma pokrycie o liczności k. Zakłada się, że G ma cykl Hamiltona i należy prześledzić jego bieg, zaczynając od s 1. Następny wierzchołek na cyklu musi być początkiem (lub końcem - załóżmy to pierwsze) ścieżki gadżetów dla pewnego wierzchołka v 1 V. Dodajemy v 1 do generowanego pokrycia. Zgodnie z własnością gadżetu, cykl przebiega całą ścieżkę i na końcu przechodzi do innego selektora, załóżmy, że jest to s 2. Z s 2 musi przejść na początek lub koniec innej ścieżki, odpowiadającej wierzchołkowi v 2. Dodajemy v 2 do pokrycia i kontynuujemy. Z ostatniej, k-tej ścieżki, cykl musi wrócić do s 1. Ponieważ cykl Hamiltona przeszedł przez wszystkie wierzchołki G, a więc przez wszystkie gadżety G uv, zatem wybrane w ten sposób wierzchołki v 1,..., v k stanowią pokrycie. V1.0 39/ 51 Szkic dowodu cd: Teraz należy założyć, że G ma pokrycie {v 1,..., v k }. Konstruujemy cykl Hamiltona w G. Zaczynamy od selektora s 1 i przechodzimy na początek ścieżki związanej z v 1, czyli do węzła [v 1, uv 1 1, 1]. Przechodzimy przez kolejne gadżety aż do końca ścieżki. Dla danego gadżetu G v1uv i musimy podjąć decyzję, czy przechodzimy przez wszystkie wierzchołki, czy tylko przez połowę (jedną "ścianę"). Decyzja zależy od tego, czy 1 uv i 1 również należy do pokrycia. Jeśli nie, to przechodzimy cały gadżet; jeśli tak, to drugą "ścianę"pozostawiamy, aby później, gdy trawersowana będzie ścieżka dla uv i 1 również można było przejść przez G v1uv i. Z ostatniego węzła na ścieżce przechodzimy do selektora s 2 i powtarzamy konstrukcję. Z 1 ostatniego węzła na k-tej ścieżce wracamy do s 1, zamykając w ten sposób cykl Hamiltona. V1.0 40/ 51

21 Szkic dowodu cd: u w x y Gux Gwx Gwy Gxy s1 s2 Ostatnim krokiem dowodu jest stwierdzenie, że konstrukcję grafu G można wykonać, posługując się pamięcią roboczą rozmiaru logarytmicznego. Wynika to, jak i w poprzednich dowodach, z tego że maszynie wystarcza pamięć na licznik położenia w wejściowym grafie oraz licznik numeru (nazwy) generowanego wierzchołka i krawędzi grafu G. V1.0 41/ 51 Rodzina problemów NP-zupełnych Ze względu na przechodniość redukcji, można wskazać następujące redukcje przykładowych problemów NP-zupełnych: CLIQUE VERTEX-COVER SAT CNF-SAT 3SAT HAMPATH SUBSET-SUM UHAMPATH V1.0 42/ 51

22 Klasa NC Problemy P-zupełne i klasa NC V1.0 43/ 51 Klasa NC Klasa NC Klasa NC O algorytmie równoległym mówi się iż jest efektywny, jeśli działa w czasie polilogarytmicznym, na wielomianowej liczbie procesorów. Toteż o danym problemie mówi się, iż można go efektywnie zrównoleglić, jeśli ten problem posiada efektywny algorytm równoległy Klasa NC klasa Nicka Dla n 1 klasa N i to zbiór języków L takich, że L jest akceptowany przez jednostajną rodzinę układów logicznych rozmiaru wielomianowego i głębokości O(log i n). Przyjmuje się następujące oznaczenie NC = j>0 NC i. Zachodzą dwie poniższe relacje: NC 1 L oraz NL NC 2. V1.0 44/ 51

23 Klasa NC Własności klasy NC Własności klasy NC Twierdzenie NC P Zachodzi następująca relacja: NC P. Szkic dowodu: Dla zadanego języka L NC i należy najpierw wygenerować obwód W i, co można zrobić w pamięci logarytmicznej, co pociąga za sobą czas wielomianowym. Następnie wykonuje się symulację obwodu, rozpatrując jego bramki w porządku topologicznym. Bramek jest wielomianowa liczba należy też pod uwagę wziąć głębokość obwodu Twierdzenie Brenta. Sposób dostępu do pamięci wpływa na postać hierarchii złożoności w klasie NC: EREW (exclusive read/write): algorytmy, w których równoczesny dostęp do tej samej komórki pamięci nie jest dopuszczalny, CREW (concurrent read, exclusive write): dopuszczalny jest równoczesny odczyt z tej samej komórki, CRCW (concurrent read/write): dopuszczalny równoczesny odczyt oraz równoczesny zapis ale z synchroniczności modelu PRAM wynika, że nie jest możliwe, równoczesne czytanie oraz zapisywanie w tym samym czasie do tej samej komórki. V1.0 45/ 51 Klasa NC Własności klasy NC Własności klasy NC Niech EREW k oznacza zbiór języków akceptowanych przez maszynę EREW o wielomianowej liczbie procesorów i złożoności czasowej O(log k n). Analogiczne oznaczenia zostają wprowadzone dla modeli CREW i CRCW. Dodatkowo przez AC oznacza się wariant jednostajnych obwodów logicznych, w którym pominięto ograniczenie na stopień wejściowy bramki. Na przykład, alternatywa k bitów może być obliczana obwodem o głębokości 1. Klasa AC j to z definicji klasa języków akceptowanych przez takie obwody, o głębokości O(log j n). Należałoby też pokazać NC j EREW j, oraz że AC j NC j+1, j = 0, 1,.... Ważna i trudniejsza do udowodnienia jest trzecia własność: CRCW (log j n) = AC j. Z powyższych uwag otrzymuje się hierarchię klas złożoności równoległej. Dla wartości j = 1, 2, 3,...: NC j EREW j CREW j CRCW j AC j NC j+1. V1.0 46/ 51

24 Klasa NC P-zupełność P-zupełność Definicja problemu P-zupełnego jest następująca: Definicja P-zupełności Język L {0, 1} jest P-zupełny, jeśli L P oraz dla każdego języka L P istnieje redukcja logarytmiczna L L L. Redukcja logarytmiczna zachowuje złożoność równoległa, a związek pomiędzy redukcją logarytmiczną a przynależnością do klasy NC jest wyrażony w następujący sposób: Twierdzenie Jeśli Q 1 L Q 2 oraz Q 2 NC j, j 2, to Q 1 NC j. Szkic dowodu: Wystarczy zauważyć że złożenie dwóch algorytmów klasy NC j jest algorytmem klasy NC j. W tym momencie wystarczy skorzystać z faktu, że NL NC 2. V1.0 47/ 51 Klasa NC P-zupełność Dowodzenie P-zupełności Aby dowieść, że dany problem p jest P-zupełny, należy: wykazać, że p P, wybrać P-zupełny problem Q i zredukować go logarytmicznie do p. Wartościowanie obwodu logicznego (ang. circuit value) jest zazwyczaj podstawowym problemem P-zupełnym. Twierdzenie Problem CIRCUIT VALUE jest P-zupełny. Szkic dowodu: Dany jest język L P i deterministyczna MT oznaczona przez M rozpoznająca L w czasie wielomianowym. Należy skonstruować maszynę Turinga M, która dla zadanego słowa w {0, 1} wygeneruje obwód C(w) z ustalonymi wartościami bramek wejściowych taki, że M akceptuje w wtedy i tylko wtedy, gdy C(w) = 1. V1.0 48/ 51

25 Klasa NC P-zupełność Dowodzenie P-zupełności Szkic dowodu cd: Należy wykorzystać redukcję maszyny Turinga do obwodu logicznego,. Redukcja ta pokazuje, że maszyna Turinga działająca w czasie T (n) może być symulowana przez obwód logiczny o O(T 2 (n)) bramkach. Jednakże, należy wykazać, że obwód symulujący maszynę może być skonstruowany przez algorytm o logarytmicznej złożoności pamięciowej. Co znajduje potwierdzenie, że dla ustalonej M podukłady stosowane w redukcji są tej samej ustalonej postaci. Algorytm redukcji musi je wyprodukować w odpowiedniej ilości i połączyć w sieć, jednak to tej operacji wystarcza zliczaniem, czyli operacje na indeksach. W efekcie oznacza to problem wartościowania jest P-zupełny. V1.0 49/ 51 Klasa NC P-zupełność Dowodzenie P-zupełności Można również wykazać, że problem MONOTONE CIRCUIT VALUE gdzie nie dopuszcza się stosowania w obwodzie bramek negacji, również jest P-zupełny. Szkic dowodu: Należy zredukować problem CIRCUIT VALUE do MONO- TONE C.V. Za pomocą praw de Morgana można nie jako przesunąć wszystkie negacje w dół, aż do bramek wejściowych. Następnie bramki wejściowe, których następnikami są negacje, zamienić na przeciwne, dodając nowe, jeśli trzeba - gdy bramka wejściowa jest poprzednikiem dwóch bramek, przy czym dokładnie jedna z tych dwóch jest negacją. Zadanie to można zrealizować w pamięci logarytmicznej, bo wystarcza przeglądać listę bramek (dla każdej podane jest jej sąsiedztwo), a nie badać całej struktury obwodu jako grafu. Inny ważnym przykładem jest problem znajdowania maksymalnego przepływu, który jest P-zupełny i jest trudny zagadnieniem do zrównoleglenia (nie istnieją jak dotąd w pełni efektywne rozwiązania). V1.0 50/ 51

26 A za tydzień na wykładzie W następnym tygodniu między innymi 1. dopełniania klas 2. pamięć logarytmiczna, wielomianowa 3. klasy L,NL,coNL, cpnp, DP 4. hierarchia wielomianowa 5. maszyna alternująca 6. złożoność wykładnicza Dziękuje za uwagę!!! V1.0 51/ 51

Imię, nazwisko, nr indeksu

Imię, 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ółowo

Struktury 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 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ółowo

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

Algorytmy 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ółowo

Struktury 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 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ółowo

Matematyczne Podstawy Informatyki

Matematyczne 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ółowo

Algorytmy 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ść 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ółowo

Obliczenia inspirowane Naturą

Obliczenia 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ółowo

Lista 6 Problemy NP-zupełne

Lista 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ółowo

Efektywność Procedur Obliczeniowych. wykład 5

Efektywność 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ółowo

Maszyna Turinga języki

Maszyna 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ółowo

Logika 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 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ółowo

Teoria Złożoności Zadania

Teoria Złożoności Zadania Teoria Złożoności Zadania Łukasz Czajka 14 czerwca 2008 1 Spis treści 1 Zadanie 1 3 2 Zadanie 5 8 2 1 Zadanie 1 Niech A NP 1. Istnieje zatem jedno-taśmowa niedeterministyczna maszyna Turinga M o alfabecie

Bardziej szczegółowo

Teoria obliczeń i złożoność obliczeniowa

Teoria 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ółowo

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZŁ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ółowo

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

Modele 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ółowo

1 Automaty niedeterministyczne

1 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ółowo

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

Dopeł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ółowo

Hierarchia Chomsky ego Maszyna Turinga

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ółowo

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017

Logika Stosowana. Wykład 1 - Logika zdaniowa. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2016/2017 Logika Stosowana Wykład 1 - Logika zdaniowa Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2016/2017 Marcin Szczuka (MIMUW) Logika Stosowana 2017 1 / 30 Plan wykładu 1 Język

Bardziej szczegółowo

Reprezentacje grafów nieskierowanych Reprezentacje grafów skierowanych. Wykład 2. Reprezentacja komputerowa grafów

Reprezentacje 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ółowo

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ

Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki. Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 9. Koniunkcyjne postacie normalne i rezolucja w KRZ 1 Inferencyjna równoważność formuł Definicja 9.1. Formuła A jest

Bardziej szczegółowo

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

Metoda tabel semantycznych. Dedukcja drogi Watsonie, dedukcja... Definicja logicznej konsekwencji. Logika obliczeniowa. Plan Procedura decyzyjna Reguły α i β - algorytm Plan Procedura decyzyjna Reguły α i β - algorytm Logika obliczeniowa Instytut Informatyki 1 Procedura decyzyjna Logiczna konsekwencja Teoria aksjomatyzowalna

Bardziej szczegółowo

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY ERIAŁY DO WYKŁADU GRAFY Graf nieskierowany Grafem nieskierowanym nazywamy parę G = (V, E), gdzie V jest pewnym zbiorem skończonym (zwanym zbiorem wierzchołków grafu G), natomiast E jest zbiorem nieuporządkowanych

Bardziej szczegółowo

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

Zakł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ółowo

Języki formalne i automaty Ćwiczenia 9

Ję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ółowo

10110 =

10110 = 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ółowo

Matematyczne Podstawy Informatyki

Matematyczne 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ółowo

Topologia zbioru Cantora a obwody logiczne

Topologia 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ółowo

ZLOŻONOŚĆ OBLICZENIOWA - WYK. 2

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ółowo

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ KONWERSATORIUM 6: REZOLUCJA V rok kognitywistyki UAM 1 Kilka uwag terminologicznych Słuchacze zapewne pamiętają z zajęć dotyczących PROLOGu poniższą

Bardziej szczegółowo

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

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 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ółowo

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

Matematyczne 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ółowo

JAO - Wprowadzenie do Gramatyk bezkontekstowych

JAO - 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ółowo

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}

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} 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ółowo

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

Zł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ółowo

Typy 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 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ółowo

Zasada indukcji matematycznej

Zasada indukcji matematycznej Zasada indukcji matematycznej Twierdzenie 1 (Zasada indukcji matematycznej). Niech ϕ(n) będzie formą zdaniową zmiennej n N 0. Załóżmy, że istnieje n 0 N 0 takie, że 1. ϕ(n 0 ) jest zdaniem prawdziwym,.

Bardziej szczegółowo

Języki, automaty i obliczenia

Ję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ółowo

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych.

Przykłady grafów. Graf prosty, to graf bez pętli i bez krawędzi wielokrotnych. Grafy Graf Graf (ang. graph) to zbiór wierzchołków (ang. vertices), które mogą być połączone krawędziami (ang. edges) w taki sposób, że każda krawędź kończy się i zaczyna w którymś z wierzchołków. Graf

Bardziej szczegółowo

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń

Elementy logiki. Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń Elementy logiki Wojciech Buszkowski Wydział Matematyki i Informatyki UAM Zakład Teorii Obliczeń 1 Klasyczny Rachunek Zdań 1.1 Spójniki logiczne Zdaniem w sensie logicznym nazywamy wyrażenie, które jest

Bardziej szczegółowo

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

Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Algorytmy Równoległe i Rozproszone Część V - Model PRAM II Łukasz Kuszner pokój 209, WETI http://www.sphere.pl/ kuszner/ kuszner@sphere.pl Oficjalna strona wykładu http://www.sphere.pl/ kuszner/arir/ 2005/06

Bardziej szczegółowo

Sortowanie topologiczne skierowanych grafów acyklicznych

Sortowanie topologiczne skierowanych grafów acyklicznych Sortowanie topologiczne skierowanych grafów acyklicznych Metody boolowskie w informatyce Robert Sulkowski http://robert.brainusers.net 23 stycznia 2010 1 Definicja 1 (Cykl skierowany). Niech C = (V, A)

Bardziej szczegółowo

Struktury danych i złozoność obliczeniowa. Prof. dr hab. inż. Jan Magott

Struktury 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ółowo

Matematyka dyskretna

Matematyka dyskretna Matematyka dyskretna Wykład 13: Teoria Grafów Gniewomir Sarbicki Literatura R.J. Wilson Wprowadzenie do teorii grafów Definicja: Grafem (skończonym, nieskierowanym) G nazywamy parę zbiorów (V (G), E(G)),

Bardziej szczegółowo

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

Poró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ółowo

LOGIKA I TEORIA ZBIORÓW

LOGIKA I TEORIA ZBIORÓW LOGIKA I TEORIA ZBIORÓW Logika Logika jest nauką zajmującą się zdaniami Z punktu widzenia logiki istotne jest, czy dane zdanie jest prawdziwe, czy nie Nie jest natomiast istotne o czym to zdanie mówi Definicja

Bardziej szczegółowo

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

Struktura 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ółowo

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

Zł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ółowo

Języki, automaty i obliczenia

Ję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ółowo

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

Wykład z równań różnicowych Wykład z równań różnicowych 1 Wiadomości wstępne Umówmy się, że na czas tego wykładu zrezygnujemy z oznaczania n-tego wyrazu ciągu symbolem typu x n, y n itp. Zamiast tego pisać będziemy x (n), y (n) itp.

Bardziej szczegółowo

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

ZŁ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ółowo

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie

Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Algorytm Dijkstry znajdowania najkrótszej ścieżki w grafie Używane struktury danych: V - zbiór wierzchołków grafu, V = {1,2,3...,n} E - zbiór krawędzi grafu, E = {(i,j),...}, gdzie i, j Î V i istnieje

Bardziej szczegółowo

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA

WYŻSZA SZKOŁA INFORMATYKI STOSOWANEJ I ZARZĄDZANIA DROGI i CYKLE w grafach Dla grafu (nieskierowanego) G = ( V, E ) drogą z wierzchołka v 0 V do v t V nazywamy ciąg (naprzemienny) wierzchołków i krawędzi grafu: ( v 0, e, v, e,..., v t, e t, v t ), spełniający

Bardziej szczegółowo

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

Logika Stosowana. Wykład 2 - Logika modalna Część 3. Marcin Szczuka. Instytut Informatyki UW. Wykład monograficzny, semestr letni 2017/2018 Logika Stosowana Wykład 2 - Logika modalna Część 3 Marcin Szczuka Instytut Informatyki UW Wykład monograficzny, semestr letni 2017/2018 Marcin Szczuka (MIMUW) Logika Stosowana 2018 1 / 36 Plan wykładu

Bardziej szczegółowo

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

KATEDRA 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ółowo

0 + 0 = 0, = 1, = 1, = 0.

0 + 0 = 0, = 1, = 1, = 0. 5 Kody liniowe Jak już wiemy, w celu przesłania zakodowanego tekstu dzielimy go na bloki i do każdego z bloków dodajemy tak zwane bity sprawdzające. Bity te są w ścisłej zależności z bitami informacyjnymi,

Bardziej szczegółowo

Kolorowanie wierzchołków Kolorowanie krawędzi Kolorowanie regionów i map. Wykład 8. Kolorowanie

Kolorowanie 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ółowo

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

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 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ółowo

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM.

Problem decyzyjny naley do klasy NP. (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM. WYKŁAD : Teoria NP-zupełnoci. Problem decyzyjny naley do klasy P (Polynomial), jeeli moe by rozwizany w czasie conajwyej wielomianowym przez algorytm A dla DTM. (przynaleno ta jest zachowana równie dla

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE 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ółowo

Metoda Tablic Semantycznych

Metoda Tablic Semantycznych Procedura Plan Reguły Algorytm Logika obliczeniowa Instytut Informatyki Plan Procedura Reguły 1 Procedura decyzyjna Logiczna równoważność formuł Logiczna konsekwencja Procedura decyzyjna 2 Reguły α, β,

Bardziej szczegółowo

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

Wstęp do Techniki Cyfrowej... Teoria automatów Wstęp do Techniki Cyfrowej... Teoria automatów Alfabety i litery Układ logiczny opisywany jest przez wektory, których wartości reprezentowane są przez ciągi kombinacji zerojedynkowych. Zwiększenie stopnia

Bardziej szczegółowo

Obliczenia inspirowane Naturą

Obliczenia 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ółowo

Podstawowe własności grafów. Wykład 3. Własności grafów

Podstawowe własności grafów. Wykład 3. Własności grafów Wykład 3. Własności grafów 1 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2). 2 / 87 Suma grafów Niech będą dane grafy proste G 1 = (V 1, E 1) oraz G 2 = (V 2, E 2).

Bardziej szczegółowo

Języki, automaty i obliczenia

Ję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ółowo

1. Wykład NWD, NWW i algorytm Euklidesa.

1. Wykład NWD, NWW i algorytm Euklidesa. 1.1. NWD, NWW i algorytm Euklidesa. 1. Wykład 1 Twierdzenie 1.1 (o dzieleniu z resztą). Niech a, b Z, b 0. Wówczas istnieje dokładnie jedna para liczb całkowitych q, r Z taka, że a = qb + r oraz 0 r< b.

Bardziej szczegółowo

KURS MATEMATYKA DYSKRETNA

KURS MATEMATYKA DYSKRETNA KURS MATEMATYKA DYSKRETNA LEKCJA 28 Grafy hamiltonowskie ZADANIE DOMOWE www.akademia.etrapez.pl Strona 1 Część 1: TEST Zaznacz poprawną odpowiedź (tylko jedna jest prawdziwa). Pytanie 1 Drogę nazywamy

Bardziej szczegółowo

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu.

Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. Andrzej Wiśniewski Logika I Materiały do wykładu dla studentów kognitywistyki Wykład 11a. Składnia języka Klasycznego Rachunku Predykatów. Języki pierwszego rzędu. 1 Logika Klasyczna obejmuje dwie teorie:

Bardziej szczegółowo

Badania 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 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ółowo

Wykład z Technologii Informacyjnych. Piotr Mika

Wykład z Technologii Informacyjnych. Piotr Mika Wykład z Technologii Informacyjnych Piotr Mika Uniwersalna forma graficznego zapisu algorytmów Schemat blokowy zbiór bloków, powiązanych ze sobą liniami zorientowanymi. Jest to rodzaj grafu, którego węzły

Bardziej szczegółowo

Języki formalne i automaty Ćwiczenia 7

Ję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ółowo

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II

Drzewa spinające MST dla grafów ważonych Maksymalne drzewo spinające Drzewo Steinera. Wykład 6. Drzewa cz. II Wykład 6. Drzewa cz. II 1 / 65 drzewa spinające Drzewa spinające Zliczanie drzew spinających Drzewo T nazywamy drzewem rozpinającym (spinającym) (lub dendrytem) spójnego grafu G, jeżeli jest podgrafem

Bardziej szczegółowo

Wprowadzenie do maszyny Turinga

Wprowadzenie 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ółowo

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x

(4) x (y z) = (x y) (x z), x (y z) = (x y) (x z), (3) x (x y) = x, x (x y) = x, (2) x 0 = x, x 1 = x 2. Wykład 2: algebry Boole a, kraty i drzewa. 2.1. Algebra Boole a. 1 Ważnym dla nas przykładem algebr są algebry Boole a, czyli algebry B = (B,,,, 0, 1) typu (2, 2, 1, 0, 0) spełniające własności: (1)

Bardziej szczegółowo

Matematyczna 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ń 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ółowo

Metody Programowania

Metody Programowania POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Metody Programowania www.pk.edu.pl/~zk/mp_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 8: Wyszukiwanie

Bardziej szczegółowo

Dystrybucje, wiadomości wstępne (I)

Dystrybucje, wiadomości wstępne (I) Temat 8 Dystrybucje, wiadomości wstępne (I) Wielkości fizyczne opisujemy najczęściej przyporządkowując im funkcje (np. zależne od czasu). Inną drogą opisu tych wielkości jest przyporządkowanie im funkcjonałów

Bardziej szczegółowo

Wykład 4. Określimy teraz pewną ważną klasę pierścieni.

Wykład 4. Określimy teraz pewną ważną klasę pierścieni. Wykład 4 Określimy teraz pewną ważną klasę pierścieni. Twierdzenie 1 Niech m, n Z. Jeśli n > 0 to istnieje dokładnie jedna para licz q, r, że: m = qn + r, 0 r < n. Liczbę r nazywamy resztą z dzielenia

Bardziej szczegółowo

PROBLEMY NIEROZSTRZYGALNE

PROBLEMY 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ółowo

Lista 0. Kamil Matuszewski 1 marca 2016

Lista 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ółowo

Arytmetyka liczb binarnych

Arytmetyka liczb binarnych Wartość dwójkowej liczby stałoprzecinkowej Wartość dziesiętna stałoprzecinkowej liczby binarnej Arytmetyka liczb binarnych b n-1...b 1 b 0,b -1 b -2...b -m = b n-1 2 n-1 +... + b 1 2 1 + b 0 2 0 + b -1

Bardziej szczegółowo

Algorytmiczna teoria grafów

Algorytmiczna 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ółowo

domykanie relacji, relacja równoważności, rozkłady zbiorów

domykanie relacji, relacja równoważności, rozkłady zbiorów 1 of 8 2012-03-28 17:45 Logika i teoria mnogości/wykład 5: Para uporządkowana iloczyn kartezjański relacje domykanie relacji relacja równoważności rozkłady zbiorów From Studia Informatyczne < Logika i

Bardziej szczegółowo

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

(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ółowo

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Teoria grafów podstawy. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Teoria grafów podstawy Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Grafy zorientowane i niezorientowane Przykład 1 Dwa pociągi i jeden most problem wzajemnego wykluczania się Dwa

Bardziej szczegółowo

Wprowadzenie do złożoności obliczeniowej

Wprowadzenie 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

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych

Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych Elementy logiki: Algebra Boole a i układy logiczne 1 Elementy logiki dla informatyków Wykład III Elementy logiki. Algebra Boole a. Analiza i synteza układów logicznych Elementy logiki: Algebra Boole a

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /14

Matematyka dyskretna. Andrzej Łachwa, UJ, /14 Matematyka dyskretna Andrzej Łachwa, UJ, 2016 andrzej.lachwa@uj.edu.pl 13/14 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami

Bardziej szczegółowo

LX Olimpiada Matematyczna

LX Olimpiada Matematyczna LX Olimpiada Matematyczna Rozwiązania zadań konkursowych zawodów stopnia drugiego 13 lutego 2009 r. (pierwszy dzień zawodów) Zadanie 1. Liczby rzeczywiste a 1, a 2,..., a n (n 2) spełniają warunek a 1

Bardziej szczegółowo

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich. Pojęcia podstawowe c.d. Rachunek podziałów Elementy teorii grafów Klasy zgodności Rachunek podziałów i elementy teorii grafów będą stosowane w procedurach redukcji argumentów i dekompozycji funkcji boolowskich.

Bardziej szczegółowo

Elementy teorii grafów Elementy teorii grafów

Elementy teorii grafów Elementy teorii grafów Spis tresci 1 Spis tresci 1 Często w zagadnieniach praktycznych rozważa się pewien zbiór obiektów wraz z zależnościami jakie łączą te obiekty. Dla przykładu można badać pewną grupę ludzi oraz strukturę

Bardziej szczegółowo

TEORETYCZNE PODSTAWY INFORMATYKI

TEORETYCZNE PODSTAWY INFORMATYKI 1 TEORETYCZNE PODSTAWY INFORMATYKI WFAiS UJ, Informatyka Stosowana I rok studiów, I stopień Wykład 14c 2 Definicje indukcyjne Twierdzenia dowodzone przez indukcje Definicje indukcyjne Definicja drzewa

Bardziej szczegółowo

Schematy Piramid Logicznych

Schematy Piramid Logicznych Schematy Piramid Logicznych geometryczna interpretacja niektórych formuł Paweł Jasionowski Politechnika Śląska w Gliwicach Wydział Matematyczno-Fizyczny Streszczenie Referat zajmuje się następującym zagadnieniem:

Bardziej szczegółowo

Elementy logiki i teorii mnogości

Elementy logiki i teorii mnogości Elementy logiki i teorii mnogości Zdanie logiczne Zdanie logiczne jest to zdanie oznajmujące, któremu można przypisać określoną wartość logiczną. W logice klasycznej zdania dzielimy na: prawdziwe (przypisujemy

Bardziej szczegółowo

Lista 4. Kamil Matuszewski 22 marca 2016

Lista 4. Kamil Matuszewski 22 marca 2016 Lista 4 Kamil Matuszewski 22 marca 2016 1 2 3 4 5 6 7 8 9 10 Zadanie 2 Ułóż algorytm który dla danego n-wierzchołkowego drzewa i liczby k pokoloruje jak najwięcej wierzchołków tak, by na każdej ścieżce

Bardziej szczegółowo

Algorytmika Problemów Trudnych

Algorytmika Problemów Trudnych Algorytmika Problemów Trudnych Wykład 9 Tomasz Krawczyk krawczyk@tcs.uj.edu.pl Kraków, semestr letni 2016/17 plan wykładu Algorytmy aproksymacyjne: Pojęcie algorytmu aproksymacyjnego i współczynnika aproksymowalności.

Bardziej szczegółowo

Problemy optymalizacyjne - zastosowania

Problemy optymalizacyjne - zastosowania Problemy optymalizacyjne - zastosowania www.qed.pl/ai/nai2003 PLAN WYKŁADU Zło ono obliczeniowa - przypomnienie Problemy NP-zupełne klika jest NP-trudna inne problemy NP-trudne Inne zadania optymalizacyjne

Bardziej szczegółowo

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak

Indukcja. Materiały pomocnicze do wykładu. wykładowca: dr Magdalena Kacprzak Indukcja Materiały pomocnicze do wykładu wykładowca: dr Magdalena Kacprzak Charakteryzacja zbioru liczb naturalnych Arytmetyka liczb naturalnych Jedną z najważniejszych teorii matematycznych jest arytmetyka

Bardziej szczegółowo

PRZEWODNIK PO PRZEDMIOCIE

PRZEWODNIK PO PRZEDMIOCIE Nazwa przedmiotu: I KARTA PRZEDMIOTU CEL PRZEDMIOTU PRZEWODNIK PO PRZEDMIOCIE C1. Podniesienie poziomu wiedzy studentów z zagadnień dotyczących analizy i syntezy algorytmów z uwzględnieniem efektywności

Bardziej szczegółowo

Matematyka dyskretna. Andrzej Łachwa, UJ, /15

Matematyka dyskretna. Andrzej Łachwa, UJ, /15 Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 14/15 Grafy podstawowe definicje Graf to para G=(V, E), gdzie V to niepusty i skończony zbiór, którego elementy nazywamy wierzchołkami

Bardziej szczegółowo