Hasonlósági keresés molekulagráfokon: legnagyobb közös részgráf keresése

Hasonló dokumentumok
Bonyolultságelmélet gyakorlat 06 Gráfos visszavezetések II.

Algoritmuselmélet. Bonyolultságelmélet. Katona Gyula Y.

Diszkrét matematika 2.C szakirány

22. GRÁFOK ÁBRÁZOLÁSA

Diszkrét matematika 1. estis képzés

Diszkrét matematika 2.C szakirány

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2. estis képzés

Gráfelméleti feladatok programozóknak

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 13.

Diszkrét matematika 2. estis képzés

Adatszerkezetek 2. Dr. Iványi Péter

ELTE IK Esti képzés tavaszi félév. Tartalom

Diszkrét matematika 1. estis képzés

Diszkrét matematika 2. estis képzés

Diszkrét matematika 2.C szakirány

EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF

Diszkrét matematika 2.C szakirány

Gráf- és részgráf-izomorfizmus problémák kémiai adatbázisokban. Diplomamunka

Diszkrét matematika 2.

Megoldások 7. gyakorlat Síkgráfok, dualitás, gyenge izomorfia, Whitney-tételei

Gráfelméleti alapfogalmak

Számítógép hálózatok, osztott rendszerek 2009

1: Bevezetés: Internet, rétegmodell Alapok: aszimptótika, gráfok. HálózatokII, 2007

Diszkrét matematika 2 (C) vizsgaanyag, 2012 tavasz

Feladatok, amelyek gráfokkal oldhatók meg 1) A königsbergi hidak problémája (Euler-féle probléma) a

Gráf csúcsainak színezése. The Four-Color Theorem 4 szín tétel Appel és Haken bebizonyították, hogy minden térkép legfeljebb 4 színnel kiszínezhető.

Közösségek keresése nagy gráfokban

Algoritmuselmélet. Mélységi keresés és alkalmazásai. Katona Gyula Y.

SzA II. gyakorlat, szeptember 18.

1. tétel - Gráfok alapfogalmai

Síkbarajzolható gráfok Április 26.

Diszkrét matematika 2.

Közösség detektálás gráfokban

III. Gráfok. 1. Irányítatlan gráfok:

NeMa: Fast Graph Search with Label Similarity

Euler tétel következménye 1:ha G összefüggő síkgráf és legalább 3 pontja van, akkor: e 3

Sali Attila Budapest Műszaki és Gazdaságtudományi Egyetem. I. B. 137/b március 16.

Társadalmi és gazdasági hálózatok modellezése

Gráfelmélet. I. Előadás jegyzet (2010.szeptember 9.) 1.A gráf fogalma

Ellenőrző kérdések. 36. Ha t szintű indexet használunk, mennyi a keresési költség blokkműveletek számában mérve? (1 pont) log 2 (B(I (t) )) + t

Algoritmuselmélet. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 12.

MŰSZAKKIOSZTÁSI PROBLÉMÁK A KÖZÖSSÉGI KÖZLEKEDÉSBEN

2. Visszalépéses stratégia

Diszkrét matematika 2.

Hatékony algoritmusok kémiai gráfok részgráf-izomorfia vizsgálatára. BSc szakdolgozat

Algoritmusok bonyolultsága

Modern irányzatok a bonyolultságelméletben: éles korlátok és dichotómia tételek

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

Bonyolultságelmélet. Monday 10 th October, 2016, 17:44

Diszkrét matematika 2. estis képzés

2. Visszalépéses keresés

Számítógép és programozás 2

definiálunk. Legyen egy konfiguráció, ahol és. A következő három esetet különböztetjük meg. 1. Ha, akkor 2. Ha, akkor, ahol, ha, és egyébként.

Diszkrét matematika 2.C szakirány

Bonyolultságelmélet. Monday 26 th September, 2016, 18:50

A részgráf-izomorfia probléma adatbázisokban

Diszkrét matematika 2.

