Topic 1: Combinatorics Dr J Frost (jfrost@tiffin.kingston.sch.uk) Slide guidance Key to question types: SMC Senior Maths Challenge Uni Questions used in university interviews (possibly Oxbridge). The level, 1 being the easiest, 5 the hardest, will be indicated. BMO MAT British Maths Olympiad Frost A Frosty Special Questions from the deep dark recesses of my head. Those with high scores in the SMC qualify for the BMO Round 1. The top hundred students from this go through to BMO Round 2. Questions in these slides will have their round indicated. Classic Maths Aptitude Test STEP Admissions test for those applying for Maths and/or Computer Science at Oxford University. University Interview Classic Well known problems in maths. STEP Exam Exam used as a condition for offers to universities such as Cambridge and Bath. Slide guidance ? Any box with a ? can be clicked to reveal the answer (this works particularly well with interactive whiteboards!). Make sure you’re viewing the slides in slideshow mode. For multiple choice questions (e.g. SMC), click your choice to reveal the answer (try below!) Question: The capital of Spain is: A: London B: Paris C: Madrid Topic 1: Combinatorics Unit 1 - Fundamentals a. Slot Filling b. The Factorial Function – n! c. The Permutation Function – nPk d. The Choose Function – nCk e. Distinguishable vs Indistinguishable Objects f. Ordered vs Unordered Objects g. Probabilistic vs Combinatoric Approaches Topic 1: Combinatorics Unit 2 – More on Counting Problems a. Converting Problems into Slot-Filling Ones b. Purposely Overcounting c. Typed Problems d. Objects in a Ring e. Currency Problems f. Multi-Step problems Topic 1: Combinatorics Unit 3 – Recurrence Relations a. Identifying the State and Actions b. Forming the Recurrence c. Dynamic Programming Unit 4 – Compositions and Partitions a. Compositions b. Partitions Unit 5 – Geometric Arrangements Topic 1 – Combinatorics Part 1: Fundamentals Here, we look at the some of the basics of combinatorics, and fundamental combinatoric operators that are commonly used. What is combinatorics? Broadly, the ‘number of ways’ of arranging things according to some structure and constraints. “How many ways are there of matching 3 numbers on the lottery?” “How many ways of making a selection of fruit from a bowl of 10 items?” “How many ways can 10 people in a circle shake hands simultaneously such that no handshake crosses?” This is closely related to probability, since we often have to consider combinations and permutations of things to determine the exact probability. But combinatorics arises in many mathematical fields – you may have encountered it in Algebra for Binomial Expansion. Fundamentals #1: Slot Filling When considering the number of possible combinations, it’s often helpful to think of ordered ‘slots’ in a line that we can fill. Example: How many outcomes are there when we simultaneously roll 5 dice? 6 x 6 x 6 x 6 x 6 There are 5 slots for the 5 dice. In each slot, there are 6 outcomes. We just multiply the possible outcomes in each slot to get the total number of combinations. = 65 Fundamentals #1: Slot Filling When considering the number of possible combinations, it’s often helpful to think of ordered ‘slots’ in a line that we can fill. a) The number of ways of picking 1 card from each of 20 different packs (of standard playing cards)? 52?20 (Click question marks to reveal answer) b) The number of outcomes from the throw of a die and the toss of a coin? 6 x 2?= 12 c) The number of outcomes from 5 coins and 5 dice flipped/thrown simultaneously? 25 x 65? = 125 Fundamentals #2: The Factorial Function Perhaps the most key operator in combinatorics is the factorial function, where n! means “n factorial”. It tells us the number of ways of arranging distinct objects in a line. Q: How many ways of ordering these pieces of fruit? We use a slot filling approach: 4 We could pick any of the 4 pieces of fruit for the first slot. x 3 x 2 x We have 3 remaining fruits to choose from for the second slot. = 4! 1 And so on Fundamentals #2: The Factorial Function Puzzle: If I throw six dice simultaneously, what’s the probability that I get a full run of 1, 2, 3, 4, 5, 6 (where the ordering of the dice does not matter). p(full run) = 6!?6 6 Hint: Recall from basic probability that: p(event) = outcomes in which this event occurs total outcomes The particular point of interest here is that we’ve turned an unordered problem (i.e. the ordering of the dice doesn’t matter) into an ordered one (i.e. we considered ‘ordered slots’). We’ll consider unordered vs ordered problems later. Question: Simplify (n-1)! n! (n-1)! = n! (n-1) x (n-2) x ... n x (n-1) ? x (n-2) x ... = 1 n Fundamentals #2: The Factorial Function Formal definition of factorial function: 0! = 1 (n+1)! = (n+1)n! Base case Recursive case (For example 4! = 4 x 3! ) (Note that by combining the above, 1! = 1 x 0! = 1 x 1 = 1) Just for your interest... The factorial function works only on non-negative integers. There’s a function called the gamma function that generalises factorial to all numbers (including decimal, negative and complex numbers!). The gamma function is offset from the factorial function by 1. It is used for example in Number Theory and Statistics. Г(6) = 5! Г(22) = 21! Г(i) = -0.1549 Г(3.5) = 3.3234 (which is between 2! and 3!) Fundamentals #3: The Permutation Function nPk Before, we were interested in how to order n things in a line. But suppose now that we’re interested in how to order k things in a line, when we can choose from n objects. Example: How many ways to pick 3 items of fruit from amongst 5, and put them on a shelf? 5 We could pick any of the 5 pieces of fruit for the first slot. x 4 x 3 = 5! 2! = 5P3 The difference from earlier is that we only have 3 slots, and thus don’t use all the fruit. SMC Question The cards in a set of 36 are numbered 1 to 36. The cards are shuffled and four cards are dealt. What are the chances of them being dealt in descending order? (Click your choice of answer) A: 1 in 2 B: 1 in 8 D: 1 in 24 E: 1 in 36 C: 1 in 16 SMC Level 5 Level 4 Notes: If 4 (distinguishable) objects are chosen, there are 4! = 24 ways to arrange them. Only one of these possibilities has them in descending order. Level 3 Level 2 Level 1 Fundamentals #3: The Permutation Function nPk nP k = __n!__ (n-k)! It gives us the number of ways of putting n items into k slots. Like the factorial function, you can find this on your calculator (usually you need to press the ‘2nd Function’ button first). This combinatoric function tends to be seen less frequently. But we can modify it to give us something much much more common... Fundamentals #4: The ‘Choose’ Function nCk Suppose again we pick k items from n, but now, the order in which we pick them doesn’t matter. With our fruit example, we might consider how many ways we can make a selection of 3 pieces of fruit from 5. We could use 5P3 to give the number of ways of picking 3 pieces of fruit from 5, where the order in which we picked them mattered. But we wish to disregard the order: for example, Orange-Lemon-Lime is equivalent to a selection of Lemon-Lime-Orange. Thus each 3! possibilities only represents one unordered selection. Thus: 5P 3 = Ways of making a selection of 3 fruits = 3! _5!_ 3!2! Fundamentals #4: The ‘Choose’ Function nCk This is known as the ‘choose’ function, because it gives us the number of ways of ‘choosing’ k items from n. (You can again find it on a standard scientific calculator) nC We rarely write nC k = __n!__ (n-k)!k! n k in practice – instead we’d write ( k ) Question: How many possible lottery tickets are there, if there’s 49 possible numbers a ticket consists of 6 distinct numbers? 49 ( 6 ) ≈ 14 million. Of the 49 numbers, 6 can be chosen for a ticket, ? matter. where the ordering of the numbers doesn’t Fundamentals #4: The ‘Choose’ Function nCk You ought to remember these special cases: (they can all be worked out using the definition of nCk) n ? = 1 0 ( ) n 2 ( ) n(n-1) = ? 2 n ? = n 1 ( ) n ? = 1 n ( ) Fundamentals #4: The ‘Choose’ Function nCk Its use in Binomial Expansion You may have encountered the use of the ‘choose’ function as a Binomial Coefficient – the coefficients of each term in a polynomial resulting from the expansion of a bracket with two items in it and to some power. (1+x)4 = = 4 4 ( 0 )x + x4 + 4x3 4 3 4 2 ( 1 )x + ( 2 )x + 6x2 + 4x + 1 + 4 ( 3 )x + 4 ( 4 )1 If we consider all the brackets and what happens when we expand, how many x2 terms will we see? Recall that to expand brackets, we consider all possible choices when we pick 1 item from each bracket. These four items multiplied together will give an x2 term. (1+x)4 = (1+x)(1+x)(1+x)(1+x) Similarly, these will give an x2 term. Fundamentals #4: The ‘Choose’ Function nCk Its use in Binomial Expansion (1+x)4 = (1+x)(1+x)(1+x)(1+x) There’s 4 brackets from which we could choose the two x terms needed to make x2 (and from the brackets we don’t choose from, we use a 1), so we’ll end up with ( 42 ) x2 terms in the expansion! #5: Distinguishable vs Indistinguishable Consider 3 blue balls and 4 orange. How many ways are there of arranging them in a line? If the balls are all distinguishable... Then we can tell them all apart. And thus, there’s simply 7! ways of arranging them. If the balls are indistinguishable... Then we can’t tell balls of the same colour apart. Then the problem is slightly more complicated... Sometimes, a question will explicitly state whether objects are distinguishable or not. If not, then use your common sense. For this particular example, the fact it’s mentioned groups of balls that share a property (i.e. colour) suggests you can’t tell them apart within that group. Fundamentals #6: Ordered vs Unordered Recall that ‘ordering’ relates to whether the order in which the items are selected matter. The ‘choose’ function was the unordered cousin of the ‘permutation’ function for example. Sometimes problems have multiple approaches: Question: Calculate the probability of winning the UK lottery, where you choose 6 distinct numbers from 1 to 49 for your ticket, and 6 numbers are drawn from the machine (i.e. Ignoring the ‘bonus ball’). a) The unordered approach If at no point do we consider the balls ordered, then: Total possible tickets Winning outcomes 49C 6 1 (because only one unordered choice of numbers can win) p(win) = _1_ 49C 6 Fundamentals #6: Ordered vs Unordered Question: Calculate the probability of winning the UK lottery, where you choose 6 distinct numbers from 1 to 49 for your ticket. b) The ordered approach Consider the numbers on a lottery ticket as ordered (since the balls from the machine are drawn in a particular order!). Then: Total possible tickets Winning outcomes 49P 6 (because we’re considering ordering) 6! (because if the winning numbers were 13-3-9-40-24-1 in the order that they were drawn, then any of the 6! arrangements of these would win) p(win) = _6!_ 49P = 6 _6!_ 49!/43! = _43!6!_ 49 = _1_ 49C 6 These approaches are subtly different, even if they end up with the same probability. While in this particular case, approach (a) seems simpler, in combinatoric problems where we have a mixture of ordered and unordered items, or distinguishable and indistinguishable, then the latter ‘ordered’ approach might be required. #7: Probabilistic vs Combinatoric Approaches Question: 3 men each independently pick a number between 1 and 10. What’s the probability that their numbers are different? 4 6 _18_ p(different numbers) = ? 25 1 #7: Probabilistic vs Combinatoric Approaches The probabilistic approach The combinatoric approach Consider the men one at a time, and consider the probability that their number doesn’t clash with the previous men’s choice. Total outcomes: 103 Because there’s no previous men! Hammond goes first: p(number doesn’t clash) = 1 Outcomes in which numbers are different: The number of ways of choosing 3 numbers from 10, i.e. ( 10 ) 3 9 of the 10 numbers won’t be the same as Hammond’s May goes second: p(number doesn’t clash) = 9 10 Clarkson goes last: p(number doesn’t clash) = 8 10 p(all numbers different) = p(all numbers different) = 1 x 9 x 8 = 18 10 10 25 (We’re of course making an independence assumption here: i.e. the men’s choices of numbers didn’t influence the others.) 10 3 (__) 103 = 18 25 Note: Whenever we want to consider distinct choices of items, you should always immediately think to use the ‘choose’ function. Topic 1 – Combinatorics Part 2: More on Counting Problems Here, we drill in to the types of counting problems that are frequently seen, and strategies to deal with each one. Tip #1: Converting problems into slot filling ones You have a bowl of 3 pieces of fruit. How many ways are there of making a selection of fruits from the bowl (you can include the possibility that you pick no fruit). Answer = 8? Tip #1: Converting problems into slot filling ones The ‘choose’ approach The slot filling approach In our selection, we can just choose 1 piece of fruit: ( 31 ) = 3 Or we can choose 2 pieces of fruit: ( 32 ) = 3 Or we can choose all 3 pieces of fruit: ( 33 ) = 1 Give each piece of fruit a ‘slot’. Each fruit can either: a) Be chosen b) Not be chosen Or choose none of them: Thus each slot has 2 possible states. ( 30 ) = 1 This gives 23 = 8 possibilities. This approach is clearly much simpler! Tip #1: Converting problems into slot filling ones The fact either approach to this fruit problem gives the same answer yields a nice identity! Using ‘choose’ approach for n fruits. Using ‘slot based’ approach for n fruits. This identity can also be seen by looking at the sum of each row in Pascal’s triangle: 2 0 2 1 2 2 ( ) ( ) ( ) 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 5 10 10 5 1 Sum = 1 = 20 Sum = 2 = 21 Sum = 4 = 22 Sum = 8 = 23 Tip #1: Converting problems into slot filling ones How many ways of making a selection of fruits from 5 apples and 3 oranges? Answer = 24 This time, anything other than a ‘slot based’ approach will cause a massive amount of headache. Have a slot for the number of apples, and a slot for the number of oranges. We can have 0-5 apples (6 possibilities) and 0-3 oranges (4 possibilities). ? So 6 x 4 = 24 possibilities (or 23 if we exclude the case where we pick no fruit) Tip #2: Purposely overcounting Sometimes it’s easier to consider more possibilities than we initially need (because the result is easy to calculate) before eliminating possibilities we don’t want. Question: How many ways can we pick at least 2 different kinds of fruit from a bowl, given there are 3 apples, 2 oranges, 1 plum and 9 limes? x3 x2 ? Answer = 224 x1 x9 Tip #2: Purposely overcounting Question: How many ways can we pick at least 2 different kinds of fruit from a bowl? x3 Horrendously cumbersome approach Work out number of ways of picking: a) 2 types of fruit b) 3 types of fruit c) 4 types of fruit And add together. e.g. Ways of picking 2 types: • Only apples & oranges: 3 x 2 = 6 • Only apples & plums: 3 x 1 = 3 • ... Which gives 65 ways. For 3 types of fruit, it’s 105 ways. For 4 types of fruit, it’s 54 ways. Total = 65 + 105 + 54 = 224. x2 x1 x9 ‘Overcounting’ approach Consider ALL possible selections first: 4 x 3 x 2 x 10 = 240 Exclude selections involving 1 type of fruit: 3 + 2 + 1 + 9 = 15 Exclude selections involve no fruit: 1 Total = 240 – 15 – 1 = 224 Tip #3: Typed objects Frequently, objects have certain types, e.g: Red and blue, boys and girls, sisters and non-sisters, etc. Question: How many ways of arranging 8 books, if you must keep the two red ones next to each other? Answer: 10,080 ? Explanation: There’s 7 ways in which the two red books can appear together. Then, we can arrange the 2 red books in 2! ways, and the 6 non-red books in 6! ways. That gives 7 x 2! x 6! = 10,080 ways. ? Tip #3: Typed objects The strategy for these kinds of problems is therefore: 1. Consider the possible ways in which the slots can be assigned a particular ‘type’ (e.g. where the red books can occur according to some constraint). 2. Multiply this by the number of ways in which the objects can be arranged within these slots. Tip #3: Typed objects Here’s a harder one: Question: 8 people go to a cinema and sit in line. 3 of them are sisters who tend to chat if put together. How many ways are there of seating the 8 people if the sisters aren’t allowed to sit together? Answer: 14,400 ? Explanation: Put the non-sisters in a line first. There’s 6 possible positions the 3 sisters can slot themselves into to avoid sitting next to each other. That’s 6C3 = 20 possible ways we can allocate the sister seats. Then there’s 3! arrangements of sisters in these seats, and 5! arrangements of the non-sisters in their non-sister seats. 20 x 3! x 5! = 14,400 Tip #3: Typed objects Here’s a harder one: Question: 8 people go to a cinema and sit in line. 3 of them are sisters who tend to chat if put together. How many ways are there of seating the 8 people if the sisters aren’t allowed to sit together? BEWARE! If we worked out the number of ways in which the sisters ARE allowed to all sit together (i.e. 6 x 3! x 5!), you might think we can subtract this from all possible arrangements (8!) to get the arrangements in which they don’t sit together. But that would only give us the arrangement in which they don’t ALL sit together, not the arrangements in which NONE of them sit together. Tip #3: Typed objects Question: How many ways if arranging 3 (indistinguishable) red balls and 5 (indistinguishable) yellow balls? Answer: 8C3?= 56 Explanation: Observe that of the 8 slots to put the balls into, we choose 3 of them to be red slots. Or equivalently, there’s 8! ways to arrange the 8 balls, but the red are indistinguishable so we divide by 3!, and the yellows are indistinguishable, so we divide by 5! Unlike the previous problem where the sisters/red books were distinguishable, here they are not. Tip #4: Objects in a ring When objects are put in the circle, this affects problems involving objects being adjacent/not adjacent, since the line no longer has ends. Question: There are 8 seats in a circle, with 3 sisters. Find the number of arrangements when the sisters: (a) want to sit next to each (b) don’t want to sit next to each other. Answer (a): 5760 ? This is exactly the same as the sisters in a line problem, except the block of 3 girls can now be in 8 different positions, giving 8 x 3! x 5! ? Answer (b): 7200 As before, we allocate non-sister seats first, but now there’s 5C3 ways to allocate the sister seats. Tip #5: Currency Problems A particular favourite in IMC/SMC papers is determining how many ways an amount can be made up using certain coinage. Question: Given an unlimited supply of 50p, £1 and £2 coins, in how many different ways is it possible to make a sum of £100? A: 1326 B: 2500 D: 5050 E: 10000 C: 2601 Strategy: Fix the number of say £2 coins, and then consider how many ways there are of making up the remaining amount using £1 and 50p coins using the same method. Try to spot the pattern as we increase the number of £2 coins. SMC Level 5 Level 4 Level 3 Level 2 Level 1 Tip #5: Currency Problems A particular favourite in IMC/SMC papers is determining how many ways an amount can be made up using certain coinage. Question: Given an unlimited supply of 50p, £1 and £2 coins, in how many different ways is it possible to make a sum of £100? X 20 £0 left to make up with £1 and 50p coins. X 19 £2 left to make up Can have between 0 and 2 £1 coins. 3 ways. X 18 £4 left to make up Can have between 0 and 4 £1 coins. 5 ways. £100 left to make up Can have between 0 and 100 £1 coins. 101 ways. ... X0 1 way. Tip #5: Currency Problems 1 + 3 + 5 + ... + 99 + 101 This is an arithmetic series with a = 1, d = 2, n = 51, so Sn = ½ x 51 x (2 + 50 x 2) = 2601 Be careful about getting n right: notice that if we added 1 to all the terms and divided by 2, we’d have the numbers 1, 2, 3, ..., 50, 51, so n = 51. Important note: Notice that we never even had to consider the 50p coins, since by fixing the number of £2 and £1 coins, the number of 50p coins is therefore determined from the remaining amount. We therefore just concentrate on making up amounts LESS OR EQUAL TO £100 with just £2 and £1 coins*, making the problem less daunting. * This would only not work if the remaining amount to make up with the smallest value coin is not a multiple of the coin’s value. e.g. If the coins were just 3p and 2p and the total to make up was 15p, then it’s not enough to just consider fixing the number of 3p coins as two and making up the rest with 2p coins, because it can’t be done! Tip #6: Multi-step combinatoric problems For arrangement problems involving multiple steps: (a) Have a clear starting point. (b) Be careful not to overcount/undercount. Adrian teaches a class of six pairs of twins. He wishes to set up teams for a quiz, but wants to avoid putting any pair of twins into the same team. Subject to this condition: i) In how many ways can he split them into two teams of six? ii) In how many ways can he split them into three teams of four? Answer (i): 32 ? Answer (ii): 960? BMO Round 2 Round 1 Tip #6: Multi-step combinatoric problems For arrangement problems involving multiple steps: (a) Have a clear starting point. (b) Be careful not to overcount/undercount. Adrian teaches a class of six pairs of twins. He wishes to set up teams for a quiz, but wants to avoid putting any pair of twins into the same team. Subject to this condition: i) In how many ways can he split them into two teams of six? ii) In how many ways can he split them into three teams of four? i) Starting Point: Further manipulation to avoid overcounting: Team 1 must contain one of each of the twins (since we can’t have both of any pair of twins). For each of the twins we have 2 choices, so that’s 26 ways of picking. The teams are indistinguishable (i.e. we don’t have have team names ‘Team 1’ and ‘Team 2’ – if all of Team 1 moved to Team 2 and vice versa, it would be considered the same possibility). So each 2 possibilities only counts as 1. That gives 26 / 2 = 25 = 32 possibilities. Tip #6: Multi-step combinatoric problems For arrangement problems involving multiple steps: (a) Have a clear starting point. (b) Be careful not to overcount/undercount. Question: How many ways 2n people can be paired off to form n teams of 2. Answer: (2n)! ?n n! 2 BMO Round 2 Round 1 Tip #6: Multi-step combinatoric problems For arrangement problems involving multiple steps: (a) Have a clear starting point. (b) Be careful not to overcount/undercount. Question: How many ways 2n people can be paired off to form n teams of 2. Starting Point: Of the 2n people, pick n of them to form the first person in each team. There’s 2nCn ways of picking them. Further manipulation to avoid overcounting: As a second step, we have n! ways of allocating the remaining people to these teams. But we’ve overcounted, because in each team, it doesn’t matter which person was picked first, so for each team there’s 2 equivalent arrangements. Since there’s n teams, we must divide by 2n. This gives us: 2nC (2n)! n = n n! 2 n! 2n Note: If we initially numbered the teams 1 to n as if they were distinguishable and in a line, there would be 2nPn ways of putting n of the 2n people into these slots, then again n! ways of allocating the remaining people to these slots. But then we’d have to both divide by 2n (because of the duplication described above), but also by n!, since the teams are in fact not distinguishable, and any way we’d relabel the team names would be equivalent. This gives the same result as above. Topic 1 – Combinatorics Part 3: Recurrence Relations Here, we explore problems that can be defined in terms of another related problem (usually a smaller problem). Introduction A frog has 5 lily pads in front of him in a line. He needs to get to the final lily pad, and can do so by either by ‘hopping’ to the next lily pad, or ‘skipping’ to a lily pad 2 ahead. How many ways are there for the frog to get to the final lily pad? There are 3 fundamental steps to solving such problems. The first is as such: 1. Identifying the State and Actions What variables can we use to define the current situation? (known as the current ‘state’) What actions are available in a given state, and what states do each of them they lead to? #1 – Identifying the State and Actions 1. Identifying the State and Actions State: Actions: What variables can we use to define the current situation? (known as the current ‘state’) What actions are available in a given state, and what states do each of these options lead to? The number of lily pads in front of the frog. Let’s represent this using a variable n. 2 possible actions: a. Hop: We’re now in a state where there’s n-1 lily pads remaining. b. Skip: We’re now in a state where there’s n-2 lily pads remaining. #1 – Identifying the State and Actions State: Actions: The number of lily pads in front of the frog. Let’s represent this using a variable n. 2 possible actions: a. Hop: We’re now in a state where there’s n-1 lily pads remaining. b. Skip: We’re now in a state where there’s n-2 lily pads remaining. It’s possible to represent these transitions between states as a ‘state diagram’: Pads left = n-1 Pads left =n Pads left = n-2 Pads left =0 This states/action graph is known formally as a Deterministic Finite Automaton. The double border of the state on the right indicates it’s a ‘final state’ where we can stop. #2 Forming a recurrence Using our knowledge of how different actions affect the state, it’s possible to define some combinatorial property of the problem in terms of another (typically smaller) problem. Let’s define a function F which defines the number of hops based on the current state. F(0) = 1? F(1) = 1? These are known as the base cases (i.e. considering the smallest version of the problem, in this case when we have 0 or 1 lily pads in front). It might seem odd that there’s 1 way to get to the final lily pad when we’re already at the final lily pad! But we’ll see in a second that this makes things work out. We need base cases when one or more of the actions are no longer available, e.g. when there’s 1 lily pad left, we can no longer skip. #2 Forming a recurrence Now we form a recursive relation, where we define F(n) in terms of smaller problem(s). Forming a recurrence is usually a case of adding together the number of ways associated with each of the subsequent states, i.e. F(current state) = F(possible next states) F(n) = F(n-1) ?+ F(n-2) If we’d hopped, we’d be in a state where there’s n-1 lily pads, with F(n-1) ways of getting to the end (by definition of F). If we’d skipped, similarly we’d have F(n-2) ways of getting to the end. Since we’re considering both the possibilities that we start with a skip and the possibilities where we start with a hop, we add these possibilities together. #3 Dynamic Programming We’ve now got a recurrence relation (with base case) from which we can work out the number of ways of getting to the last lily pad: F(0) = 1 F(1) = 1 F(n) = F(n-1) + F(n-2) We need F(5). Using our recurrence: F(5) = F(4) + F(3) = F(3) + F(2) + F(2) + F(1) = F(2) + F(1) + F(1) + F(0) + F(1) + F(0) + F(1) = F(1) + F(0) + F(1) + F(1) + F(0) + F(1) + F(0) + F(1) =1+1+1+1+1+1+1+1 =8 This method is computing the result is quite wasteful, because we’re having to work out F(2) multiple times for example. Instead of starting from F(5) and using our recurrence to work down, perhaps we can start from the base case(s) and work our way up? #3 Dynamic Programming We’ve now got a recurrence relation (with base case) from which we can work out the number of ways of getting to the last lily pad: F(0) = 1 F(1) = 1 F(n) = F(n-1) + F(n-2) F(0) = 1 F(1) = 1 F(2) = F(0) + F(1) = 2 F(3) = F(2) + F(1) = 3 F(4) = F(3) + F(2) = 5 F(5) = F(4) + F(3) = 8 By working from the bottom-up, each F(n) only had to be calculated once. This technique is known in the computing biz as dynamic programming. Note that it’s sometimes (but not always) possible to form a position-to-term formula. The Fibonacci Sequence (which is what we found for this problem!) has a formula involving the golden ratio. Summary 1. Identify the State and Actions State: Number of lily pads left. Actions available: Hop (where in new state, we have 1 lily pad less) or skip (where we have 2 lily pads less) 2. Forming a recurrence Define a function F(state) F(current state) = F(possible next states) Base cases: F(1) = 1, F(0) = 1 Recurrence: F(n) = F(n-1) + F(n-2) 3. Computing the desired value. For problems of size 0 (e.g. no lily pads left), the number of ways tends to be 1. Find F(state described in problem) Work out the value for problems of ascending size (i.e. working from the ‘bottom up’). If the state has two variables, form a table. F(0) = 1, F(1) = 1, F(2) = 2, F(3) = 3, F(4) = 5, F(5) = 8. BMO Question Isaac attempts all six questions on an Olympiad paper in order. Each question is marked on a scale from 0 to 10. He never scores more in a later question than in any earlier question. How many different possible sequences of six marks can he achieve? State: Actions: Consider the state just before you answer a question: n – the maximum mark for the remaining questions. k – the number of questions left ? •For the next question, score the maximum of n marks. We’re left in a state where we have k-1 questions left, and the maximum mark is still n. •Or for the next question, score n-1 marks. We’re left in a state where we have k-1 questions left, and the maximum mark is now k-1 (because we’re not allowed to score higher than the previous question). •...and so on... •Or for the next question, we score 0 marks. For the remaining k-1 questions, the maximum mark is now 0 for the remaining questions. ? BMO Round 2 Round 1 BMO Question Isaac attempts all six questions on an Olympiad paper in order. Each question is marked on a scale from 0 to 10. He never scores more in a later question than in any earlier question. How many different possible sequences of six marks can he achieve? Step 2 is to convert this information into a recurrence relation. F(n,k) = F(n, k-1) + F(n-1, k-1) + ... + F(0, k-1) We include all the possibilities where we lose no marks on the next question. Then we’re interested in the number of ways of scoring up to n marks for the remaining k-1 questions. We also include the possibilities where we get one less than the maximum mark on the next question. Then for the remaining k-1 questions, we’re not allowed to exceed n-1 marks. BMO And so on... Round 2 Round 1 BMO Question Isaac attempts all six questions on an Olympiad paper in order. Each question is marked on a scale from 0 to 10. He never scores more in a later question than in any earlier question. How many different possible sequences of six marks can he achieve? Now deal with base cases... F(n,0) = 1 When there’s 0 questions left, we say there’s 1 way of doing this (as we usually say for ‘empty’ problems). F(0,k) = If the maximum mark is 0, there’s only 1 possible set of marks we can get: a string of 0s! 1 ? ? (If you’re uncomfortable defining a base case when there’s no questions, you could have instead used F(n,1) = n+1 since for the 1 question we could have scored between 0 and n marks, i.e. n+1 different marks) BMO Round 2 Round 1 BMO Question Now we need to compute F(10,6) since there’s a maximum of 10 marks and 6 questions. Since there’s two variables here instead of one, let’s form a table: F k=0 1 2 3 4 5 6 F(2,2) for example is calculated using F(0,1)+F(1,1)+F(2,1). But notice that because F(1,2) = F(0,1)+F(1,1), we can calculate F(2,2) using F(2,1)+F(1,2), i.e. adding the values above and to the left. n=0 1 1 1 1 1 1 1 1 1 2 3 4 5 6 7 2 1 3 6 10 15 21 28 3 1 4 10 20 35 56 84 4 1 5 15 35 70 126 210 5 1 6 21 56 126 252 462 6 1 7 28 84 210 462 924 7 1 8 36 120 330 792 1716 8 1 9 45 165 495 1287 3003 BMO 9 1 10 55 220 715 2002 5005 Round 2 10 1 11 66 286 1001 3003 8008 Round 1 These are the triangular numbers! These are the These are the tetrahedric numbers! pentatope numbers! We can therefore rewrite the recurrence as: F(n,k) = F(n-1,k)+F(n,k-1). (Interesting note – if you tilt your head left, notice you get Pascal’s Triangle! Therefore 16C6 would quickly yield the correct answer of 8008) Topic 1 – Combinatorics Part 4: Compositions and Partitions Some problems concern how many ways we can divide something up into parts. For example, how many ways can we express the number 4 as the sum of positive integers? (e.g. 3 + 1, 1 + 2 + 1, ...) Composition A composition of an integer n is the number of ways of expressing it as a sum of (strictly) positive integers. Compositions of 5: 5 4+1 3+2 3+1+1 2+3 2+2+1 2+1+2 2+1+1+1 1+4 1+3+1 1+2+2 1+2+1+1 1+1+3 1+1+2+1 1+1+1+2 1+1+1+1+1 The order of the numbers matters, so 4+1 is a distinct composition from 1+4. Notice that we’ve been systematic in writing out the possibilities to ensure we don’t accidentally miss any (by dealing with an increasingly small first number). Partition In contrast, with a partition, the order of the numbers doesn’t matter. Partitions of 5: 5 4+1 3+2 3+1+1 2+2+1 2+1+1+1 1+1+1+1+1 The order of the numbers matters, so 4+1 is a distinct composition from 1+4. There’s no ‘closed form’ expression that will give the number of partitions for a number n. This means there’s no expression in terms of common mathematical operations and functions: addition, multiplication, exponentiation, log, sin, etc. We’ve again been systematic in listing these! One of your homework questions will be to try and form a recurrence relation for the number of partitions. Composition It’s possible to give an expression for the number of compositions of n. This technique can be used for related problems which we’ll explore. If we’re considering the compositions of 5, which out five 1s separated by spaces: 1 1 1 1 1 Fill each box with either a comma (,) or a plus (+). The comma represents starting a new number in the composition. Then: , , + + 1 1 1 1 1 would represent 2, 1, 1, 2, i.e. 5 = 2+1+1+2. This technique covers all possible compositions. There’s n-1 gaps (or ‘slots’), so there’s 2n-1 compositions of n. Composition We can use a similar technique to represent the ‘wall boundaries’ between boxes and related problems. Question: Suppose that n balls are placed at random into n boxes. Find the probability that there is exactly one empty box. Big Hint: This above diagram could be represented as O|OO||O, where we have n “O” symbols and n-1 “|” wall boundary symbols. ? n(n-1) Answer = 2n-1 ?Cn Number of box assignments in which exactly one box is empty. Number of possible assignments to boxes. Composition We can use a similar technique to represent the ‘wall boundaries’ between boxes and related problems. n(n-1) Answer = 2n-1 Cn If there’s n boxes and n balls and only one box is empty, then all other boxes have 1 ball except for one which has 2. There’s n boxes the empty one could be, and n-1 remaining boxes the one with 2 balls could be. The above arrangement could be represented as O|OO||O by representing the box boundaries using the symbol |. Then it’s just the case of finding the number of ways of arranging n ‘O’ symbols and n-1 ‘|’ symbol. In the n+(n-1) total symbol slots, we have n positions to choose for the ‘O’s. Rings Revisited! Ring problems involving indistinguishable objects tend to be quite cumbersome, since there’s often no ‘closed form’ formula for the solution. Question: How many ways are there of arrangement 4 red beads and 4 yellow beads on a bracelet*. Answer: 8? Similarly to the sisters problem, we place the beads of one colour on the bracelet first, then consider how we can add the other beads in between. If we start with the 4 red beads then we can fit the yellow beads into the gaps, either 3 all in one gap, 2 is one gap and 1 in another, or 1 in each of the four gaps. * Convention is that ‘bracelet’ implies that the arrangement is considered the same when we flip the bracelet over, whereas a necklace tends to be one way up, so the arrangements would be considered distinct. Rings Revisited! Ring problems involving indistinguishable objects tend to be quite cumbersome, since there’s often no ‘closed form’ formula for the solution. Question: How many ways are there of arrangement 4 red beads and 4 yellow beads on a bracelet. Let (a,b,c,d) represent the number of yellow beads in each of the four gaps. Then distinct arrangements (when we consider equivalent ones due to rotation/reflection) are: (4, 0, 0, 0) (3, 1, 0, 0) (3, 0, 1, 0) (2, 2, 0, 0) (2, 0, 2, 0) (2, 1, 1, 0) (2, 1, 0, 1) (1, 1, 1, 1) This corresponds to the diagram on the left Note: The possible (a,b,c,d) look a bit like the partition of the number 4 (subject to some restrictions), which is why having a general closed-form formula for n beads is not possible. Damn! Topic 1 – Combinatorics Part 5: Geometric Arrangements Finally, we look at problems involving shapes, and other visual structures such as trees. Counting Internal Shapes When asked to find smaller shapes within a larger shape, make sure your counting is structured, in order to identify a pattern. Classic Question: How many squares (of any size) are in this diagram? Answer: ? 30 More generally, what about an n x n grid? Answer: 1 n(n+1)(2n+1) ? 6 1 x 1 squares: n2 2x2 squares: (n-1)2 ... n x n squares: 1 This is the sum of the first n square numbers, which is a standard result that you should absolutely remember! Counting Internal Shapes Sometimes, you get different sequences for odd and even n. How many triangles? Counting Internal Shapes Up triangles Down triangles n=1 1 - n=2 3+1=5 1 n=3 6 + 3 + 1 = 10 3 n=4 10 + 6 + 3 + 1 = 20 6+1=7 15 + 10 + 6 + 3 + 1 = 35 10 + 3 = 13 21 + 15 + 10 + 6 + 3 + 1 = 56 15 + 6 + 1 = 22 n=5 n=6 Notice that a new size of triangle appears every other figure. This suggests we’ll need separate formulae for odd and even n. Counting Internal Shapes Since these numbers involve the sum of triangular numbers, and the formula for triangular numbers is quadratic, it suggests that our overall formula will be cubic. We can use the numbers we have so far to work out the coefficients (we have 4 unknowns, so require 4 of the numbers in the sequence). n 2 F(n) 6 4 6 8 n 27 78 170 F(n) 1 F(n) = ax3 + bx2 + cx + d 6 = 8a + 4b + 2c + d 27 = 64a + 16b + 4c + d ... Solving these simultaneous equations gives us a, b, c and d. This gives F(n) = 1 n(n+2)(2n+1) 8 1 3 5 7 13 48 118 1=a+b+c+d 13 = 27a + 9b + 3c + d ... This gives F(n) = 1 [n(n+2)(2n+1) – 1] 8 The Catalan Numbers The Catalan Numbers are useful in solving a number of combinatorial problems involving both shapes and trees. Imagine a string of n X’s and n Y’s (giving a word of length 2n), such that for any prefix of the word, the Y’s never outnumber the X’s. XXYXYY A prefix of a word is any sequence of letters from the start of the word. Here the Y’s don’t outnumber the X’s. Then the nth ‘Catalan number’ is the number of such possible words of length 2n. The Catalan Numbers The Catalan Numbers are useful in solving a number of combinatorial problems involving both shapes and trees. The nth Catalan number is given by: _1_ 2n Cn = n+1 n ( ) First few Catalan numbers: 1, 1, 2, 5, 14, 42, 132, 429, 1430, 4862, 16796, 58786, 208012, ... The Catalan Numbers XXYXYY (()()) We could replace the X’s by opening brackets and Y’s by closing brackets. Thus, the Catalan numbers also give us the number of possible valid bracketings. Other applications: The number of binary trees with n+1 leaves (binary meaning that each parent has 2 children): Problem 4 on Worksheet 3 (involving non-overlapping handshakes across a table) also yields the Catalan numbers! The number of ways a convex polygon with n+2 sides can be cut into triangles: