Algoritmusok és Adatszerkezetek I.

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

A Floyd-Warshall algoritmus
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ő:
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 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 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.
Algoritmizálás Göncziné Kapros Katalin humaninformatika.ektf.hu.
OPERÁCIÓKUTATÁS Kalmár János, 2012 Tartalom A nulla-egy LP megoldása Hátizsák feladat.
A digitális számítás elmélete
Dijkstra algoritmus Algoritmusok és adatszerkezetek 2. Újvári Zsuzsanna.
Trajectori Adatok feldolgozása DirectionPreserving Trajectory Simplification (Cheng Long, Raymond ChiWing Wong, H. V. Jagadish) Forrás: Készítette: Béleczki.
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ő:
Készítette: Kosztyán Zsolt Tibor
Vámossy Zoltán 2004 (H. Niemann: Pattern Analysis and Understanding, Springer, 1990) DIP + CV Bevezető II.
 Tanuló környezet meghatározása  Ötletgyűjtés, a tanulási környezet ismeretén alapszik  Oktatási stratégia meghatározása  Előzetes képernyő-elrendezés.
Intelligens Felderítő Robotok
Készítette: Gergó Márton Konzulens: Engedy István 2009/2010 tavasz.
Rendezési algoritmusok
Az oszd meg és uralkodj (Divide et Impera) programozási módszer
Knuth-Morris-Pratt algoritmus
Speciális Listák: Sor A sor adatszerkezet olyan speciális lista, amelyet a műveletei definiálnak. 1. ACCESS HEAD 3. POP itt GET-nek nevezzük 5. INJECT.
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.
Algoritmizálás, adatmodellezés tanítása 8. előadás.
Programozási alapismeretek 8. előadás. ELTE Szlávi-Zsakó: Programozási alapismeretek 8.2/  További programozási.
Computing n-Gram Statistics in MapReduce Klaus Berberich, Srikanta Bedathur EDBT/ICDT 2013 Joint Conference.
Diszjunkt halmazok adatszerkezete A diszjunkt halmaz adatszerkezet diszjunkt dinamikus halmazok S={S 1,…,S n } halmaza. Egy halmazt egy képviselője azonosít.
1.  Szerzői:  Panagiotis Bouros (University of Hong Kong),  Shen Ge (University of Hong Kong),  Nikos Mamoulis (University of Hong Kong)  Esemény:
Összeállította: Gergely János
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
Algoritmusok és Adatszerkezetek I.
Informatikai gyakorlatok 11. évfolyam
Algoritmusok és Adatszerkezetek I.
Mintaillesztés Knuth-Morris-Pratt (KMP) algoritmus
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 2018. november 20.

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

Sztring hasonlósági feladat Két módszer és algoritmus kéts sztring hasonlóságának kiszámítására: leghosszabb közös részsorozat elterjedt a bioinformatikában szerkesztési távolság elterjedt a természetes szöveg feldolgozásban

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 Mintaillesztés Knuth-Morris-Pratt