Algoritmusok és Adatszerkezetek I.

Slides:



Advertisements
Hasonló előadás
A Floyd-Warshall algoritmus
Advertisements

Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
Matematika és Tánc Felkészítő tanár: Komáromi Annamária
Programozási alapismeretek 5. előadás. ELTE Szlávi - Zsakó: Programozási alapismeretek 5.2/  Programozási tételek.
Programozási alapismeretek 6. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 6.2/  Rekordok/struktúrák.
INFOÉRA Dinamikus programozás (Horváth Gyula és Szlávi Péter előadásai felhasználásával) Juhász István-Zsakó László: Informatikai képzések.
4. VÉGES HALMAZOK 4.1 Alaptulajdonságok
Algoritmusok és adatszerkezetek 2 Újvári Zsuzsanna.
Gubicza József (GUJQAAI.ELTE)
Programozási alapismeretek 4. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 4.2/  A szöveg A szöveg.
Programozási alapismeretek 5. előadás. ELTE 2/  Programozási tételek – a lényeglényeg  Sorozatszámítás Sorozatszámítás.
Programozási alapismeretek 8. előadás. ELTE 2/  További programozási tételek További programozási tételek 
Programozási alapismeretek 9. előadás. ELTE Horváth-Papné-Szlávi-Zsakó: Programozási alapismeretek 9. előadás2/
Programozási alapismeretek 12. előadás. ELTE  Tapasztalatok a rendezésről Tapasztalatok a rendezésről  Keresés rendezett sorozatban Keresés rendezett.
Bioinformatika Szekvenciák és biológiai funkciók ill. genotipusok és fenotipusok egymáshoz rendelése Kós Péter 2009.XI.
Távolságok, hasonlósági mértékek, dinamikus idővetemítés.
Objektum osztályozás Képfeldolgozás 2. Blaskovics Viktor, Hantos Norbert, Papp Róbert Sándor.
Szimmetrikus Programozás, AZ ALAPOK
Algoritmizálás Göncziné Kapros Katalin humaninformatika.ektf.hu.
A digitális számítás elmélete
ELTE Szlávi-Zsakó: Programozási alapismeretek 10.1/ Összegzés mátrixra Feladat: Egy mátrix elemeinek összege.
Dijkstra algoritmus Algoritmusok és adatszerkezetek 2. Újvári Zsuzsanna.
Miskolci Egyetem Informatikai Intézet Általános Informatikai Tanszé k Pance Miklós Adatstruktúrák, algoritmusok előadásvázlat Miskolc, 2004 Technikai közreműködő:
PHP I. Alapok. Mi a PHP? PHP Hypertext Preprocessor Szkriptnyelv –Egyszerű, gyors fejlesztés –Nincs fordítás (csak értelmező) Alkalmazási lehetőségek:
Készítette: Kosztyán Zsolt Tibor
Intelligens Felderítő Robotok
Az oszd meg és uralkodj (Divide et Impera) programozási módszer
Knuth-Morris-Pratt algoritmus
Gépi tanulás Tanuló ágens, döntési fák, általános logikai leirások tanulása.
Rendezések és szövegkezelő függvények
Szemiotika – Jeltan A Rendszer B Rendszer Kommunikáció Jel.
1 AAO folytatás ++ Csink László. 2 Rekurzív bináris keresés (rendezett tömbben) public static int binker(int[] tomb, int value, int low, int high) public.
Brute Force algoritmus
Magas szintű Ipari Automatizálás Kérdések és válaszok Funkcióblokkon belüli indirekt címzés (CX-Programmer)
A Dijkstra algoritmus.
Idősor karaktersorozatként való vizsgálata – SAX algoritmus Szabó Dániel Konzulens: dr. Dobrowiecki Tadeusz Önálló Labor előadás december 12.
Előadó: Nagy Sára Mesterséges intelligencia Kereső rendszerek.
Egyenesvonalú (lineáris) adatszerkezetek
1 Szélességi Bejárás Györgyi Tamás – GYTNAAI.ELTE 2007 Március 22 Algoritmusok És Adatszerkezetek 2 Gráfalgoritmus S b a d e f h g c.
MI 2003/ Mi lenne a b legjobb választása? Statisztikai eljárásoknál az un. Fisher féle lineáris diszkriminancia függvény adja a legjobb szétválasztási.
Programozás I. Típus algoritmusok
Algoritmizálás, adatmodellezés tanítása 8. előadás.
ProgramozásProgramozás célja hosszabb számítások elvégzése ill. kiíratása akkor érdemes programot írni, ha sok számolni való van illetve ha ugyanazt az.
Algoritmus és adatszerkezet Tavaszi félév Tóth Norbert1 Floyd-Warshall-algoritmus Legrövidebb utak keresése.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
Készítette: Mátyás István agrár mérnöktanár szakos hallgató,
1.  Szerzői:  Panagiotis Bouros (University of Hong Kong),  Shen Ge (University of Hong Kong),  Nikos Mamoulis (University of Hong Kong)  Esemény:
Dijkstra algoritmus. Az algoritmus működése  Kezdésnél a kezdő csúcson kívül minden csúcs távolsága legyen ∞, a kezdő csúcs távolsága 0.  Feltételes.
KNUTH-MORRIS-PRATT ALGORITMUS (KMP) KÉSZÍTETTE: ZELNIK MÁRTON.
Quick-Search algoritmus. Bevezet ő Az eljárás működése során két esetet különböztetünk meg: A szöveg minta utáni első karaktere nem fordul elő a mintában.
Kvantitatív módszerek
NJSzT Nemes Tihamér Országos Középiskolai Sámítástechnikai Tanulmányi Verseny.
TÁMOP /1-2F Informatikai gyakorlatok 11. évfolyam Alapvető programozási tételek megvalósítása Czigléczky Gábor 2009.
A Dijkstra algoritmus.
Mediánok és rendezett minták
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
Halmazműveletek.
Gyorsrendezés Elemzések Változatok.
P és NP teljes problémák
Informatikai gyakorlatok 11. évfolyam
Algoritmusok és Adatszerkezetek I.
Mintaillesztés Knuth-Morris-Pratt (KMP) algoritmus
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
Algoritmusok és Adatszerkezetek I.
INFOÉRA 2006 Szövegfeldolgozás III.
Algoritmusok és Adatszerkezetek I.
Szövegfeldolgozás II. INFOÉRA perc kell még hozzá
Előadás másolata:

