Graph Theory

Preview:

DESCRIPTION

Graph Theory. Algorithms Breadth First Search (BFS) Depth First Search (DFS) Dijkstra’s Algorithm. Famous and Productive Problem of Graph Theory - PowerPoint PPT Presentation

Citation preview

Graph TheoryAlgorithms

Breadth First Search (BFS)Depth First Search (DFS)

Dijkstra’s Algorithm

Famous and Productive Problem of Graph Theory

Four Color Problem: Is it true that any map drawn in the plane may have its regions colored with four colors in such a way that any two regions having a common border have different colors?

Is there a way to color this map using four different colors and still ensure that bordering

states all have different colors?

What Is Graph Theory?

The Study of Graphs- DEFN: Structures used

to model relationships between objects- Often used to describe

a collection of nodes (vertices) and edges

Different Types of Graphs

Graphs come in two distinct formsUndirected vs. Directed Graphs

Although they are grouped under the umbrella term of graph, these graph have specific characteristics that distinguish them from each other

Undirected Graph

DEFN: Set of nodes connected by edges but there is no distinction between vertices associated with each edge

EXPLANATION: In the eyes of the graph, there is no difference between the edges that connect nodes. Basically the edge that connects vertices (6,4) is the very same edge that connects vertices (5,2)

Undirected Graphs

Directed Graph

DEFN: Set of nodes connected by edges, where the edges have a direction associated with them

EXPLANATION: Major difference between edges. The edge that connects vertices (7,8) is DIFFERENT from the edge that connects vertices (3,10)

MAJOR INDICATION: THE ARROWS!!

Directed Graphs

Applications

Used to model many types of relationshipsHave use in many aspects of physical, biological, and social system- Many problems of

practical interest can be represented by graphs

Computer Science Applications

Can be used to represent network of communication, data organization, flow of computation, and more

Practical ExampleThe links on a website can represented by a directed graph. The vertices are the web pages available at the website and a directed edge from page A to page B exists if and only if A contains a link to B.

Other Applications

Chemistry

Sociology

Math

Algorithms

What is an ALGORITHM?DEFN: Set of step by step procedure for

calculation

Input Output

Set of Directions “Algorithm”

Types of Algorithms

Simplistic Algorithms Complex Algorithms

Main purpose: Based on given problem, can you create step by step instructions to produce an appropriate solution?

Breadth First Search Algorithm

Algorithm used for searching a graph

Starts at the root (top of the graph) and does a layer by layer search

Moves left to right during its search

BFSDoes a layer by layer search

Depth First Search Algorithm

Another algorithm used for searching a graph

Starts at the root (top of the graph) Moves left to right during its search

Major Difference: Starts at the root and explores as far as possible along each branch

before backtracking

DFSDoes a depth search before backtracking

Dijkstra’s Algorithm

Discovered by Dutch computer scientist Edsger Dijkstra in 1956

DEFN: Graph search algorithm that solves the shortest path problem with edge path cost to

produce a shortest path tree

SIMPLY: How can we get from the start position to the end position in the least amount of “steps”

Dijkstra’s Algorithm

The major thing to notice in this graph is that the

edges have specific numbers given to them

called “weights”

Weights

Remember?Undirected graph implementation

of Dijkstra’s algorithmDirected graph implementation

of Dijkstra’s algorithm

The addition of the value of weights to the edges is the major difference between the normal implementation

of undirected and directed graphs and Dijkstra implementation of those graphs

How To Tackle Dijkstra Problems

The idea is to get from the start position to the end position

You want to take the road that will give you the least value in the end

Start

End

Example

The best way to leave how to do this is to run through an example

Dijkstra's Algorithm for Shortest Route Problems

Famous and Productive Problem of Graph Theory

Four Color Problem: Is it true that any map drawn in the plane may have its regions colored with four colors in such a way that any two regions having a common border have different colors?

Solution to The Four Color Problem

Four Color Problem

Worksheet Time!!!!