Veel problemen uit de praktijk kunnen worden gemodelleerd als optimaliserings- of beslis-singsproblemen
op grafen. Denk bijvoorbeeld aan het probleem waarbij een koerier een
aantal pakketjes moet afleveren op verschillende adressen in het land. De manager van de
koerier wil dat hij een zo kort mogelijke route aflegt die begint en eindigt bij het koeriers-bedrijf,
en die alle adressen aandoet. Het probleem om zo n kortste route te vinden is het
zogenaamde handelsreizigersprobleem. De invoer kan worden gemodelleerd als een graaf,
waarbij elke knoop in de graaf een adres vertegenwoordigt en elke kant tussen twee knopen
de weg tussen de corresponderende adressen. Elke kant heeft een gewicht dat aangeeft hoe
lang de corresponderende weg is. Het probleem is dan om een cykel in de graaf te vinden die
alle knopen bevat en waarvoor de som van de gewichten van alle kanten in de cykel minimaal
is.
Helaas is het zo dat de meeste problemen op grafen die praktische problemen modelleren
lastig zijn in die zin, dat er waarschijnlijk geen effici¨ ente algoritmen zijn die deze problemen
oplossen. Formeel gezegd zijn deze problemen NP-lastig. Het handelsreizigersprobleem is
een voorbeeld hiervan. Een manier om hiermee om te gaan is om te kijken of er in het
probleem uit de praktijk een structuur zit die maakt dat het probleem effici¨ enter is op te
lossen. Het kan bijvoorbeeld zo zijn dat het gegeven probleem in het algemeen lastig is, maar
dat de grafen die in de praktijk voorkomen een dusdanige structuur hebben dat er wel een
effici¨ ent algoritme voor het probleem bestaat.
Een voorbeeld van een prettige graafstructuur is de boomstructuur: het blijkt dat veel
graafproblemen die in het algemeen lastig zijn, een effici¨ ent algoritme hebben wanneer de
graaf een boom is. Helaas is de boomstructuur erg beperkt: er zijn maar weinig praktische
problemen die kunnen worden gemodelleerd als problemen op bomen. In dit proefschrift kij-ken
we daarom naar een generalisatie van deze structuur, en dat is de boomachtige structuur:
we kijken naar grafen met boombreedte hooguit k of padbreedte hooguit k, waarbij k een
positief geheel getal is.
Intu¨itief gezien geeft de boombreedte van een graaf de mate aan waarin de graaf op een
boom lijkt: hoe groter de gelijkenis, hoe kleiner de boombreedte. Met een graaf van boom-breedte
k kan een boom worden geassocieerd waarbij elke knoop van de boom correspondeert
met een deelgraaf van de graaf op een zodanige manier dat
elke knoop en elke kant van de graaf in tenminste een knoop van de boom voorkomt, en
voor elke knoop v in de graaf geldt dat de knopen in de boom die v bevatten een verbonden
deelboom vormen.
Zo n boom bestaande uit deelgrafen wordt een boomdecompositie van de graaf genoemd.
De breedte van de boomdecompositie is het maximaal aantal knopen van de graaf dat in ´ e´ en
233?Samenvatting
knoop van de boomdecompositie voorkomt, min ´ e´ en. De boombreedte van een graaf is de
minimale breedte over alle boomdecomposities van de graaf (een boom heeft boombreedte
´ e´ en). Een paddecompositie van een graaf is een boomdecompositie die de vorm heeft van
een pad. De padbreedte van een graaf is de minimale breedte over alle paddecomposities van
de graaf. Dus de boombreedte van een graaf is altijd ten hoogste gelijk aan z n padbreedte.
Voor veel problemen zoals het handelsreizigersprobleem is er een effici¨ ent algoritme op
grafen met kleine boombreedte. Het blijkt dat er veel praktische graafproblemen zijn waar-voor
de invoergraaf een kleine boombreedte heeft. Bij al deze problemen helpt dit gegeven
bij het vinden van een effici¨ enter algoritme. Deze algoritmen maken meestal gebruik van
een boomdecompositie van de graaf met kleine breedte. Daarom is het nodig om eerst zo n
boomdecompositie van de graaf te vinden. Hiervoor zijn effici¨ ente algoritmen beschikbaar,
zowel sequentieel als parallel.
Helaas is het zo dat veel algoritmen op grafen met een kleine boombreedte alleen in
theorie efficient zijn: de looptijd van de algoritmen is vaak exponentieel in de boombreedte
van de graaf. Dit geldt bijvoorbeeld voor de algoritmen voor het vinden van een boom- of
paddecompositie van breedte hooguit k van een graaf, waarbij k constant is.
Het doel van dit proefschrift is om effici¨ ente sequenti¨ ele en parallelle algoritmen te ont-werpen
voor problemen op grafen met een kleine boom- of padbreedte. Het doel is om
algoritmen te ontwerpen die niet alleen theoretisch effici¨ ent zijn, maar die ook in praktische
toepassingen effici¨ ent kunnen zijn.
Het proefschrift is als volgt georganiseerd. Hoofdstuk 1 geeft een inleiding. In hoofd-stuk
2 worden formele definities van boom- en padbreedte gegeven, en wordt een aantal ei-genschappen
en bekende resultaten over grafen met een kleine boom- en padbreedte gegeven.
Verder worden definities gegeven die worden gebruikt in de rest van het proefschrift.
In hoofdstuk 3 geven we een volledige karakterisatie van grafen met padbreedte twee.
Deze karakterisatie wordt vervolgens gebruikt voor een effici¨ ent sequentieel algoritme dat
beslist of een graaf padbreedte ten hoogste twee heeft en, als dat zo is, een paddecompositie
van minimale breedte vindt. De karakterisatie wordt ook gebruikt in de algoritmen die zijn
beschreven in hoofdstuk 4.
Hoofdstuk 4 gaat over twee problemen welke hun oorsprong vinden in de moleculaire
biologie. In beide problemen bestaat de invoer uit een aantal copie¨ en van een DNA string
welke in fragmenten zijn opgedeeld. Voor elk paar van fragmenten is informatie beschikbaar
over de overlap tussen die twee fragmenten: ´ of we weten dat de fragmenten zeker overlappen,
´ of we weten dat ze zeker niet overlappen, ´ of we weten niets. Met behulp van deze informatie
moet de volledige overlap informatie tussen elk tweetal fragmenten worden berekend, dat wil
zeggen dat voor elk tweetal fragmenten moet worden berekend of ze wel of niet overlappen.
Dit probleem heet k-INTERVALIZING SANDWICH GRAPHS of k-ISG, waarbij k het aantal
copie¨ en is dat is gefragmenteerd. In de tweede variant is ook nog bekend dat alle fragmenten
gelijke lengte hebben. Deze variant heet k-UNIT-INTERVALIZING SANDWICH GRAPHS of k-UISG.
De invoer van beide problemen kan worden gemodelleerd als een graaf. Het blijkt dat
de volledige overlap informatie alleen kan worden berekend wanneer die graaf padbreedte
ten hoogste k heeft, waarbij k weer het aantal copie¨ en is. In Hoofdstuk 4 geven we een
234?Samenvatting
kwadratisch algoritme voor 3-ISG, en we bewijzen dat k-ISG NP-moeilijk is wanneer k 4.
Verder geven we een lineair algoritme voor 3-UISG.
Hoofstukken 5 9 gaan over een speciaal soort algoritmen, namelijk reductie algorit-men.
Een reductie algoritme is een algoritme waarin een reeks reducties wordt uitgevoerd op
de invoergraaf. Het gedrag van de reducties is beschreven in een verzameling van reductie
regels, welke afhangen van het probleem waarvoor het algoritme is. Wanneer de reductie re-gels
aan bepaalde voorwaarden voldoen kan het reductie algoritme lineaire tijd gebruiken (of
logaritmische tijd in het geval van een parallel reductie algoritme). De reductie algoritmen
zijn eenvoudig: de moeilijkheden van het probleem zitten verstopt in de verzameling reductie
regels, en niet in het algoritme.
Er zijn hele klassen van problemen op grafen met begrensde boombreedte waarvoor een
verzameling van reductie regels kan worden geconstrueerd. Het voordeel van reductie algo-ritmen
voor het oplossen van problemen op grafen met begrensde boombreedte is dat er geen
boomdecompositie van de graaf nodig is: de algoritmen werken direct op de graaf.
In hoofdstuk 5 geven we een overzicht van de bestaande theorie¨ en over reductie algorit-men.
We combineren verschillende bestaande idee¨ en en presenteren ze als een geheel. Dit
hoofdstuk is tevens een inleiding voor hoofdstukken 6 9.
Reductie algoritmen hebben als nadeel dat ze alleen optimaliserings- en beslissingspro-blemen
kunnen oplossen: bij een optimaliseringsprobleem wordt alleen de optimale waarde
teruggegeven, maar niet een oplossing waarvoor de waarde optimaal is. Bij beslissingspro-blemen
wordt alleen het antwoord ja of nee gegeven, maar als het antwoord ja is wordt
geen oplossing gegeven. In hoofdstuk 6 breiden we de theorie van reductie algoritmen uit
naar constructieve reductie algoritmen welke ook een (optimale) oplossing teruggeven, mits
er een is. We laten zien dat voor veel problemen op grafen met begrensde boombreedte waar-voor
reductie algoritmen kunnen worden toegepast, ook de constructieve reductie algoritmen
kunnen worden toegepast.
In hoofdstuk 7 passen we de theorie¨ en welke zijn gepresenteerd in hoofdstukken 5 en 6
toe op een aantal optimaliseringsproblemen.
In hoofdstukken 8 en 9 gebruiken we de theorie¨ en uit hoofdstuk 6, aangevuld met nieuwe
idee¨ en, om effici¨ ente, constructieve parallelle reductie algoritmen te verkrijgen voor de vol-gende
twee aanverwante problemen:
gegeven een graaf, bepaal of hij series-parallel is, en zo ja, vind dan een sp-boom van
de graaf,
gegeven een graaf, bepaal of hij boombreedte hooguit twee heeft, en zo ja, maak een
boomdecompositie van breedte twee van de graaf.
In hoofdstuk 10 vatten we de resultaten uit dit proefschrift nog eens samen, en geven we
wat richtingen aan voor verder onderzoek.
Appendix A bevat een opsomming van definities van alle graafproblemen welke worden
gebruikt in het proefschrift.
235?Samenvatting
236
[1]
F. Gavril.
The intersection graphs of subtrees in tree are exactly the chordal graphs
,
1974
.
[2]
Nobuji Saito,et al.
Linear-time computability of combinatorial problems on series-parallel graphs
,
1982,
JACM.
[3]
J R Jungck,et al.
Computer-assisted sequencing, interval graphs, and molecular evolution.
,
1982,
Bio Systems.
[4]
David S. Johnson,et al.
The NP-Completeness Column: An Ongoing Guide
,
1982,
J. Algorithms.
[5]
Tohru Kikuno,et al.
A linear algorithm for the domination number of a series-parallel graph
,
1983,
Discret. Appl. Math..
[6]
Eitan M. Gurari,et al.
Improved Dynamic Programming Algorithms for Bandwidth Minimization and the MinCut Linear Arrangement Problem
,
1984,
J. Algorithms.
[7]
Paul D. Seymour,et al.
Graph minors. VI. Disjoint paths across a disc
,
1986,
J. Comb. Theory, Ser. B.
[8]
Michael A. Langston,et al.
Exact and Approximate Solutions for the Gate Matrix Layout Problem
,
1987,
IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems.
[9]
Eugene L. Lawler,et al.
Linear-Time Computation of Optimal Subgraphs of Decomposable Graphs
,
1987,
J. Algorithms.
[10]
Xin He,et al.
Parallel Recognitions and Decomposition of Two Terminal Series Parallel Graphs
,
1987,
Inf. Comput..
[11]
Hans L. Bodlaender,et al.
NC-Algorithms for Graphs with Small Treewidth
,
1988,
WG.
[12]
Torben Hagerup.
On Saving Space in Parallel Computation (Note)
,
1988,
Inf. Process. Lett..
[13]
Rolf H. Möhring,et al.
An Incremental Linear-Time Algorithm for Recognizing Interval Graphs
,
1989,
SIAM J. Comput..
[14]
L. C. van der Gaag,et al.
Probability-based models for plausible reasoning
,
1990
.
[15]
Xin He,et al.
Efficient Parallel Algorithms for Series Parallel Graphs
,
1991,
J. Algorithms.
[16]
Michael R. Fellows,et al.
Finite automata, bounded treewidth, and well-quasiordering
,
1991,
Graph Structure Theory.
[17]
Craig A. Tovey,et al.
Deterministic Decomposition of Recursive Graph Classes
,
1991,
SIAM J. Discret. Math..
[18]
S. Arnborg,et al.
Finding Minimal Forbidden Minors Using a Finite Congruence
,
1991,
ICALP.
[19]
梶谷 洋司,et al.
Minimal Acyclic Forbidden Minors for the Family of Graphs with Bounded Path - Width
,
1991
.
[20]
Wen-Lian Hsu,et al.
A Simple Test for Interval Graphs
,
1992,
WG.
[21]
David Eppstein,et al.
Parallel Recognition of Series-Parallel Graphs
,
1992,
Inf. Comput..
[22]
Bruce A. Reed,et al.
Finding approximate separators and computing tree width quickly
,
1992,
STOC '92.
[23]
Ton Kloks,et al.
A Simple Linear Time Algorithm for Triangulating Three-Colored Graphs
,
1992,
J. Algorithms.
[24]
David Fernández-Baca,et al.
A Polynomial-Time Algorithm for the Perfect Phylogeny Problem when the Number of Character States is Fixed
,
1993,
FOCS.
[25]
Richard M. Karp,et al.
Mapping the genome: some combinatorial problems arising in molecular biology
,
1993,
STOC.
[26]
Bruno Courcelle,et al.
Monadic Second-Order Evaluations on Tree-Decomposable Graphs
,
1993,
Theor. Comput. Sci..
[27]
Bruno Courcelle,et al.
An algebraic theory of graph reduction
,
1993,
JACM.
[28]
Siddharthan Ramachandramurthi,et al.
Algorithms for VLSI layout based on graph width metrics
,
1994
.
[29]
M. Golumbic,et al.
On the Complexity of DNA Physical Mapping
,
1994
.
[30]
Neil Robertson,et al.
Graph Minors .XIII. The Disjoint Paths Problem
,
1995,
J. Comb. Theory B.
[31]
Michael R. Fellows,et al.
Parameterized complexity analysis in computational biology
,
1995,
Comput. Appl. Biosci..
[32]
Jens Lagergren,et al.
Efficient Parallel Algorithms for Graphs of Bounded Tree-Width
,
1996,
J. Algorithms.
[33]
Hans L. Bodlaender,et al.
A linear time algorithm for finding tree-decompositions of small treewidth
,
1993,
STOC.
[34]
Daniel P. Sanders.
On Linear Recognition of Tree-Width at Most Four
,
1996,
SIAM J. Discret. Math..
[35]
Hans L. Bodlaender,et al.
Reduction Algorithms for Constructing Solutions in Graphs with Small Treewidth
,
1996,
COCOON.
[36]
Hans L. Bodlaender,et al.
A Partial k-Arboretum of Graphs with Bounded Treewidth
,
1998,
Theor. Comput. Sci..