advertisement
play

Advertisement! CSE 528 Computational Neuroscience now open to - PDF document

Last Course Topic: Graphs & Trees Motivation for Graphs Definition Directed and undirected graphs Representing Graphs Paths, Circuits, and Trees Famous Graph Problems Covered in Chapters 9 and 10 in the text (we will


  1. Last Course Topic: Graphs & Trees  Motivation for Graphs  Definition  Directed and undirected graphs  Representing Graphs  Paths, Circuits, and Trees  Famous Graph Problems  Covered in Chapters 9 and 10 in the text (we will cover mainly 9.1 and 10.1; you can browse the other sections) R. Rao, CSE 311 Based on Rosen and S. Wolfman 1 Advertisement!  CSE 528 Computational Neuroscience now open to undergraduates  How does the brain work?  How does it learn?  How does it predict?  How does it take action?  Can computer science help us understand the brain?  Prerequisites: elementary calculus, linear algebra, and basic probability/statistics R. Rao, CSE 311 2

  2. What are graphs? (Take 1)  Yes, this is a graph….  But we are interested in a different kind of “graph” R. Rao, CSE 311 3 Course Prerequisites for CSE at UW 143 332 142 331 312 311 351 333 Nodes = courses Directed edge = prerequisite 352 R. Rao, CSE 311 4

  3. Representing a Maze or Floor Plan of a House F B Nodes = rooms F Edge = door or passage B R. Rao, CSE 311 5 Representing Electrical Circuits Battery Switch Nodes = battery, switch, resistor, etc. Resistor Edges = connections R. Rao, CSE 311 6

  4. Representing Expressions in Compilers x1 x2 x1=q+y*z + - x2=y*z-q Naive: * * q q y z y*z calculated twice x1 x2 common subexpression + - eliminated: q * q Nodes = symbols/operators y z Edges = relationships R. Rao, CSE 311 7 Dependency structure of statements R. Rao, CSE 311 8

  5. Data Centers and Connections R. Rao, CSE 311 9 Data Centers with Multiple Connections R. Rao, CSE 311 10

  6. Data Centers with Diagnostic Connections R. Rao, CSE 311 11 Network with One-Way Links R. Rao, CSE 311 12

  7. People and Tasks R. Rao, CSE 311 13 Competition between Species R. Rao, CSE 311 14

  8. Facebook Friends R. Rao, CSE 311 15 Soap Opera Relationships Victor Ashley Wayne Brad Peter Trisha R. Rao, CSE 311 16

  9. Six Degrees of Separation from Kevin Bacon Apollo 13 Gary Sinise Cheech Rosanna Marin Arquette Tom Hanks Wallace Shawn Cary Toy Story Laurie Robin Elwes Metcalf Wright R. Rao, CSE 311 17 Information Transmission in a Computer Network 56 Tokyo Seattle Seoul 128 New York 16 181 30 140 L.A. Sydney Nodes = computers Weights on edges = transmission rates R. Rao, CSE 311 18

  10. Traffic Flow on Highways UW Nodes = cities Weights on edges = # vehicles on connecting highway R. Rao, CSE 311 19 Flight times between cities R. Rao, CSE 311 20

  11. Fares between cities R. Rao, CSE 311 21 Mileage between cities R. Rao, CSE 311 22

  12. Bayesian Networks (Nodes + Edges + Probabilities) R. Rao, CSE 311 23 Bayesian Network for Gene Interactions R. Rao, CSE 311 24

  13. Bayesian Network for Medical Diagnosis R. Rao, CSE 311 25 Image Analysis (“Markov Random Field”) Object Image Pixels Background R. Rao, CSE 311 26

  14. Graphs: Definition  A graph is simply a collection of nodes plus edges  Linked lists, trees, and heaps are all special cases of graphs  The nodes are known as vertices (node = “vertex”)  Formal Definition: A graph G = ( V , E ) where  V is a set of vertices or nodes  E is a set of edges that connect vertices R. Rao, CSE 311 27 Graphs: An Example  Here is a graph G = ( V , E )  Each edge is a pair ( v 1 , v 2 ), where v 1 , v 2 are vertices in V V = {A, B, C, D, E, F} E = {(A,B), (A,D), (B,C), (C,D), (C,E), (D,E)} B C A F D E R. Rao, CSE 311 28

  15. Directed versus Undirected Graphs  If order of edge pairs ( v 1 , v 2 ) matters, graph is directed (also called a digraph): ( v 1 , v 2 )  ( v 2 , v 1 ) v 2 v 1  If order of edge pairs ( v 1 , v 2 ) does not matter, graph is called an undirected graph: in this case, ( v 1 , v 2 ) = ( v 2 , v 1 ) so the edge = { v 1 , v 2 } v 2 v 1 R. Rao, CSE 311 29 Degree, In-Degree, Out-Degree  Degree of a vertex in an undirected graph = number of edges incident on the vertex  In-Degree/Out-degree in a digraph = number of edges entering/exiting a vertex Deg(1) = 2 In-Deg(2) = 2 Deg(4) = 3 Out-Deg(2) = 1 In-Deg(4)=Out-Deg(4)=2 R. Rao, CSE 311 30

  16. Graph Representations There are two ways of representing graphs: • The adjacency matrix representation • The adjacency list representation R. Rao, CSE 311 31 Graph Representation: Adjacency Matrix The adjacency matrix representation: 1 if ( v , w ) is in E A B C D E F M ( v , w ) = 0 otherwise A 0 1 0 1 0 0 B 1 0 1 0 0 0 B C C 0 1 0 1 1 0 A D 1 0 1 0 1 0 F E 0 0 1 1 0 0 D E F 0 0 0 0 0 0 R. Rao, CSE 311 32

  17. Graph Representation: Adjacency List The adjacency list representation: For each v in V , L ( v ) = list of w such that ( v , w ) is in E (A,B) (A,D) A B D B C B A C A C B D E F D A C E D E E C D R. Rao, CSE 311 F 33 Adjacency List for a Digraph B A B D C A B C F C D E D D E E E Digraph Adjacency List F R. Rao, CSE 311 34

  18. Paths in Graphs  Path of length k from vertex u to vertex u' in G = (V, E) = sequence of vertices <v 0 , v 1 , ..., v k > where v 0 = u, v k = u', and (v i -1 , v i )  E for i = 1, 2, ..., k. A path from a to c <a, b, c> Another path: <a, e, b, f, e, b, c> R. Rao, CSE 311 35 Simple Paths and Circuits  Simple Path : Path that does not repeat an edge  Circuit : Path that begins and ends at the same vertex A simple path from a to c <a, b, c> Not a simple path: <a, e, b, f, e, b, c> Circuit: <a,b,c, f, b, a> Simple circuit: <a,b,c,f,e,a> Simple circuit visiting all vertices: <a,b,c,f,e,d,a> R. Rao, CSE 311 36

  19. Connected Graphs  An undirected graph is connected iff there is a path between every pair of vertices  A directed graph is (weakly) connected iff the underlying undirected graph is connected Connected Not connected Connected R. Rao, CSE 311 37 Trees  A tree is a connected graph with no circuits Tree Tree Not a tree Not a tree R. Rao, CSE 311 38

  20. Examples of Trees: Folders and file system R. Rao, CSE 311 39 Example: Connecting Multi-Processors E.g., Multiplying 8 large numbers in 3 steps R. Rao, CSE 311 40

  21. Binary Search Trees < 31 > 31 R. Rao, CSE 311 41 Game Trees Which move do you choose? (a “X”) R. Rao, CSE 311 42

  22. Pray tell, how does a prince represent his royal family tree? R. Rao, CSE 311 43 R. Rao, CSE 311 44

  23. Famous Graph Problems: Topological Sort Graph of course 143 332 prerequisites 142 331 312 311 Problem: Find an order in which all these 351 333 courses can be taken. Example: 142, 143, 352 331, 311, 312, 332, 351, 352, 333 To take a course, all its prerequisites R. Rao, CSE 311 45 must be taken first Famous Graph Problems: Euler Circuits  Find a circuit going through every edge exactly once. abedcea No Euler circuit No Euler circuit (An Euler path exists though) Theorem: For Euler circuit to exist, every vertex must have even degree (Why? If entering vertex, must exit)  Fast algorithm for checking if Euler circuit exists R. Rao, CSE 311 46

  24. Hamiltonian Circuit Problem  Find a circuit passing through every vertex exactly once. San Francisco, Chicago, Boston, New York, Miami, Atlanta, Denver, LA, San Francisco R. Rao, CSE 311 47 Hamiltonian Circuit Problem  Find a circuit in G = (V,E) passing through every vertex exactly once.  Naïve algorithm:  Try all permutations of the vertices  Check to see if any permutation is a valid Hamiltonian circuit in the graph.  There are |V|! permutations  running time is > exponential in size of input. Can show this is an “NP - Complete” Problem: Fast algorithm unlikely to exist!! (More on this in CSE 312) R. Rao, CSE 311 48

  25. Next Class: Final Review! R. Rao, CSE 311 49

Recommend


More recommend