Euleriaanse grafen - Combinatorische algoritmen en algoritmische ...
Euleriaanse grafen - Combinatorische algoritmen en algoritmische ...
Euleriaanse grafen - Combinatorische algoritmen en algoritmische ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>Euleriaanse</strong> <strong>graf<strong>en</strong></strong><br />
Karakterisaties<br />
Algoritme<br />
Toepassing in de bioinformatica<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.1/13
Karakterisaties<br />
Stelling<br />
zij G sam<strong>en</strong>hang<strong>en</strong>de multigraaf<br />
G euleriaans ⇔ elke top heeft ev<strong>en</strong> graad<br />
G heeft euleriaans spoor ⇔ G heeft precies<br />
twee topp<strong>en</strong> met onev<strong>en</strong> graad<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.2/13
Karakterisaties<br />
Stelling<br />
zij G sam<strong>en</strong>hang<strong>en</strong>de multigraaf<br />
G euleriaans ⇔ elke top heeft ev<strong>en</strong> graad<br />
G heeft euleriaans spoor ⇔ G heeft precies<br />
twee topp<strong>en</strong> met onev<strong>en</strong> graad<br />
Stelling<br />
zij G sam<strong>en</strong>hang<strong>en</strong>de multigraaf<br />
G euleriaans ⇔ elke boog ligt op onev<strong>en</strong><br />
aantal cykels van G<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.2/13
Algoritme<br />
Input: sam<strong>en</strong>hang<strong>en</strong>de multigraaf G, elke top<br />
ev<strong>en</strong> graad<br />
Output: euleriaans circuit C<br />
1: begin in willekeurige top v<br />
2: construeer circuit C dat start <strong>en</strong> eindigt in v<br />
3: while nog bog<strong>en</strong> in G <strong>en</strong> niet in C do<br />
4: kies w in C incid<strong>en</strong>t met ongebruikte boog<br />
5: start in w<br />
6: construeer circuit C ′ van ongebruikte<br />
bog<strong>en</strong><br />
7: voeg C ′ tuss<strong>en</strong> in C bij top w<br />
8: geef C terug<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.3/13
Toepassing in<br />
bioinformatica<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.4/13
DNA sequ<strong>en</strong>cing<br />
Sam<strong>en</strong>voeg<strong>en</strong> van fragm<strong>en</strong>t<strong>en</strong> van DNA<br />
experim<strong>en</strong>t<strong>en</strong> lez<strong>en</strong> korte fragm<strong>en</strong>t<strong>en</strong> van<br />
DNA-sequ<strong>en</strong>tie<br />
sequ<strong>en</strong>tie reconstruer<strong>en</strong> uit fragm<strong>en</strong>t<strong>en</strong><br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.5/13
DNA sequ<strong>en</strong>cing<br />
Sam<strong>en</strong>voeg<strong>en</strong> van fragm<strong>en</strong>t<strong>en</strong> van DNA<br />
experim<strong>en</strong>t<strong>en</strong> lez<strong>en</strong> korte fragm<strong>en</strong>t<strong>en</strong> van<br />
DNA-sequ<strong>en</strong>tie<br />
sequ<strong>en</strong>tie reconstruer<strong>en</strong> uit fragm<strong>en</strong>t<strong>en</strong><br />
Experim<strong>en</strong>tele techniek<strong>en</strong> (biotechnologie)<br />
shotgun sequ<strong>en</strong>cing / shortest superstring<br />
DNA arrays / sequ<strong>en</strong>cing by hybridization<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.5/13
DNA sequ<strong>en</strong>cing<br />
Sam<strong>en</strong>voeg<strong>en</strong> van fragm<strong>en</strong>t<strong>en</strong> van DNA<br />
experim<strong>en</strong>t<strong>en</strong> lez<strong>en</strong> korte fragm<strong>en</strong>t<strong>en</strong> van<br />
DNA-sequ<strong>en</strong>tie<br />
sequ<strong>en</strong>tie reconstruer<strong>en</strong> uit fragm<strong>en</strong>t<strong>en</strong><br />
Experim<strong>en</strong>tele techniek<strong>en</strong> (biotechnologie)<br />
shotgun sequ<strong>en</strong>cing / shortest superstring<br />
DNA arrays / sequ<strong>en</strong>cing by hybridization<br />
Algoritmische techniek<strong>en</strong><br />
gebruik van <strong>graf<strong>en</strong></strong>theorie<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.5/13
Sequ<strong>en</strong>cing by hybridization (SBH)<br />
Achterligg<strong>en</strong>d idee<br />
voor niet-gek<strong>en</strong>de DNA-sequ<strong>en</strong>tie s<br />
gegev<strong>en</strong> is spectrum, d.i. alle deelstrings van<br />
l<strong>en</strong>gte ℓ (d.i. ℓ-mer<strong>en</strong>) uit s<br />
ge<strong>en</strong> informatie over positie in sequ<strong>en</strong>tie<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.6/13
Sequ<strong>en</strong>cing by hybridization (SBH)<br />
Achterligg<strong>en</strong>d idee<br />
voor niet-gek<strong>en</strong>de DNA-sequ<strong>en</strong>tie s<br />
gegev<strong>en</strong> is spectrum, d.i. alle deelstrings van<br />
l<strong>en</strong>gte ℓ (d.i. ℓ-mer<strong>en</strong>) uit s<br />
ge<strong>en</strong> informatie over positie in sequ<strong>en</strong>tie<br />
Voorbeeld (ℓ = 3)<br />
DNA-sequ<strong>en</strong>tie s = TATGGTGC<br />
spec(s,ℓ) = {TAT, ATG, TGG, GGT, GTG, TGC}<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.6/13
Sequ<strong>en</strong>cing by hybridization (SBH)<br />
Achterligg<strong>en</strong>d idee<br />
voor niet-gek<strong>en</strong>de DNA-sequ<strong>en</strong>tie s<br />
gegev<strong>en</strong> is spectrum, d.i. alle deelstrings van<br />
l<strong>en</strong>gte ℓ (d.i. ℓ-mer<strong>en</strong>) uit s<br />
ge<strong>en</strong> informatie over positie in sequ<strong>en</strong>tie<br />
Voorbeeld (ℓ = 3)<br />
Hier<br />
DNA-sequ<strong>en</strong>tie s = TATGGTGC<br />
spec(s,ℓ) = {TAT, ATG, TGG, GGT, GTG, TGC}<br />
algoritme voor reconstructie s uit spectrum<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.6/13
Overlapp<strong>en</strong>de strings<br />
Overlap van strings<br />
overlap(p,q) = l<strong>en</strong>gte van langste prefix van p<br />
dat overe<strong>en</strong>komt met e<strong>en</strong> suffix van q<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.7/13
Overlapp<strong>en</strong>de strings<br />
Overlap van strings<br />
overlap(p,q) = l<strong>en</strong>gte van langste prefix van p<br />
dat overe<strong>en</strong>komt met e<strong>en</strong> suffix van q<br />
Overlap van ℓ-mer<strong>en</strong><br />
twee ℓ-mer<strong>en</strong> p <strong>en</strong> q overlapp<strong>en</strong> als<br />
overlap(p,q) = ℓ − 1<br />
d.i. laatste ℓ − 1 letters van p kom<strong>en</strong> overe<strong>en</strong><br />
met eerste ℓ − 1 letters van q<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.7/13
SBH als hamiltoniaans pad<br />
Construeer gerichte graaf<br />
gegev<strong>en</strong> spec(s,ℓ) voor niet-gek<strong>en</strong>de s<br />
topp<strong>en</strong> zijn ℓ-mer<strong>en</strong> in spec(s,ℓ)<br />
gerichte boog van p naar q als ze overlapp<strong>en</strong><br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.8/13
SBH als hamiltoniaans pad<br />
Construeer gerichte graaf<br />
gegev<strong>en</strong> spec(s,ℓ) voor niet-gek<strong>en</strong>de s<br />
topp<strong>en</strong> zijn ℓ-mer<strong>en</strong> in spec(s,ℓ)<br />
gerichte boog van p naar q als ze overlapp<strong>en</strong><br />
Dan 1-1-correspond<strong>en</strong>tie tuss<strong>en</strong><br />
hamiltoniaans pad in graaf<br />
DNA-sequ<strong>en</strong>ties met gegev<strong>en</strong> spectrum<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.8/13
Voorbeeld 1<br />
Spectrum<br />
S1 = {ATG, AGG, TGC, TCC, GTC, GGT, GCA, CAG}<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.9/13
Voorbeeld 1<br />
Spectrum<br />
S1 = {ATG, AGG, TGC, TCC, GTC, GGT, GCA, CAG}<br />
Graaf <strong>en</strong> hamiltoniaans pad voor S1<br />
CAG<br />
GCA<br />
ATG AGG<br />
GGT<br />
GTC<br />
TGC<br />
TCC<br />
ATG → TGC → GCA → CAG →<br />
AGG → GGT → GTC → TCC<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.9/13
Voorbeeld 1<br />
Spectrum<br />
S1 = {ATG, AGG, TGC, TCC, GTC, GGT, GCA, CAG}<br />
Graaf <strong>en</strong> hamiltoniaans pad voor S1<br />
CAG<br />
GCA<br />
ATG AGG<br />
GGT<br />
GTC<br />
TGC<br />
TCC<br />
Gereconstrueerde sequ<strong>en</strong>tie<br />
ATGCAGGTCC<br />
ATG → TGC → GCA → CAG →<br />
AGG → GGT → GTC → TCC<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.9/13
Voorbeeld 2<br />
Spectrum<br />
S2 = {ATG, TGG, TGC, GTG, GGC, GCA, GCG, CGT}<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.10/13
Voorbeeld 2<br />
Spectrum<br />
S2 = {ATG, TGG, TGC, GTG, GGC, GCA, GCG, CGT}<br />
Graaf <strong>en</strong> hamiltoniaans pad voor S2<br />
CGT<br />
GCG<br />
ATG TGG<br />
GCA<br />
GGC<br />
TGC<br />
GTG<br />
ATG → TGG → GGC → GCG<br />
→ CGT → GTG → TGC →<br />
GCA<br />
ATG → TGC → GCG → CGT<br />
→ GTG → TGG → GGC →<br />
GCA<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.10/13
Voorbeeld 2<br />
Spectrum<br />
S2 = {ATG, TGG, TGC, GTG, GGC, GCA, GCG, CGT}<br />
Graaf <strong>en</strong> hamiltoniaans pad voor S2<br />
CGT<br />
GCG<br />
ATG TGG<br />
GCA<br />
GGC<br />
TGC<br />
GTG<br />
Gereconstrueerde sequ<strong>en</strong>ties<br />
ATGCGTGGCA <strong>en</strong> ATGGCGTGCA<br />
ATG → TGG → GGC → GCG<br />
→ CGT → GTG → TGC →<br />
GCA<br />
ATG → TGC → GCG → CGT<br />
→ GTG → TGG → GGC →<br />
GCA<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.10/13
Opmerking<br />
Oploss<strong>en</strong> SBH-probleem<br />
door bepal<strong>en</strong> van hamiltoniaans pad in<br />
gerichte graaf<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.11/13
Opmerking<br />
Oploss<strong>en</strong> SBH-probleem<br />
Maar<br />
door bepal<strong>en</strong> van hamiltoniaans pad in<br />
gerichte graaf<br />
ge<strong>en</strong> efficiënt algorithm<br />
in de praktijk niet bruikbaar voor grote<br />
overlap<strong>graf<strong>en</strong></strong><br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.11/13
Opmerking<br />
Oploss<strong>en</strong> SBH-probleem<br />
Maar<br />
door bepal<strong>en</strong> van hamiltoniaans pad in<br />
gerichte graaf<br />
ge<strong>en</strong> efficiënt algorithm<br />
in de praktijk niet bruikbaar voor grote<br />
overlap<strong>graf<strong>en</strong></strong><br />
Zoek<strong>en</strong> naar andere oplossing<br />
vertal<strong>en</strong> naar probleem van euleriaans spoor<br />
in (andere) graaf<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.11/13
SBH als euleriaans spoor<br />
Achterligg<strong>en</strong>d idee<br />
construeer graaf waarbij ℓ-mer<strong>en</strong><br />
corresponder<strong>en</strong> met bog<strong>en</strong> i.p.v. topp<strong>en</strong><br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.12/13
SBH als euleriaans spoor<br />
Achterligg<strong>en</strong>d idee<br />
construeer graaf waarbij ℓ-mer<strong>en</strong><br />
corresponder<strong>en</strong> met bog<strong>en</strong> i.p.v. topp<strong>en</strong><br />
Constructie van graaf<br />
topp<strong>en</strong> zijn alle (ℓ − 1)-mer<strong>en</strong><br />
gerichte boog van p naar q als spec(s,ℓ) e<strong>en</strong><br />
ℓ-meer met prefix p <strong>en</strong> suffix q bevat<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.12/13
SBH als euleriaans spoor<br />
Achterligg<strong>en</strong>d idee<br />
construeer graaf waarbij ℓ-mer<strong>en</strong><br />
corresponder<strong>en</strong> met bog<strong>en</strong> i.p.v. topp<strong>en</strong><br />
Constructie van graaf<br />
topp<strong>en</strong> zijn alle (ℓ − 1)-mer<strong>en</strong><br />
gerichte boog van p naar q als spec(s,ℓ) e<strong>en</strong><br />
ℓ-meer met prefix p <strong>en</strong> suffix q bevat<br />
Dan 1-1-correspond<strong>en</strong>tie tuss<strong>en</strong><br />
euleriaans spoor in graaf<br />
DNA-sequ<strong>en</strong>ties met gegev<strong>en</strong> spectrum<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.12/13
Voorbeeld<br />
Spectrum<br />
S2 = {ATG, TGG, TGC, GTG, GGC, GCA, GCG, CGT}<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.13/13
Voorbeeld<br />
Spectrum<br />
S2 = {ATG, TGG, TGC, GTG, GGC, GCA, GCG, CGT}<br />
Graaf voor S2<br />
AT<br />
GT CG<br />
TG<br />
GG<br />
GC<br />
CA<br />
AT → TG → GG → GC<br />
→ CG → GT → TG →<br />
GC → CA<br />
AT → TG → GC → CG<br />
→ GT → TG → GG →<br />
GC → CA<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.13/13
Voorbeeld<br />
Spectrum<br />
S2 = {ATG, TGG, TGC, GTG, GGC, GCA, GCG, CGT}<br />
Graaf voor S2<br />
AT<br />
GT CG<br />
TG<br />
GG<br />
GC<br />
Gereconstrueerde sequ<strong>en</strong>ties<br />
CA<br />
ATGCGTGGCA <strong>en</strong> ATGGCGTGCA<br />
AT → TG → GG → GC<br />
→ CG → GT → TG →<br />
GC → CA<br />
AT → TG → GC → CG<br />
→ GT → TG → GG →<br />
GC → CA<br />
Cursus Graf<strong>en</strong>theorie <strong>en</strong> <strong>Combinatorische</strong> Optimalisatie (2008–2009) – p.13/13