Siedem cudów informatyki czyli o algorytmach zdumiewajacych
|
|
- Maciej Kowalczyk
- 8 lat temu
- Przeglądów:
Transkrypt
1 Siedem cudów informatyki czyli o algorytmach zdumiewajacych Łukasz Kowalik kowalik@mimuw.edu.pl Instytut Informatyki Uniwersytet Warszawski Łukasz Kowalik, Siedem cudów informatyki p. 1/25
2 Problem 1: mnożenie Łukasz Kowalik, Siedem cudów informatyki p. 2/25
3 Problem 1: mnożenie Łukasz Kowalik, Siedem cudów informatyki p. 2/25
4 Problem 1: mnożenie Łukasz Kowalik, Siedem cudów informatyki p. 2/25
5 Problem 1: mnożenie Łukasz Kowalik, Siedem cudów informatyki p. 2/25
6 Problem 1: mnożenie Łukasz Kowalik, Siedem cudów informatyki p. 2/25
7 Problem 1: mnożenie Łukasz Kowalik, Siedem cudów informatyki p. 2/25
8 Problem 1: mnożenie Łukasz Kowalik, Siedem cudów informatyki p. 2/25
9 Problem 1: mnożenie Łukasz Kowalik, Siedem cudów informatyki p. 2/25
10 Problem 1: mnożenie Łukasz Kowalik, Siedem cudów informatyki p. 2/25
11 Problem 1: mnożenie liczba n-cyfrowa liczba m-cyfrowa Wykonuje się m (n + 1) mnożeń oraz (m 1) (n 1) dodawań. Łukasz Kowalik, Siedem cudów informatyki p. 2/25
12 Czas działania algorytmu Wniosek: Szkolny algorytm mnożenia liczby n-cyfrowej przez liczbę m-cyfrowa działa w czasie O(mn). Łukasz Kowalik, Siedem cudów informatyki p. 3/25
13 Czas działania algorytmu Wniosek: Szkolny algorytm mnożenia liczby n-cyfrowej przez liczbę m-cyfrowa działa w czasie O(mn). Pytanie: Czy można lepiej? Tzn. szybciej? Łukasz Kowalik, Siedem cudów informatyki p. 3/25
14 Trochę arytmetyki... Niech a, b będa liczbami 2n-cyfrowymi. Przedstawimy liczby a i b w następujacej postaci: a = 10 n a 1 + a 2, b = 10 n b 1 + b 2, gdzie a 1, a 2, b 1, b 2 maja po n cyfr. Wtedy: ab = (10 n a 1 + a 2 ) (10 n b 1 + b 2 ) = 10 2n a 1 b n (a 1 b 2 + a 2 b 1 ) + a 2 b 2. Mnożenie przez 10 k zajmuje czas O(k). Mamy też 3 operacje dodawania i 4 operacje mnożenia. Łukasz Kowalik, Siedem cudów informatyki p. 4/25
15 Dziel i zwyciężaj: próba 1 a, b maja n = 2 k cyfr. if a i b maja po 1 cyfrze then return a b else a 1 a div 10 n/2 ; a 2 a mod 10 n/2 b 1 b div 10 n/2 ; b 2 a mod 10 n/2 X ILOCZYN (a 1, b 1 ); Y ILOCZYN (a 2, b 1 ) Z ILOCZYN (a 1, b 2 ); V ILOCZYN (a 2, b 2 ) return 10 2n X + 10 n (Y + Z) + V. procedure ILOCZYN(a,b) Łukasz Kowalik, Siedem cudów informatyki p. 5/25
16 Więcej arytmetyki... Wtedy: a = 10 n a 1 + a 2, b = 10 n b 1 + b 2, 10 2n a 1 b n a 1 b n (a 1 a 2 ) (b 2 b 1 )+ +10 n a 2 b 2 +a 2 b 2 = Łukasz Kowalik, Siedem cudów informatyki p. 6/25
17 Więcej arytmetyki... Wtedy: a = 10 n a 1 + a 2, b = 10 n b 1 + b 2, 10 2n a 1 b n a 1 b n (a 1 a 2 ) (b 2 b 1 )+ +10 n a 2 b 2 +a 2 b 2 = 10 2n a 1 b n a 1 b n a 1 b 2 10 n a 1 b 1 10 n a 2 b n a 2 b n a 2 b 2 + a 2 b 2 = Łukasz Kowalik, Siedem cudów informatyki p. 6/25
18 Więcej arytmetyki... Wtedy: a = 10 n a 1 + a 2, b = 10 n b 1 + b 2, 10 2n a 1 b n a 1 b n (a 1 a 2 ) (b 2 b 1 )+ +10 n a 2 b 2 +a 2 b 2 = 10 2n a 1 b n a 1 b n a 1 b 2 10 n a 1 b 1 10 n a 2 b n a 2 b n a 2 b 2 + a 2 b 2 = = 10 2n a 1 b n a 1 b n a 2 b 1 + a 2 b 2 = ab. Łukasz Kowalik, Siedem cudów informatyki p. 6/25
19 Więcej arytmetyki... Wtedy: a = 10 n a 1 + a 2, b = 10 n b 1 + b 2, 10 2n a 1 b n a 1 b n (a 1 a 2 ) (b 2 b 1 )+ +10 n a 2 b 2 +a 2 b 2 = 10 2n a 1 b n a 1 b n a 1 b 2 10 n a 1 b 1 10 n a 2 b n a 2 b n a 2 b 2 + a 2 b 2 = = 10 2n a 1 b n a 1 b n a 2 b 1 + a 2 b 2 = ab. 3 mnożenia Łukasz Kowalik, Siedem cudów informatyki p. 6/25
20 Więcej arytmetyki... Wtedy: a = 10 n a 1 + a 2, b = 10 n b 1 + b 2, 10 2n a 1 b n a 1 b n (a 1 a 2 ) (b 2 b 1 )+ +10 n a 2 b 2 +a 2 b 2 = 10 2n a 1 b n a 1 b n a 1 b 2 10 n a 1 b 1 10 n a 2 b n a 2 b n a 2 b 2 + a 2 b 2 = = 10 2n a 1 b n a 1 b n a 2 b 1 + a 2 b 2 = ab. 3 mnożenia, 6 dodawań/odejmowań Łukasz Kowalik, Siedem cudów informatyki p. 6/25
21 Dziel i zwyciężaj: próba 2 a, b maja n = 2 k cyfr. if a i b maja po 1 cyfrze then return a b else a 1 a div 10 n/2 ; a 2 a mod 10 n/2 b 1 b div 10 n/2 ; b 2 a mod 10 n/2 X ILOCZYN (a 1, b 1 ) Y ILOCZYN (a 1 a 2, b 2 b 1 ) Z ILOCZYN (a 2, b 2 ) return 10 2n X + 10 n X + 10 n Y + 10 n Z + Z. procedure ILOCZYN(a,b) Łukasz Kowalik, Siedem cudów informatyki p. 7/25
22 Dziel i zwyciężaj: próba 2 Wniosek: Nowy algorytm mnoży dwie liczby n-cyfrowe w czasie O(n log 2 3 ) = O(n 1,585 ). Przypomnijmy: Algorytm szkolny robi to w czasie O(n 2 ). Łukasz Kowalik, Siedem cudów informatyki p. 8/25
23 Dziel i zwyciężaj: próba 2 Wniosek: Nowy algorytm mnoży dwie liczby n-cyfrowe w czasie O(n log 2 3 ) = O(n 1,585 ). Przypomnijmy: Algorytm szkolny robi to w czasie O(n 2 ). Twierdzenie Można uzyskać czas O(n log n log log n). Łukasz Kowalik, Siedem cudów informatyki p. 8/25
24 Dziel i zwyciężaj: próba 2 Wniosek: Nowy algorytm mnoży dwie liczby n-cyfrowe w czasie O(n log 2 3 ) = O(n 1,585 ). Przypomnijmy: Algorytm szkolny robi to w czasie O(n 2 ). Twierdzenie Można uzyskać czas O(n log n log log n). Uwaga. Stosujac podobne tricki można mnożyć macierze n n w czasie lepszym niż O(n 3 ) np. algorytm Strassena O(n log 2 7 ) = O(n 2,81 ). Łukasz Kowalik, Siedem cudów informatyki p. 8/25
25 Skierowany cykl Eulera Dane: Graf skierowany G. Problem: Znaleźć cykl, który zawiera każda krawędź dokładnie raz. Łukasz Kowalik, Siedem cudów informatyki p. 9/25
26 Skierowany cykl Eulera Dane: Graf skierowany G. Problem: Znaleźć cykl, który zawiera każda krawędź dokładnie raz. Łukasz Kowalik, Siedem cudów informatyki p. 9/25
27 Skierowany cykl Eulera Fakt: Taki cykl istnieje wtedy i tylko wtedy gdy: (1) do każdego wierzchołka wchodzi tyle samo krawędzi co z niego wychodzi, (2) po zignorowaniu kierunków krawędzi istnieje ścieżka łacz aca dowolne dwa wierzchołki (spójność). Łukasz Kowalik, Siedem cudów informatyki p. 10/25
28 Algorytm 1. wybierz dowolny wierzchołek. Oznaczmy go przez v. v Łukasz Kowalik, Siedem cudów informatyki p. 11/25
29 Algorytm 2. Odwróć krawędzie. v Łukasz Kowalik, Siedem cudów informatyki p. 12/25
30 Algorytm 2. Odwróć krawędzie. v Łukasz Kowalik, Siedem cudów informatyki p. 12/25
31 Algorytm 3. Wyjdź z v i znajdź ścieżki do innych wierzchołków ale tak, żeby nigdy nie wchodzić do już odwiedzonego wierzchołka. Krawędzie tych ścieżek pomalujemy na zielono. v Łukasz Kowalik, Siedem cudów informatyki p. 13/25
32 Algorytm 4. Ponownie odwróć krawędzie. v Łukasz Kowalik, Siedem cudów informatyki p. 14/25
33 Algorytm 4. Ponownie odwróć krawędzie. v Łukasz Kowalik, Siedem cudów informatyki p. 14/25
34 Algorytm 5. Znajdź cykl: wyjdź z v i idź na oślep, wybierajac zielona krawędź tylko gdy nie ma innego wyjścia. v Łukasz Kowalik, Siedem cudów informatyki p. 15/25
35 Algorytm 5. Znajdź cykl: wyjdź z v i idź na oślep, wybierajac zielona krawędź tylko gdy nie ma innego wyjścia. v Łukasz Kowalik, Siedem cudów informatyki p. 15/25
36 Operacja ściagania krawędzi Łukasz Kowalik, Siedem cudów informatyki p. 16/25
37 Minory Graf H jest minorem G, gdy możemy otrzymać H poprzez usuwanie wierzchołków i krawędzi, ściaganie krawędzi. Łukasz Kowalik, Siedem cudów informatyki p. 17/25
38 Minory Mówimy też, że G zawiera H jako minor oraz G zawiera podgraf ściągalny do H. Fakt 1 Rodzina grafów planarnych jest zamknięta ze względu na branie minorów. Łukasz Kowalik, Siedem cudów informatyki p. 18/25
39 Twierdzenie Kuratowskiego Twierdzenie (Kuratowski) Graf jest planarny wtedy i tylko wtedy gdy nie zawiera K 5 ani K 3,3 jako minora. K 5 K 3,3 Łukasz Kowalik, Siedem cudów informatyki p. 19/25
40 Pytanie Erdősa Pytanie (Erdős 1930) Czy tw. Kuratowskiego można uogólnić na inne powierzchnie? Dla pewnych powierzchni (np. tzw. płaszczyzna rzutowa) udało się znaleźć takie zbiory. Ale np. dla torusa jak dotad nie. Pytanie (Erdős 1930). Czy dla każdej powierzchni istnieje skończony zbiór zabronionych minorów? Łukasz Kowalik, Siedem cudów informatyki p. 20/25
41 Grafowe Twierdzenie o Minorach Twierdzenie (Robertson, Seymour ) Każdy nieskończony zbiór grafów skończonych zawiera takie dwa grafy, że jeden jest minorem drugiego. Łukasz Kowalik, Siedem cudów informatyki p. 21/25
42 Wniosek z GTM Wniosek. Dowolna własność grafowa P G zamknięta na branie minorów może być wyrażona przez skończony zbiór zabronionych minorów. Tymczasem... Dla dowolnej powierzchni S zbiór grafów, które można narysować na S bez przecięć krawędzi jest zamknięty na branie minorów. Łukasz Kowalik, Siedem cudów informatyki p. 22/25
43 GTM i algorytmy Twierdzenie (Robertson & Seymour). Dla każdego ustalonego grafu H istnieje algorytm, który dla dowolnego n-wierzchołkowego grafu G sprawdzi w czasie O(n 3 ) czy H jest minorem G. Łukasz Kowalik, Siedem cudów informatyki p. 23/25
44 Rysowanie grafów na torusie Wniosek: Istnieje algorytm o złożoności O(n 3 ), który sprawdzi, czy dany graf można narysować na torusie. Łukasz Kowalik, Siedem cudów informatyki p. 24/25
45 Inny problem Czy dany graf G można umieścić w przestrzeni 3D tak żeby każdy jego cykl był węzłem prostym? Oto przykłady węzłów, które nie sa proste (nie da się ich rozplatać aby dostać okrag). Łukasz Kowalik, Siedem cudów informatyki p. 25/25
46 Inny problem Czy dany graf G można umieścić w przestrzeni 3D tak żeby każdy jego cykl był węzłem prostym? Takie grafy sa zamknięte na branie minorów. Wniosek: Dla naszego problemu istnieje algorytm o czasie O(n 3 ). Ale... Nie znamy takiego algorytmu! Co więcej, nie znamy ŻADNEGO algorytmu, który rozwiazuje ten problem. Łukasz Kowalik, Siedem cudów informatyki p. 25/25
Wprowadzenie Podstawy Fundamentalne twierdzenie Kolorowanie. Grafy planarne. Przemysław Gordinowicz. Instytut Matematyki, Politechnika Łódzka
Grafy planarne Przemysław Gordinowicz Instytut Matematyki, Politechnika Łódzka Grafy i ich zastosowania Wykład 12 Plan prezentacji 1 Wprowadzenie 2 Podstawy 3 Fundamentalne twierdzenie 4 Kolorowanie grafów
Grafy co o ich rysowaniu wiedzą przedszkolaki i co z tego wynika dla matematyków
Wykłady popularne z matematyki Grafy co o ich rysowaniu wiedzą przedszkolaki i co z tego wynika dla matematyków Joanna Jaszuńska Politechnika Warszawska, 6 maja 2010 Grafy Wykłady popularne z matematyki,
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
Drzewa. Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew
Drzewa Las - graf, który nie zawiera cykli Drzewo - las spójny Jeżeli graf G jest lasem, który ma n wierzchołków i k składowych, to G ma n k krawędzi. Własności drzew Niech T graf o n wierzchołkach będący
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 2013/2014 Twierdzenie 2.1 Niech G będzie grafem prostym
Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, Grafy dzielimy na grafy skierowane i nieskierowane:
Wykład 4 grafy Grafem nazywamy strukturę G = (V, E): V zbiór węzłów lub wierzchołków, E zbiór krawędzi, Grafy dzielimy na grafy skierowane i nieskierowane: Formalnie, w grafach skierowanych E jest podzbiorem
Algorytmy w teorii liczb
Łukasz Kowalik, ASD 2004: Algorytmy w teorii liczb 1 Algorytmy w teorii liczb Teoria liczb jest działem matemtyki dotyczącym własności liczb naturalnych. Rozważa się zagadnienia związane z liczbami pierwszymi,
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)
Matematyka dyskretna. Andrzej Łachwa, UJ, B/14
Matematyka dyskretna Andrzej Łachwa, UJ, 2019 andrzej.lachwa@uj.edu.pl 1B/14 Drogi w grafach Marszruta (trasa) w grafie G z wierzchołka w do wierzchołka u to skończony ciąg krawędzi w postaci. W skrócie
Algorytmy dynamiczne. Piotr Sankowski. - p. 1/14
Algorytmy dynamiczne Piotr Sankowski - p. 1/14 Dynamiczne: drzewa wyszukiwanie wzorca w tekście spójność grafu problemy algebraiczne (FFT i inne) domknięcie przechodnie oraz dynamiczne macierze najkrótsze
Ilustracja S1 S2. S3 ściana zewnętrzna
Grafy płaskie G=(V,E) nazywamy grafem płaskim, gdy V jest skończonym podzbiorem punktów płaszczyzny euklidesowej, a E to zbiór krzywych Jordana (łamanych) o końcach w V i takich, że: 1) rożne krzywe mają
Graf. Definicja marca / 1
Graf 25 marca 2018 Graf Definicja 1 Graf ogólny to para G = (V, E), gdzie V jest zbiorem wierzchołków (węzłów, punktów grafu), E jest rodziną krawędzi, które mogą być wielokrotne, dokładniej jednoelementowych
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
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).
Suma dwóch grafów. Zespolenie dwóch grafów
Suma dwóch grafów G 1 = ((G 1 ), E(G 1 )) G 2 = ((G 2 ), E(G 2 )) (G 1 ) i (G 2 ) rozłączne Suma G 1 G 2 graf ze zbiorem wierzchołków (G 1 ) (G 2 ) i rodziną krawędzi E(G 1 ) E(G 2 ) G 1 G 2 G 1 G 2 Zespolenie
Algorytmy Grafowe. dr hab. Bożena Woźna-Szcześniak, prof. UJD. Wykład 5 i 6. Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie
Algorytmy Grafowe dr hab. Bożena Woźna-Szcześniak, prof. UJD Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie b.wozna@ujd.edu.pl Wykład 5 i 6 B. Woźna-Szcześniak (UJD) Algorytmy
Wstęp do programowania. Drzewa. Piotr Chrząstowski-Wachtel
Wstęp do programowania Drzewa Piotr Chrząstowski-Wachtel Drzewa Drzewa definiują matematycy, jako spójne nieskierowane grafy bez cykli. Równoważne określenia: Spójne grafy o n wierzchołkach i n-1 krawędziach
Wykład 8. Drzewo rozpinające (minimum spanning tree)
Wykład 8 Drzewo rozpinające (minimum spanning tree) 1 Minimalne drzewo rozpinające - przegląd Definicja problemu Własności minimalnych drzew rozpinających Algorytm Kruskala Algorytm Prima Literatura Cormen,
Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa
Znajdowanie maksymalnych skojarzeń przy pomocy eliminacji Gaussa Marcin Mucha, Piotr Sankowski Instytut Informatyki, Uniwersytet Warszawski - p. 1/55 Definicja problemu Skojarzeniem w grafie G = (V, E)
Matematyczne Podstawy Informatyki
Matematyczne Podstawy Informatyki dr inż. Andrzej Grosser Instytut Informatyki Teoretycznej i Stosowanej Politechnika Częstochowska Rok akademicki 03/0 Przeszukiwanie w głąb i wszerz I Przeszukiwanie metodą
Digraf. 13 maja 2017
Digraf 13 maja 2017 Graf skierowany, digraf, digraf prosty Definicja 1 Digraf prosty G to (V, E), gdzie V jest zbiorem wierzchołków, E jest rodziną zorientowanych krawędzi, między różnymi wierzchołkami,
Złożoność obliczeniowa klasycznych problemów grafowych
Złożoność obliczeniowa klasycznych problemów grafowych Oznaczenia: G graf, V liczba wierzchołków, E liczba krawędzi 1. Spójność grafu Graf jest spójny jeżeli istnieje ścieżka łącząca każdą parę jego wierzchołków.
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
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
Teoria grafów dla małolatów. Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska
Teoria grafów dla małolatów Andrzej Przemysław Urbański Instytut Informatyki Politechnika Poznańska Wstęp Matematyka to wiele różnych dyscyplin Bowiem świat jest bardzo skomplikowany wymaga rozważenia
Problem skoczka szachowego i inne cykle Hamiltona na szachownicy n x n
i inne cykle Hamiltona na szachownicy n x n Uniwersytet Warszawski 15 marca 2007 Agenda 1 2 naiwne Prosty algorytm liniowy 3 Problem znany był już od bardzo dawna, jako łamigłówka logiczna. Był też stosowany
Algorytmy aproksymacyjne i parametryzowane
Algorytmy aproksymacyjne i parametryzowane Marek Cygan Uniwersytet Warszawski 18 października 2012 Marek Cygan Algorytmy aproksymacyjne i parametryzowane 1/22 Wstęp W algorytmice problemy dzielimy na obliczeniowo
Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1
Wykład Algorytmy grafowe metoda zachłanna. Właściwości algorytmu zachłannego:. W przeciwieństwie do metody programowania dynamicznego nie występuje etap dzielenia na mniejsze realizacje z wykorzystaniem
E ' E G nazywamy krawędziowym zbiorem
Niech G będzie grafem spójnym. Wierzchołek x nazywamy rozcinającym, jeśli G\{x} jest niespójny. Niech G będzie grafem spójnym. V ' V G nazywamy zbiorem rozcinającym jeśli G\V' jest niespójny Niech G będzie
TEORIA GRAFÓW I SIECI
TEORIA GRAFÓW I SIECI Temat nr 1: Definicja grafu. Rodzaje i części grafów dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 261-83-95-04, p.225/100
Algorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 9 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 9 1 / 20
SPÓJNOŚĆ. ,...v k. }, E={v 1. v k. i v k. ,...,v k-1. }. Wierzchołki v 1. v 2. to końce ścieżki.
SPÓJNOŚĆ Graf jest spójny, gdy dla każdego podziału V na dwa rozłączne podzbiory A i B istnieje krawędź z A do B. Definicja równoważna: Graf jest spójny, gdy każde dwa wierzchołki są połączone ścieżką
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)
Znajdowanie skojarzeń na maszynie równoległej
11 grudnia 2008 Spis treści 1 Skojarzenia w różnych klasach grafów Drzewa Grafy gęste Grafy regularne dwudzielne Claw-free graphs 2 Drzewa Skojarzenia w drzewach Fakt Wybierajac krawędź do skojarzenia
ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI
J.NAWROCKI, M. ANTCZAK, H. ĆWIEK, W. FROHMBERG, A. HOFFA, M. KIERZYNKA, S.WĄSIK ĆWICZENIE NR 1 WPROWADZENIE DO INFORMATYKI ZAD. 1. Narysowad graf nieskierowany. Zmodyfikowad go w taki sposób, aby stał
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
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
Teoria grafów - Teoria rewersali - Teoria śladów
17 maja 2012 1 Planarność Wzór Eulera Kryterium Kuratowskiego Algorytmy testujące planarność 2 Genom i jego przekształcenia Grafy złamań Sortowanie przez odwrócenia Inne rodzaje sortowania Algorytmy sortujące
Wykłady z Matematyki Dyskretnej
Wykłady z Matematyki Dyskretnej dla kierunku Informatyka dr Instytut Informatyki Politechnika Krakowska Wykłady na bazie materiałów: dra hab. Andrzeja Karafiata dr hab. Joanny Kołodziej, prof. PK Kolorowanie
Grafy dla każdego. dr Krzysztof Bryś. Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska.
Grafy dla każdego dr Krzysztof Bryś brys@mini.pw.edu.pl Wydział Matematyki i Nauk Informacyjnych Politechnika Warszawska www.mini.pw.edu.pl Warszawa, 28 marca 2015 Graf składa się z elementów pewnego zbioru
Grafy i Zastosowania. 5: Drzewa Rozpinające. c Marcin Sydow. Drzewa rozpinające. Cykle i rozcięcia fundamentalne. Zastosowania
Grafy i Grafy i 5: Rozpinające Spis zagadnień Grafy i i lasy cykle fundamentalne i własności cykli i rozcięć przestrzenie cykli i rozcięć* : zastosowanie w sieciach elektrycznych minimalne * algorytm Kruskala*
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
Zadanie 1 Przygotuj algorytm programu - sortowanie przez wstawianie.
Sortowanie Dane wejściowe: ciąg n-liczb (kluczy) (a 1, a 2, a 3,..., a n 1, a n ) Dane wyjściowe: permutacja ciągu wejściowego (a 1, a 2, a 3,..., a n 1, a n) taka, że a 1 a 2 a 3... a n 1 a n. Będziemy
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. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy
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
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
Algorytmy i struktury danych. Co dziś? Tytułem przypomnienia metoda dziel i zwyciężaj. Wykład VIII Elementarne techniki algorytmiczne
Algorytmy i struktury danych Wykład VIII Elementarne techniki algorytmiczne Co dziś? Algorytmy zachłanne (greedyalgorithms) 2 Tytułem przypomnienia metoda dziel i zwyciężaj. Problem można podzielić na
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/
1) Grafy eulerowskie własnoci algorytmy. 2) Problem chiskiego listonosza
165 1) Grafy eulerowskie własnoci algorytmy 2) Problem chiskiego listonosza 166 Grafy eulerowskie Def. Graf (multigraf, niekoniecznie spójny) jest grafem eulerowskim, jeli zawiera cykl zawierajcy wszystkie
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/
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
Matematyka dyskretna. Andrzej Łachwa, UJ, /15
Matematyka dyskretna Andrzej Łachwa, UJ, 2014 andrzej.lachwa@uj.edu.pl 8/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
Wojciech Guzicki. Konferencja SEM(Kolory matematyki) Sielpia, 26 października 2018 r.
1 O KOLOROWANIU Wojciech Guzicki Konferencja SEM(Kolory matematyki) Sielpia, 26 października 2018 r. W. Guzicki: O kolorowaniu 2 KILKA ZADAŃ OLIMPIJSKICH NA DOBRY POCZĄTEK W. Guzicki: O kolorowaniu 3 Zadanie
Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz?
DROGI i CYKLE EULERA w grafach Czy istnieje zamknięta droga spaceru przechodząca przez wszystkie mosty w Królewcu dokładnie jeden raz? Czy można narysować podaną figurę nie odrywając ołówka od papieru
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
Algorytmy równoległe. Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka 2010
Algorytmy równoległe Rafał Walkowiak Politechnika Poznańska Studia inżynierskie Informatyka Znajdowanie maksimum w zbiorze n liczb węzły - maksimum liczb głębokość = 3 praca = 4++ = 7 (operacji) n - liczność
Cała prawda o powierzchniach
Topologia Właściwości geometryczne, niezmiennicze przy ciagłych deformacjach Można: rozciagać giać Nie można: rozcinać złamać Jednak można rozciać wzdłuż linii, a potem skleić wzdłuż tejże linii: rozwiazać
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
Programowanie dynamiczne i algorytmy zachłanne
Programowanie dynamiczne i algorytmy zachłanne Tomasz Głowacki tglowacki@cs.put.poznan.pl Zajęcia finansowane z projektu "Rozwój i doskonalenie kształcenia na Politechnice Poznańskiej w zakresie technologii
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ę
Kombinowanie o nieskończoności. 2. Wyspy, mosty, mapy i kredki materiały do ćwiczeń
Kombinowanie o nieskończoności. 2. Wyspy, mosty, mapy i kredki materiały do ćwiczeń Projekt Matematyka dla ciekawych świata spisał: Michał Korch 15 marzec 2018 Szybkie przypomnienie z wykładu Prezentacja
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
Drzewa binarne. Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0. jest drzewem binarnym Np.
Drzewa binarne Drzewo binarne to dowolny obiekt powstały zgodnie z regułami: jest drzewem binarnym Jeśli T 0 i T 1 są drzewami binarnymi to T 0 T 1 jest drzewem binarnym Np. ( ) ( ( )) Wielkość drzewa
Opracowanie prof. J. Domsta 1
Opracowanie prof. J. Domsta 1 Algorytm FLEURY'ego: Twierdzenie 6.5 G-graf eulerowski. Wtedy cykl Eulera otrzymujemy nastepująco: a) Start w dowolnym wierzchołku b) Krawędzie w dowolnej kolejności po przebyciu
5. Rozwiązywanie układów równań liniowych
5. Rozwiązywanie układów równań liniowych Wprowadzenie (5.1) Układ n równań z n niewiadomymi: a 11 +a 12 x 2 +...+a 1n x n =a 10, a 21 +a 22 x 2 +...+a 2n x n =a 20,..., a n1 +a n2 x 2 +...+a nn x n =a
Zaawansowane algorytmy i struktury danych
Zaawansowane algorytmy i struktury danych u dr Barbary Marszał-Paszek Opracowanie pytań praktycznych z egzaminów. Strona 1 z 12 Pytania praktyczne z kolokwium zaliczeniowego z 19 czerwca 2014 (studia dzienne)
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
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
Algorytmy grafowe. Wykład 1 Podstawy teorii grafów Reprezentacje grafów. Tomasz Tyksiński CDV
Algorytmy grafowe Wykład 1 Podstawy teorii grafów Reprezentacje grafów Tomasz Tyksiński CDV Rozkład materiału 1. Podstawowe pojęcia teorii grafów, reprezentacje komputerowe grafów 2. Przeszukiwanie grafów
Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i
Algebrą nazywamy strukturę A = (A, {F i : i I }), gdzie A jest zbiorem zwanym uniwersum algebry, zaś F i : A F i A (symbol F i oznacza ilość argumentów funkcji F i ). W rozważanych przez nas algebrach
Grafy. Graf ( graf ogólny) to para G( V, E), gdzie:
Graf ( graf ogólny) to para G( V, E), gdzie: V jest zbiorem wierzchołków, ( czasami zwanymi węzłami lub punktami grafu) E jest rodziną ( być może powtarzających się) krawędzi, czyli jedno- i dwu- elementowych
Wprowadzenie do grafiki maszynowej. Wprowadzenie do algorytmów obcinania i okienkowania
Wprowadzenie do grafiki maszynowej. Wprowadzenie do algorytmów obcinania i okienkowania Aleksander Denisiuk Uniwersytet Warmińsko-Mazurski Olsztyn, ul. Słoneczna 54 denisjuk@matman.uwm.edu.pl 1 / 22 Wprowadzenie
Egzamin, AISDI, I termin, 18 czerwca 2015 r.
Egzamin, AISDI, I termin, 18 czerwca 2015 r. 1 W czasie niezależnym do danych wejściowych działają algorytmy A. sortowanie bąbelkowego i Shella B. sortowanie szybkiego i przez prosty wybór C. przez podział
Porównanie algorytmów wyszukiwania najkrótszych ścieżek międz. grafu. Daniel Golubiewski. 22 listopada Instytut Informatyki
Porównanie algorytmów wyszukiwania najkrótszych ścieżek między wierzchołkami grafu. Instytut Informatyki 22 listopada 2015 Algorytm DFS w głąb Algorytm przejścia/przeszukiwania w głąb (ang. Depth First
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
Testowanie układów kombinacyjnych Przykładowy układ Wykrywanie błędów: 1. Sklejenie z 0 2. Sklejenie z 1 Testem danego uszkodzenia nazywa się takie wzbudzenie funkcji (wektor wejściowy), które daje błędną
Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA
Zad. 1 Zad. 2 Zad. 3 Zad. 4 Zad. 5 SUMA Zad. 1 (12p.)Niech n 3k > 0. Zbadać jaka jest najmniejsza możliwa liczba krawędzi w grafie, który ma dokładnie n wierzchołków oraz dokładnie k składowych, z których
Problemy Decyzyjne dla Systemów Nieskończonych
Problemy Decyzyjne dla Systemów Nieskończonych Ćwiczenia 1 17 lutego 2012 Na tych ćwiczeniach zajmiemy się pojęciem well quasi-ordering (WQO) bardzo przydatnym do analizy nieskończonych ciągów. Definicja
Dr inż. Robert Wójcik, p. 313, C-3, tel Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska
Dr inż. Robert Wójcik, p. 313, C-3, tel. 320-27-40 Katedra Informatyki Technicznej (K-9) Wydział Elektroniki (W-4) Politechnika Wrocławska E-mail: Strona internetowa: robert.wojcik@pwr.edu.pl google: Wójcik
Drzewa rozpinajace, zbiory rozłaczne, czas zamortyzowany
, 1 2 3, czas zamortyzowany zajęcia 3. Wojciech Śmietanka, Tomasz Kulczyński, Błażej Osiński rozpinajace, 1 2 3 rozpinajace Mamy graf nieskierowany, ważony, wagi większe od 0. Chcemy wybrać taki podzbiór
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)),
TEORIA GRAFÓW I SIECI
TEORIA GRAFÓW I SIECI Temat nr : Grafy Berge a dr hab. inż. Zbigniew TARAPATA, prof. WAT e-mail: zbigniew.tarapata@wat.edu.pl http://tarapata.edu.pl tel.: 6-83-95-0, p.5/00 Zakład Badań Operacyjnych i
Porządek symetryczny: right(x)
Porządek symetryczny: x lef t(x) right(x) Własność drzewa BST: W drzewach BST mamy porządek symetryczny. Dla każdego węzła x spełniony jest warunek: jeżeli węzeł y leży w lewym poddrzewie x, to key(y)
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
Spis treści. Przykład. Przykład 1 Przykład 2. Twórcy Informacje wstępne Pseudokod Przykład. 1 Grafy skierowane z wagami - przypomnienie
Algorytmy Grafowe dr hab. Bożena Woźna-Szcześniak, prof. UJD Uniwersytet Humanistyczno-Przyrodniczy im. Jana Długosza w Częstochowie b.wozna@ujd.edu.pl Wykład 1,11,1 B. Woźna-Szcześniak (UJD) Algorytmy
Wykład 10 Grafy, algorytmy grafowe
. Typy złożoności obliczeniowej Wykład Grafy, algorytmy grafowe Typ złożoności oznaczenie n Jedna operacja trwa µs 5 logarytmiczna lgn. s. s.7 s liniowa n. s.5 s. s Logarytmicznoliniowa nlgn. s.8 s.4 s
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
Rzut oka na współczesną matematykę spotkanie 10: Zagadnienie czterech barw i teoria grafów, cz. 2
Rzut oka na współczesną matematykę spotkanie 10: Zagadnienie czterech barw i teoria grafów, cz. 2 P. Strzelecki pawelst@mimuw.edu.pl Instytut Matematyki, Uniwersytet Warszawski MISH UW, semestr zimowy
Algorytmy i struktury danych. Drzewa: BST, kopce. Letnie Warsztaty Matematyczno-Informatyczne
Algorytmy i struktury danych Drzewa: BST, kopce Letnie Warsztaty Matematyczno-Informatyczne Drzewa: BST, kopce Definicja drzewa Drzewo (ang. tree) to nieskierowany, acykliczny, spójny graf. Drzewo może
Algorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 8 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 8 1 / 39 Plan wykładu
Wykład 7. Algorytmy grafowe
Wykład Algorytmy grafowe Algorytmy grafowe i podstawowe algorytmy przeszukiwania Problem Definicje i własności Reprezentacja Przeszukiwanie wszerz (Breadthirst Search) Przeszukiwanie w głąb (Depthirst
Matematyka dyskretna. Andrzej Łachwa, UJ, /15
Matematyka dyskretna Andrzej Łachwa, UJ, 2013 andrzej.lachwa@uj.edu.pl 15/15 Twierdzenie Dla grafu prostego następujące warunki są równoważne: 1) jest drzewem, 2) nie zawiera cykli i ma krawędzi, 3)
Rzut oka na współczesną matematykę spotkanie 9-10: Zagadnienie czterech barw i teoria grafów
Rzut oka na współczesną matematykę spotkanie 9-10: Zagadnienie czterech barw i teoria grafów P. Strzelecki pawelst@mimuw.edu.pl Instytut Matematyki, Uniwersytet Warszawski MISH UW, semestr zimowy 2011-12
Analiza algorytmów zadania podstawowe
Analiza algorytmów zadania podstawowe Zadanie 1 Zliczanie Zliczaj(n) 1 r 0 2 for i 1 to n 1 3 do for j i + 1 to n 4 do for k 1 to j 5 do r r + 1 6 return r 0 Jaka wartość zostanie zwrócona przez powyższą
Matematyka dyskretna. Andrzej Łachwa, UJ, /14
Matematyka dyskretna Andrzej Łachwa, UJ, 2012 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
Metoda graficzna może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład):
może być stosowana w przypadku gdy model zawiera dwie zmienne decyzyjne. Metoda składa się z dwóch kroków (zobacz pierwszy wykład): 1 Narysuj na płaszczyźnie zbiór dopuszczalnych rozwiazań. 2 Narysuj funkcję
Sztuczna Inteligencja i Systemy Doradcze
Sztuczna Inteligencja i Systemy Doradcze Przeszukiwanie przestrzeni stanów algorytmy ślepe Przeszukiwanie przestrzeni stanów algorytmy ślepe 1 Strategie slepe Strategie ślepe korzystają z informacji dostępnej
Algorytmy i Struktury Danych.
Algorytmy i Struktury Danych. Grafy Bożena Woźna-Szcześniak bwozna@gmail.com Jan Długosz University, Poland Wykład 7 Bożena Woźna-Szcześniak (AJD) Algorytmy i Struktury Danych. Wykład 7 1 / 43 Grafy -
1 Wykład ósmy wstęp do teorii minorów pół wykładu
1 Wykład ósmy wstęp do teorii minorów pół wykładu 1.1 Wstępne definicje (te definicje są tu porządnie napisane, ale można je zrobić tylko na obrazkach, przynajmniej minor, topologiczny minor) Definicja
Dynamiczne drzewa. Marian M. Kędzierski. 26 listopada Wstęp Euler-Tour Trees Dynamiczna spójność Algorytm Dinica Link-Cut Trees
Dynamiczne drzewa Marian M. Kędzierski 26 listopada 2009 Plan prezentacji Wstęp 1 Wstęp Zagadnienie dynamicznych drzew SPLITiJOINnadrzewachBST 2 Euler-TourTrees Operacje na ET-drzewach Rozszerzenia 3 Dynamicznaspójność