D: Dopasowanie sekwencji. Programowanie dynamiczne

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

Download "D: Dopasowanie sekwencji. Programowanie dynamiczne"

Transkrypt

1 D: Dopasowanie sekwencji. Programowanie dynamiczne Problem: jak porównywać sekwencje DNA? Czy te sekwencje są podobne? Jeśli są podobne, to jak mierzyć to podobieństwo? Odpowiedzi są kluczowe dla konstrukcji drzewa filogenetycznego. identyfikacji składowych funkcjonalnych czy też zachowywanych Dopasowanie to takie uporządkowanie dwóch sekwencji DNA czy białek, które umożliwia identyfikację regionów podobieństwa pomiędzy gatunkami, regionów zachowywanych pomiędzy gatunkami Jeszcze nie tak dawno, sekwencje dopasowywano ręcznie. Na czerwono opisano zachowywane regiony 1

2 Podstawowe mutacje i częstość ich występowania Dopasowanie: co to znaczy, że sekwencje do siebie pasują? 111 Dwie sekwencje DNA: v: A T A T A T A T w: T A T A T A T A Odległość Haminga d H (v,w) = 8!! Ale przesuwając jeden ciąg względem drugiego dostajemy v: A T A T A T A T-- w: --T A T A T A T A Jak traktować / oceniać takie podobieństwa? Propozycja : odległość edycyjna 2

3 Odległość edycyjna, dopasowanie, graf edycji 112 Odległością edycyjną pomiędzy dwiema sekwencjami DNA nazywamy minimalną liczbę operacji edycji takich jak: -wstawianie jednego symbolu -kasowanie jednego symbolu -zamianę jednego symbolu na inny które przeprowadzają jedną sekwencję w drugą. TGCATAT -> ATCCGAT Odległość edycyjna, dopasowanie, graf edycji 113 Centralne zadanie kombinatoryczne: jak daną sekwencję przetransformować w drugą, stosując możliwie najmniejszą liczbę operacji podstawienia, insercji i delecji. Definicja A.7 (przypomnienie): Przy zadanych sekwencjach A i B zbudowanych ze znaków alfabetu Σ, dopasowaniem sekwencji A i B nazywamy tablicę o wymiarze 2L wypełnioną znakami z Σ {_} ({_} oznacza spację) o następujących własnościach: Nie ma kolumny, gdzie oba znaki to spacje Znaki, poza spacją, z pierwszej linii tworzą sekwencję A; znaki z drugiej linii tworzą sekwencję B. Zatem Dopasowanie dwóch sekwencji DNA V (o n znakach ) i W (o m znakach) to dwuwierszowa macierz, w której pierwszy wiersz zawiera kolejne symbole V a drugi wiersz zawiera kolejne symbole W, przy czym w obu sekwencjach mogą być dowolnie rozmieszczone spacje. 3

4 Odległość edycyjna, dopasowanie, graf edycji 114 V=ATGTTAT W=ATCGTAC A T G T T A T A T C G T A C matches: trafienia mismatches: pudła insertions: insercje deletions: delecje insercja delecja S t a r t Odległość edycyjna, dopasowanie, graf edycji T T A A T C G T A C i 0 A T G T j Dopasowanie jako ścieżka w grafie edycji. Górne dopasowanie v= AT_GTTAT_ w= ATCGT_A_C Dolne dopasowanie v= AT_GTTAT_ w= ATCG_TA_C Graf edycji : zbuduj tablicę M o krawędziach (, ), o wierszach numerowanych przez pierwszą sekwencję, a kolumnach numerowanych przez drugą sekwencję. przydziel tam gdzie litery wiersza i kolumny się zgadzają. Dopasowanie to najdłuższa ścieżka w M od lewego górnego rogu do dolnego prawego rogu, przy czym długość ścieżki wyznacza ilość wykorzystanych krawędzi przekątniowych. S t o p 115 4

5 Ścieżki w grafie edycji: niejednoznacznośc dopasowania 116 Możliwe ścieżki w tym grafie Macierze dopasowania odpowiadające poszczególnym ścieżkom Problem: wyznaczenie najlepszej ścieżki w grafie edycji 117 Algorytm zachłanny: w każdym kroku wybieraj najlepszą krawędź start stop ALE: Algorytm zachłanny nie jest optymalny. 5

6 Problem: wyznaczenie najlepszej ścieżki w grafie edycji 118 Algorytm rekurencyjny: Rekurencja to metoda top-to-down programowania. S(i-1,j) Duży problem dzielimy na mniejsze podproblemy i rozwiązujemy te mniejsze podproblemy. W (i,j) Zauważmy, że ilość możliwości konstrukcji ścieżki w każdym węźle jest taka sama. S(i,j-1) W (i,j) S(i,j) Score(i,j) = max { Score(i,j-1) + w (i,j), Score(i-1,j) +w (i,j)} ALE: Algorytm rekurencyjny jest niewydajny Score(n,m-1) Score(n,m) Score(n-1,m) Score(n,m-2) Score(n-1,m-1) Score(n-1,m-1) Score(n-1,m-1) (organizacja drzewa podobna jak w rekurencji Fibonacciego F(n)=F(n-1)+ F(n-2), F(0)=0, F(1) =1) Problem: wyznaczenie najlepszej ścieżki w grafie edycji 119 Programowanie dynamiczne: wydajna technika rozwiązywania rekurencyjnych relacji poprzez zachowywanie rezultatów pośrednich. Programowanie dynamiczne to metoda bottom-to-top : rozwiązujemy małe podproblemy i z wyników budujemy rozwiązanie dużego problemu. Przykłady: algorytm dynamiczny dla rekurencji Fibonacciego n= F(n)= M=0 M=1 M=2 algorytm dynamiczny do problemu kasjera M=3 M=4 M=5 Przepis na programowanie dynamiczne: myśl rekurencyjnie, stosuj dynamicznie M=6 M=7 6

