260 likes | 408 Views
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 ?.
E N D
CS1022Computer 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 CS1022
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
Further reading • R. Haggarty. “Discrete Mathematics for Computing”. Pearson Education Ltd. 2002. (Chapter 6) • Wikipedia’s entry • Wikibooks entry CS1022