Designing a Path-oriented Indexing Structure for a Graph Structured Data

Size: px
Start display at page:

Download "Designing a Path-oriented Indexing Structure for a Graph Structured Data"

Transcription

1 Designing a Path-oriented Indexing Structure for a Graph Structured Data Stanislav Bartoň Masaryk university, Brno June, 2005 tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data / 34

2 Introduction An example of an RDF Graph RDF Graph Knowledge Base Schemas locationthesaurus location fname creates exhibited String Artist Artifact Museum lname working_hours String sculpts Enumeration Sculptor Sculpture paints Painter Painting technique String Cubist Flemish technique "oil on canvas" "Pablo" paints &r2 fname paints technique "oil on canvas" &r "Picasso" lname last_modified &r3 exhibited title &r4 title "Descent" "Michelangelo" sculpts &r5 fname title sculpts &r6 "Buonarroti" lname exhibited &r7 location exhibited &r8 working_hours technique "Rembrandt" &r9 paints &r0 "oil on canvas" fname technique "oil on canvas" paints &r file_size 7 title subclassof, subpropertyof (is a) Abraham and Isaac DateTime last_modified ExtResource String title file_size Integer T2:30:34 "Reina Sofia Museum" "Louvre Museum" FRANCE 9, 5 8 typeof (instance) tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 2 / 34

3 ρ operators Introduction Rho-operators Firstly introduced in the context of Semantic Web Designed to study complex relationships between entities defined as Complex Associations Can be generalized into terms of graphs and a problem of searching paths in them tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 3 / 34

4 Introduction Rho-operators ρ-path operator locationthesaurus location Knowledge Base Schemas fname creates String Artist lname String sculpts Sculptor paints Painter Cubist Flemish "Pablo" paints fname paints &r "Picasso" lname "Michelangelo" sculpts fname sculpts "Buonarroti" lname &r6 "Rembrandt" paints fname exhibited Artifact Museum working_hours Enumeration Sculpture Painting technique String technique "oil on canvas" &r2 technique "oil on canvas" last_modified &r3 exhibited title &r4 title "Descent" &r5 title exhibited &r7 location exhibited &r8 working_hours technique &r0 "oil on canvas" DateTime last_modified ExtResource String title file_size Integer T2:30:34 "Reina Sofia Museum" "Louvre Museum" FRANCE 9, 5 8 &r9 paints technique "oil on canvas" &r file_size title 7 subclassof, subpropertyof (is a) Abraham and Isaac typeof (instance) tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 4 / 34

5 ρ-path operator Introduction Rho-operators ρ-path operator definition in graph theory terms: ρ-path(x, y) = {p = (v e v 2 e 2... e n v n+ ) v = x v n+ = y p is acyclic} tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 5 / 34

6 Introduction Rho-operators ρ-connection operator locationthesaurus location Knowledge Base Schemas fname creates String Artist lname String sculpts Sculptor paints Painter Cubist Flemish "Pablo" paints fname paints &r "Picasso" lname "Michelangelo" sculpts fname sculpts "Buonarroti" lname &r6 "Rembrandt" paints fname exhibited Artifact Museum working_hours Enumeration Sculpture Painting technique String technique "oil on canvas" &r2 technique "oil on canvas" last_modified &r3 exhibited title &r4 title "Descent" &r5 title exhibited &r7 location exhibited &r8 working_hours technique &r0 "oil on canvas" DateTime last_modified ExtResource String title file_size Integer T2:30:34 "Reina Sofia Museum" "Louvre Museum" FRANCE 9, 5 8 &r9 paints technique "oil on canvas" &r file_size title 7 subclassof, subpropertyof (is a) Abraham and Isaac typeof (instance) tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 6 / 34

7 ρ-connection operator Introduction Rho-operators ρ-connection operator definition in graph theory terms: ρ-connection(x, y) = {(p, p 2 ) p = (v e v 2 e 2... e n v n+ ), p 2 = w h w 2 h 2... h n w m+ ) v = x w = y v n+ = w m+ p, p 2 are acyclic} tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 7 / 34

8 Introduction Designing the indexing structure Designing the indexing structure Adjacency matrix Great graph description, simple transitive closure computation Can be easily modified to store paths themselves rather then just amounts of them The use of matrix algebra is limited to relatively small graphs due to space and time complexity With graph transformations towards graph simplification transformed graph must have similar properties as the original graph had Graph segmentation (vertex clustering, graph to forest of trees) The transitive closure of segment graph models all paths from the original graph tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 8 / 34

9 Introduction Designing the indexing structure Designing the indexing structure Path type matrix Instead of storing the amounts of paths, keeps the paths themselves + and replaced by path concatenation and set union enables cycle detection during computation Vertex clustering two pass algorithm that divides the graph into several subgraphs of predefined size the vertices that are close to each other are put to same subgraphs very general, non-restrictive technique that can be applied to arbitrary directed graph tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 9 / 34

10 Introduction Path type matrix transitive closure Designing the indexing structure A e B C e 2 e 5 e 3 e 4 D E M = 0 A B C D E A {(e )} B {(e 2)} {(e 3)} C {(e 4)} D {(e 5)} E C A tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 0 / 34

11 Introduction Path type matrix transitive closure Designing the indexing structure M = M 2 = M + M 2 = 0 B@ 0 B@ 0 B@ A B C D E A X {(e )} B X {(e 2 )} {(e 3 )} C {(e 4 )} D {(e 5 )} E CA A B C D E A {(e e 2 )} {(e e 3 )} B {(e 3 e 5 )} {(e 2 e 4 )} C D E A B C D E A {(e )} {(e e 2 )} {(e e 3 )} B {(e 3 e 5 )} {(e 2 )} {(e 3 )} {(e 2 e 4 )} C {(e 4 )} D {(e 5 )} E CA CA tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data / 34

12 Introduction Path type matrix transitive closure Designing the indexing structure M = M 2 = M + M 2 = 0 B@ 0 B@ 0 B@ A B C D E A {(e )} B X X {(e 2 )} {(e 3 )} C {(e 4 )} D {(e 5 )} E CA A B C D E A {(e e 2 )} {(e e 3 )} B {(e 3 e 5 )} {(e 2 e 4 )} C D E A B C D E A {(e )} {(e e 2 )} {(e e 3 )} B {(e 3 e 5 )} {(e 2 )} {(e 3 )} {(e 2 e 4 )} C {(e 4 )} D {(e 5 )} E CA CA tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data / 34

