1 / 26

CS1022 Computer Programming & Principles

CS1022 Computer Programming & Principles. Lecture 1 Combinatorics. Plan of lecture. Motivation Addition principle Multiplication principle Analysing selection problems k -Samples k -Permutations k -Combinations k -Selections Examples. Why combinatorics ?.

brett-burns
Download Presentation

CS1022 Computer Programming & Principles

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. CS1022Computer Programming & Principles Lecture 1 Combinatorics

  2. Plan of lecture • Motivation • Addition principle • Multiplication principle • Analysing selection problems • k-Samples • k-Permutations • k-Combinations • k-Selections • Examples CS1022

  3. Why combinatorics? • We sometimes need to consider the question • How many elements are there in set A? • If too many elements in a set, and we need to process the set, then this might take too long • What’s “too long”? • Example: how many outfits can one wear? • Blue trousers and yellow shirt • Black trousers and yellow shirt • Etc. • When we are proposing a computational solution we need to think of feasible solutions • In realistic situations, will the program finish in “good time”? CS1022

  4. A scenario: timetabling • Every term we organise your timetable • Day/time for lectures, practicals, etc. • Compulsory modules must be allowed • Not all choices possible, though • How many ways are there to • Arrange lecture, practical and lab times • For all modules, for the whole university, • Using up all time slots, 9AM-5PM? • Answer: many! • A program to compute a timetable needs to consider every option • It is going to take a long time... • International timetabling competition! CS1022

  5. Addition principle • Disjoint choices/events don’t influence one another • Choice of cakes in a shop – first choice influences second one as there will be fewer cakes • Throwing a die twice – 2nd time not influenced by 1st time • Suppose A and Bdisjoint choices/events • The number of options/outcomes for A is n1 • The number of options/outcomes for B is n2 • Total number of options/outcomes for A or B is n1  n2 CS1022

  6. Multiplication principle • Suppose a sequence of k choices/events • With n1 options/outcomes for 1st choice/event • With n2 options/outcomes for 2nd choice/event • ... • With nk options/outcomes for kth choice/event • Total number of possible options/outcomes for the sequence is n1 n2  ...  nk CS1022

  7. Addition principle with sets • Suppose A is the set of n1 options/outcomes • Suppose B is the set of n2options/outcomes • Sets A and B are disjoint, that is, A B  • So |A B| |A|  |B| • That is, A B contains n1 n2 elements • There are n1 n2 possible outcomes for AorB CS1022

  8. Multiplication principle with sets • We can “interpret” multiplication principle in terms of sets too • Let A1 be set of n1 options/outcomes for 1st choice/event • Let A2 be setof n2 options/outcomesfor 2nd choice/event • ... • Let Ak be set of nk options/outcomes for kth choice/event • Sequence of k events is an element of Cartesian product A1 A2  ...  Ak • Set has cardinality |A1| |A2| ...|Ak| CS1022

  9. Analysing information needs • Suppose we need to create a way to identify cars • What kind of licence plate would you propose? • Some ways are better than others • How many cars could we licence with a 6-digit licence? • Answer: 1,000,000, that is from 000000 to 999999 • UK: 40,000,000 vehicles so we need more digits... • Alternative – licence with 4 letters and 3 digits • Examples: ABCD 123, GHHH 234, etc. • How many cars can we licence? • Answer: 26  26  26  26  10 10 10 = 456,976,000 CS1022

  10. Analysing selection problems (1) • Suppose we are offered 3 kinds of sweets • Aniseed drops (A) • Butter mints (B) and • Cherry drops (C) • How many ways can we choose 2 sweets? • Can we choose the same sweet twice? (AA, BB or CC?) • Does the order matter? (Is BA the same as AB?) CS1022

  11. Analysing selection problems (2) • Cases to consider • Repeats allowed and order matters • 9 possibilities: AA, AB, AC, BA, BB, BC, CA, CB, CC • Repeats allowed and order does not matter • 6 possibilities: AA, AB, AC, BB, BC, CC • Repeats not allowed and order matters • 6 possibilities: AB, AC, BA, BC, CA, CB • Repeats not allowed and order does not matter • 3 possibilities: AB, AC, BC CS1022

  12. k-Samples • Consider • Selection of k objects from a set of n objects where • Order mattersand repetition is allowed • Any such selection is called a k-sample • Since repetition is allowed, • There are n ways of choosing the 1st object, and • There are n ways of choosing the 2nd object, and so on • Until all k objects have been selected • By the multiplication principle this gives n n  ...  n = nkpossible k-samples k CS1022

  13. k-Permutations (1) • Consider • Selection of k objects from a set of n objects where • Order mattersand repetition is not allowed • Any such selection is called a k-permutation • Total number of k-permutations is denoted by P(n, k) • Since repetition is not allowed, • There are n ways of choosing the 1st object • There are (n – 1) ways of choosing the 2nd object • There are (n – 2) ways of choosing the 3rd object, and so on • Up to (n – k 1) ways of choosing the kth object • By the multiplication principle this gives P(n, k)  n(n – 1)(n – k 1) n!/ (n – k)! possible k-permutations CS1022

  14. k-Permutations (2) • How many 4-letter “words” can we write with distinct letters from the set a, g, m, o, p, r? • Solution: • A “word” is any ordered selection of 4 different letters P(n, k)  n! (n – k)! We have in our scenario n 6 and k 4, so we have P(6, 4)  6!/ (6 – 4)!  6!/2!  (6 5  4  3  2  1)/(2  1)  (6 5  4  3  2  1)/(2  1)  360 possible k-permutations CS1022

  15. k-Combinations (1) • Consider • Selection of k objects from a set of n objects where • Order does not matterand repetition is not allowed • Any such selection is called a k-combination • Total number of k-combinations is denoted by C(n, k) • By the multiplication principle: • The number of permutations of k distinct objects selected from n objects is • The number of unordered ways to select the objects multiplied by the number of ways to order them • Hence, P(n, k)  C(n, k)  k! and so there are C(n, k)  P(n, k)  n! k! (n – k)! k! possible k-combinations CS1022

  16. k-Selection (1) • Consider • Selection of k objects from a set of n objects where • Order does not matterand repetition is allowed • Any such selection is called a k-selection • Since selection is unordered, • We arrange the k objects so that like objects grouped together and separate the groups with markers • There are n ways of choosing the 2nd object, and so on CS1022

  17. k-Selection (2) • Example: unordered selection of 5 letters from collection a, b and c, with repetitions • Selection of two a’s, one b and two c’s: aa|b|cc • Selection of one a’s, and four c’s: a||cccc • Seven slots: five letters and two markers • Different choices: ways to insert 2 markers into 7 slots • That is, C(7, 2) CS1022

  18. k-Selection (3) • Unordered selection of k objects from a set of n objects with repetition allowed requires (n – 1) markers and k objects • Therefore, there are (n – 1)  k slots to fill • The number of k-selections is the number of ways of putting (n – 1) markers into the (n – 1)  k slots • Therefore number of k-selections from n objects is C((n k – 1), (n – 1))  (n k – 1)! ((n k – 1) – (n – 1))! (n – 1)!  (n k – 1)! k! (n – 1)! CS1022

  19. k-Selection (4) • Five dice are thrown. How many different outcomes are possible? • Solution: • Each of the dice shows one of six outcomes • If 5 dice are thrown, the number of outcomes is the unordered selection of 5 objects with repetition allowed • C((n k – 1), (n – 1)), with n 6 and k  5 • This gives C((6 5– 1), (6 – 1))  C(10, 5)  10!/(5! 5!) 252 CS1022

  20. Summarising... • What we have so far can be summarised as • We need to analyse the problem to choose formula • They all need as input n and k • If we choose the wrong formula, we still get a result... • But the result will not be the right answer! CS1022

  21. Example: National Lottery (1) • Twice-weekly draw selects 6 different numbers • Random selection from {1, 2, ..., 49} • People pick their numbers before draw (and pay for this) • Let’s calculate the odds of hitting the jackpot • Winning numbers: one of the unordered selection of six numbers from 49 possibilities • That is, C(49, 6) = 13,983,816 different ways • The odds are 1 to 13,983,816 CS1022

  22. Example: National Lottery (2) • Smaller prizes for getting 5, 4 or 3 numbers right • If you choose exactly 3 numbers right you get £10 • What are the odds of getting £10? • Pre-selection of numbers means choosing three correct and three incorrect numbers • There are C(6,3) ways of selecting 3 correct numbers • There are C(43,3) ways of selecting 3 incorrect numbers • Total number of winning combinations is • Odds of 13,983,816/246,820  57 to 1 CS1022

  23. Example: Choosing people (1) • 12 candidates for a committee of 5 people • How many committees? • Order does not matter • Elements not repeated • There are possible committees CS1022

  24. Example: Choosing people (2) • We want to know about two people, Mary & Peter • How many committees contain both Mary & Peter? • Reasoning • If Mary & Peter are in the committee, then we need only consider the remaining 3 people to complete the group • There are 10 people to fill in the 3 places • Order does not matter • Elements not repeated • There are possible committees with Mary and Peter in them CS1022

  25. Example: Choosing people (3) • How many do not contain neither Mary or Peter? • Reasoning • If Mary & Peter are excluded, then we have to select 5 people from remaining 10 people • Order does not matter • Elements not repeated • There are possible committees without Mary and Peter CS1022

  26. Further reading • R. Haggarty. “Discrete Mathematics for Computing”. Pearson Education Ltd. 2002. (Chapter 6) • Wikipedia’s entry • Wikibooks entry CS1022

More Related