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

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

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

Algorytmy Równoległe i Rozproszone Część II - Sieci porównujące

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

Lista 6 Problemy NP-zupełne

Efektywność Procedur Obliczeniowych. wykład 5

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

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

Obliczenia inspirowane Naturą

Imię, nazwisko, nr indeksu

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

Języki, automaty i obliczenia

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

Zasady analizy algorytmów

ZLOŻONOŚĆ OBLICZENIOWA - WYK. 2

Algorytmika Problemów Trudnych

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

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

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

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Topologia zbioru Cantora a obwody logiczne

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

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

Digraf. 13 maja 2017

Języki, automaty i obliczenia

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

Języki, automaty i obliczenia

Maszyna Turinga języki

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

Złożoność obliczeniowa wybranych problemów szeregowania zadań jednostkowych na równoległych procesorach

Hierarchia Chomsky ego Maszyna Turinga

Sortowanie topologiczne skierowanych grafów acyklicznych

Matematyczne Podstawy Informatyki

1 Automaty niedeterministyczne

Wstęp do programowania

PROBLEMY NIEROZSTRZYGALNE

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

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

Graf. Definicja marca / 1

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

Lista 0. Kamil Matuszewski 1 marca 2016

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

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

Spacery losowe generowanie realizacji procesu losowego

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

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

Algorytmy asymetryczne

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

Korzystając z własności metryki łatwo wykazać, że dla dowolnych x, y, z X zachodzi

Algorytmy dynamiczne. Piotr Sankowski. - p. 1/14

10110 =

komputery? Andrzej Skowron, Hung Son Nguyen Instytut Matematyki, Wydział MIM, UW

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

xx + x = 1, to y = Jeśli x = 0, to y = 0 Przykładowy układ Funkcja przykładowego układu Metody poszukiwania testów Porównanie tabel prawdy

Złożoność problemów. 1 ruch na sekundę czas wykonania ok lat 1 mln ruchów na sekundę czas wykonania ok.

Prawdopodobieństwo i statystyka

O ISTOTNYCH OGRANICZENIACH METODY

Wykład na Politechnice Krakowskiej w dniu 18 stycznia 2012 r. ZADAŃ I ALGORYTMÓW W OPTYMALIZACJI DYSKRETNEJ

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

OBLICZALNOŚĆ I NIEOBLICZALNOŚĆ

Problem P = NP. albo czy informacja może. biec na skróty

Zadania do Rozdziału X

JAO - Wprowadzenie do Gramatyk bezkontekstowych

Struktury formalne, czyli elementy Teorii Modeli

Rozwiązywanie zależności rekurencyjnych metodą równania charakterystycznego

Iteracyjne rozwiązywanie równań

Matematyka dyskretna

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

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

PRZEWODNIK PO PRZEDMIOCIE

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}

Ciągłość funkcji f : R R

Złożoność obliczeniowa

Kombinatoryczne problemy optymalizacyjne to problemy wyboru najlepszego rozwiązania z pewnego zbioru rozwiązań

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

Informacja o przestrzeniach Sobolewa

Granica funkcji wykład 4

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

Siedem cudów informatyki czyli o algorytmach zdumiewajacych

Teoria automatów i języków formalnych. Określenie relacji

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

Równania liniowe. Rozdział Przekształcenia liniowe. Niech X oraz Y będą dwiema niepustymi przestrzeniami wektorowymi nad ciałem

Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne

Logarytmy. Funkcje logarytmiczna i wykładnicza. Równania i nierówności wykładnicze i logarytmiczne.

Języki formalne i automaty Ćwiczenia 7

III. Funkcje rzeczywiste

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

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Problemy Decyzyjne dla Systemów Nieskończonych

Problem zakleszczenia

Wyrażenia regularne.

Granice funkcji-pojęcie pochodnej

Matematyczne Podstawy Informatyki

MATEMATYKA DYSKRETNA - MATERIAŁY DO WYKŁADU GRAFY

Dowód pierwszego twierdzenia Gödela o. Kołmogorowa

Teoretyczne podstawy informatyki

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

G. Wybrane elementy teorii grafów