13 Introduction Path type matrix transitive closure Designing the indexing structure M = M 2 = M + M 2 = 0 B@ 0 B@ 0 B@ A B C D E A {(e )} B {(e 2 )} {(e 3 )} C X {(e 4 )} D {(e 5 )} E CA A B C D E A {(e e 2 )} {(e e 3 )} B {(e 3 e 5 )} {(e 2 e 4 )} C D E A B C D E A {(e )} {(e e 2 )} {(e e 3 )} B {(e 3 e 5 )} {(e 2 )} {(e 3 )} {(e 2 e 4 )} C {(e 4 )} D {(e 5 )} E CA CA tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data / 34

14 Introduction Path type matrix transitive closure Designing the indexing structure M = M 2 = M + M 2 = 0 B@ 0 B@ 0 B@ A B C D E A {(e )} B {(e 2 )} {(e 3 )} C {(e 4 )} D {(e 5 )} E CA A B C D E A {(e e 2 )} {(e e 3 )} B {(e 3 e 5 )} {(e 2 e 4 )} C D E A B C D E A {(e )} {(e e 2 )} {(e e 3 )} B {(e 3 e 5 )} {(e 2 )} {(e 3 )} {(e 2 e 4 )} C {(e 4 )} D {(e 5 )} E CA CA Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data / 34

15 Introduction Path type matrix transitive closure Designing the indexing structure M = M 2 = M + M 2 = 0 B@ 0 B@ 0 B@ A B C D E A {(e )} B {(e 2 )} {(e 3 )} X C {(e 4 )} D {(e 5 )} CA E X A B C D E A {(e e 2 )} {(e e 3 )} B {(e 3 e 5 )} {(e 2 e 4 )} C D E A B C D E A {(e )} {(e e 2 )} {(e e 3 )} B {(e 3 e 5 )} {(e 2 )} {(e 3 )} {(e 2 e 4 )} C {(e 4 )} D {(e 5 )} E CA CA tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data / 34

16 Graph segmentation Graph theory Necessary definitions Segment S in a graph G : S = (V S, E S ) : V S V E S = {e E RIGHT VERTEX (e) V S LEFT VERTEX (e) V S } S S 2 S 4 S 3 S 5 S 6 Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 2 / 34

17 Graph segmentation Graph theory Necessary definitions Segment S in a graph G : S = (V S, E S ) : V S V E S = {e E RIGHT VERTEX (e) V S LEFT VERTEX (e) V S } EDGES OUT(S) = {e e E S LEFT VERTEX (e) V S RIGHT VERTEX (e) V S } EDGES IN(S) = {e e E S RIGHT VERTEX (e) V S LEFT VERTEX (e) V S } S S 2 S 4 S 3 S 5 S 6 Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 2 / 34

18 Graph segmentation Graph theory Necessary definitions Segment S in a graph G : S = (V S, E S ) : V S V E S = {e E RIGHT VERTEX (e) V S LEFT VERTEX (e) V S } EDGES OUT(S) = {e e E S LEFT VERTEX (e) V S RIGHT VERTEX (e) V S } EDGES IN(S) = {e e E S RIGHT VERTEX (e) V S LEFT VERTEX (e) V S } Segmentation S(G)= {S S is a segment of G} S, S S(G), S S : V S V S = V S = V S S(G) S S 2 S 4 S 3 S 5 S 6 Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 2 / 34

19 Sequence of segments Graph theory Necessary definitions Sequence of segments (S... S m ) = S,... S l S(G), i m : EDGES OUT (S i ) EDGES IN(S i+ ) S S 2 S 3 S 4 a c e g h i b d f j tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 3 / 34

20 Sequence of segments Graph theory Necessary definitions Sequence of segments (S... S m ) = S,... S l S(G), i m : EDGES OUT (S i ) EDGES IN(S i+ ) Connecting path p = (e e 2... e n ) in a segment sequence (S... S m ): p (S... S m ) : e EDGES OUT (S ) EDGES IN(S 2 ) e n EDGES OUT (S m ) EDGES IN(S l ) i 2, i 3,... i m : < i 2 < i 3 <... < i m < n : {e 2,... e i2 } E S2 {e i2,... e i3 } E S3... {e il 2,... e im } E Sm S S 2 S 3 S 4 a c e g h i b d f j Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 3 / 34

21 Paths Graph theory Necessary definitions Acyclic path p = (v e v 2 e 2... e n v n+ ) in G : i n, j n +, i j : e i E v i, v j V v i = LEFT VERTEX (e i ) v i+ = RIGHT VERTEX (e i ) v i v j Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 4 / 34

22 Paths Graph theory Necessary definitions Acyclic path p = (v e v 2 e 2... e n v n+ ) in G : i n, j n +, i j : e i E v i, v j V v i = LEFT VERTEX (e i ) v i+ = RIGHT VERTEX (e i ) v i v j Proper segment sequence for a path p = (v e v 2 e 2... e n v n+ ) : S(p) = (S... S m ) : S(p) is a segment sequence i < i 2 <... < i l n + : {v,... v i } V S {v i,... v i2 } V S2... {v il,... v n+ } V Sl Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 4 / 34

23 Segment graph Graph theory Necessary definitions Segment graph of G: SG(G) = (S(G), X ), X = {h h = (S i, S j ) i, j k EDGES OUT (S i ) EDGES IN(S j ) } S S 2 S 4 S 3 S S 2 S3 S 5 S 4 S 6 S 5 S 6 Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 5 / 34

24 Graph theory Basic hypotheses Representing paths in G by segment sequences in S(G) Lemma If a graph G = (V, E) has a segmentation S(G) that forms a graph SG(G), any path p = (v e v 2 e 2... e n v n+ ) in G can be represented by its proper segment sequence in S(G) and this representation is unique. Lemma If a graph G = (V, E) has a segmentation S(G) that forms a graph SG(G), a segment sequence in S(G) represents either some path in G or an empty path. Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 6 / 34

25 Preliminary evaluation Graph theory Preliminary evaluation If we generate all possible segment sequences in S(G), we get all possible paths in G Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 7 / 34

26 Preliminary evaluation Graph theory Preliminary evaluation If we generate all possible segment sequences in S(G), we get all possible paths in G + Fast generation of dense path representations Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 7 / 34

27 Preliminary evaluation Graph theory Preliminary evaluation If we generate all possible segment sequences in S(G), we get all possible paths in G + Fast generation of dense path representations - Problem with disconnected segment sequences Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 7 / 34