7 Problem kasjera: rozwiązania 120 Problem kasjera wydawania reszty: O(M d ) O(M d ) Algorytm wyczerpujący Algorytm zachłanny Algorytm rekurencyjny Algorytm dynamiczny O(Md) Problem Turysty na Manhattanie 121 Jak tu się poruszać, by zobaczyć możliwie najwięcej, ale nie kręcić się w kółko po tych samych ulicach? 7

8 Problem Turysty na Manhattanie (PTM) 122 Poruszając się jedynie na południe i wschód znaleźć drogę o największej liczbie atrakcji. PTM przeniesione na graf - tablicę o krawędziach skierowanych i z wagami Strategia dynamiczna dla PTM 123 start S 0,3 = 9 Kolejno wyliczamy najlepszą drogę od źródła do każdego punktu korzystając z wyników już uzyskanych S 1,2 = S 2,1 = 10 Drogi w pierwszej kolumnie Drogi w pierwszym wierszu Kolejne punkty kraty S 3,0 = 9 8

9 Acykliczny graf skierowany Nawet Manhattan nie jest idealną kratą- są tu krawędzie dodatkowe 124 Directed Acyclic Graph Acykliczny graf skierowany: twierdzenie o numeracji 125 Numeracja dowolna wierzchołków Przenumerowanie wierzchołków tak, by wprowadzić porządek topologiczny: Twierdzenie 1: Skończony DAG ma co najmniej jedno źródło (wierzchołek, z którego można jedynie wyjść) i jeden zlew (wierzchołek do którego można jedynie wejść Twierdzenie 2: Skończony DAG ma porządek topologiczny Mówimy, że wierzchołki v 1, v 2,,v n w grafie są uporządkowane topologicznie, jeżeli dla każdej krawędzi (v i,v j ) mamy i<j. (każda krawędź grafu opisuje się tak, że numer wierzchołka początkowego jest mniejszy niż numer wierzchołka końcowego). 9

10 Acykliczny graf skierowany: problem porządkowania zadań 126 Poranny dylemat Supermena: W jakiej kolejności nakładać części garderoby: buty kaptur pasek peleryna rajtuzy rękawiczki trykot (kostium) spodenki aby ubrać się kompletnie i funkcjonalnie? Acykliczny graf skierowany: rozwiązania problemu supermana 127 i=n Wybieramy zlew, nadajemy mu numer i Ustalamy listę poprzedników Usuwamy krawędzie łączące zlew z poprzednikami Zmniejszamy numer porządkowy i = i-1 10

11 Acykliczny graf skierowany: obsługa niejednorodności grafu 128 Poprzednik wierzchołek, z którego v jest osiągalne Następnik - wierzchołek, który jest osiągalny z v Zbiór poprzedników wierzchołka v: {u1, u2, u3} Zbiór następników wierzchołka v: {w1, w2} odległość wyznacza warunek: s v max { s w( u, v)} u zbiór poprzedników Przy czym o kolejności obsługiwania wierzchołków decyduje porządek topologiczny. u Wydajność: O(ilość krawędzi)

12 Dopasowanie sekwencji w grafie typu Manhattan Zarówno przeglądnie kolejnymi wierszami jak i kolumnami jest zgodne z porządkiem topologicznym. 2. poprzednicy w grafie edycji: szczególne wagi grafu edycji zero dla i jeden dla problem Najdłuższego Wspólnego Podciągu Strategia dynamicznego programowania dla PTM 132 O(nm) Tablica odległości Algorytm odczytania najdłuższego wspólnego podciągu Tablica najlepszego kierunku cofania się 12

13 LCS na grafie edycji: przykład 133 V= ATCTGAT W =TGCATA max {,, } Wynik: najdłuższy wspólny podciąg v i w to TCTA Konstrukcja najdłuższego wspólnego podciągu

14 Odległość edycyjna na grafie edycji: przykład 135 V= ATCTGAT W =TGCATA min {,, } Wynik: dopasowanie A T - C - T G A T - T G C A T - A - d(v,w) =5 V może być przetransferowane do W przez skasowanie A, G i T oraz wstawienie G i A. Dopasowanie sekwencji DNA: tablica punktacji 136 Punkty karne za indele i za nietrafienia W ogólności tablica punktacji może być dowolna (, ) 14

15 Problem dopasowanie globalnego sekwencji DNA 137 Przykład: Graf dopasowania dla V=TGTTA W=TCGT zgodny z powyższą punktacją Problem dopasowanie globalnego sekwencji aminokwasów 141 Tablice punktacji dla aminokwasów (, ) Eksperymentalnie wyznaczone częstości zastępowania aminokwasu przez bez utraty funkcji białka obserwowane w ewolucji Są tablice podstawień dla aminokwasów: PAM : (Point Accepted Mutations ) macierze oparte na modelu ewolucyjnym akceptowalnych mutacji punktowych -tablice Dayhoff BLOSUM: ( BLOck SUbstitution Matrix) rodzina macierzy do analizy sekwencji daleko spokrewnionych, analizują bloki sekwencji -tablice Henikoff 15

16 Problem dopasowanie globalnego sekwencji aminokwasów 142 Tablice punktacji są budowane w oparciu o fakty biologiczne O dopasowaniu można sobie myśleć jako o dwóch sekwencjach różniących się przez mutacje Niektóre mutacje mają mały wpływ na funkcje protein. Dlatego punktacje są różne. Zauważ, że R (arginina) i K (lysina) choć to różne aminokwasy, punktacje mają dodatnią. Tak jest, bo oba są dodatnio naładowanymi aminokwasami, co nie wpływa znacząco na funkcjonowanie proteiny. Generalnie, zmiany w aminokwasach są takie, że zachowują własności fizykochemiczne białka. Problem dopasowanie globalnego sekwencji aminokwasów

17 Dopasowanie lokalne sekwencji DNA 144 Globalne dopasowanie nie dostrzega fragmentów uporządkowa nych. Dopasowanie lokalne sekwencji DNA mamy siatkę n x m, co daje nm wierzchołków 2. Trzeba znaleźć najlepsze dopasowanie każdego wierzchołka z każdym innym wierzchołkiem Problem jest O(n 2 m 2 ) czyli O(n 4 ) 17

18 Dopasowanie lokalne sekwencji DNA: rozwiązanie Smitha-Watermana 146 Do każdego wierzchołka dołóż krawędź łączącą go z (0,0) i przydziel tej krawędzi wagę 0. Z każdego wierzchołka poprowadź krawędź do (n,m) i przydziel mu wagę 0. Dopasowanie większej ilości sekwencji DNA 147 Strategia analogiczna, ale na grafie edycji 3-wymiarowym 18

19 Dopasowanie sekwencji DNA : problem pamięci 148 O(n 1 n 2 n 3.. ) wydajność czasowa Dwie duże tablice : s i b problem wydajności pamięciowej! Dopasowanie sekwencji DNA : problem pamięci Problem pamięci dla tablicy s Tylko dwie kolumny wystarczą, by obliczyć s(i,j) dla wszystkich pozycji i z kolumny j 2. Konstrukcja najdłuższej ścieżki bez użycia tablicy b Spostrzeżenie: Poszukiwana najdłuższa ścieżka biegnie z (0,0) do (n,m) przez nieznany punkt ( i, m/2) 19

20 Dopasowanie sekwencji DNA : problem pamięci 150 Mając punkt połówkowy, ustalamy punkty ćwiartkowe, ósemkowe, Itd.. Wydajnośc czasowa: O(n m ) Wydajnośc pamięciowa : O(n) Dziel-izwyciężaj 20

Przypominajka WYKŁAD E : PROBLEM: OCENA PODOBIEŃSTWA POMIĘDZY SEKWENCJAMI DNA METODA: PROGRAMOWANIE DYNAMICZNE 12/13/2017

Przypominajka WYKŁAD E : PROBLEM: OCENA PODOBIEŃSTWA POMIĘDZY SEKWENCJAMI DNA METODA: PROGRAMOWANIE DYNAMICZNE 12/13/2017 D. Makowiec: E: programowanie dynamiczne 3 WYKŁAD E : PROBLEM: OCENA PODOBIEŃSTWA POMIĘDZY SEKWENCJAMI DNA METODA: PROGRAMOWANIE DYNAMICZNE I. Problem kasjera rozwiązanie dynamiczne II. Problem turysty

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Algorytmy zachłanne, programowanie dynamiczne Paweł Daniluk Wydział Fizyki Jesień 2014 P. Daniluk(Wydział Fizyki) WP w. IX Jesień 2014 1 / 26 Algorytmy zachłanne Strategia polegająca

Bardziej szczegółowo

Wstęp do programowania

Wstęp do programowania Wstęp do programowania Programowanie dynamiczne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. X Jesień 2013 1 / 21 Dziel i zwyciężaj przypomnienie 1 Podział problemu na 2 lub

Bardziej szczegółowo

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne

E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne E: Rekonstrukcja ewolucji. Algorytmy filogenetyczne Przypominajka: 152 drzewo filogenetyczne to drzewo, którego liśćmi są istniejące gatunki, a węzły wewnętrzne mają stopień większy niż jeden i reprezentują

Bardziej szczegółowo

Programowanie dynamiczne i algorytmy zachłanne

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

Bardziej szczegółowo

Filogeneza: problem konstrukcji grafu (drzewa) zależności pomiędzy gatunkami.

Filogeneza: problem konstrukcji grafu (drzewa) zależności pomiędzy gatunkami. 181 Filogeneza: problem konstrukcji grafu (drzewa) zależności pomiędzy gatunkami. 3. D T(D) poprzez algorytm łączenia sąsiadów 182 D D* : macierz łącząca sąsiadów n Niech TotDist i = k=1 D i,k Definiujemy

Bardziej szczegółowo

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew

EGZAMIN - Wersja A. ALGORYTMY I STRUKTURY DANYCH Lisek89 opracowanie kartki od Pani dr E. Koszelew 1. ( pkt) Dany jest algorytm, który dla dowolnej liczby naturalnej n, powinien wyznaczyd sumę kolejnych liczb naturalnych mniejszych od n. Wynik algorytmu jest zapisany w zmiennej suma. Algorytm i=1; suma=0;

Bardziej szczegółowo

Przyrównywanie sekwencji

Przyrównywanie sekwencji Instytut Informatyki i Matematyki Komputerowej UJ, opracowanie: mgr Ewa Matczyńska, dr Jacek Śmietański Przyrównywanie sekwencji 1. Porównywanie sekwencji wprowadzenie Sekwencje porównujemy po to, aby

Bardziej szczegółowo

Zofia Kruczkiewicz, Algorytmu i struktury danych, Wykład 14, 1

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

Bardziej szczegółowo

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI DOPASOWANIE SEKWENCJI 1. Dopasowanie sekwencji - definicja 2. Wizualizacja dopasowania sekwencji 3. Miary podobieństwa sekwencji 4. Przykłady programów

Bardziej szczegółowo

a) 7 b) 19 c) 21 d) 34