3 Abstrakcyjne kompleksy symplicjalne.

Algorytmy aproksymacyjne i parametryzowane

Transkrypt:

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/ kuszner/arir/ Wykład 15 godzin, Projekt 15 godzin 2006/07 Strona 1 z 18

1. Boolowskie układy kombinacyjne (o takich będziemy mówić) są formalnym modelem dla układów logicznych. Układ reprezentujemy za pomocą digrafu, w którym krawędzie przenoszą jednokierunkowy sygnał logiczny a wierzchołki obliczają elementarne funkcje logiczne. Strona 2 z 18

1. Boolowskie układy kombinacyjne (o takich będziemy mówić) są formalnym modelem dla układów logicznych. Układ reprezentujemy za pomocą digrafu, w którym krawędzie przenoszą jednokierunkowy sygnał logiczny a wierzchołki obliczają elementarne funkcje logiczne. Strona 2 z 18

Niech B k = {f f : {0, 1} k {0, 1}} będzie zbiorem k argumentowych funkcji logicznych. Strona 3 z 18

Niech B k = {f f : {0, 1} k {0, 1}} będzie zbiorem k argumentowych funkcji logicznych. Przez Boolowski układ kombinacyjny, lub w skrócie układ kombinacyjny, rozumiemy etykietowany, skończony, acykliczny graf skierowany, w którym każdy z wierzchołków jest: wejściem, jeśli jego stopień wejściowy jest 0, Strona 3 z 18

Niech B k = {f f : {0, 1} k {0, 1}} będzie zbiorem k argumentowych funkcji logicznych. Przez Boolowski układ kombinacyjny, lub w skrócie układ kombinacyjny, rozumiemy etykietowany, skończony, acykliczny graf skierowany, w którym każdy z wierzchołków jest: wejściem, jeśli jego stopień wejściowy jest 0, wyjściem, jeśli jego stopień wyjściowy jest 0, Strona 3 z 18

Niech B k = {f f : {0, 1} k {0, 1}} będzie zbiorem k argumentowych funkcji logicznych. Przez Boolowski układ kombinacyjny, lub w skrócie układ kombinacyjny, rozumiemy etykietowany, skończony, acykliczny graf skierowany, w którym każdy z wierzchołków jest: wejściem, jeśli jego stopień wejściowy jest 0, wyjściem, jeśli jego stopień wyjściowy jest 0, bramką, jeśli jest funkcją typu B 1 lub B 2. Wierzchołek typu B i musi mieć stopień wejściowy (indeg) równy i, natomiast stopień wyjściowy (outdeg) nie jest ograniczony. Strona 3 z 18

Zauważmy, że: wejścia i bramki mogą być jednocześnie wyjściami, Strona 4 z 18

Zauważmy, że: wejścia i bramki mogą być jednocześnie wyjściami, układ kombinacyjny oblicza funkcję f : {0, 1} n {0, 1} m, gdzie n jest liczbą wejść, a m liczbą wyjść w układzie. Interesującymi nas wielkościami będą rozmiar i głębokość układu. Rozmiarem układu α, nazywamy liczbę jego wierzchołków size(α). Strona 4 z 18

Zauważmy, że: wejścia i bramki mogą być jednocześnie wyjściami, układ kombinacyjny oblicza funkcję f : {0, 1} n {0, 1} m, gdzie n jest liczbą wejść, a m liczbą wyjść w układzie. Interesującymi nas wielkościami będą rozmiar i głębokość układu. Rozmiarem układu α, nazywamy liczbę jego wierzchołków size(α). Głębokością układu α, nazywamy długość (liczbę krawędzi) najdłuższej ścieżki od wejścia do wyjścia w α i oznaczamy depth(α). Strona 4 z 18

2. Uwagi do przyjętych założeń Dopuszczenie bramek o dowolnie dużej liczbie wyjść może się wydawać nierealistyczne, jednak pokazano, że ograniczenie liczby wyjść powoduje jedynie albo liniowy wzrost rozmiaru albo głębokości układu. Strona 5 z 18

