Stáhnout prezentaci
Prezentace se nahrává, počkejte prosím
ZveřejnilBlanka Matějková
1
Kanonické indexování vrcholů molekulového grafu Molekulový graf: G = (V, E, L, , ) Indexování vrcholů molekulového grafu G: bijekce : V I I je indexová množina: I = {1, 2, …, |V|} Každému vrcholu je tedy přiřazeno přirozené číslo (index). Kanonické indexování = indexování, které splňuje následující podmínky: –lze vygenerovat algoritmicky –libovolnému atomu libovolné molekuly přísluší vždy jistý index J (bez ohledu na to, jakým molekulovým grafem je molekula reprezentována)
2
Indexování - počet způsobů Molekulový graf má n vrcholů => existuje n! různých způsobů indexování tohoto grafu. Pokud |Aut| > 1 (existuje i jiný automorfismus než identita), pak existuje pouze n! / |Aut| různých indexování. Příklad - formaldehyd: počet atomů: 4 počet automorfismů: 2 počet různých indexování: 4! / 2 = 12
3
Kanonické indexování - matice sousednosti Pro dva kanonicky indexované molekulové grafy G = (V, A, , ) a G = (V, A, , ) platí: A = A´ grafy reprezentují stejnou molekulu grafy jsou izomorfní
4
Kanonické indexování - využití Využití: Prohledávání databází molekul: Databáze: obsahuje kanonicky indexované molekuly Vstup: kanonicky indexovaná molekula Postup: porovnává matice sousednosti vstupní molekuly a molekul z databáze (Porovnávání matic velikosti N má složitost O(N 2 ).) Výhoda: Podstatně menší časová složitost, než kdybychom pro každou dvojici (vstupní molekula, molekula z databáze) hledali izomorfismus Hledání molekuly o velikosti N v databázi s M molekulami: Pomocí izomorfismu: O(M.N!) Pomocí kanonického indexování: O(M.N 2 )
5
Kanonické indexování - algoritmy Řešení „hrubou silou“: –lze vytvořit velké množství takovýchto algoritmů –Například: Pro každé indexování určit číselnou hodnotu, kterou má lineární zápis matice sousednosti. Poté zvolit indexování s nejvyšší číselnou hodnotu. – Lineární zápis matice:1 2 1 234 3 4 –výhoda: nedochází k chybovým případům –nevýhoda: složitost O(n!) => v praxi se nevyužívají
6
Kanonické indexování - Morganův algoritmus První algoritmus pro kanonické indexování (1965) Většina ostatních pracuje na podobném principu Poznámka: –Morganův algoritmus je založen pouze na topologii molekuly, ignoruje násobné vazby, smyčky a ohodnocení vrcholů chemickými značkami. –Toto omezení je pouze zdánlivé: Z topologie výše uvedená data určit. Například: stupeň vrcholu (atomu) + vaznost atomu => počet násobných hran
7
Morganův algoritmus Ohodnoť každý uzel jeho stupněm Urči počet odlišných hodnot
8
Morganův algoritmus Ohodnoť vrcholy součtem ohodnocení sousedních vrcholů Urči počet odlišných hodnot Opakuj výše uvedené dva body dokud se bude měnit počet odlišných hodnot
9
Morganův algoritmus Ohodnoť vrcholy součtem ohodnocení sousedních vrcholů Urči počet odlišných hodnot Opakuj výše uvedené dva body dokud se bude měnit počet odlišných hodnot
10
Morganův algoritmus Ohodnoť vrcholy součtem ohodnocení sousedních vrcholů Urči počet odlišných hodnot Opakuj výše uvedené dva body dokud se bude měnit počet odlišných hodnot
11
Morganův algoritmus Ohodnoť vrcholy součtem ohodnocení sousedních vrcholů Urči počet odlišných hodnot Opakuj výše uvedené dva body dokud se bude měnit počet odlišných hodnot
12
Morganův algoritmus Ohodnoť vrcholy součtem ohodnocení sousedních vrcholů Urči počet odlišných hodnot Opakuj výše uvedené dva body dokud se bude měnit počet odlišných hodnot
13
Morganův algoritmus Ohodnoť vrcholy součtem ohodnocení sousedních vrcholů Urči počet odlišných hodnot Opakuj výše uvedené dva body dokud se bude měnit počet odlišných hodnot
14
Morganův algoritmus Většina uzlů má teď odlišné ohodnocení Označ jako 1 uzel s nejvyšším ohodnocením Označ jeho sousedy v pořadí jejich ohodnocení
15
Morganův algoritmus Zbývající sousedé uzlu 2 mají stejné ohodnocení –vyber z nich ten který je spojen více hranami (C=C je zelená) –je možno též uvažovat hmotnost atomů (u různých) –když jsou atomy ekvi- valentní, zvol jakýkoliv Pokračuj, dokud nejsou označeny všechny atomy
16
Morganův algoritmus Zbývající sousedé uzlu 2 mají stejné ohodnocení –vyber z nich ten který je spojen více hranami (C=C je zelená) –je možno též uvažovat hmotnost atomů (u různých) –když jsou atomy ekvi- valentní, zvol jakýkoliv Pokračuj, dokud nejsou označeny všechny atomy
17
Morganův algoritmus Po dokončení algoritmu: Kanonicky indexovaný graf.
18
Literatura o kanonickém indexování Kvasnička V., Kratochvíl M., Koča J.: Matematická chemie a počítačové řešení syntéz. Academia (1987) Ivanciuc O.: Canonical numbering and constitutional symetry, Encyclopedia of Computational Chemistry. John Wiley & Sons (1998) Barnard J.: Chemical structure representation and search systems. Cheminfo, Indiana University (2002)
Podobné prezentace
© 2024 SlidePlayer.cz Inc.
All rights reserved.