28 Preliminary evaluation Graph theory Preliminary evaluation If we generate all possible segment sequences in S(G), we get all possible paths in G + Fast generation of dense path representations - Problem with disconnected segment sequences - A huge amount of paths can be found in dense graphs between almost any two vertices, the number of such paths grows exponentially with the maximal length of a path allowed Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 7 / 34

29 Preliminary evaluation Graph theory Preliminary evaluation If we generate all possible segment sequences in S(G), we get all possible paths in G + Fast generation of dense path representations - Problem with disconnected segment sequences - A huge amount of paths can be found in dense graphs between almost any two vertices, the number of such paths grows exponentially with the maximal length of a path allowed A need for l-ρ-index which is a variation of rho-index, where only those paths between two vertices with length l and some paths having length > l are indexed Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 7 / 34

30 Preliminary evaluation Graph theory Preliminary evaluation If we generate all possible segment sequences in S(G), we get all possible paths in G + Fast generation of dense path representations - Problem with disconnected segment sequences - A huge amount of paths can be found in dense graphs between almost any two vertices, the number of such paths grows exponentially with the maximal length of a path allowed A need for l-ρ-index which is a variation of rho-index, where only those paths between two vertices with length l and some paths having length > l are indexed Computational overhead bound with a weight computation of each segment sequence stored An upper bound on a maximal number of connecting paths to be computed to find the one with a lowest weight tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 7 / 34

31 Graph theory Weights in G and S(G) - Definitions Proposing weights to vertices Weight of vertex v: w(v) <, > Weight of path p = (v e v 2 e 2... e n v n+ ) : w(p) = n+ w(v i ) Set of weights of segment sequence: (S... S m ) = {w(p) p (S... S m )} Weight of segment sequence (S... S m ) = min( (S... S m ) ) i= tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 8 / 34

32 Graph theory Facts about weights in G and S(G) Proposing weights to vertices The relation between (v e v 2 e 2... e n v n+ ) and (S... S m )!! m n + = the segment sequence representation is always shorter or of the same length as the path it represents tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 9 / 34

33 Graph theory Facts about weights in G and S(G) Proposing weights to vertices The relation between (v e v 2 e 2... e n v n+ ) and (S... S m )!! m n + = the segment sequence representation is always shorter or of the same length as the path it represents!! (S... S m ) w(p) = the proper segment sequence for a path p has always lower or the same weight as the path it represents tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 9 / 34

34 Graph theory Proposing weights to vertices Proposing the limit l Lemma If a graph G = (V, E) has a segmentation S(G) that forms a graph SG(G) then for a limit l, segment sequences in S(G) having weight l represent all paths in G that have weight l. Proof. Lets assume that there is a path p with w(p) l and that it is not present in the result represented by segment sequences with (S... S m ) l. This would imply that the S(p) > w(p) but this is contradictory to the previous facts. Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 20 / 34

35 Graph theory Upper bound Upper bound on the minimal number of connecting paths Lemma (An upper bound on a maximal number of connecting paths to be computed to find the one with a lowest weight) A connecting path for a segment sequence (S... S m ) with the lowest weight is a path in CPs with the lowest weight. CPs is a set of connecting paths that have for each combination of common edges for each two neighboring segments in (S... S m ) minimal weight. The upper bound is represented by the number of combinations of common edges picked from m sets of common edges. Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 2 / 34

36 Graph theory Iteration step Recursively applying the graph segmentation What if the segment graph SG(G) of the indexed graph is not small enough to be described by a path type matrix? Intuitively, the graph segmentation can be applied again to the segment graph SG(G) forming the SG(SG(G)). But what happens to the vertices weights? Segments do not have weights assigned, since the segment s shortest traversal is context dependent. How to propose the vertices weights to upper levels of the indexing structure? tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 22 / 34

37 Graph theory Iteration step Assigning weight to a segment!!! Segment sequence (EABX ) is disconnected!!! (ABC) = 3, (ABX ) = 4 = w(b) = or 2? D D A B A B X E X E F C Y C Y 7 F tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 23 / 34

