Advanced Computer Networks: Part 1 Complex Networks, P2P Networks and Swarm Intelligence on Graphs.

Slides:



Advertisements
Similar presentations
22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
Advertisements

22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
Midwestern State University Department of Computer Science Dr. Ranette Halverson CMPS 2433 – CHAPTER 4 GRAPHS 1.
1 Slides based on those of Kenneth H. Rosen Slides by Sylvia Sorkin, Community College of Baltimore County - Essex Campus Graphs.
Discrete Mathematics and Its Applications
Introduction This chapter explores graphs and their applications in computer science This chapter explores graphs and their applications in computer science.
Edited by Malak Abdullah Jordan University of Science and Technology Data Structures Using C++ 2E Chapter 12 Graphs.
 Graph Graph  Types of Graphs Types of Graphs  Data Structures to Store Graphs Data Structures to Store Graphs  Graph Definitions Graph Definitions.
C++ Programming: Program Design Including Data Structures, Third Edition Chapter 21: Graphs.
Applied Discrete Mathematics Week 12: Trees
1 Section 8.2 Graph Terminology. 2 Terms related to undirected graphs Adjacent: 2 vertices u & v in an undirected graph G are adjacent (neighbors) in.
SE561 Math Foundations Week 11 Graphs I
Introduction to Graphs
Graph Theory in CS Route Search in Online Map Services
Copyright © Zeph Grunschlag, Paths and Connectivity Zeph Grunschlag.
Selected Topics in Data Networking Graph Representation.
Applied Discrete Mathematics Week 12: Trees
Graphs.
9.2 Graph Terminology and Special Types Graphs
GRAPH Learning Outcomes Students should be able to:
Intro to Graphs CSIT 402 Data Structures II. CSIT 402 Graph Introduction2 Graphs Graphs are composed of ›Nodes (vertices) Can be labeled ›Edges (arcs)
Graphs Chapter 10.
Graph Theoretic Concepts. What is a graph? A set of vertices (or nodes) linked by edges Mathematically, we often write G = (V,E)  V: set of vertices,
1 Graphs Chapters 9.1 and 9.2 University of Maryland Chapters 9.1 and 9.2 Based on slides by Y. Peng University of Maryland.
GRAPHS CSE, POSTECH. Chapter 16 covers the following topics Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component,
Lecture 5.2: Special Graphs and Matrix Representation CS 250, Discrete Structures, Fall 2013 Nitesh Saxena Adopted from previous lectures by Zeph Grunschlag.
Module #19: Graph Theory: part I Rosen 5 th ed., chs. 8-9 내년 3 월 ? 교환 학생 프로그램 영어 점수 미리미리 준비하세요.
Lecture 10: Graphs Graph Terminology Special Types of Graphs
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 9 (Part 2): Graphs  Graph Terminology (9.2)
Copyright © Zeph Grunschlag, More on Graphs.
1 CS104 : Discrete Structures Chapter V Graph Theory.
9.1 Introduction to Graphs
GRAPHS THEROY. 2 –Graphs Graph basics and definitions Vertices/nodes, edges, adjacency, incidence Degree, in-degree, out-degree Subgraphs, unions, isomorphism.
Graphs.  Definition A simple graph G= (V, E) consists of vertices, V, a nonempty set of vertices, and E, a set of unordered pairs of distinct elements.
Graphs What are Graphs? General meaning in everyday math: A plot or chart of numerical data using a coordinate system. Technical meaning in discrete.
Data Structures & Algorithms Graphs
COSC 2007 Data Structures II Chapter 14 Graphs I.
September1999 CMSC 203 / 0201 Fall 2002 Week #13 – 18/20/22 November 2002 Prof. Marie desJardins.
1 Graphs Theory UNIT IV. 2Contents  Basic terminology,  Multi graphs and weighted graphs  Paths and circuits  Shortest path in weighted graph  Hamiltonian.
Introduction to Graph Theory
© by Kenneth H. Rosen, Discrete Mathematics & its Applications, Sixth Edition, Mc Graw-Hill, 2007 Chapter 9 (Part 1): Graphs  Introduction to Graphs (9.1)
Graphs 9.1 Graphs and Graph Models أ. زينب آل كاظم 1.
GRAPHS. Graph Graph terminology: vertex, edge, adjacent, incident, degree, cycle, path, connected component, spanning tree Types of graphs: undirected,
Basic properties Continuation
Discrete Structures CISC 2315 FALL 2010 Graphs & Trees.
Graphs Basic properties.
Lecture 5.1: Graphs Basics
Chapter 9: Graphs.
Introduction to Graph Theory By: Arun Kumar (Asst. Professor) (Asst. Professor)
Chapter 20: Graphs. Objectives In this chapter, you will: – Learn about graphs – Become familiar with the basic terminology of graph theory – Discover.
Graphs Rosen, Chapter 8. NOT ONE OF THESE! One of these!
Chap 7 Graph Def 1: Simple graph G=(V,E) V : nonempty set of vertices E : set of unordered pairs of distinct elements of V called edges Def 2: Multigraph.
1 GRAPH Learning Outcomes Students should be able to: Explain basic terminology of a graph Identify Euler and Hamiltonian cycle Represent graphs using.
رياضيات متقطعة لعلوم الحاسب MATH 226. Chapter 10.
1 Graphs Chapters 10.1 and 10.2 University of Maryland Chapters 10.1 and 10.2 Based on slides by Y. Peng University of Maryland.
Chapter Chapter Summary Graphs and Graph Models Graph Terminology and Special Types of Graphs Representing Graphs and Graph Isomorphism Connectivity.
Chapter 9 (Part 2): Graphs
Lecture 5.2: Special Graphs and Matrix Representation
Lecture 19: CONNECTIVITY Sections
Applied Discrete Mathematics Week 13: Graphs
Copyright © Zeph Grunschlag,
Graph Graphs and graph theory can be used to model:
CS 250, Discrete Structures, Fall 2015
Taibah University College of Computer Science & Engineering Course Title: Discrete Mathematics Code: CS 103 Chapter 10 Graphs Slides are adopted from “Discrete.
Graphs.
Graphs Chapter 13.
CS100: Discrete structures
Let us switch to a new topic:
GRAPHS Lecture 17 CS2110 Spring 2018.
Applied Discrete Mathematics Week 13: Graphs
Presentation transcript:

Advanced Computer Networks: Part 1 Complex Networks, P2P Networks and Swarm Intelligence on Graphs

2 Contents Introduction to Advanced Computer Networks Graph Representation of Network Scope of Lectures Challenging topics  Direction of possible researches (Hot Issues)

Advanced Computer Networks Do they relate to Computer Networks?  Complex Networks  P2P Networks  Swarm Intelligence on Graphs 3

Copyright © Zeph Grunschlag, Graphs Zeph Grunschlag

L235 Graphs –Intuitive Notion A graph is a bunch of vertices (or nodes) represented by circles which are connected by edges, represented by line segments. Mathematically, graphs are binary-relations on their vertex set (except for multigraphs).

L236 Trees Real Tree

L237 Trees Real Tree transformation

L238 Trees Real Tree transformation

L239 Trees Real Abstract Tree transformation

L2310 Simple Graphs Different purposes require different types of graphs. EG: Suppose a local computer network  Is bidirectional (undirected)  Has no loops (no “self-communication”)  Has unique connections between computers

L2311 Simple Graphs Vertices are labeled to associate with particular computers Each edge can be viewed as the set of its two endpoints {1,2} {3,4} {2,4}{1,3} {2,3} {1,4}

L2312 Simple Graphs DEF: A simple graph G = (V,E ) consists of a non-empty set V of vertices (or nodes) and a set E (possibly empty) of edges where each edge is a subset of V with cardinality 2 (an unordered pair). Q: For a set V with n elements, how many possible edges there? A: The number of pairs in V = C (n,2) = n · (n -1) / 2

L2313 Simple Graphs Q: How many possible graphs are there for the same set of vertices V ? A: The number of subsets in the set of possible edges. There are n · (n -1) / 2 possible edges, therefore the number of graphs on V is 2 n(n -1)/2

L2314 Multigraphs If computers are connected via internet instead of directly, there may be several routes to choose from for each connection.  Depending on traffic, one route could be better than another.  Makes sense to allow multiple edges, but still no self-loops:

L2315 Multigraphs Edge-labels distinguish between edges sharing same endpoints. Labeling can be thought of as function: e 1  {1,2}, e 2  {1,2}, e 3  {1,3}, e 4  {2,3}, e 5  {2,3}, e 6  {1,2} e1e1 e3e3 e2e2 e4e4 e5e5 e6e6

L2316 Pseudographs If self-loops are allowed we get a pseudograph: Now edges may be associated with a single vertex, when the edge is a loop e 1  {1,2}, e 2  {1,2}, e 3  {1,3}, e 4  {2,3}, e 5  {2}, e 6  {2}, e 7  {4} e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7

L2317 Undirected Graphs Terminology Vertices are adjacent if they are the endpoints of the same edge. Q: Which vertices are adjacent to 1? How about adjacent to 2, 3, and 4? e1e1 e3e3 e2e2 e4e4 e5e5 e6e6

L2318 Undirected Graphs Terminology A:1 is adjacent to 2 and 3 2 is adjacent to 1 and 3 3 is adjacent to 1 and 2 4 is not adjacent to any vertex e1e1 e3e3 e2e2 e4e4 e5e5 e6e6