a) 7 b) 19 c) 21 d) 34 Zadanie 1. Pytania testowe dotyczące podstawowych własności grafów. Zadanie 2. Przy każdym z zadań może się pojawić polecenie krótkiej charakterystyki algorytmu. Zadanie 3. W zadanym grafie sprawdzenie

Bardziej szczegółowo

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI

PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI PODSTAWY BIOINFORMATYKI WYKŁAD 4 DOPASOWANIE SEKWENCJI DOPASOWANIE SEKWENCJI 1. Dopasowanie sekwencji - definicja 2. Wizualizacja dopasowania sekwencji 3. Miary podobieństwa sekwencji 4. Przykłady programów

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

Dopasowywanie sekwencji (ang. sequence alignment) Metody dopasowywania sekwencji. Homologia a podobieństwo sekwencji. Rodzaje dopasowania

Dopasowywanie sekwencji (ang. sequence alignment) Metody dopasowywania sekwencji. Homologia a podobieństwo sekwencji. Rodzaje dopasowania Wprowadzenie do Informatyki Biomedycznej Wykład 2: Metody dopasowywania sekwencji Wydział Informatyki PB Dopasowywanie sekwencji (ang. sequence alignment) Dopasowywanie (przyrównywanie) sekwencji polega

Bardziej szczegółowo

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek

