640 likes | 2.09k Views
Graph Theory in Computer Science. Daniel Candeias 2012/2013. Contents. Introduction What is graph theory? Fields of study Applications in computer Science Graph Operations Common Problems. Introduction.
E N D
Graph Theory in Computer Science Daniel Candeias 2012/2013
Contents • Introduction • What is graph theory? • Fields of study • Applications in computer Science • Graph Operations • Common Problems
Introduction • With this presentation I want to show you that we can use Graph Theory in diverse fields of study. • I’ll focus in Computer Science applications, and give you a general overview about it.
What is Graph Theory? Definition: The mathematical theory of the properties and applications of graphs. Used to understand and solve many of mathematical and path problems.
Fields of Study Mathematical problem The cells of a GSM mobile phone network • Other examples: • Electrical eng. • Biochemistry • Computer science • Physics Music
Applications in computer Science (1) • Since computer science is not a concrete/centralized subject, we can introduce graph theory in many areas. But where Let’s see some examples…
Applications in computer Science (2) Networks: Graph theory can be used in computer networks, for security purpose or to schematize network topologies, for example.
Applications in computer Science (3) Webpage: can be represented by a direct 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. Facebook is based in graph theory
Applications in computer Science (4) Workflow: It’s sequence of processes through which a piece of work passes from initiation to completion. Can be also represented as directed graph.
Applications in computer Science (5) Neural Networks: A series of algorithms that attempt to identify underlying relationships in a set of data by using a process that mimics the way the human brain operates.
Applications in computer Science (6) Google Maps:
Graph Operations (1) Basic Operations
Graph Operations (2) Shortest Path: is the problem of finding a path between two vertices (or nodes) in a graph such that the sum of the weights of its constituent edges is minimized. E.g. Dijkstra’s algorithm
Graph Operations (3) • Minimun Spanning tree: A tree is a connected graph without cycles with some properties: • A graph is a tree if and only if there is one and only one path joining any two of its vertices. • A connected graph is a tree if and only if every one of its edges is a bridge. • A connected graph is a tree if and only if it has N vertices and N; 1 edges. • E.g. Kruskal's Algorithm
Graph Operations (4) Minimun Spanning tree
Graph Operations (5) Breadth-First Search (BFS): algorithm used to search in graphs.
Graph Operations (6) Depth-First Search (DFS): algorithm used to search in graphs.
Graph Operations (7) DFS Vs. BFS
Common problems (1) • House of Santa Claus: the house in the picture can be represented as a graph, where each vertice is a node. Try to draw a the house by yourself fallowing this rules: • You have to draw a house in one line. • You must not lift your pencil while drawing. • You must not repeat a line.
Common problems (2) Three Houses, Three Utilities: there are three utilities (three vertices) and three houses (three vertices), and the purpose of this problem is to draw a line from each house to each facility without the lines ever crossing.
Conclusions • As we can see Graph Theory can be applied to several areas. • In Computer Science is mainly used to solve problems, or to represent scenarios, related with networks.
Thank you! Daniel Candeias