scispace - formally typeset
Search or ask a question
Journal ArticleDOI

Efficient parallel algorithms for series parallel graphs

Xin He1
01 Sep 1991-Journal of Algorithms (Academic Press, Inc.)-Vol. 12, Iss: 3, pp 409-430
TL;DR: A parallel algorithm for recognizing series parallel graphs and constructing decomposition trees and takes O(log2 n + log m) time with O(n + m) processors, where n (m) is the number of vertices (edges) in the graph.
About: This article is published in Journal of Algorithms.The article was published on 1991-09-01. It has received 30 citations till now. The article focuses on the topics: Spanning tree & Time complexity.
Citations
More filters
Dissertation
19 Mar 1997
TL;DR: In this paper, a manager of a Koeriers-bedrijf is asked to find the kortest route for a korte-legitimate route to prove a handelsreiziger problem.
Abstract: 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

132 citations

Journal ArticleDOI
TL;DR: The tree-decomposition algorithm enables us to construct efficient parallel algorithms for a broad class of problems, when restricted to graphs of tree-width at mostw, many of these problems areNP-complete for general graphs.

55 citations

Proceedings ArticleDOI
22 Oct 1990
TL;DR: The sequential time complexity of the tree-composition problem for fixed w is improved, and some implications for this improvement are stated.
Abstract: An efficient parallel algorithm for the tree-decomposition problem for fixed width w is presented. The algorithm runs in time O(log/sup 3/ n) and uses O(n) processors on a concurrent-read, concurrent-write parallel random access machine (CRCW PRAM). This result can be used to construct efficient parallel algorithms for three important classes of problems: MS (monadic second-order) properties, linear EMS (extended monadic second-order) extremum problems, and enumeration problems for MS properties, for graphs of tree width at most w. The sequential time complexity of the tree-composition problem for fixed w is improved, and some implications for this improvement are stated. >

52 citations

Journal ArticleDOI
TL;DR: Efficient parallel algorithms can be found for a large number of graph problems on series parallel graphs and graphs with treewidth two, including many well-known problems like all problems that can be stated in monadic second-order logic.
Abstract: In this paper a parallel algorithm is given that, given a graph G=(V,E) , decides whether G is a series parallel graph, and, if so, builds a decomposition tree for G of series and parallel composition rules. The algorithm uses O(log \kern -1pt |E|log ^\ast \kern -1pt |E|) time and O(|E|) operations on an EREW PRAM, and O(log \kern -1pt |E|) time and O(|E|) operations on a CRCW PRAM. The results hold for undirected as well as for directed graphs.

25 citations

20 Jul 1992
TL;DR: It is proved that a class of graphs is generated by a hyperedge replacement grammar if and only if it is defined by an FGS of a special form called a regular FGS, which is a logic program having hypergraphs instead of terms in first-order logic.

24 citations


Cites methods from "Efficient parallel algorithms for s..."

  • ...For example, Xin He [9] has presented efficient parallel algorithms for solving the following three problems on TTSP graphs: 3-coloring, depthfirst spanning tree, and breadth-first spanning tree....

    [...]

References
More filters
Book
01 Jan 1974
TL;DR: This text introduces the basic data structures and programming techniques often used in efficient algorithms, and covers use of lists, push-down stacks, queues, trees, and graphs.
Abstract: From the Publisher: With this text, you gain an understanding of the fundamental concepts of algorithms, the very heart of computer science. It introduces the basic data structures and programming techniques often used in efficient algorithms. Covers use of lists, push-down stacks, queues, trees, and graphs. Later chapters go into sorting, searching and graphing algorithms, the string-matching algorithms, and the Schonhage-Strassen integer-multiplication algorithm. Provides numerous graded exercises at the end of each chapter. 0201000296B04062001

9,262 citations

Book
01 Jan 1976
TL;DR: In this paper, the authors present Graph Theory with Applications: Graph theory with applications, a collection of applications of graph theory in the field of Operational Research and Management. Journal of the Operational research Society: Vol. 28, Volume 28, issue 1, pp. 237-238.
Abstract: (1977). Graph Theory with Applications. Journal of the Operational Research Society: Vol. 28, Volume 28, issue 1, pp. 237-238.

7,497 citations

Proceedings ArticleDOI
Don Coppersmith1, Shmuel Winograd1
01 Jan 1987
TL;DR: A new method for accelerating matrix multiplication asymptotically is presented, by using a basic trilinear form which is not a matrix product, and making novel use of the Salem-Spencer Theorem.
Abstract: We present a new method for accelerating matrix multiplication asymptotically. This work builds on recent ideas of Volker Strassen, by using a basic trilinear form which is not a matrix product. We make novel use of the Salem-Spencer Theorem, which gives a fairly dense set of integers with no three-term arithmetic progression. Our resulting matrix exponent is 2.376.

1,413 citations

Journal ArticleDOI
TL;DR: A linear-time algorithm to recognize the class of vertex series-parallel (VSP) digraphs is presented and efficient methods to compute the transitive closure and transitive reduction of VSPDigraphs are obtained.
Abstract: We present a linear-time algorithm to recognize the class of vertex series-parallel (VSP) digraphs. Our method is based on the relationship between VSP digraphs and the class of edge series-paralle...

564 citations