Algorytmy i str ruktury danych. Metody algorytmiczne. Bartman Jacek Algorytmy i str ruktury danych Metody algorytmiczne Bartman Jacek jbartman@univ.rzeszow.pl Metody algorytmiczne - wprowadzenia Znamy strukturę algorytmów Trudność tkwi natomiast w podaniu metod służących

Bardziej szczegółowo

Przyrównanie sekwencji. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu

Przyrównanie sekwencji. Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu Przyrównanie sekwencji Magda Mielczarek Katedra Genetyki Uniwersytet Przyrodniczy we Wrocławiu Sequence alignment - przyrównanie sekwencji Poszukiwanie ciągów znaków (zasad nukleotydowych lub reszt aminokwasowych),

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

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Patryk Żywica 5 maja 2008 1 Spis treści 1 Problem wydawania reszty 3 1.1 Sformułowanie problemu...................... 3 1.2 Algorytm.............................. 3 1.2.1 Prosty

Bardziej szczegółowo

PRZYRÓWNANIE SEKWENCJI

PRZYRÓWNANIE SEKWENCJI http://theta.edu.pl/ Podstawy Bioinformatyki III PRZYRÓWNANIE SEKWENCJI 1 Sequence alignment - przyrównanie sekwencji Poszukiwanie ciągów znaków (zasad nukleotydowych lub reszt aminokwasowych), które posiadają

Bardziej szczegółowo

prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Dopasowanie sekwencji

prof. dr hab. inż. Marta Kasprzak Instytut Informatyki, Politechnika Poznańska Dopasowanie sekwencji Bioinformatyka wykład 5: dopasowanie sekwencji prof. dr hab. inż. Marta Kasprzak Instytut Informatyk Politechnika Poznańska Dopasowanie sekwencji Badanie podobieństwa sekwencji stanowi podstawę wielu gałęzi

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

Dopasowanie sekwencji (sequence alignment)

Dopasowanie sekwencji (sequence alignment) Co to jest alignment? Dopasowanie sekwencji (sequence alignment) Alignment jest sposobem dopasowania struktur pierwszorzędowych DNA, RNA lub białek do zidentyfikowanych regionów w celu określenia podobieństwa;

Bardziej szczegółowo

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA?

Plan wykładu. Przykład. Przykład 3/19/2011. Przykład zagadnienia transportowego. Optymalizacja w procesach biznesowych Wykład 2 DECYZJA? /9/ Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład --9 Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów

Bardziej szczegółowo

Wykład 5 Dopasowywanie lokalne

Wykład 5 Dopasowywanie lokalne Wykład 5 Dopasowywanie lokalne Dopasowanie par (sekwencji) Dopasowanie globalne C A T W A L K C A T W A L K C O W A R D C X X O X W X A X R X D X Globalne dopasowanie Schemat punktowania (uproszczony)

Bardziej szczegółowo

AiSD zadanie trzecie

AiSD zadanie trzecie AiSD zadanie trzecie Gliwiński Jarosław Marek Kruczyński Konrad Marek Grupa dziekańska I5 5 czerwca 2008 1 Wstęp Celem postawionym przez zadanie trzecie było tzw. sortowanie topologiczne. Jest to typ sortowania

Bardziej szczegółowo

Wybrane podstawowe rodzaje algorytmów

Wybrane podstawowe rodzaje algorytmów Wybrane podstawowe rodzaje algorytmów 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 informatycznych

Bardziej szczegółowo

Algorytmy kombinatoryczne w bioinformatyce

Algorytmy kombinatoryczne w bioinformatyce lgorytmy kombinatoryczne w bioinformatyce wykład 4: dopasowanie sekwencj poszukiwanie motywów prof. dr hab. inż. Marta Kasprzak Instytut Informatyk Politechnika Poznańska Dopasowanie sekwencji Badanie

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

Definicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n )

Definicja. Ciąg wejściowy: Funkcja uporządkowująca: Sortowanie polega na: a 1, a 2,, a n-1, a n. f(a 1 ) f(a 2 ) f(a n ) SORTOWANIE 1 SORTOWANIE Proces ustawiania zbioru elementów w określonym porządku. Stosuje się w celu ułatwienia późniejszego wyszukiwania elementów sortowanego zbioru. 2 Definicja Ciąg wejściowy: a 1,

Bardziej szczegółowo

Digraf. 13 maja 2017

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,

Bardziej szczegółowo

Programowanie dynamiczne cz. 2