Diszkrét matematika II. feladatok

Számítógép és programozás 2

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Diszkrét matematika 2.

Speciális adatszerkezetek. Programozás alapjai II. (8. ea) C++ Tömbök. Tömbök/2. N dimenziós tömb. Nagyméretű ritka tömbök

30. ERŐSEN ÜSSZEFÜGGŐ KOMPONENSEK

Programozás alapjai II. (7. ea) C++ Speciális adatszerkezetek. Tömbök. Kiegészítő anyag: speciális adatszerkezetek

7. Régió alapú szegmentálás

Szimmetrikus kombinatorikus struktúrák MSc hallgatók számára. Ramsey-gráfok

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

Gráfalgoritmusok ismétlés ősz

Gráfelméleti feladatok. c f

Gépi tanulás a gyakorlatban. Kiértékelés és Klaszterezés

Érdekes informatika feladatok

Programozás alapjai II. (7. ea) C++

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Szalai Péter. April 17, Szalai Péter April 17, / 36

Struktúra nélküli adatszerkezetek

Gráfok 1. Tárolási módok, bejárások. Szoftvertervezés és -fejlesztés II. előadás. Szénási Sándor

Kiegészítő részelőadás 1. Az algoritmusok hatékonyságának mérése

GRÁFELMÉLET. 7. előadás. Javító utak, javító utak keresése, Edmonds-algoritmus

1. Szerencsére elmúlt a veszély, pánikra semmi ok. Luke Skywalker ugyan kivont lézerkarddal ment órára a jediképzőben, de a birodalmi gárda

SZENZOROKRA ÉPÜLŐ ADAPTÍV RENDSZERMODELL

Logika és számításelmélet. 11. előadás

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Adatbányászat: Klaszterezés Haladó fogalmak és algoritmusok

Adatszerkezetek II. 1. előadás

DISZKRÉT MATEMATIKA 2

Alapfogalmak a Diszkrét matematika II. tárgyból

2. csoport, 8. tétel: Gráfok

Gráfok, definíciók. Gráfok ábrázolása. Az adott probléma megoldásához ténylegesen mely műveletek szükségesek. Ábrázolások. Példa:

Érdemes egy n*n-es táblázatban (sorok-lányok, oszlopok-fiúk) ábrázolni a két színnel, mely éleket húztuk be (pirossal, kékkel)

Gráfelmélet/Diszkrét Matematika MSc hallgatók számára. 13. Előadás

Kémiai kötés. Általános Kémia, szerkezet Slide 1 /39

Mesterséges Intelligencia I. (I602, IB602)

SULINOVA PROGRAMTANTERVÉHEZ ILLESZKEDŐ TANMENET 10. ÉVFOLYAM SZÁMÁRA

23. SZÉLESSÉGI BEJÁRÁS

