Discrete Structures for Computer Science Muad M. Abu-Ata Summer 2013.

Slides:



Advertisements
Similar presentations
Thursday, March 14 Introduction to Network Flows
Advertisements

22C:19 Discrete Math Graphs Fall 2010 Sukumar Ghosh.
Introduction to Graph Theory Instructor: Dr. Chaudhary Department of Computer Science Millersville University Reading Assignment Chapter 1.
22C:19 Discrete Math Graphs Fall 2014 Sukumar Ghosh.
The minimum cost flow problem
Management Science 461 Lecture 2b – Shortest Paths September 16, 2008.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
Last time: terminology reminder w Simple graph Vertex = node Edge Degree Weight Neighbours Complete Dual Bipartite Planar Cycle Tree Path Circuit Components.
Discrete Maths Objective to give some background on the course , Semester 2, Who I am: Andrew Davison WiG Lab
Math 308 Discrete Mathematics Discrete Mathematics deals with “Separated” or discrete sets of objects (rather than continuous sets) Processes with a sequence.
Computational Methods for Management and Economics Carla Gomes Module 9a Network Models Terminology (Slides adapted from J.Orlin’s)
About the Course Lecture 0: Sep 2 AB C. Plan  Course Information and Arrangement  Course Requirement  Topics and objectives of this course.
Graph Colouring Lecture 20: Nov 25.
Discrete Structures for Computer Science Ruoming Jin MW 5:30 – 6:45pm Fall 2009 rm MSB115.
Princeton University COS 423 Theory of Algorithms Spring 2002 Kevin Wayne Greed: Shortest Path s 3 t
1 Discrete Optimization. 2 The relationship between counting techniques/graph theory and discrete optimization Adding a goal (objective function) to a.
Bart Selman CS CS Discrete Structures Johnnie Baker Introduction.
ECE669 L10: Graph Applications March 2, 2004 ECE 669 Parallel Computer Architecture Lecture 10 Graph Applications.
22C:19 Discrete Math Graphs Spring 2014 Sukumar Ghosh.
Chapter 9.8 Graph Coloring
CS 2813 Discrete Structures
9.8 Graph Coloring. Coloring Goal: Pick as few colors as possible so that two adjacent regions never have the same color. See handout.
Introduction to Discrete Mathematics
Bart Selman CS CS 2800 Discrete Structures Prof. Bart Selman Introduction.
Graph Theory Chapter 6 from Johnsonbaugh Article(6.1, 6.2)
Let G be a pseudograph with vertex set V, edge set E, and incidence mapping f. Let n be a positive integer. A path of length n between vertex v and vertex.
About the Course Lecture 0: Sep 10 AB C. Plan  Course Information and Arrangement  Course Requirement  Topics and objectives of this course.
Maximum Flow Chapter 26.
Programming for Geographical Information Analysis: Advanced Skills Online mini-lecture: Introduction to Networks Dr Andy Evans.
Carla Gomes INFO Info 2950 Mathematical Methods for Information Science Prof. Carla Gomes Introduction.
. 1 Transportation and Assignment Problems. . 2 Applications Physical analog of nodes Physical analog of arcs Flow Communication systems phone exchanges,
Discrete Structures for Computing
CS 200 Algorithms and Data Structures
CSE 589 Part VI. Reading Skiena, Sections 5.5 and 6.8 CLR, chapter 37.
Planar Graphs Graph Coloring
Graphs Discrete Structure CS203. Adjacency Matrix We already saw a way of representing relations on a set with a Boolean matrix: R digraph(R) M R1234.
Chapter 10.8 Graph Coloring
Overview of Graph Theory. Some applications of Graph Theory Models for communications and electrical networks Models for computer architectures Network.
Graph Colouring Lecture 20: Nov 25. This Lecture Graph coloring is another important problem in graph theory. It also has many applications, including.
MTH221 November 6, /6/ DISCRETE MATHEMATICS FOR IT PROFESSIONALS Pair the class Set dates See students progress Assignments Final Exam Quizzes.
Shortest Path Algorithm 2 Prof. Sin-Min Lee Department of Computer Science.
1 CSC 281 Discrete Mathematics for Computer Science Dr.Yuan Tian Syllabus.
CSCE 3110 Data Structures & Algorithm Analysis Graphs (I) Reading: Chap.9, Weiss.
Chapter 10.8 Graph Coloring These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7 th ed., by Kenneth.
1.  This course covers the mathematical foundations of computer science and engineering. It provides an introduction to elementary concepts in mathematics.
Introductory Lecture. What is Discrete Mathematics? Discrete mathematics is the part of mathematics devoted to the study of discrete (as opposed to continuous)
Introduction to Graph & Network Theory Thinking About Networks: From Metabolism to the Genome to Social Conflict Summer Workshop for Teachers June 27 th.
Planar Graphs Hubert Chan (Chapter 9.7) [O2 Proof Techniques]
Maximum Flow Chapter 26.
Graph Coloring Lots of application – be it mapping routes, coloring graphs, building redundant systems, mapping genes, looking at traffic patterns (see.
Discrete Mathematics and Its Applications
Discrete Structures for Computer Science
Max Flow – Min Cut Problem
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Chapter 10.8 Graph Coloring
Introduction to Discrete Mathematics
Introduction to Graphs
CSC 281 Discrete Mathematics for Computer Science
Graphs Discrete Structure CS203.
Discrete Structures for Computer Science
Discrete Structures for Computer Science
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Chapter 10.8 Graph Coloring
Chapter 10.8 Graph Coloring
Discrete Structures for Computer Science
Chapter 10.8 Graph Coloring
Discrete Mathematics in the Real World
GRAPHS Lecture 17 CS2110 Spring 2018.
Discrete Mathematics and Its Applications
Chapter 10.7 Planar Graphs These class notes are based on material from our textbook, Discrete Mathematics and Its Applications, 7th ed., by Kenneth H.
Presentation transcript:

Discrete Structures for Computer Science Muad M. Abu-Ata Summer 2013

Textbook Discrete Mathematics and Its Applications By Kenneth H. Rosen, McGraw Hill (7 th ed.) Use lecture notes as study guide.

Course Requirements  Homework 40%  Intermediate Exam and quizzes 30%  Final Exam 30%  Extra Credit Problems!

Why Discrete Math? Design efficient computer systems. How did Google manage to build a fast search engine? What is the foundation of internet security? algorithms, data structures, database, parallel computing, distributed systems, cryptography, computer networks… Logic, sets/functions, counting, graph theory…

What is discrete mathematics? logic, sets, functions, relations, etc Logic: artificial intelligence (AI), database, circuit design Counting: probability, analysis of algorithm Graph theory: computer network, data structures Number theory: cryptography, coding theory

Topic 1: Logic and Proofs Logic: propositional logic, first order logic Proof: induction, contradiction How do computers think? Artificial intelligence, database, circuit, algorithms

Topic 2: Counting Sets Combinations, Permutations, Binomial theorem Functions Counting by mapping, pigeonhole principle Recursions, generating functions Probability, algorithms, data structures

Topic 2: Counting How many steps are needed to sort n numbers?

Topic 3: Graph Theory Relations, graphs Degree sequence, isomorphism, Eulerian graphs Trees Computer networks, circuit design, data structures

Topic 4: Number Theory Number sequence Euclidean algorithm Prime number Modular arithmetic Cryptography, coding theory, data structures

Familiar? Obvious? c b a Pythagorean theorem

c b a Rearrange into: (i) a c  c square, and then (ii) an a  a & a b  b square Good Proof

c c c a b c b-ab-a 81 proofs in

Acknowledgement Next slides are adapted from ones created by Professor Bart Selman at Cornell University.

Graphs and Networks Many problems can be represented by a graphical network representation. Examples: –Distribution problems –Routing problems –Maximum flow problems –Designing computer / phone / road networks –Equipment replacement –And of course the Internet Aside: finding the right problem representation is one of the key issues.

16 New Science of Networks NYS Electric Power Grid (Thorp,Strogatz,Watts) Cybercommunities (Automatically discovered) Kleinberg et al Network of computer scientists ReferralWeb System (Kautz and Selman) Neural network of the nematode worm C- elegans (Strogatz, Watts) Networks are pervasive Utility Patent network (3 Million patents) Gomes,Hopcroft,Lesser,Sel man

17 Applications Physical analog of nodes Physical analog of arcs Flow Communication systems phone exchanges, computers, transmission facilities, satellites Cables, fiber optic links, microwave relay links Voice messages, Data, Video transmissions Hydraulic systems Pumping stations Reservoirs, Lakes Pipelines Water, Gas, Oil, Hydraulic fluids Integrated computer circuits Gates, registers, processors WiresElectrical current Mechanical systemsJoints Rods, Beams, Springs Heat, Energy Transportation systems Intersections, Airports, Rail yards Highways, Airline routes Railbeds Passengers, freight, vehicles, operators Applications of Networks

Example: Coloring a Map How to color this map so that no two adjacent regions have the same color?

Graph representation Coloring the nodes of the graph: What’s the minimum number of colors such that any two nodes connected by an edge have different colors? Abstract the essential info:

Four Color Theorem The chromatic number of a graph is the least number of colors that are required to color a graph. The Four Color Theorem – the chromatic number of a planar graph is no greater than four. (quite surprising!) Proof by Appel and Haken 1976; careful case analysis performed by computer; Proof reduced the infinitude of possible maps to 1,936 reducible configurations (later reduced to 1,476) which had to be checked one by one by computer. The computer program ran for hundreds of hours. The first significant computer-assisted mathematical proof. Write-up was hundreds of pages including code! Four color map.

Examples of Applications of Graph Coloring

Scheduling of Final Exams How can the final exams at Kent State be scheduled so that no student has two exams at the same time? (Note not obvious this has anything to do with graphs or graph coloring!) Graph: A vertex correspond to a course. An edge between two vertices denotes that there is at least one common student in the courses they represent. Each time slot for a final exam is represented by a different color. A coloring of the graph corresponds to a valid schedule of the exams.

Scheduling of Final Exams What are the constraints between courses? Find a valid coloring Time Period I II III IV Courses 1,6 2 3,5 4,7 Why is mimimum number of colors useful?

Frequency Assignments T.V. channels 2 through 13 are assigned to stations in North America so that no two stations within 150 miles can operate on the same channel. How can the assignment of channels be modeled as a graph coloring? A vertex corresponds to one station There is a edge between two vertices if they are located within 150 miles of each other Coloring of graph --- corresponds to a valid assignment of channels; each color represents a different channel.

Index Registers In efficient compilers the execution of loops can be speeded up by storing frequently used variables temporarily in registers in the central processing unit, instead of the regular memory. For a given loop, how many index registers are needed? Each vertex corresponds to a variable in the loop. An edge between two vertices denotes the fact that the corresponding variables must be stored in registers at the same time during the execution of the loop. Chromatic number of the graph gives the number of index registers needed.

Example 2: Traveling Salesman Find a closed tour of minimum length visiting all the cities. TSP  lots of applications: Transportation related: scheduling deliveries Many others: e.g., Scheduling of a machine to drill holes in a circuit board ; Genome sequencing; etc

13,509 cities in the US 13508!= e+49936

The optimal tour!