Math 3050 Discrete Mathematics Discrete Mathematics deals with • “Separated” or discrete sets of objects (rather than continuous sets) • Processes with a sequence of individual steps (rather than continuously changing processes) Kind of problems solved by discrete mathematics • How many ways are there to choose a computer password? • What is the probability of winning a lottery? • Is there a link between two users in a social network? • What is the shortest path between two cities using a transportation system? • How can a list of integers sorted in increasing order? How many steps are required to do such a sorting? Importance of Discrete Mathematics • Information is stored and manipulated by computers in a discrete fashion • Applications in many different areas • Discrete mathematics is a gateway to more advanced courses • Develops mathematical reasoning skills • Emphasizes the new role of mathematics The new role of Mathematics • Make the computer to solve the problem for you • Modeling (vs. calculations) • Using logic – to choose the right model – to write a correct computer program – to justify answers • Efficiency – make the computer to solve the problem fast – choose the more efficient model Goals of Math 3050 • Study of standard facts of discrete mathematics • Development of mathematical reasoning skills (emphasis on modeling, logic, efficiency) • Discussion of applications Outline of Topics • Auxiliary topics – Sequences, Proofs, Induction, Recursion • Main topics – Graph Theory – Counting Techniques • Application areas – Computer Science – Discrete Optimization – Discrete Probability Situations where counting techniques are used You toss a pair of dice in a casino game. You win if the numbers showing face up have a sum of 7. Question: What are your chances of winning the game? Situations where counting techniques are used To satisfy a certain degree requirement, you are supposed to take 3 courses from the following group of courses: Math300, Math301, Math302, Math304, Math305, Math306, Math308. Question: In how many different ways the requirement can be satisfied? Situations where counting techniques are used There are 4 jobs that should be processed on the same machine. (Can’t be processed simultaneously). Here is an example of a possible schedule: Job 3 Job 1 Job 4 Job 2 Counting question: What is the number of all possible schedules? Optimization question: Find a schedule that minimizes the average completion time of the four jobs. Examples of Graph Models: Shortest Path Problem In a directed network, we have distances on arcs ; source node s and sink node t . 3 a 1 1 1 2 s d 4 7 c 2 t 2 1 b 4 5 2 e Goal: Find a shortest path from the source to the sink. Examples of Graph Models: Traveling Salesman Problem There are n cities. The salesman starts his tour from City 1, visits each of the cities exactly once, and returns to City 1. For each pair of cities i, j there is a cost cij associated with traveling from City i to City j . • Goal: Find a minimum-cost tour. 1 Examples of Graph Models: Assignment Problem • Given: n people and n jobs Each person can be assigned to exactly one job Each job should be assigned to exactly one person Person-job compatibility is given by a directed network (e.g., having a link A x means “person A can do job x ”) • Goal: Find an assignment of n jobs to n people (if such an assignment exists). • Example: people A B C D E jobs x y z u v