Złożoność obliczeniowa

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

Tabu Search (Poszukiwanie z zakazami)

Adam Meissner SZTUCZNA INTELIGENCJA Problem spełnialności (SAT)

Imię, nazwisko, nr indeksu

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

Lista 6 Problemy NP-zupełne

Wykład 10 i 11. Logiczni agenci. w oparciu o: S. Russel, P. Norvig. Artificial Intelligence. A Modern Approach. Logiczni agenci (4g)

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

Wprowadzenie do złożoności obliczeniowej

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

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

Algorytm wspinaczkowy dla zadania k-sat

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

Teoria Złożoności Zadania

METODY DOWODZENIA TWIERDZEŃ I AUTOMATYZACJA ROZUMOWAŃ

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

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

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

Metody Programowania

PRZEDMOWA Od autora [manifest]

Metody dowodzenia twierdzeń i automatyzacja rozumowań Tabele syntetyczne: definicje i twierdzenia

Rozstrzygalność logiki modalnej

Trudność aproksymacji problemów NP-trudnych

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

Języki, automaty i obliczenia

Badania operacyjne: Wykład Zastosowanie kolorowania grafów w planowaniu produkcji typu no-idle

Algorytmy i Struktury Danych.

Zadanie 4 Zadanie 5 Zadanie 6. Repetytorium z JFiZO. Jakub Michaliszyn 25 maja 2017

Problemy z ograniczeniami

SID Wykład 5 Wnioskowanie w rachunku zdań

Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:

Problemy optymalizacyjne - zastosowania

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

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

Praktyczne metody weryfikacji. Wykład 9: Weryfikacja ograniczona.. p.1/40

Wstęp do programowania

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

Automatyczne dowodzenie twierdzeń metodą rezolucji

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

Wstęp do programowania. Listy. Piotr Chrząstowski-Wachtel

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

III rok kognitywistyki UAM,

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

ZŁOŻONOŚĆ OBLICZENIOWA ALGORYTMÓW

Algorytm Chaitin a. Problem kolorowania grafu. Krzysztof Lewandowski Mirosław Jedynak

Sortowanie topologiczne skierowanych grafów acyklicznych

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

ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI

Automatyczne planowanie oparte na sprawdzaniu spełnialności

Zadania z egzaminów z Algorytmiki

Logika Matematyczna (10)

Tomasz M. Gwizdałła 2012/13

10110 =

METODY OPTYMALIZACJI. Tomasz M. Gwizdałła 2018/19

Zadania obliczeniowe, algorytmy i złożoność obliczeniowa

Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

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

10. Kolorowanie wierzchołków grafu

Siedem cudów informatyki czyli o algorytmach zdumiewajacych

Złożoność obliczeniowa klasycznych problemów grafowych

Znajdowanie skojarzeń na maszynie równoległej

Zadania z egzaminów z Algorytmiki

Programowanie w logice Wykład z baz danych dla

Zaawansowane algorytmy i struktury danych

Wprowadzenie do złożoności obliczeniowej

Szeregowanie zadań. Wykład nr 3. dr Hanna Furmańczyk

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

Składnia rachunku predykatów pierwszego rzędu

Sztuczna Inteligencja i Systemy Doradcze

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

Inteligencja obliczeniowa Laboratorium 2: Algorytmy genetyczne

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

Lekcja 3: Elementy logiki - Rachunek zdań

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

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

Programowanie w Logice Przykłady programów. Przemysław Kobylański

Metody Rozmyte i Algorytmy Ewolucyjne

Wprowadzenie do Sztucznej Inteligencji

Jak wnioskują maszyny?

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

Logiki modalne. notatki z seminarium. Piotr Polesiuk

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

Wstęp do programowania. Różne różności

Minimalizacja funkcji boolowskich

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

Wstęp do sieci neuronowych, wykład 02 Perceptrony c.d. Maszyna liniowa.

9. Schematy aproksymacyjne

PROBLEMY NIEROZSTRZYGALNE

Minimalne drzewa rozpinające

III rok kognitywistyki UAM,

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

Wstęp do Programowania potok funkcyjny

Analiza algorytmów zadania podstawowe

TEORIA GRAFÓW I SIECI

1. Składnia. Logika obliczeniowa - zadania 1 SKŁADNIA Teoria

Krzysztof Jakubczyk. Zadanie 2

Rachunek predykatów. Formuły rachunku predykatów. Plan wykładu. Relacje i predykaty - przykłady. Relacje i predykaty

Algorytmy parametryzowane i umiarkowanie wykładnicze ćwiczenia 1

Transkrypt:

Złożoność obliczeniowa Jakub Michaliszyn 26 kwietnia 2017

Są problemy rozstrzygalne i nierozstrzygalne

Są problemy rozstrzygalne i nierozstrzygalne Jak rozwiązywać te, które są rozstrzygalne?

Są problemy rozstrzygalne i nierozstrzygalne Jak rozwiązywać te, które są rozstrzygalne? Załóżmy, że mamy algorytm działający w czasie 2 2n cykli procesora- jak szybko on policzy coś dla mojego nazwiska?

Są problemy rozstrzygalne i nierozstrzygalne Jak rozwiązywać te, które są rozstrzygalne? Załóżmy, że mamy algorytm działający w czasie 2 2n cykli procesora- jak szybko on policzy coś dla mojego nazwiska? 2 2 Michaliszyn = 2 2048

Są problemy rozstrzygalne i nierozstrzygalne Jak rozwiązywać te, które są rozstrzygalne? Załóżmy, że mamy algorytm działający w czasie 2 2n cykli procesora- jak szybko on policzy coś dla mojego nazwiska? 2 2 Michaliszyn = 2 2048

Wiemy, jak liczyć złożoność algorytmu. Ale jak liczyć złożoność problemu?

Czemu redukcje REK były fajne?

Czemu redukcje REK były fajne? Zwrotne, przechodnie stanowiły praporządek.

Czemu redukcje REK były fajne? Zwrotne, przechodnie stanowiły praporządek. Dzięki nim, mogliśmy rozważać klasy problemów. Było ich kilka.

Wymyślmy redukcję dla złożoności obliczeniowej.

Wymyślmy redukcję dla złożoności obliczeniowej. Przypomnienie: A REK B wtedy i tylko wtedy, gdy istnieje dobra funkcja f taka, że f (x) B wtedy i tylko wtedy, gdy x A.

A P B wtedy i tylko wtedy, gdy istnieje obliczalna w czasie wielomianowym funkcja f taka, że f (x) B wtedy i tylko wtedy, gdy x A.

A P B wtedy i tylko wtedy, gdy istnieje obliczalna w czasie wielomianowym funkcja f taka, że f (x) B wtedy i tylko wtedy, gdy x A. P jest zwrotna i przechodnia

Olbrzymi świat, wiele ciekawych, otwartych problemów...

3SAT P 3COL

3SAT Zmienne boolowskie: p, q, r...

3SAT Zmienne boolowskie: p, q, r... Literały: zmienna lub zmienna zanegowana.

3SAT Zmienne boolowskie: p, q, r... Literały: zmienna lub zmienna zanegowana. Klauzula: alternatywa literałów.

3SAT Zmienne boolowskie: p, q, r... Literały: zmienna lub zmienna zanegowana. Klauzula: alternatywa literałów. Formuła w CNF: koniunkcja klauzul.

3SAT Zmienne boolowskie: p, q, r... Literały: zmienna lub zmienna zanegowana. Klauzula: alternatywa literałów. Formuła w CNF: koniunkcja klauzul. Formuła w 3CNF: koniunkcja klauzul zawierający dokładnie trzy literały.

3SAT Zmienne boolowskie: p, q, r... Literały: zmienna lub zmienna zanegowana. Klauzula: alternatywa literałów. Formuła w CNF: koniunkcja klauzul. Formuła w 3CNF: koniunkcja klauzul zawierający dokładnie trzy literały. 3SAT: czy dana formuła w 3CNF jest spełnialna?

3SAT Zmienne boolowskie: p, q, r... Literały: zmienna lub zmienna zanegowana. Klauzula: alternatywa literałów. Formuła w CNF: koniunkcja klauzul. Formuła w 3CNF: koniunkcja klauzul zawierający dokładnie trzy literały. 3SAT: czy dana formuła w 3CNF jest spełnialna? Jak trudny jest 3SAT?

3SAT Zmienne boolowskie: p, q, r... Literały: zmienna lub zmienna zanegowana. Klauzula: alternatywa literałów. Formuła w CNF: koniunkcja klauzul. Formuła w 3CNF: koniunkcja klauzul zawierający dokładnie trzy literały. 3SAT: czy dana formuła w 3CNF jest spełnialna? Jak trudny jest 3SAT? O(1.439 n )

3COL Wejście: graf nieskierowany.

3COL Wejście: graf nieskierowany. Pytanie: czy można pokolorować jego wierzchołki tak, by każdy miał kolor czerwony, niebieski lub zielony, ale żadna krawędź nie łączyła dwóch wierzchołków tego samego koloru?

3SAT P 3COL

3COL P 3SAT

Kim są mieszkańcy naszego nowego wspaniałego świata? P

Kim są mieszkańcy naszego nowego wspaniałego świata? P NP

Kim są mieszkańcy naszego nowego wspaniałego świata? P NP PSPACE (=NPSPACE)

Kim są mieszkańcy naszego nowego wspaniałego świata? P NP PSPACE (=NPSPACE) EXPTIME

Kim są mieszkańcy naszego nowego wspaniałego świata? P NP PSPACE (=NPSPACE) EXPTIME NEXPTIME

Kim są mieszkańcy naszego nowego wspaniałego świata? P NP PSPACE (=NPSPACE) EXPTIME NEXPTIME EXPSPACE (generalnie tragedia)

3SAT jest NP-zupełny

Sat Solvery1

Jak wybrać właściwy? Różne możliwości Różne licencje Konkursy

DPLL (m.in. Chaff, GRASP, Glusoce) sat_solve() if preprocess() = CONFLICT then return UNSAT; while TRUE do if not decide-next-branch() then return SAT; while deduce() = CONFLICT do blevel := analyze-conflict(); if blevel=0 then return UNSAT; backtrack(blevel); done; done;

Jak reprezentuje się wejście? c Example CNF format c typ problemu zmienne klauzule p cnf 4 3 1 3-4 0-3 0 3 0

Stochastic local search algorithms, WalkSAT sat_solve(n) s := initial_valuation(); repeat n times if s satisfies the formula return SAT; s := flip(s); done; return UNSAT; done;

Demonstracja