مرتضي صاحب الزماني 1 Basic Graph Algorithms. مرتضي صاحب الزماني 2 Graph Data Structures Adjacency Matrix [©Bazargan]

Post on 04-Jan-2016

219 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

Transcript

مرتضي صاحب الزماني

1

Basic Graph Algorithms

مرتضي صاحب الزماني

2

Graph Data Structures

Adjacency Matrix

[©Bazargan]

مرتضي صاحب الزماني

3

Graph Data Structures

Adjacency Matrix

[©Bazargan]

مرتضي صاحب الزماني

4

Graph Data Structures

Adjacency List

[©Bazargan]

مرتضي صاحب الزماني

5

Graph Data Structures

Adjacency List

[©Bazargan]

مرتضي صاحب الزماني

6

Graph Search Algorithms

[©Bazargan]

مرتضي صاحب الزماني

7

Graph Search Algorithms

Graph BFS DFS

[©Bazargan]

مرتضي صاحب الزماني

8

Depth-First Search

چون همة گره ها و O (|V| + |E|)پيچيدگي زماني: يالها حداکثر يک بار پيموده مي شوند.

مرتضي صاحب الزماني

9

Breadth-First Search

.O (|V| + |E|)پيچيدگي زماني:

باشروع از يک گره، همة گره هاي قابل •دسترسي را در يک صف قرار مي دهد و آنها

را مالقات مي کند.

اگر گرهي قبال5 مالقات شده است در صف •قرار نمي گيرد.

تکرار براي هر گره در صف.•

: صف به جاي پشته.DFSتفاوت با •

مرتضي صاحب الزماني

10

Topological Search

(.DAG )بدون سيکلبراي گراف جهت دار •

ها هميشه قبل parent: يعني Topologicalترتيب •از اوالد مالقات مي شوند.

جستجو شود.BFSمي تواند به صورت •C A

B

DE

C-A-E-B-D

مرتضي صاحب الزماني

11

Spanning Tree

G’ or E’ E

بسياري از مسائل گراف به صورت کلي •زيرند:

[©Bazargan]

مرتضي صاحب الزماني

12

Minimum Spanning Tree (MST)

• Formal Definition

[©Bazargan]

مرتضي صاحب الزماني

13

Minimum Spanning Tree

مرتضي صاحب الزماني

14

Kruskal MST Algorithm

http://students.ceid.upatras.gr/~papagel/project/contents.htm

[©Bazargan]

مرتضي صاحب الزماني

15

Kruskal MST Algorithm

•Kruskal’s algorithm is O(m log m) (m=|E|)

مرتضي صاحب الزماني

17

Shortest Path

• Used in VLSI routing.

• Single-Pair Shortest Path (SPSP):

مرتضي صاحب الزماني

18

Single-Pair Shortest Path

,u در يک گراف وزن دار، براي دو گره •v V،

( vو u )شامل P Vمجموعه گره هاي حداقل Pرا طوري انتخاب کنيد که

بدهد.v به u از Gهزينه را در

مرتضي صاحب الزماني

19

Dijkstra Algorithm

کوتاهترين مسير از يک گره به همة گره هاي ديگر را پيدا مي کند.

O(n2)

Initialize D

Find min distance from u to each node (so far)

Find shortest path by backtracing

مرتضي صاحب الزماني

20

All-Pairs Shortest Path

کوتاهترين مسير بين همة •زوج گره ها.

مرتضي صاحب الزماني

21

Matching

،G = (V, E) در يک گراف بدون جهت •E’ E را طوري پيدا کنيد که براي همة

مجاور ’E يک يال از حداکثر vگره هاي v .باشد

G

C A

B

DE

F

H

• Maximum matching: matching ي باماکزيمم تعداد )وزن( يالها.

C A

B

DE

F

H

مرتضي صاحب الزماني

22

Min-Cut

مرتضي صاحب الزماني

23

Steiner Minimum Tree (SMT)

مرتضي صاحب الزماني

24

Steiner Minimum Tree

8

مرتضي صاحب الزماني

25

Steiner Minimum Tree

• When D = V, SMT = MST.• When |D| = 2, SMT = Single Pair Shortest Path

Problem.• The SMT problem is NP-Complete.

مرتضي صاحب الزماني

26

Rectilinear Steiner Tree(RST)

A steiner tree whose edges are constrained to be vertical or horizontal.

Steiner point

Demand point

مرتضي صاحب الزماني

27

Rectilinear Steiner Minimum Tree(RSMT)

• Similar to the SMT problem, except that the tree T is a minimum cost rectilinear Steiner tree.

• This problem is NP-Complete but we can get an approximated solution to this problem by making use of the MST.

مرتضي صاحب الزماني

28

Underlying Grid Graph

مرتضي صاحب الزماني

29

Approximate Solution to RSMT

• Construct a MST T.

• Obtain a RST T’ from T by connecting the vertices in T using vertical and horizontal edges.

MST

or

a better one

There can be many solutions.

مرتضي صاحب الزماني

30

Different Steiner Trees

مرتضي صاحب الزماني

31

Approximate Solution to RSMT

It is proved that:

WMST 1.5 WRSMT

RSMT ي که ازMST به دست مي آيد

RSMT)واقعي )بهينه

مرتضي صاحب الزماني

37

يک مرجع الکترونيکي

Algorithms and Complexity, Wilf:

http://www.cis.upenn.edu/~wilf/AlgComp3.html

top related