Programowanie dynamiczne cz. 2 Programowanie dynamiczne cz. 2 Wykład 7 16 kwietnia 2019 (Wykład 7) Programowanie dynamiczne cz. 2 16 kwietnia 2019 1 / 19 Outline 1 Mnożenie ciągu macierzy Konstruowanie optymalnego rozwiązania 2 Podstawy

Bardziej szczegółowo

Algorytmy i Struktury Danych

Algorytmy i Struktury Danych POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Algorytmy i Struktury Danych www.pk.edu.pl/~zk/aisd_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład 9: Programowanie

Bardziej szczegółowo

Algorytmy kombinatoryczne w bioinformatyce

Algorytmy kombinatoryczne w bioinformatyce lgorytmy kombinatoryczne w bioinformatyce wykład 4: dopasowanie sekwencj poszukiwanie motywów prof. dr hab. inż. Marta Kasprzak Instytut Informatyk Politechnika Poznańska Dopasowanie sekwencji Badanie

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

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu

Data Mining Wykład 9. Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster. Plan wykładu. Sformułowanie problemu Data Mining Wykład 9 Analiza skupień (grupowanie) Grupowanie hierarchiczne O-Cluster Plan wykładu Wprowadzanie Definicja problemu Klasyfikacja metod grupowania Grupowanie hierarchiczne Sformułowanie problemu

Bardziej szczegółowo

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Programowanie rekurencyjne: ZALETY: - prostota - naturalność sformułowania WADY: - trudność w oszacowaniu zasobów (czasu i pamięci) potrzebnych do realizacji Czy jest możliwe wykorzystanie

Bardziej szczegółowo

Programowanie dynamiczne