L2319 Undirected Graphs Terminology A vertex is incident with an edge (and the edge is incident with the vertex) if it is the endpoint of the edge. Q: Which edges are incident to 1? How about incident to 2, 3, and 4? e1e1 e3e3 e2e2 e4e4 e5e5 e6e6

L2320 Undirected Graphs Terminology A:e 1, e 2, e 3, e 6 are incident with 1 2 is incident with e 1, e 2, e 4, e 5, e 6 3 is incident with e 3, e 4, e 5 4 is not incident with any edge e1e1 e3e3 e2e2 e4e4 e5e5 e6e6

L2321 Digraphs Last time introduced digraphs as a way of representing relations: Q: What type of pair should each edge be (multiple edges not allowed)?

L2322 Digraphs A: Each edge is directed so an ordered pair (or tuple) rather than unordered pair. Thus the set of edges E is just the represented relation on V (1,2) (1,1) (2,2) (2,4) (1,3) (2,3) (3,4) (3,3) (4,4)

L2323 Digraphs DEF: A directed graph (or digraph) G = (V,E ) consists of a non-empty set V of vertices (or nodes) and a set E of edges with E  V  V. The edge (a,b) is also denoted by a  b and a is called the source of the edge while b is called the target of the edge.

L2324 Digraphs Q: For a set V with n elements, how many possible digraphs are there? A: The same as the number of relations on V, which is the number of subsets of V  V so 2 n·n.

L2325 Directed Multigraphs If also want to allow multiple edges in a digraph, get a directed multigraph (or multi-digraph). Q: How to use sets and functions to deal with multiple directed edges, loops? 1 2 3

L2326 Directed Multigraphs A: Have function with domain the edge set and codomain V  V. e 1  (1,2), e 2  (1,2), e 3  (2,2), e 4  (2,3), e 5  (2,3), e 6  (3,3), e 7  (3,3) e1e1 e3e3 e2e2 e4e4 e5e5 e7e7 e6e6

Graphs with Values a b ce d Undirected, binary Directed, binary a b ce d a b ce d Undirected, Valued Directed, Valued a b ce d

L2328 Degree The degree of a vertex counts the number of edges that seem to be sticking out if you looked under a magnifying glass: Thus deg(2) = 7 even though 2 only incident with 5 edges e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 magnify

L2329 Degree Q: How to define this formally? A: Add 1 for every regular edge incident with vertex and 2 for every loop. Thus deg(2) = = e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 magnify

L2330 Oriented Degree when Edges Directed The in-degree of a vertex (deg - ) counts the number of edges that stick in to the vertex. The out-degree (deg + ) counts the number sticking out

L2331 Oriented Degree when Edges Directed Q: What are in-degrees and out-degrees of all the vertices? A: deg - (1) = 0 deg - (2) = 3 deg - (3) = 4 deg + (1) = 2 deg + (2) = 3 deg + (3) =

L2332 Handshaking Theorem There are two ways to count the number of edges in the above graph: Just count the set of edges: 7 Count seeming edges vertex by vertex and divide by 2 because double-counted edges: ( deg(1)+deg(2)+deg(3)+deg(4) )/2 = ( )/2 = 14/2 = e1e1 e3e3 e2e2 e4e4 e5e5 e6e6 e7e7

L2333 Handshaking Theorem THM: In an undirected graph In a directed graph

L2334 Graph Patterns Complete Graphs - K n A simple graph is complete if every pair of distinct vertices share an edge. The notation K n denotes the complete graph on n vertices. K 1 K 2 K 3 K 4 K 5

L2335 Graph Patterns Cycles - C n The cycle graph C n is a circular graph. They look like polygons: C 1 C 2 C 3 C 4 C 5 Q: What type of graph are C 1 and C 2 ?

L2336 Graph Patterns Wheels - W n A: Pseudographs The wheel graph W n is just a cycle graph with an extra vertex in the middle: W 1 W 2 W 3 W 4 W 5

L2337 Graph Patterns Cubes - Q n The n-cube Q n is defined recursively. Q 0 is just a vertex. Q n+1 is gotten by taking 2 copies of Q n and joining each vertex v of Q n with its copy v’ : Q 0 Q 1 Q 2 Q 3 Q 4 (hypercube)

L2338 Bipartite Graphs A simple graph is bipartite if V can be partitioned into V = V 1  V 2 so that any two adjacent vertices are in different parts of the partition. Another way of expressing the same idea is bichromatic : vertices can be colored using two colors so that no two vertices of the same color are adjacent.

L2339 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2340 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2341 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2342 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2343 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2344 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2345 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2346 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2347 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2348 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2349 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2350 Bipartite Graphs EG: C 4 is a bichromatic: And so is bipartite, if we redraw it:

L2351 Bipartite Graphs Q: For which n is C n bipartite? A: C n is bipartite when n is even.

L2352 Subgraphs Notice that the 2-cube occurs inside the 3-cube. In other words, Q 2 is a subgraph of Q 3 : DEF: Let G = (V,E ) and H = (W,F ) be graphs. H is said to be a subgraph of G, if W  V and F  E. Q: How many Q 2 subgraphs does Q 3 have?

L2353 Subgraphs A: Each face of Q 3 is a Q 2 subgraph so the answer is 6, as this is the number of faces on a 3-cube:

L2354 Unions In previous example can actually reconstruct the 3-cube from its 6 2-cube faces:

L2355 Unions If we assign the 2-cube faces (aka Squares) the names S 1, S 2, S 3, S 4, S 5, S 6 then Q 3 is the union of its faces: Q 3 = S 1  S 2  S 3  S 4  S 5  S 6

L2356 Unions DEF: Let G 1 = (V 1, E 1 ) and G 2 = (V 2, E 2 ) be two simple graphs (and V 1,V 2 may or may not be disjoint). The union of G 1, G 2 is formed by taking the union of the vertices and edges. I.E: G 1  G 2 = (V 1  V 2, E 1  E 2 ). A similar definitions can be created for unions of digraphs, multigraphs, pseudographs, etc.

L2357 Adjacency Matrix We already saw a way of representing relations on a set with a Boolean matrix: R digraph(R) M R

L2358 Adjacency Matrix Since digraphs are relations on their vertex sets, can adopt the concept to represent digraphs. In the context of graphs, we call the representation an adjacency matrix : For a digraph G = (V,E ) define matrix A G by: Rows, Columns –one for each vertex in V Value at i th row and j th column is  1 if i th vertex connects to j th vertex (i  j )  0 otherwise

L2359 Adjacency Matrix-Directed Multigraphs Can easily generalize to directed multigraphs by putting in the number of edges between vertices, instead of only allowing 0 and 1: For a directed multigraph G = (V,E ) define the matrix A G by: Rows, Columns –one for each vertex in V Value at i th row and j th column is  The number of edges with source the i th vertex and target the j th vertex

L2360 Adjacency Matrix-Directed Multigraphs Q: What is the adjacency matrix?

L2361 Adjacency Matrix-Directed Multigraphs A:

L2362 Adjacency Matrix-General Undirected graphs can be viewed as directed graphs by turning each undirected edge into two oppositely oriented directed edges, except when the edge is a self-loop in which case only 1 directed edge is introduced. EG:

L2363 Adjacency Matrix-General Q: What’s the adjacency matrix? 12 34

L2364 Adjacency Matrix-General 12 34

L2365 Adjacency Matrix-General For an undirected graph G = (V,E ) define the matrix A G by: Rows, Columns –one for each element of V Value at i th row and j th column is the number of edges incident with vertices i and j.

66 Scope of Lectures

67 Scope of Lectures: Complex Networks Types of Topologies  How to create them? Network analysis  Degree and degree of distribution  Average path length  Betweeness Centrality Routing strategies

68 Scope of Lectures: P2P Networks File sharing techniques  Gnutella  Napster  Freenet Content search and content replication  PageRank

69 Scope of Lectures: Swarm Intelligence Graph theory (Review)  Basic definitions  Connection of graphs  Matrices associated with Graph Consensus protocols SI Algorithms  Ant Colony Optimization  Particle Swarm Optimization

70 Directions of Recent Researches

71 Hot Issues: Complex Networks  Creating networks: Dynamic networks  Traffic flow models on complex network 1. How to reduce the congestion by the packet delivery capacity of each node is proportional to its degree 2. Packet delivery capacity of each node is proportional to the number of shortest path passing through the node  The shortest path is paths containing the smallest number of hops or links  Efficient Paths

72 Hot Issues: P2P Networks Creating networks: Dynamic networks Sharing files technology File replications Routing problems

73 Hot Issues: Swarm Intelligence on Graphs Swarm Intelligence Algorithms Multi-agent systems  Topology of the networked multi-agent system Direct/indirect communication techniques Consensus protocols  Wireless sensor networks Collective behaviors

“Pajek”: Large Network Analysis

75 Introduction  Free software  Windows 32 bit

76 Introduction Its applications:  Communication networks: links among pages or servers on Internet, usage of phone calls  Transportation networks  Flow graphs of programs  Bibliographies, citation networks

77 Introduction Its Algorithms:  partitions: degree, depth,  binary operations: union, intersection, difference;  paths: shortest path(s), all paths between two vertices  neighbourhood: k-neighbours;

78

References Pajek: Graphs (ppt), Zeph Grunschlag,