2. Uwagi do przyjętych założeń Dopuszczenie bramek o dowolnie dużej liczbie wyjść może się wydawać nierealistyczne, jednak pokazano, że ograniczenie liczby wyjść powoduje jedynie albo liniowy wzrost rozmiaru albo głębokości układu. Dopuszczenie bramek o nieograniczonym rozmiarze wejścia może zmniejszyć głębokość układu o czynnik log log size ale za cenę wielomianowego zwiększenia rozmiaru (wtedy za rozmiar przyjmuje się liczbę krawędzi w układzie) lub pozwala skonstruować układ o głębokości 2 (korzystając z potraci kanonicznych) jednak za cenę wykładniczego wzrostu rozmiaru. Strona 5 z 18

2. Uwagi do przyjętych założeń Dopuszczenie bramek o dowolnie dużej liczbie wyjść może się wydawać nierealistyczne, jednak pokazano, że ograniczenie liczby wyjść powoduje jedynie albo liniowy wzrost rozmiaru albo głębokości układu. Dopuszczenie bramek o nieograniczonym rozmiarze wejścia może zmniejszyć głębokość układu o czynnik log log size ale za cenę wielomianowego zwiększenia rozmiaru (wtedy za rozmiar przyjmuje się liczbę krawędzi w układzie) lub pozwala skonstruować układ o głębokości 2 (korzystając z potraci kanonicznych) jednak za cenę wykładniczego wzrostu rozmiaru. Z drugiej strony konwersja układu z bramkami o nieograniczonej liczbie wejść do układu w przedstawionym modelu może spowodować kwadratowy wzrost rozmiaru i wzrost głębokości o czynnik proporcjonalny do log size. Strona 5 z 18

3. kombinacyjnych Pojedynczy układ oblicza nam funkcje logiczne o zadanym rozmiarze wejścia. Nie jest do sytuacja do jakiej jesteśmy przyzwyczajenie myśląc o algorytmach i obliczeniach. Jeden algorytm powinien rozwiązywać problem bez względu na rozmiar wejścia. Również rozmiar danych wyjściowych nie jest stały. Tę sytuację modelujemy funkcją f α : {0, 1} {0, 1} i nieskończonym zbiorem układów {α n }, w którym układ α n oblicza funkcję f α : {0, 1} n {0, 1} m(n), gdzie m(n) jest największym rozmiarem wyjścia dla danych o rozmiarze n. Strona 6 z 18

3.1. Opis układów kombinacyjnych Jeśli nie ograniczymy sposobów definiowania rodzin układów możemy definiować bardzo dziwne układy, które np. rozwiązują problemy nierozwiązywalne. (zob. LtPC str. 31). Dlatego ograniczamy możliwość definiowania układów do takich, które dają się szybko obliczyć. Strona 7 z 18

Kodem standardowym α n dla układu α nazywamy unikalny ciąg ze zbioru {0, 1} definiowany w sposób jednoznaczny dla układu α n (zob. LtPC str. 29). Strona 8 z 18

Kodem standardowym α n dla układu α nazywamy unikalny ciąg ze zbioru {0, 1} definiowany w sposób jednoznaczny dla układu α n (zob. LtPC str. 29). Definicja 1 Rodzinę układów kombinacyjnych {α n } nazywamy jednorodną, jeśli przekształcenie 1 n α n może być obliczone na deterministycznej maszynie Turinga o złożoności pamięciowej O(log size(α n )). Strona 8 z 18

Przypadek, w którym funkcja m(n) = 1 jest użyteczny dla definiowania języków formalnych. Definicja 2 Niech {α n } oblicza funkcję f α : {0, 1} {0, 1} Językiem rozpoznawanym przez rodzinę układów α n nazywamy zbiór L α = {x {0, 1} f α (x) = 1}. Strona 9 z 18

Definicja 3 Dla każdego k 1 klasą NC k nazywamy zbiór wszystkich języków rozpoznawanych przez jednorodną rodzinę {α n } o rozmiarze size(α n ) = n O(1) i głębokości size(α n ) = O(log k n) Strona 10 z 18