Programowanie dynamiczne Programowanie dynamiczne Ciąg Fibonacciego fib(0)=1 fib(1)=1 fib(n)=fib(n-1)+fib(n-2), gdzie n 2 Elementy tego ciągu stanowią liczby naturalne tworzące ciąg o takiej własności, że kolejny wyraz (z wyjątkiem

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

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova

Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova Wstęp do sieci neuronowych, wykład 11 Łańcuchy Markova M. Czoków, J. Piersa 2010-12-21 1 Definicja Własności Losowanie z rozkładu dyskretnego 2 3 Łańcuch Markova Definicja Własności Losowanie z rozkładu

Bardziej szczegółowo

Politechnika Wrocławska. Dopasowywanie sekwencji Sequence alignment

Politechnika Wrocławska. Dopasowywanie sekwencji Sequence alignment Dopasowywanie sekwencji Sequence alignment Drzewo filogenetyczne Kserokopiarka zadanie: skopiować 300 stron. Co może pójść źle? 2x ta sama strona Opuszczona strona Nadmiarowa pusta strona Strona do góry

Bardziej szczegółowo

Egzamin, AISDI, I termin, 18 czerwca 2015 r.

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ł

Bardziej szczegółowo

Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy

Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy Uniwersytet Kazimierza Wielkiego w Bydgoszczy Zespół Szkół nr 5 Mistrzostwa Sportowego XV Liceum Ogólnokształcące w Bydgoszczy Matematyka, królowa nauk Edycja X - etap 2 Bydgoszcz, 16 kwietnia 2011 Fordoński

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. Prof. dr hab. inż. Jan Magott Algorytmy grafowe: podstawowe pojęcia, reprezentacja grafów, metody przeszukiwania, minimalne drzewa rozpinające, problemy

Bardziej szczegółowo

Projektowanie i analiza algorytmów

Projektowanie i analiza algorytmów POLITECHNIKA KRAKOWSKA - WIEiK KATEDRA AUTOMATYKI i TECHNIK INFORMACYJNYCH Projektowanie i analiza algorytmów www.pk.edu.pl/~zk/piaa_hp.html Wykładowca: dr inż. Zbigniew Kokosiński zk@pk.edu.pl Wykład

Bardziej szczegółowo

Porównywanie i dopasowywanie sekwencji

Porównywanie i dopasowywanie sekwencji Porównywanie i dopasowywanie sekwencji Związek bioinformatyki z ewolucją Wraz ze wzrostem dostępności sekwencji DNA i białek pojawiła się nowa możliwość śledzenia ewolucji na poziomie molekularnym Ewolucja

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

Dopasowanie sekwencji Sequence alignment. Bioinformatyka, wykłady 3 i 4 (19, 26.X.2010)

Dopasowanie sekwencji Sequence alignment. Bioinformatyka, wykłady 3 i 4 (19, 26.X.2010) Dopasowanie sekwencji Sequence alignment Bioinformatyka, wykłady 3 i 4 (19, 26.X.2010) krzysztof_pawlowski@sggw.pl terminologia alignment 33000 dopasowanie sekwencji 119 uliniowienie sekwencji 82 uliniowianie

Bardziej szczegółowo

Macierze. Rozdział Działania na macierzach

Macierze. Rozdział Działania na macierzach Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i, j) (i 1,..., n; j 1,..., m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F R lub F C, nazywamy macierzą (rzeczywistą, gdy

Bardziej szczegółowo

Dopasowanie par sekwencji

Dopasowanie par sekwencji BIOINFORMTYK edycja 2016 / 2017 wykład 3 Dopasowanie par sekwencji dr Jacek Śmietański jacek.smietanski@ii.uj.edu.pl http://jaceksmietanski.net Plan wykładu 1. Idea i cele dopasowania sekwencji 2. Definicje

Bardziej szczegółowo

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno

Podstawy programowania 2. Temat: Drzewa binarne. Przygotował: mgr inż. Tomasz Michno Instrukcja laboratoryjna 5 Podstawy programowania 2 Temat: Drzewa binarne Przygotował: mgr inż. Tomasz Michno 1 Wstęp teoretyczny Drzewa są jedną z częściej wykorzystywanych struktur danych. Reprezentują

Bardziej szczegółowo

GRUPA ĆWICZENIOWA (ZAKREŚL ODPOWIEDNIĄ): MG8 MG13 MB13 MD13 BT13

GRUPA ĆWICZENIOWA (ZAKREŚL ODPOWIEDNIĄ): MG8 MG13 MB13 MD13 BT13 Nazwisko i imię: Nr indeksu: 1 2 3 4 Σ MiNI/MatLic/AiPP/2014 2015/Kolokwium-IIA (30) GRUPA ĆWICZENIOWA (ZAKREŚL ODPOWIEDNIĄ): MG8 MG13 MB13 MD13 BT13 Uwaga: Za każde zadanie można uzyskać tę samą liczbę

Bardziej szczegółowo

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego.

Kolejka priorytetowa. Często rozważa się kolejki priorytetowe, w których poszukuje się elementu minimalnego zamiast maksymalnego. Kolejki Kolejka priorytetowa Kolejka priorytetowa (ang. priority queue) to struktura danych pozwalająca efektywnie realizować następujące operacje na zbiorze dynamicznym, którego elementy pochodzą z określonego

Bardziej szczegółowo

Programowanie dynamiczne (optymalizacja dynamiczna).

Programowanie dynamiczne (optymalizacja dynamiczna). Programowanie dynamiczne (optymalizacja dynamiczna). W wielu przypadkach zadania, których złożoność wynikająca z pełnego przeglądu jest duża (zwykle wyk ładnicza) można rozwiązać w czasie wielomianowym

Bardziej szczegółowo

Bioinformatyka Laboratorium, 30h. Michał Bereta

Bioinformatyka Laboratorium, 30h. Michał Bereta Bioinformatyka Laboratorium, 30h Michał Bereta mbereta@pk.edu.pl www.michalbereta.pl 1 Często dopasować chcemy nie dwie sekwencje ale kilkanaście lub więcej 2 Istnieją dokładne algorytmy, lecz są one niewydajne

Bardziej szczegółowo

Graf. Definicja marca / 1

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

Bardziej szczegółowo

Obliczenia iteracyjne

Obliczenia iteracyjne Lekcja Strona z Obliczenia iteracyjne Zmienne iteracyjne (wyliczeniowe) Obliczenia iteracyjne wymagają zdefiniowania specjalnej zmiennej nazywanej iteracyjną lub wyliczeniową. Zmienną iteracyjną od zwykłej

Bardziej szczegółowo

PODSTAWY BIOINFORMATYKI 8 DOPASOWYWANIE SEKWENCJI AMINOKWASÓW

PODSTAWY BIOINFORMATYKI 8 DOPASOWYWANIE SEKWENCJI AMINOKWASÓW PODSTAWY BIOINFORMATYKI 8 DOPASOWYWANIE SEKWENCJI AMINOKWASÓW DOPASOWYWANIE SEKWENCJI 1. Miary podobieństwa sekwencji aminokwasów 2. Zastosowanie programów: CLUSTAL OMEGA BLAST Copyright 2013, Joanna Szyda

Bardziej szczegółowo

Twój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %).

Twój wynik: 4 punktów na 6 możliwych do uzyskania (66,67 %). Powrót Twój wynik: 4 punktów na 6 możliwych do uzyskania (6667 %). Nr Opcja Punkty Poprawna Odpowiedź Rozważmy algorytm AVLSequence postaci: 1 Niech drzewo będzie rezultatem działania algorytmu AVLSequence

Bardziej szczegółowo

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy:

Literatura. 1) Pojęcia: złożoność czasowa, rząd funkcji. Aby wyznaczyć pesymistyczną złożoność czasową algorytmu należy: Temat: Powtórzenie wiadomości z PODSTAW INFORMATYKI I: Pojęcia: złożoność czasowa algorytmu, rząd funkcji kosztu. Algorytmy. Metody programistyczne. Struktury danych. Literatura. A. V. Aho, J.E. Hopcroft,

Bardziej szczegółowo

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

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

Bardziej szczegółowo

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji

Macierze - obliczanie wyznacznika macierzy z użyciem permutacji Macierze - obliczanie wyznacznika macierzy z użyciem permutacji I LO im. F. Ceynowy w Świeciu Radosław Rudnicki joix@mat.uni.torun.pl 17.03.2009 r. Typeset by FoilTEX Streszczenie Celem wykładu jest wprowadzenie

Bardziej szczegółowo

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ę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

Bardziej szczegółowo

Analiza semantyczna. Gramatyka atrybutywna

Analiza semantyczna. Gramatyka atrybutywna Analiza semantyczna Do przeprowadzenia poprawnego tłumaczenia, oprócz informacji na temat składni języka podlegającego tłumaczeniu, translator musi posiadać możliwość korzystania z wielu innych informacji

Bardziej szczegółowo

Klasyczne zagadnienie przydziału

Klasyczne zagadnienie przydziału Klasyczne zagadnienie przydziału Można wyodrębnić kilka grup problemów, w których zadaniem jest odpowiednie rozmieszczenie posiadanych zasobów. Najprostszy problem tej grupy nazywamy klasycznym zagadnieniem

Bardziej szczegółowo

Algorytmy wyznaczania centralności w sieci Szymon Szylko

Algorytmy wyznaczania centralności w sieci Szymon Szylko Algorytmy wyznaczania centralności w sieci Szymon Szylko Zakład systemów Informacyjnych Wrocław 10.01.2008 Agenda prezentacji Cechy sieci Algorytmy grafowe Badanie centralności Algorytmy wyznaczania centralności