HAMILTON KÖR: minden csúcson PONTOSAN egyszer áthaladó kör. Forrás: (

Gráfelméleti heurisztikák alkalmazása hibatűrő hálózatok tervezésénél Radics Norbert Nokia Siemens Networks

Babeş Bolyai Tudományegyetem, Kolozsvár Matematika és Informatika Kar Magyar Matematika és Informatika Intézet

bármely másikra el lehessen jutni. A vállalat tudja, hogy tetszőlegesen adott

Algoritmuselmélet. Gráfok megadása, szélességi bejárás, összefüggőség, párosítás. Katona Gyula Y.

Átírás:

Hasonlósági keresés molekulagráfokon: legnagyobb közös részgráf keresése Kovács Péter ChemAxon Kft., ELTE IK kpeter@inf.elte.hu Budapest, 2018.11.06.

Bevezetés Feladat: két molekulagráf legnagyobb közös részgráfjának meghatározása. Alkalmazások: hasonlósági keresés klaszterezés 2D/3D illesztés reakciók elemzése stb. Forrás: P. Englert and P. Kovács. Efficient heuristics for maximum common substructure search. J. Chem. Inf. Model., 55:941 955, 2015. IF: 3.657.

Molekulák reprezentációja A hidrogénatomokat nem ábrázoljuk A szénatomok címkéit nem jelenítjük meg Az aromás gyűrűket így ábrázoljuk Molekulagráf irányítatlan, egyszerű, csúcs- és élcímkézett gráf csúcsai az atomokat reprezentálják (pl. C,,, F, Cl, Br stb.) élei a kémiai kötéseket reprezentálják (egyszeres, kétszeres, aromás stb.) a hidrogénatomokat közvetlenül nem reprezentáljuk (általában)

Molekulagráfok hasonlósága Mennyire hasonló ez a két molekulagráf? Cl Cl

Molekulagráfok hasonlósága Mennyire hasonló ez a két molekulagráf? Cl Cl

Molekulagráfok hasonlósága Cl Cl Hasonlóság (Jaccard, Tanimoto): A B A B =

Molekulagráfok hasonlósága Cl Cl Hasonlóság (Jaccard, Tanimoto): A B A B =

Molekulagráfok hasonlósága Cl Cl Hasonlóság (Jaccard, Tanimoto): A B A B = = m c m 1 +m 2 m c = 0,615

Molekulagráfok hasonlósága

Molekulagráfok hasonlósága Hasonlóság: 0,958

További alkalmazások Klaszterezés

További alkalmazások 3D illesztés

MCIS MCES MCIS = Maximum Common Induced Subgraph MCES = Maximum Common Edge Subgraph

MCIS MCES Maximum Common Induced Subgraph MCIS a közös részgráfnak feszítettnek kell lennie csúcsok közötti leképezéssel definiálható méret = csúcsok száma Maximum Common Edge Subgraph MCES a közös részgráf nem feltétlenül feszített élek közötti leképezéssel definiálható méret = élek száma

Visszavezetés a maximális klikk feladatra u 1 v 1 u 2 (u 1,u 2 ) v 2 (v 1,v 2 ) G 1 G 2 G 1 G 2 Direktszorzat-gráf (MCIS feladat) csúcsai a G 1 és G 2 azonos címkéjű csúcsaiból alkotott párok élei ezek kompatibilitását fejezik ki

Visszavezetés a maximális klikk feladatra u 1 v 1 u 2 (u 1,u 2 ) v 2 (v 1,v 2 ) G 1 G 2 G 1 G 2 Direktszorzat-gráf (MCIS feladat) csúcsai a G 1 és G 2 azonos címkéjű csúcsaiból alkotott párok élei ezek kompatibilitását fejezik ki (u 1, u 2 ) és (v 1, v 2 ) kompatibilis u 1 v 1, u 2 v 2, valamint u 1 nem szomszédos v 1 -gyel és u 2 nem szomszédos v 2 -vel vagy u 1 -v 1 és u 2 -v 2 is szomszédosak és a közöttük lévő élek címkéje azonos G 1 -ben és G 2 -ben

Visszavezetés a maximális klikk feladatra u 1 v 1 u 2 (u 1,u 2 ) v 2 (v 1,v 2 ) G 1 G 2 G 1 G 2 Direktszorzat-gráf (MCIS feladat) (u 1, u 2 ) és (v 1, v 2 ) kompatibilis = egy feszített közös részgráfot meghatározó V (G 1 ) V (G 2 ) leképezés egyszerre tartalmazhatja őket

Visszavezetés a maximális klikk feladatra u 1 v 1 u 2 (u 1,u 2 ) v 2 (v 1,v 2 ) G 1 G 2 G 1 G 2 Direktszorzat-gráf (MCIS feladat) (u 1, u 2 ) és (v 1, v 2 ) kompatibilis = egy feszített közös részgráfot meghatározó V (G 1 ) V (G 2 ) leképezés egyszerre tartalmazhatja őket következmény: G 1 G 2 klikkjei és a feszített közös részgráfokat meghatározó leképezések kölcsönösen egyértelműen megfeleltethetők egymásnak (és a méretük is azonos)

Visszavezetés a maximális klikk feladatra u 1 v 1 u 2 (u 1,u 2 ) v 2 (v 1,v 2 ) G 1 G 2 G 1 G 2 Direktszorzat-gráf (MCIS feladat) (u 1, u 2 ) és (v 1, v 2 ) kompatibilis = egy feszített közös részgráfot meghatározó V (G 1 ) V (G 2 ) leképezés egyszerre tartalmazhatja őket következmény: G 1 G 2 klikkjei és a feszített közös részgráfokat meghatározó leképezések kölcsönösen egyértelműen megfeleltethetők egymásnak (és a méretük is azonos) tehát az MCIS feladat visszavezethető a G 1 G 2 gráfban maximális klikk keresésére

Visszavezetés a maximális klikk feladatra Direktszorzat-gráf (MCES feladat) G 1 és G 2 helyett tekintsük az élgráfjaikat: L(G 1 ) és L(G 2 ) L(G 1 ) L(G 2 ) az élpárok kompatibilitását reprezentálja

Visszavezetés a maximális klikk feladatra Direktszorzat-gráf (MCES feladat) G 1 és G 2 helyett tekintsük az élgráfjaikat: L(G 1 ) és L(G 2 ) L(G 1 ) L(G 2 ) az élpárok kompatibilitását reprezentálja G 1 és G 2 egy izolált csúcsot nem tartalmazó közös részgráfja (nem felt. feszített) megfeleltethető az L(G 1 ) és L(G 2 ) egy közös feszített részgráfjának fordítva is igaz, feltéve hogy nem történt Y csere (l. később)

Visszavezetés a maximális klikk feladatra Direktszorzat-gráf (MCES feladat) G 1 és G 2 helyett tekintsük az élgráfjaikat: L(G 1 ) és L(G 2 ) L(G 1 ) L(G 2 ) az élpárok kompatibilitását reprezentálja G 1 és G 2 egy izolált csúcsot nem tartalmazó közös részgráfja (nem felt. feszített) megfeleltethető az L(G 1 ) és L(G 2 ) egy közös feszített részgráfjának fordítva is igaz, feltéve hogy nem történt Y csere (l. később) következmény: az MCES feladat visszavezethető az L(G 1 ) és L(G 2 ) gráfokon értelmezett MCIS feladatra, tehát az L(G 1 ) L(G 2 ) gráfban maximális klikk keresésére

Visszavezetés a maximális klikk feladatra Direktszorzat-gráf előállítása (MCES)

Visszavezetés a maximális klikk feladatra Y csere ha G 1 és G 2 izomorfak, akkor nyilván az élgráfjaik is és megfordítva?

Visszavezetés a maximális klikk feladatra Y csere ha G 1 és G 2 izomorfak, akkor nyilván az élgráfjaik is és megfordítva? Tétel (Whitney, 1932): Két összefüggő gráf akkor és csak akkor izomorf, ha az élgráfjaik izomorfak, egyetlen kivételtől eltekintve: K 3 és K 1,3, amelyek nem izomorfak, de az élgráfjaik izomorfak. szerencsére molekulagráfokban a K 3 (háromszög vagy ) részgráf elég ritka K 3 ( gráf) és az élgráfja K 1,3 (Y gráf) és az élgráfja

A feladat bonyolultsága az MCIS és MCES feladatok P-nehezek a megfelelő döntési problémák P-teljesek: létezik-e k méretű közös (feszített) részgráf

A feladat bonyolultsága az MCIS és MCES feladatok P-nehezek a megfelelő döntési problémák P-teljesek: létezik-e k méretű közös (feszített) részgráf MCES feladat speciális esetei: részgráf-izomorfia (P-teljes) maximális klikk (P-teljes) Hamilton-kör (P-teljes, még max. 3 fokú síkgráfokra is) a max. klikk probléma az MCIS feladatnak is spec. esete

Összefüggőség Összefüggő MCES em összefüggő MCES

Algoritmus MCES feladatot visszavezetjük a max. klikk feladatra (L(G 1 ) L(G 2 ) gráfban) max. klikk keresésére egy hatékony heurisztikus algoritmust alkalmazunk kidolgoztunk további heurisztikákat, amelyekkel a módszert pontosabbá és gyorsabbá tettük ezekben kihasználjuk a molekulagráfok specialitásait (csúcs- és élcímkék, alacsony fokszám stb.)

Reprezentáció Maximum JVM heap size 2500 MB 2000 MB 1500 MB 1000 MB 500 MB Adjacency matrix ew representation 0 MB 0 50 100 150 200 250 Atom count Csúcsmátrixos ábrázolás: 3,02 n 4,11 Komplementer gráf tárolása éllistával: 71,42 n 3,11

Korai terminálás 0.1 Running time (seconds) 0.01 0.001 0.0001 Without heuristics With all heuristics 500 1000 1500 2000 2500 Input size (m 1 m 2 )

ECFP heurisztika az ún. extended connectivity fingerprint (ECFP) generálási algoritmusán alapuló heurisztika a gráfok csúcsainak környezeteit hash-kódokkal reprezentáljuk előnyben részesítjük olyan csúcsok és élek egymáshoz rendelését, amelyek nagy izomorf környezettel rendelkeznek Cl

Leképezés optimalizálása a közös részgráf méretén kívül gyakran fontos az inputgráfok csúcsait és éleit egymáshoz rendelő leképezés is (pl. reakciók elemzése, molekulák illesztése) leképezés szempontjából jelentős csúcsokat azonosítjuk a leképezések összehasonlításához egy heurisztikus értékelő függvényt használunk

Hozzárendelés javítása 6 1 2 Cl 6 1 2 6 1 2 Cl 6 1 2 Br 5 4 3 5 4 Br 3 5 4 3 5 4 3 Szuboptimális leképezés Elvárt leképezés

Hozzárendelés javítása 9 10 11 7 4 5 6 1 2 3 13 14 15 16 17 18 8 8 9 10 11 17 18 13 14 15 16 6 5 4 3 2 1 Cl Cl 7 12 12 Szuboptimális leképezés 9 10 11 7 3 2 1 6 5 4 13 14 15 16 17 18 9 10 11 12 7 3 2 1 6 5 4 13 18 17 16 15 14 Cl Cl 12 8 8 Elvárt leképezés

Hozzárendelés javítása Ez a heurisztika gyakran segít abban is, hogy nagyobb közös részgráfot találjunk 2 3 4 7 5 2 8 4 3 5 6 7 6 8 1 1 Szuboptimális eredmény 2 3 7 2 8 3 5 6 7 6 8 9 9 4 4 5 1 1 ptimális eredmény

Eredmények 1. példa

Eredmények 1. példa Heurisztikák nélkül: Atomok száma: 80 Kötések száma: 78 Komponensek száma: 10 Hasonlóság: 0,71

Eredmények 1. példa Heurisztikák nélkül: Atomok száma: 80 Kötések száma: 78 Komponensek száma: 10 Hasonlóság: 0,71 Heurisztikákkal: Atomok száma: 82 Kötések száma: 92 Komponensek száma: 2 Hasonlóság: 0,96

Eredmények 2. példa

Eredmények 2. példa Heurisztikák nélkül: Atomok száma: 58 Kötések száma: 55 Komponensek száma: 6 Hasonlóság: 0,57

Eredmények 2. példa Heurisztikák nélkül: Atomok száma: 58 Kötések száma: 55 Komponensek száma: 6 Hasonlóság: 0,57 Heurisztikákkal: Atomok száma: 59 Kötések száma: 75 Komponensek száma: 1 Hasonlóság: 0,97

Eredmények Result size (bond count) 250 200 150 100 50 Without heuristics With all heuristics 0 0 50 100 150 200 250 Upper bound on the result size (bond count)