38 Graph theory Iteration step Altering the weight definitions for an iteration step G = (V, E), G = SG(G) = (S(G), E ), G = (SG(SG(G)) = (S(S(G)), E ) Weight of vertex v V : w(v) <, > Weight of path p = (v e v 2 e 2... e n v n+ ) : w(p) = n+ w(v i ), p G Connecting segment sequence (A... A m ) G for (S... S m ) G denotes a path (A e A 2... e k A k ) in G where e (EDGES OUT (S ) EDGES IN(S 2 )), e k (EDGES OUT (S m ) EDGES IN(S m )) and (S... S m ) is a proper segment sequence for (A e A 2... e k A k ). i= tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 24 / 34

39 Graph theory Iteration step Altering the weight definitions Set of weights{ of segment sequence: {w(p) p (S... S (S... S m ) = m )}, S S(G) { (A... A k ) (A... A k ) (S... S m )}, S S(S(G)) Weight of segment sequence (S... S m ) = min( (S... S m ) ) tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 25 / 34

40 ρ-index s structure The rho-index The rho-index structure ρ-index comprises of: Each segment is represented by its path type matrix EDGES IN and EDGES OUT are also stored for each segment Path type matrix of a segment graph at the topmost level Stanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 26 / 34

41 The rho-index Outline of a ρ-index s structure The rho-index structure Level 3 Top level matrix Level Level Matrices for segments Matrices fot segments Original graph tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 27 / 34

42 Creating ρ index The rho-index Creating the rho-index Creating algorithm: Segmentation of the indexed graph G using the vertex clustering transformation 2 Creation of path type matrix for each segment, subsequent transitive closure computation 3 Creation of a segment graph SG(G) 4 If the segment graph is not small enough repeat previous steps tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 28 / 34

43 The rho-index Creating the rho-index Path search algorithm - Breadth First Graph G End Start Accesible area from Start Level 3 Level 2 Level tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 29 / 34

44 The rho-index Creating the rho-index Path search algorithm - Depth First Graph G End Accesible area from Start Start Step Step 2 Level 3 Level 2 Level 2 Level Level tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 30 / 34

45 The rho-index Creating the rho-index Practical experience with the approximative ρ-index The approximative (k, l)-ρ-index implementation: Limiting parameters pseudo k and l k - limits the number of segment sequences stored in one matrix field l - limits the degree of computation of the transitive closure of the matrices representing segments and the top matrix Insufficiency of the implemented (k, l) parameters lead to the design of the correct l - variant of the ρ-index by proposing weights of vertices and segment sequences to the design of the indexing structure tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 3 / 34

46 The rho-index Creating the rho-index Practical experience with the approximative ρ-index Index efficiency is very dependent on a size of the cluster used to segment the graph using the same (k, l) parameters lead into different number of paths indexed the lower the size of the cluster the more precise results gained The unlimited variant of the ρ-index can be achieved using a small size of a cluster small number of stored segment sequences in each matrix field enables complete transitive closure computation for each segment tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 32 / 34

47 Future research The rho-index Future research Implementation and full evaluation of the l-ρ-index variation including optimized depth first search algorithm Explore the impact of a graph segmentation strategy to the indexing structure Optimization of the vertex clustering technique Further research of other segmentation techniques (k, l) ρ index - another variation of ρ-index where only the first k paths of length l are indexed Explore the possibilities of distributing the ρ-index tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 33 / 34

48 The rho-index Future research Thank you for your attention. tanislav Bartoň (Masaryk university, Brno)Designing a Path-oriented Indexing Structure for a Graph Structured June, 2005 Data 34 / 34

Semantic Association Identification and Knowledge Discovery for National Security Applications 1

Semantic Association Identification and Knowledge Discovery for National Security Applications 1 Semantic Association Identification and Knowledge Discovery for National Security Applications 1 Annual Progress Report (Year 1) Report Date: April 30, 2003 Contributors: Faculty: Prof. Amit Sheth (PI),

More information

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1

Definition For vertices u, v V (G), the distance from u to v, denoted d(u, v), in G is the length of a shortest u, v-path. 1 Graph fundamentals Bipartite graph characterization Lemma. If a graph contains an odd closed walk, then it contains an odd cycle. Proof strategy: Consider a shortest closed odd walk W. If W is not a cycle,

More information

2. True or false: even though BFS and DFS have the same space complexity, they do not always have the same worst case asymptotic time complexity.

2. True or false: even though BFS and DFS have the same space complexity, they do not always have the same worst case asymptotic time complexity. 1. T F: Consider a directed graph G = (V, E) and a vertex s V. Suppose that for all v V, there exists a directed path in G from s to v. Suppose that a DFS is run on G, starting from s. Then, true or false:

More information

CS/COE 1501 cs.pitt.edu/~bill/1501/ Graphs

CS/COE 1501 cs.pitt.edu/~bill/1501/ Graphs CS/COE 1501 cs.pitt.edu/~bill/1501/ Graphs 5 3 2 4 1 0 2 Graphs A graph G = (V, E) Where V is a set of vertices E is a set of edges connecting vertex pairs Example: V = {0, 1, 2, 3, 4, 5} E = {(0, 1),

More information

Graphs. Graph G = (V, E) Types of graphs E = O( V 2 ) V = set of vertices E = set of edges (V V)

Graphs. Graph G = (V, E) Types of graphs E = O( V 2 ) V = set of vertices E = set of edges (V V) Graph Algorithms Graphs Graph G = (V, E) V = set of vertices E = set of edges (V V) Types of graphs Undirected: edge (u, v) = (v, u); for all v, (v, v) E (No self loops.) Directed: (u, v) is edge from

More information

Slides for Faculty Oxford University Press All rights reserved.

Slides for Faculty Oxford University Press All rights reserved. Oxford University Press 2013 Slides for Faculty Assistance Preliminaries Author: Vivek Kulkarni vivek_kulkarni@yahoo.com Outline Following topics are covered in the slides: Basic concepts, namely, symbols,

More information

The ρ Operator: Discovering and Ranking Associations on the Semantic Web

The ρ Operator: Discovering and Ranking Associations on the Semantic Web The ρ Operator: Discovering and Ranking Associations on the Semantic Web Kemafor Anyanwu and Amit Sheth Large Scale Distributed Information Systems Lab Department of Computer Science, University of Georgia

More information

CS521 \ Notes for the Final Exam

CS521 \ Notes for the Final Exam CS521 \ Notes for final exam 1 Ariel Stolerman Asymptotic Notations: CS521 \ Notes for the Final Exam Notation Definition Limit Big-O ( ) Small-o ( ) Big- ( ) Small- ( ) Big- ( ) Notes: ( ) ( ) ( ) ( )

More information

Shortest Path Problem

Shortest Path Problem Shortest Path Problem CLRS Chapters 24.1 3, 24.5, 25.2 Shortest path problem Shortest path problem (and variants) Properties of shortest paths Algorithmic framework Bellman-Ford algorithm Shortest paths

More information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is

More information

4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests

4 Basics of Trees. Petr Hliněný, FI MU Brno 1 FI: MA010: Trees and Forests 4 Basics of Trees Trees, actually acyclic connected simple graphs, are among the simplest graph classes. Despite their simplicity, they still have rich structure and many useful application, such as in

More information

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms

Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Introduction to Parallel & Distributed Computing Parallel Graph Algorithms Lecture 16, Spring 2014 Instructor: 罗国杰 gluo@pku.edu.cn In This Lecture Parallel formulations of some important and fundamental

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)

More information

Graphs. Tessema M. Mengistu Department of Computer Science Southern Illinois University Carbondale Room - Faner 3131

Graphs. Tessema M. Mengistu Department of Computer Science Southern Illinois University Carbondale Room - Faner 3131 Graphs Tessema M. Mengistu Department of Computer Science Southern Illinois University Carbondale tessema.mengistu@siu.edu Room - Faner 3131 1 Outline Introduction to Graphs Graph Traversals Finding a

More information

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2

Graph Theory S 1 I 2 I 1 S 2 I 1 I 2 Graph Theory S I I S S I I S Graphs Definition A graph G is a pair consisting of a vertex set V (G), and an edge set E(G) ( ) V (G). x and y are the endpoints of edge e = {x, y}. They are called adjacent

More information

Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees

Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees Lecture 10. Elementary Graph Algorithm Minimum Spanning Trees T. H. Cormen, C. E. Leiserson and R. L. Rivest Introduction to Algorithms, 3rd Edition, MIT Press, 2009 Sungkyunkwan University Hyunseung Choo

More information

Outline. Graphs. Divide and Conquer.

Outline. Graphs. Divide and Conquer. GRAPHS COMP 321 McGill University These slides are mainly compiled from the following resources. - Professor Jaehyun Park slides CS 97SI - Top-coder tutorials. - Programming Challenges books. Outline Graphs.

More information

CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms

CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms CSC 8301 Design & Analysis of Algorithms: Warshall s, Floyd s, and Prim s algorithms Professor Henry Carter Fall 2016 Recap Space-time tradeoffs allow for faster algorithms at the cost of space complexity

More information

implementing the breadth-first search algorithm implementing the depth-first search algorithm

implementing the breadth-first search algorithm implementing the depth-first search algorithm Graph Traversals 1 Graph Traversals representing graphs adjacency matrices and adjacency lists 2 Implementing the Breadth-First and Depth-First Search Algorithms implementing the breadth-first search algorithm

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

Lecture 3: Graphs and flows

Lecture 3: Graphs and flows Chapter 3 Lecture 3: Graphs and flows Graphs: a useful combinatorial structure. Definitions: graph, directed and undirected graph, edge as ordered pair, path, cycle, connected graph, strongly connected

More information

Shannon capacity and related problems in Information Theory and Ramsey Theory

Shannon capacity and related problems in Information Theory and Ramsey Theory Shannon capacity and related problems in Information Theory and Ramsey Theory Eyal Lubetzky Based on Joint work with Noga Alon and Uri Stav May 2007 1 Outline of talk Shannon Capacity of of a graph: graph:

More information

Lecture 8: PATHS, CYCLES AND CONNECTEDNESS

Lecture 8: PATHS, CYCLES AND CONNECTEDNESS Discrete Mathematics August 20, 2014 Lecture 8: PATHS, CYCLES AND CONNECTEDNESS Instructor: Sushmita Ruj Scribe: Ishan Sahu & Arnab Biswas 1 Paths, Cycles and Connectedness 1.1 Paths and Cycles 1. Paths

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures Chapter 9 Graph s 2 Definitions Definitions an undirected graph is a finite set

More information

Elementary Graph Algorithms

Elementary Graph Algorithms Elementary Graph Algorithms Graphs Graph G = (V, E)» V = set of vertices» E = set of edges (V V) Types of graphs» Undirected: edge (u, v) = (v, u); for all v, (v, v) E (No self loops.)» Directed: (u, v)

More information

CSC 172 Data Structures and Algorithms. Lecture 24 Fall 2017

CSC 172 Data Structures and Algorithms. Lecture 24 Fall 2017 CSC 172 Data Structures and Algorithms Lecture 24 Fall 2017 ANALYSIS OF DIJKSTRA S ALGORITHM CSC 172, Fall 2017 Implementation and analysis The initialization requires Q( V ) memory and run time We iterate

More information

5 MST and Greedy Algorithms

5 MST and Greedy Algorithms 5 MST and Greedy Algorithms One of the traditional and practically motivated problems of discrete optimization asks for a minimal interconnection of a given set of terminals (meaning that every pair will

More information

This course is intended for 3rd and/or 4th year undergraduate majors in Computer Science.

This course is intended for 3rd and/or 4th year undergraduate majors in Computer Science. Lecture 9 Graphs This course is intended for 3rd and/or 4th year undergraduate majors in Computer Science. You need to be familiar with the design and use of basic data structures such as Lists, Stacks,

More information

Clustering Using Graph Connectivity

Clustering Using Graph Connectivity Clustering Using Graph Connectivity Patrick Williams June 3, 010 1 Introduction It is often desirable to group elements of a set into disjoint subsets, based on the similarity between the elements in the

More information

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1

Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 CME 305: Discrete Mathematics and Algorithms Instructor: Professor Aaron Sidford (sidford@stanford.edu) January 11, 2018 Lecture 2 - Graph Theory Fundamentals - Reachability and Exploration 1 In this lecture

More information

Solutions to relevant spring 2000 exam problems

Solutions to relevant spring 2000 exam problems Problem 2, exam Here s Prim s algorithm, modified slightly to use C syntax. MSTPrim (G, w, r): Q = V[G]; for (each u Q) { key[u] = ; key[r] = 0; π[r] = 0; while (Q not empty) { u = ExtractMin (Q); for

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a

More information

5 MST and Greedy Algorithms

5 MST and Greedy Algorithms 5 MST and Greedy Algorithms One of the traditional and practically motivated problems of discrete optimization asks for a minimal interconnection of a given set of terminals (meaning that every pair will

More information

Minimum Spanning Trees

Minimum Spanning Trees Minimum Spanning Trees Problem A town has a set of houses and a set of roads. A road connects 2 and only 2 houses. A road connecting houses u and v has a repair cost w(u, v). Goal: Repair enough (and no

More information

CS/COE

CS/COE CS/COE 151 www.cs.pitt.edu/~lipschultz/cs151/ Graphs 5 3 2 4 1 Graphs A graph G = (V, E) Where V is a set of vertices E is a set of edges connecting vertex pairs Example: V = {, 1, 2, 3, 4, 5} E = {(,

More information

Problem Set 2 Solutions

Problem Set 2 Solutions Problem Set 2 Solutions Graph Theory 2016 EPFL Frank de Zeeuw & Claudiu Valculescu 1. Prove that the following statements about a graph G are equivalent. - G is a tree; - G is minimally connected (it is

More information

Algorithm Design (8) Graph Algorithms 1/2

Algorithm Design (8) Graph Algorithms 1/2 Graph Algorithm Design (8) Graph Algorithms / Graph:, : A finite set of vertices (or nodes) : A finite set of edges (or arcs or branches) each of which connect two vertices Takashi Chikayama School of

More information

(Refer Slide Time: 0:19)

(Refer Slide Time: 0:19) Theory of Computation. Professor somenath Biswas. Department of Computer Science & Engineering. Indian Institute of Technology, Kanpur. Lecture-15. Decision Problems for Regular Languages. (Refer Slide

More information

Lecture 4: Graph Algorithms

Lecture 4: Graph Algorithms Lecture 4: Graph Algorithms Definitions Undirected graph: G =(V, E) V finite set of vertices, E finite set of edges any edge e = (u,v) is an unordered pair Directed graph: edges are ordered pairs If e

More information

CSC 1700 Analysis of Algorithms: Minimum Spanning Tree

CSC 1700 Analysis of Algorithms: Minimum Spanning Tree CSC 1700 Analysis of Algorithms: Minimum Spanning Tree Professor Henry Carter Fall 2016 Recap Space-time tradeoffs allow for faster algorithms at the cost of space complexity overhead Dynamic programming

More information

Minimum Spanning Trees My T. UF

Minimum Spanning Trees My T. UF Introduction to Algorithms Minimum Spanning Trees @ UF Problem Find a low cost network connecting a set of locations Any pair of locations are connected There is no cycle Some applications: Communication

More information

Week 11: Minimum Spanning trees

Week 11: Minimum Spanning trees Week 11: Minimum Spanning trees Agenda: Minimum Spanning Trees Prim s Algorithm Reading: Textbook : 61-7 1 Week 11: Minimum Spanning trees Minimum spanning tree (MST) problem: Input: edge-weighted (simple,

More information

CSE 100: GRAPH ALGORITHMS

CSE 100: GRAPH ALGORITHMS CSE 100: GRAPH ALGORITHMS 2 Graphs: Example A directed graph V5 V = { V = E = { E Path: 3 Graphs: Definitions A directed graph V5 V6 A graph G = (V,E) consists of a set of vertices V and a set of edges

More information

Design and Analysis of Algorithms

Design and Analysis of Algorithms Design and Analysis of Algorithms CSE 5311 Lecture 18 Graph Algorithm Junzhou Huang, Ph.D. Department of Computer Science and Engineering CSE5311 Design and Analysis of Algorithms 1 Graphs Graph G = (V,

More information

Containment and Minimization of RDF/S Query Patterns. Outline

Containment and Minimization of RDF/S Query Patterns. Outline Containment and Minimization of RDF/S Query Patterns Giorgos Serfiotis, Ioanna Koffina Computer Science Department, University of Crete and Institute of Computer Science - FORTH Val Tannen Computer and

More information

Introduction to Graph Theory

Introduction to Graph Theory Introduction to Graph Theory Tandy Warnow January 20, 2017 Graphs Tandy Warnow Graphs A graph G = (V, E) is an object that contains a vertex set V and an edge set E. We also write V (G) to denote the vertex

More information

On Covering a Graph Optimally with Induced Subgraphs

On Covering a Graph Optimally with Induced Subgraphs On Covering a Graph Optimally with Induced Subgraphs Shripad Thite April 1, 006 Abstract We consider the problem of covering a graph with a given number of induced subgraphs so that the maximum number

More information

CS 341: Algorithms. Douglas R. Stinson. David R. Cheriton School of Computer Science University of Waterloo. February 26, 2019

CS 341: Algorithms. Douglas R. Stinson. David R. Cheriton School of Computer Science University of Waterloo. February 26, 2019 CS 341: Algorithms Douglas R. Stinson David R. Cheriton School of Computer Science University of Waterloo February 26, 2019 D.R. Stinson (SCS) CS 341 February 26, 2019 1 / 296 1 Course Information 2 Introduction

More information

Lecture Notes 2: The Simplex Algorithm

Lecture Notes 2: The Simplex Algorithm Algorithmic Methods 25/10/2010 Lecture Notes 2: The Simplex Algorithm Professor: Yossi Azar Scribe:Kiril Solovey 1 Introduction In this lecture we will present the Simplex algorithm, finish some unresolved

More information

LECTURE 17 GRAPH TRAVERSALS

LECTURE 17 GRAPH TRAVERSALS DATA STRUCTURES AND ALGORITHMS LECTURE 17 GRAPH TRAVERSALS IMRAN IHSAN ASSISTANT PROFESSOR AIR UNIVERSITY, ISLAMABAD STRATEGIES Traversals of graphs are also called searches We can use either breadth-first

More information

Algebraic method for Shortest Paths problems

Algebraic method for Shortest Paths problems Lecture 1 (06.03.2013) Author: Jaros law B lasiok Algebraic method for Shortest Paths problems 1 Introduction In the following lecture we will see algebraic algorithms for various shortest-paths problems.

More information

Shortest path problems

Shortest path problems Next... Shortest path problems Single-source shortest paths in weighted graphs Shortest-Path Problems Properties of Shortest Paths, Relaxation Dijkstra s Algorithm Bellman-Ford Algorithm Shortest-Paths

More information

Unit #9: Graphs. CPSC 221: Algorithms and Data Structures. Will Evans 2012W1

Unit #9: Graphs. CPSC 221: Algorithms and Data Structures. Will Evans 2012W1 Unit #9: Graphs CPSC 1: Algorithms and Data Structures Will Evans 01W1 Unit Outline Topological Sort: Getting to Know Graphs with a Sort Graph ADT and Graph Representations Graph Terminology More Graph

More information

The geometric generalized minimum spanning tree problem with grid clustering

The geometric generalized minimum spanning tree problem with grid clustering 4OR (2006) 4:319 329 DOI 10.1007/s10288-006-0012-6 REGULAR PAPER The geometric generalized minimum spanning tree problem with grid clustering Corinne Feremans Alexander Grigoriev René Sitters Received:

More information

MAT 7003 : Mathematical Foundations. (for Software Engineering) J Paul Gibson, A207.

MAT 7003 : Mathematical Foundations. (for Software Engineering) J Paul Gibson, A207. MAT 7003 : Mathematical Foundations (for Software Engineering) J Paul Gibson, A207 paul.gibson@it-sudparis.eu http://www-public.it-sudparis.eu/~gibson/teaching/mat7003/ Graphs and Trees http://www-public.it-sudparis.eu/~gibson/teaching/mat7003/l2-graphsandtrees.pdf

More information

Konigsberg Bridge Problem

Konigsberg Bridge Problem Graphs Konigsberg Bridge Problem c C d g A Kneiphof e D a B b f c A C d e g D a b f B Euler s Graph Degree of a vertex: the number of edges incident to it Euler showed that there is a walk starting at

More information

Introductory Combinatorics

Introductory Combinatorics Introductory Combinatorics Third Edition KENNETH P. BOGART Dartmouth College,. " A Harcourt Science and Technology Company San Diego San Francisco New York Boston London Toronto Sydney Tokyo xm CONTENTS

More information

Undirected Graphs. Hwansoo Han

Undirected Graphs. Hwansoo Han Undirected Graphs Hwansoo Han Definitions Undirected graph (simply graph) G = (V, E) V : set of vertexes (vertices, nodes, points) E : set of edges (lines) An edge is an unordered pair Edge (v, w) = (w,

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

On the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes

On the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes On the Complexity of the Policy Improvement Algorithm for Markov Decision Processes Mary Melekopoglou Anne Condon Computer Sciences Department University of Wisconsin - Madison 0 West Dayton Street Madison,

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

Artificial Intelligence

Artificial Intelligence Artificial Intelligence Shortest Path Problem G. Guérard Department of Nouvelles Energies Ecole Supérieur d Ingénieurs Léonard de Vinci Lecture 3 GG A.I. 1/42 Outline 1 The Shortest Path Problem Introduction

More information

Algorithm Design and Analysis

Algorithm Design and Analysis Algorithm Design and Analysis LECTURE 4 Graphs Definitions Traversals Adam Smith 9/8/10 Exercise How can you simulate an array with two unbounded stacks and a small amount of memory? (Hint: think of a

More information

CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10

CS 220: Discrete Structures and their Applications. graphs zybooks chapter 10 CS 220: Discrete Structures and their Applications graphs zybooks chapter 10 directed graphs A collection of vertices and directed edges What can this represent? undirected graphs A collection of vertices

More information

Trees Rooted Trees Spanning trees and Shortest Paths. 12. Graphs and Trees 2. Aaron Tan November 2017

Trees Rooted Trees Spanning trees and Shortest Paths. 12. Graphs and Trees 2. Aaron Tan November 2017 12. Graphs and Trees 2 Aaron Tan 6 10 November 2017 1 10.5 Trees 2 Definition Definition Definition: Tree A graph is said to be circuit-free if, and only if, it has no circuits. A graph is called a tree

More information

Advanced Data Management

Advanced Data Management Advanced Data Management Medha Atre Office: KD-219 atrem@cse.iitk.ac.in Sept 26, 2016 defined Given a graph G(V, E) with V as the set of nodes and E as the set of edges, a reachability query asks does

More information

Math 170- Graph Theory Notes

Math 170- Graph Theory Notes 1 Math 170- Graph Theory Notes Michael Levet December 3, 2018 Notation: Let n be a positive integer. Denote [n] to be the set {1, 2,..., n}. So for example, [3] = {1, 2, 3}. To quote Bud Brown, Graph theory

More information

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees

Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Algorithm and Complexity of Disjointed Connected Dominating Set Problem on Trees Wei Wang joint with Zishen Yang, Xianliang Liu School of Mathematics and Statistics, Xi an Jiaotong University Dec 20, 2016

More information

CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms. Lecturer: Shi Li

CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms. Lecturer: Shi Li CSE 431/531: Algorithm Analysis and Design (Spring 2018) Greedy Algorithms Lecturer: Shi Li Department of Computer Science and Engineering University at Buffalo Main Goal of Algorithm Design Design fast

More information

The Join the Club Interpretation of Some. Graph Algorithms

The Join the Club Interpretation of Some. Graph Algorithms The Join the Club Interpretation of Some Graph Algorithms Harold Reiter Isaac Sonin June 8, 2000 Abstract Several important tree construction algorithms of graph theory are described and discussed using

More information

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved.

Chapter 9. Greedy Technique. Copyright 2007 Pearson Addison-Wesley. All rights reserved. Chapter 9 Greedy Technique Copyright 2007 Pearson Addison-Wesley. All rights reserved. Greedy Technique Constructs a solution to an optimization problem piece by piece through a sequence of choices that

More information

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI. Department of Computer Science and Engineering CS6301 PROGRAMMING DATA STRUCTURES II

DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI. Department of Computer Science and Engineering CS6301 PROGRAMMING DATA STRUCTURES II DHANALAKSHMI COLLEGE OF ENGINEERING, CHENNAI Department of Computer Science and Engineering CS6301 PROGRAMMING DATA STRUCTURES II Anna University 2 & 16 Mark Questions & Answers Year / Semester: II / III

More information

{ 1} Definitions. 10. Extremal graph theory. Problem definition Paths and cycles Complete subgraphs

{ 1} Definitions. 10. Extremal graph theory. Problem definition Paths and cycles Complete subgraphs Problem definition Paths and cycles Complete subgraphs 10. Extremal graph theory 10.1. Definitions Let us examine the following forbidden subgraph problems: At most how many edges are in a graph of order

More information

Bipartite Roots of Graphs

Bipartite Roots of Graphs Bipartite Roots of Graphs Lap Chi Lau Department of Computer Science University of Toronto Graph H is a root of graph G if there exists a positive integer k such that x and y are adjacent in G if and only

More information

Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected

Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected Section 3.1: Nonseparable Graphs Cut vertex of a connected graph G: A vertex x G such that G x is not connected. Theorem 3.1, p. 57: Every connected graph G with at least 2 vertices contains at least 2

More information

Graph and Digraph Glossary

Graph and Digraph Glossary 1 of 15 31.1.2004 14:45 Graph and Digraph Glossary A B C D E F G H I-J K L M N O P-Q R S T U V W-Z Acyclic Graph A graph is acyclic if it contains no cycles. Adjacency Matrix A 0-1 square matrix whose

More information

Querying RDF Descriptions for Community Web Portals 1

Querying RDF Descriptions for Community Web Portals 1 Querying RDF Descriptions for Community Web Portals 1 Gregory Karvounarakis Vassilis Christophides Dimitris Plexousakis Sofia Alexaki Institute of Computer Science, FORTH, Vassilika Vouton, P.O.Box 1385,

More information

Dijkstra s Algorithm Last time we saw two methods to solve the all-pairs shortest path problem: Min-plus matrix powering in O(n 3 log n) time and the

Dijkstra s Algorithm Last time we saw two methods to solve the all-pairs shortest path problem: Min-plus matrix powering in O(n 3 log n) time and the Dijkstra s Algorithm Last time we saw two methods to solve the all-pairs shortest path problem: Min-plus matrix powering in O(n 3 log n) time and the Floyd-Warshall algorithm in O(n 3 ) time. Neither of

More information

Constraint Satisfaction Problems

Constraint Satisfaction Problems Constraint Satisfaction Problems Search and Lookahead Bernhard Nebel, Julien Hué, and Stefan Wölfl Albert-Ludwigs-Universität Freiburg June 4/6, 2012 Nebel, Hué and Wölfl (Universität Freiburg) Constraint

More information

Basic Graph Definitions

Basic Graph Definitions CMSC 341 Graphs Basic Graph Definitions A graph G = (V,E) consists of a finite set of vertices, V, and a finite set of edges, E. Each edge is a pair (v,w) where v, w V. V and E are sets, so each vertex

More information

Last week: Breadth-First Search

Last week: Breadth-First Search 1 Last week: Breadth-First Search Set L i = [] for i=1,,n L 0 = {w}, where w is the start node For i = 0,, n-1: For u in L i : For each v which is a neighbor of u: If v isn t yet visited: - mark v as visited,

More information

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem

Minimum-Spanning-Tree problem. Minimum Spanning Trees (Forests) Minimum-Spanning-Tree problem Minimum Spanning Trees (Forests) Given an undirected graph G=(V,E) with each edge e having a weight w(e) : Find a subgraph T of G of minimum total weight s.t. every pair of vertices connected in G are

More information

Graphs. Part I: Basic algorithms. Laura Toma Algorithms (csci2200), Bowdoin College

Graphs. Part I: Basic algorithms. Laura Toma Algorithms (csci2200), Bowdoin College Laura Toma Algorithms (csci2200), Bowdoin College Undirected graphs Concepts: connectivity, connected components paths (undirected) cycles Basic problems, given undirected graph G: is G connected how many

More information

The self-minor conjecture for infinite trees

The self-minor conjecture for infinite trees The self-minor conjecture for infinite trees Julian Pott Abstract We prove Seymour s self-minor conjecture for infinite trees. 1. Introduction P. D. Seymour conjectured that every infinite graph is a proper

More information

Paths. Path is a sequence of edges that begins at a vertex of a graph and travels from vertex to vertex along edges of the graph.

Paths. Path is a sequence of edges that begins at a vertex of a graph and travels from vertex to vertex along edges of the graph. Paths Path is a sequence of edges that begins at a vertex of a graph and travels from vertex to vertex along edges of the graph. Formal Definition of a Path (Undirected) Let n be a nonnegative integer

More information

Advanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012

Advanced algorithms. topological ordering, minimum spanning tree, Union-Find problem. Jiří Vyskočil, Radek Mařík 2012 topological ordering, minimum spanning tree, Union-Find problem Jiří Vyskočil, Radek Mařík 2012 Subgraph subgraph A graph H is a subgraph of a graph G, if the following two inclusions are satisfied: 2

More information

Data Structures and Algorithms (DSA) Course 9 Lists / Graphs / Trees. Iulian Năstac

Data Structures and Algorithms (DSA) Course 9 Lists / Graphs / Trees. Iulian Năstac Data Structures and Algorithms (DSA) Course 9 Lists / Graphs / Trees Iulian Năstac Recapitulation It is considered the following type: typedef struct nod { ; struct nod *next; } NOD; 2 Circular

More information

Finding a -regular Supergraph of Minimum Order

Finding a -regular Supergraph of Minimum Order Finding a -regular Supergraph of Minimum Order Hans L. Bodlaender a, Richard B. Tan a,b and Jan van Leeuwen a a Department of Computer Science Utrecht University Padualaan 14, 3584 CH Utrecht The Netherlands

More information

Part VI Graph algorithms. Chapter 22 Elementary Graph Algorithms Chapter 23 Minimum Spanning Trees Chapter 24 Single-source Shortest Paths

Part VI Graph algorithms. Chapter 22 Elementary Graph Algorithms Chapter 23 Minimum Spanning Trees Chapter 24 Single-source Shortest Paths Part VI Graph algorithms Chapter 22 Elementary Graph Algorithms Chapter 23 Minimum Spanning Trees Chapter 24 Single-source Shortest Paths 1 Chapter 22 Elementary Graph Algorithms Representations of graphs

More information

Introduction III. Graphs. Motivations I. Introduction IV

Introduction III. Graphs. Motivations I. Introduction IV Introduction I Graphs Computer Science & Engineering 235: Discrete Mathematics Christopher M. Bourke cbourke@cse.unl.edu Graph theory was introduced in the 18th century by Leonhard Euler via the Königsberg

More information

Parallel Graph Algorithms

Parallel Graph Algorithms Parallel Graph Algorithms Design and Analysis of Parallel Algorithms 5DV050/VT3 Part I Introduction Overview Graphs definitions & representations Minimal Spanning Tree (MST) Prim s algorithm Single Source

More information

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points

MC 302 GRAPH THEORY 10/1/13 Solutions to HW #2 50 points + 6 XC points MC 0 GRAPH THEORY 0// Solutions to HW # 0 points + XC points ) [CH] p.,..7. This problem introduces an important class of graphs called the hypercubes or k-cubes, Q, Q, Q, etc. I suggest that before you

More information

Foundations of Computer Science Spring Mathematical Preliminaries

Foundations of Computer Science Spring Mathematical Preliminaries Foundations of Computer Science Spring 2017 Equivalence Relation, Recursive Definition, and Mathematical Induction Mathematical Preliminaries Mohammad Ashiqur Rahman Department of Computer Science College

More information

Institutionen för datavetenskap Department of Computer and Information Science

Institutionen för datavetenskap Department of Computer and Information Science Institutionen för datavetenskap Department of Computer and Information Science Final thesis K Shortest Path Implementation by RadhaKrishna Nagubadi LIU-IDA/LITH-EX-A--13/41--SE 213-6-27 Linköpings universitet

More information

Solution for Homework set 3

Solution for Homework set 3 TTIC 300 and CMSC 37000 Algorithms Winter 07 Solution for Homework set 3 Question (0 points) We are given a directed graph G = (V, E), with two special vertices s and t, and non-negative integral capacities

More information

Single Source Shortest Path

Single Source Shortest Path Single Source Shortest Path A directed graph G = (V, E) and a pair of nodes s, d is given. The edges have a real-valued weight W i. This time we are looking for the weight and the shortest path from s

More information

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University

Graphs: Introduction. Ali Shokoufandeh, Department of Computer Science, Drexel University Graphs: Introduction Ali Shokoufandeh, Department of Computer Science, Drexel University Overview of this talk Introduction: Notations and Definitions Graphs and Modeling Algorithmic Graph Theory and Combinatorial

More information

Module 5 Graph Algorithms

Module 5 Graph Algorithms Module 5 Graph lgorithms Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 97 E-mail: natarajan.meghanathan@jsums.edu 5. Graph Traversal lgorithms Depth First

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Parallel Graph Algorithms

Parallel Graph Algorithms Parallel Graph Algorithms Design and Analysis of Parallel Algorithms 5DV050 Spring 202 Part I Introduction Overview Graphsdenitions, properties, representation Minimal spanning tree Prim's algorithm Shortest

More information