Bardziej szczegółowo

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe.

Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Temat: Struktury danych do reprezentacji grafów. Wybrane algorytmy grafowe. Oznaczenia G = V, E - graf bez wag, gdzie V - zbiór wierzchołków, E- zbiór krawdzi V = n - liczba wierzchołków grafu G E = m

Bardziej szczegółowo

Wykład 10 Grafy, algorytmy grafowe

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

Bardziej szczegółowo

3 Przeszukiwanie baz danych

3 Przeszukiwanie baz danych Spis treści 3 Przeszukiwanie baz danych 1 3.1 Heurystyczne algorytmy...................... 1 3.1.1 FASTA........................... 1 3.1.2 BLAST........................... 3 3.2 Macierze substytucyjne.......................

Bardziej szczegółowo

Algorytmy sortujące i wyszukujące

Algorytmy sortujące i wyszukujące Algorytmy sortujące i wyszukujące Zadaniem algorytmów sortujących jest ułożenie elementów danego zbioru w ściśle określonej kolejności. Najczęściej wykorzystywany jest porządek numeryczny lub leksykograficzny.

Bardziej szczegółowo

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej

WEKTORY I WARTOŚCI WŁASNE MACIERZY. = λ c (*) problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej WEKTORY I WARTOŚCI WŁASNE MACIERZY Ac λ c (*) ( A λi) c nietrywialne rozwiązanie gdy det A λi problem przybliżonego rozwiązania zagadnienia własnego dla operatorów w mechanice kwantowej A - macierzowa

Bardziej szczegółowo

Algorytmika dla bioinformatyki

Algorytmika dla bioinformatyki Algorytmika dla bioinformatyki kurs 2018/2019 Prof. Danuta Makowiec Instytut Fizyki Teoretycznej i Astrofizyki pok. 353, danuta.makowiec@gmail.com Cele kursu 2 Treści wykładu będą skoncentrowane wokół

Bardziej szczegółowo

Spacery losowe generowanie realizacji procesu losowego

Spacery losowe generowanie realizacji procesu losowego Spacery losowe generowanie realizacji procesu losowego Michał Krzemiński Streszczenie Omówimy metodę generowania trajektorii spacerów losowych (błądzenia losowego), tj. szczególnych procesów Markowa z

Bardziej szczegółowo

Podejście zachłanne, a programowanie dynamiczne

Podejście zachłanne, a programowanie dynamiczne Podejście zachłanne, a programowanie dynamiczne Algorytm zachłanny pobiera po kolei elementy danych, za każdym razem wybierając taki, który wydaje się najlepszy w zakresie spełniania pewnych kryteriów

Bardziej szczegółowo

Algorytmy sztucznej inteligencji

Algorytmy sztucznej inteligencji www.math.uni.lodz.pl/ radmat Przeszukiwanie z ograniczeniami Zagadnienie przeszukiwania z ograniczeniami stanowi grupę problemów przeszukiwania w przestrzeni stanów, które składa się ze: 1 skończonego

Bardziej szczegółowo

Rozdział 1 PROGRAMOWANIE LINIOWE

Rozdział 1 PROGRAMOWANIE LINIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 1 PROGRAMOWANIE LINIOWE 1.1 Opis programów Do rozwiązania zadań programowania

Bardziej szczegółowo

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ

PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ PROGRAMOWANIE SIECIOWE. METODA ŚCIEŻKI KRYTYCZNEJ Maciej Patan Uniwersytet Zielonogórski WPROWADZENIE Metody programowania sieciowego wprowadzono pod koniec lat pięćdziesiatych Ze względu na strukturę

Bardziej szczegółowo

Spis treści. Konwencje zastosowane w książce...5. Dodawanie stylów do dokumentów HTML oraz XHTML...6. Struktura reguł...9. Pierwszeństwo stylów...

Spis treści. Konwencje zastosowane w książce...5. Dodawanie stylów do dokumentów HTML oraz XHTML...6. Struktura reguł...9. Pierwszeństwo stylów... Spis treści Konwencje zastosowane w książce...5 Dodawanie stylów do dokumentów HTML oraz XHTML...6 Struktura reguł...9 Pierwszeństwo stylów... 10 Klasyfikacja elementów... 13 Sposoby wyświetlania elementów...

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

Zagadnienie transportowe

Zagadnienie transportowe 9//9 Zagadnienie transportowe Optymalizacja w procesach biznesowych Wykład Plan wykładu Przykład zagadnienia transportowego Sformułowanie problemu Własności zagadnienia transportowego Metoda potencjałów

Bardziej szczegółowo

10. Wstęp do Teorii Gier

10. Wstęp do Teorii Gier 10. Wstęp do Teorii Gier Definicja Gry Matematycznej Gra matematyczna spełnia następujące warunki: a) Jest co najmniej dwóch racjonalnych graczy. b) Zbiór możliwych dezycji każdego gracza zawiera co najmniej

Bardziej szczegółowo

Strategia "dziel i zwyciężaj"

Strategia dziel i zwyciężaj Strategia "dziel i zwyciężaj" W tej metodzie problem dzielony jest na kilka mniejszych podproblemów podobnych do początkowego problemu. Problemy te rozwiązywane są rekurencyjnie, a następnie rozwiązania

Bardziej szczegółowo

Definicja pliku kratowego

Definicja pliku kratowego Pliki kratowe Definicja pliku kratowego Plik kratowy (ang grid file) jest strukturą wspierająca realizację zapytań wielowymiarowych Uporządkowanie rekordów, zawierających dane wielowymiarowe w pliku kratowym,

Bardziej szczegółowo

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm

Rozdział 5. Macierze. a 11 a a 1m a 21 a a 2m... a n1 a n2... a nm Rozdział 5 Macierze Funkcję, która każdej parze liczb naturalnych (i,j) (i = 1,,n;j = 1,,m) przyporządkowuje dokładnie jedną liczbę a ij F, gdzie F = R lub F = C, nazywamy macierzą (rzeczywistą, gdy F

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

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych

Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych Uniwersytet Zielonogórski Wydział Elektrotechniki, Informatyki i Telekomunikacji Instytut Sterowania i Systemów Informatycznych ELEMENTY SZTUCZNEJ INTELIGENCJI Laboratorium nr 9 PRZESZUKIWANIE GRAFÓW Z

Bardziej szczegółowo

Metody przeszukiwania

Metody przeszukiwania Metody przeszukiwania Co to jest przeszukiwanie Przeszukiwanie polega na odnajdywaniu rozwiązania w dyskretnej przestrzeni rozwiązao. Zwykle przeszukiwanie polega na znalezieniu określonego rozwiązania

Bardziej szczegółowo

Temat: Algorytmy zachłanne

Temat: Algorytmy zachłanne Temat: Algorytmy zachłanne Algorytm zachłanny ( ang. greedy algorithm) wykonuje zawsze działanie, które wydaje się w danej chwili najkorzystniejsze. Wybiera zatem lokalnie optymalną możliwość w nadziei,

Bardziej szczegółowo

Wykład 3. Metoda dziel i zwyciężaj

Wykład 3. Metoda dziel i zwyciężaj Wykład 3 Metoda dziel i zwyciężaj 1 Wprowadzenie Technika konstrukcji algorytmów dziel i zwyciężaj. przykładowe problemy: Wypełnianie planszy Poszukiwanie (binarne) Sortowanie (sortowanie przez łączenie

Bardziej szczegółowo

Planowanie przedsięwzięć

Planowanie przedsięwzięć K.Pieńkosz Badania Operacyjne Planowanie przedsięwzięć 1 Planowanie przedsięwzięć Model przedsięwzięcia lista operacji relacje poprzedzania operacji modele operacji funkcja celu planowania K.Pieńkosz Badania

Bardziej szczegółowo

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz

Grafy (3): drzewa. Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków. UTP Bydgoszcz Grafy (3): drzewa Wykłady z matematyki dyskretnej dla informatyków i teleinformatyków UTP Bydgoszcz 13 (Wykłady z matematyki dyskretnej) Grafy (3): drzewa 13 1 / 107 Drzewo Definicja. Drzewo to graf acykliczny

Bardziej szczegółowo

Matematyka dyskretna - 7.Drzewa

Matematyka dyskretna - 7.Drzewa Matematyka dyskretna - 7.Drzewa W tym rozdziale zajmiemy się drzewami: specjalnym przypadkiem grafów. Są one szczególnie przydatne do przechowywania informacji, umożliwiającego szybki dostęp do nich. Definicja

Bardziej szczegółowo

Dopasowanie sekwencji Sequence alignment. Bioinformatyka, wykłady 3 i 4 (16, 23.X.2012)

Dopasowanie sekwencji Sequence alignment. Bioinformatyka, wykłady 3 i 4 (16, 23.X.2012) Dopasowanie sekwencji Sequence alignment Bioinformatyka, wykłady 3 i 4 (16, 23.X.2012) krzysztof_pawlowski@sggw.pl terminologia alignment 33000 dopasowanie sekwencji 119 uliniowienie sekwencji 82 uliniowianie

Bardziej szczegółowo

Kolorowanie wierzchołków grafu

Kolorowanie wierzchołków grafu Kolorowanie wierzchołków grafu Niech G będzie grafem prostym. Przez k-kolorowanie właściwe wierzchołków grafu G rozumiemy takie przyporządkowanie wierzchołkom grafu liczb naturalnych ze zbioru {1,...,

Bardziej szczegółowo

Porównywanie i dopasowywanie sekwencji

Porównywanie i dopasowywanie sekwencji Porównywanie i dopasowywanie sekwencji Związek bioinformatyki z ewolucją Wraz ze wzrostem dostępności sekwencji DNA i białek narodziła się nowa dyscyplina nauki ewolucja molekularna Ewolucja molekularna

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

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

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w

Kolejny krok iteracji polega na tym, że przechodzimy do następnego wierzchołka, znajdującego się na jednej krawędzi z odnalezionym już punktem, w Metoda Simpleks Jak wiadomo, problem PL z dowolną liczbą zmiennych można rozwiązać wyznaczając wszystkie wierzchołkowe punkty wielościanu wypukłego, a następnie porównując wartości funkcji celu w tych

Bardziej szczegółowo

Planowanie drogi robota, algorytm A*

Planowanie drogi robota, algorytm A* Planowanie drogi robota, algorytm A* Karol Sydor 13 maja 2008 Założenia Uproszczenie przestrzeni Założenia Problem planowania trasy jest bardzo złożony i trudny. W celu uproszczenia problemu przyjmujemy

Bardziej szczegółowo

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA

Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 3 ZADANIE TRANSPORTOWE I PROBLEM KOMIWOJAŻERA 3.2. Ćwiczenia komputerowe

Bardziej szczegółowo

Rozdział 8 PROGRAMOWANIE SIECIOWE

Rozdział 8 PROGRAMOWANIE SIECIOWE Wprowadzenie do badań operacyjnych z komputerem Opisy programów, ćwiczenia komputerowe i zadania. T. Trzaskalik (red.) Rozdział 8 PROGRAMOWANIE SIECIOWE 8.2. Ćwiczenia komputerowe Ćwiczenie 8.1 Wykorzystując

Bardziej szczegółowo