Definicja 3 Dla każdego k 1 klasą NC k nazywamy zbiór wszystkich języków rozpoznawanych przez jednorodną rodzinę {α n } o rozmiarze size(α n ) = n O(1) i głębokości size(α n ) = O(log k n) Definicja 4 Klasą NC nazywamy zbiór NC = NC k k 1 Podobnie jak klasy języków definiujemy FNC k jako klasy funkcji z {0, 1} w {0, 1} obliczalnych przez układy o głębokości O(log k n) Celem powyższych definicji jest możliwość rozróżnienia problemów dla których możemy znaleźć dobre, równoległe rozwiązanie i takich, dla których takiego rozwiązania prawdopodobnie nie ma. Strona 10 z 18

Definicja 5 Klasą P nazywamy zbiór wszystkich języków rozpoznawanych przez jednorodną rodzinę {α n } o rozmiarze size(α n ) = n O(1) i głębokości depth(α n ) = n O(1). Podobnie definiujemy FP jako klasę funkcji z {0, 1} w {0, 1} obliczalnych przez układy o głębokości n O(1). Strona 11 z 18

4. 4.1. typu wiele-do-jeden Definicja 6 Niech L, L będą językami, piszemy L m L, jeśli istnieje funkcja f taka, że x L wtedy i tylko wtedy, gdy f(x) L. Podobnie: L P m L, jeśli f FP L NCk m L NC m L, jeśli f FNC k L, jeśli f FNC Twierdzenie 1 Relacje m, P m, NCk m, L NC m,są przechodnie. Ćwiczenie 1 Udowodnij twierdzenie 1. Strona 12 z 18

4.2. z wyrocznią Definicja 7 Niech B będzie problemem optymalizacyjnym. Rodzinę układów kombinacyjnych α n nazywamy rodziną układów z B wyrocznią, jeśli α n jest układem wyposażonym dodatkowe w bramki typu wyrocznia dla B, które potrafią udzielać odpowiedzi na instancję problemu B. Jeśli bramka wyrocznia ma k wejść i l wyjść, to jej rozmiar liczymy jako k + l, a głębokość jako lg(k + l). Strona 13 z 18

Definicja 8 Niech B, B będą problemami optymalizacyjnymi. Zachodzi B NCk T B, wtedy i tylko wtedy, gdy istnieje jednorodna rodzina B wyroczni {α n }, która rozwiązuje B taka, że size(α n ) = n O(1) oraz depth(α n ) = log k n. Definicja 9 Niech B, B będą problemami optymalizacyjnymi. Zachodzi B NC T B, wtedy i tylko wtedy, gdy istnieje k, takie że B NCk T B. Strona 14 z 18

5. - czy NC P? Definicja 10 Problem optymalizacyjny B jest P-trudny, jeśli L NC T B dla wszystkich języków L P. Problem decyzyjny B jest FP-zupełny, jeśli B FP i B jest P-trudny. W sposób analogiczny definiujemy języki P-trudne i P-zupełne Ćwiczenie 2 Podaj odpowiednie definicje dla języków P-trudnych i P-zupełnych. Strona 15 z 18

Definicja 11 Problem GMSP (ang. generic machine simulation problem). Mając dane: opis maszyny Turinga M, oraz ciąg wejściowy t kodowany unarnie; stwierdzić, czy M akceptuje t. Twierdzenie 2 Problem symulacji maszyny Turinga jest P- -zupełny. Dowód opiera się na dwóch faktach: Symulacja maszyny Turinga jest problemem wielomianowym Jeśli umiemy symulować działanie dowolnej maszyny Turinga, to tym bardziej jednej szczególnej. Strona 16 z 18

Nie jest to oczywiście żadna rewelacja, podobnym problemem zupełnym w teorii NP zupełności byłoby symulowanie niedeterministycznej maszyny RAM na maszynie deterministycznej. Udało się jednak udowodnić P-zupełność innego problemu, co można porównać z dowodem NP-zupełności problemu 3SAT. Definicja 12 Problem CVP (ang. Circuit Value Problem) Mając dane: kod α układu α, wejścia x 1, x 2,..., x n i wyróżnioną bramkę y; wyznaczyć wyjście wyróżnionej bramki. Twierdzenie 3 Problem CVP jest P -zupełny. Strona 17 z 18

Strona 18 z 18