Algoritmusok és Adatszerkezetek I. Sztringalgoritmusok 2017. november 21.

Sztringalgoritmusok Forrás: https://www.coursera.org/learn/algorithms-on-strings/lecture/avHa3/welcome

Sztringalgoritmusok

Sztringalgoritmusok

Bioinformatika

Bioinformatika Személyre szabott orvoslás Génmódosított növények Filogenetika

Antivírusok és IDS Gyanús mintázatok keresése

Sztringek hasonlósága

A leghosszabb közös részsorozat Két vagy több élőlény DNS-ének összehasonlítása bázisok: {A,C,G,T} pl ACCGGTCGAGTGCGCGGAAGCCGGCCGAA Két DNS-t tekinthetőnek hasonlónak ha minél hosszabb közös részsorozattal rendelkeznek

A leghosszabb közös részsorozat Adott két sorozat X és Y. Azt mondjuk, hogy egy Z sorozat közös részsorozatuk, ha Z részsorozata X-nek is és Y-nak is. pl: X=(A,B,C,B,D,A) Y=(B,D,C,A,B,A,A)

A leghosszabb közös részsorozat Adott két sorozat X és Y. Azt mondjuk, hogy egy Z sorozat közös részsorozatuk, ha Z részsorozata X-nek is és Y-nak is. pl: X=(A,B,C,B,D,A) Y=(B,D,C,A,B,A,A) egy közös részsorozat: (B,C,A)

A leghosszabb közös részsorozat Adott két sorozat X és Y. Azt mondjuk, hogy egy Z sorozat közös részsorozatuk, ha Z részsorozata X-nek is és Y-nak is. pl: X=(A,B,C,B,D,A) Y=(B,D,C,A,B,A,A) egy közös részsorozat: (B,C,A) egy leghosszabb közös részsorozat: (B,C,B,A)

A leghosszabb közös részsorozat Bemenet: X = (x1, x2, . . . , xm) és Y = (y1, y2, . . . , yn) ahol minden xi és yi egy véges halmaz elemi Feladat: Találjuk meg X és Y leghosszabb közös részsorozatát (LKR) Optimalizálási feladat Nyers erő módszere: O(2n) Részfeladatokra bontás?

Optimális részstruktúra: Átfedő részfeladatok O(mn) részfeladat Itt (ellentétben a pénzváltás ill. hátizsák problémával) nem kell minden részfeladatot megoldani!

LKR DP megoldása backpointerek futásidő: O(nm)

Szerkesztési távolság

Szerkesztési távolság beszúrás költsége törlés költsége csere költsége

Mintaillesztés

Mintaillesztés (pattern matching) Bemenet: T[1…n] szöveg (text) és P[1...m] minta (pattern) Kimenet: P összes illeszkedési helye T-ben (érvényes eltolása), 0≤s≤n-m illeszkedés: T[s+1…s+m]=P[1…m]

Egyszerű mintaillesztő (brute force) http://whocouldthat.be/visualizing-string-matching/ össz futásidő: O((n-m+1)m) O(m)

Prefix függvény Prefix: egy sztring első k karaktere Szuffix: egy sztring utolsó k karaktere Egy minta prefix függvénye tartalmazza azokat az ismereteket, amelyek megadják, hogyan illeszkedik a minta önmaga eltoltjaira.

Prefix függvény

Knuth-Morris-Pratt algoritmus össz futásidő: O(n)

Prefix függvény számítása

Prefix függvény számítás helyessége

össz futásidő: O(m)

Knuth-Morris-Pratt futásideje Előkészítő lépés: O(m) csak a minta kell hozzá (ha ugyanazt a mintát több szövegben keressük elég egyszer!) tárigény: Θ(m) Illesztési lépés: O(n) csak a szöveg hosszától függ

Sok minta együttes illesztése https://www.coursera.org/learn/algorithms-on-strings/lecture/dryqB/herding-patterns-into-trie

Összegzés Sztringalgoritmusok Sztringek hasonlósága Mintaillesztés Leghosszabb közös részsorozat Szerkesztési távolság Dinamikus programozás Mintaillesztés Knuth-Morris-Pratt