Föreläsning 10: Kombinatorik

Relevanta dokument
Cartesisk produkt. Multiplikationsprincipen Ï Ï Ï

Induktion och Binomialsatsen. Vi fortsätter att visa hur matematiska påståenden bevisas med induktion.

Multiplikationsprincipen

Genomsnittligt sökdjup i binära sökträd

DEL I. Matematiska Institutionen KTH

101. och sista termen 1

Induktion LCB Rekursion och induktion; enkla fall. Ersätter Grimaldi 4.1

Uppgifter 3: Talföljder och induktionsbevis

Sannolikhetslära. c 2015 Eric Järpe Högskolan i Halmstad

MS-A0409 Grundkurs i diskret matematik Sammanfattning, del I

ENDIMENSIONELL ANALYS B1 FÖRELÄSNING VI. Föreläsning VI. Mikael P. Sundqvist

SANNOLIKHETER. Exempel. ( Tärningskast) Vi har sex möjliga utfall 1, 2, 3, 4, 5 och 6. Därför är utfallsrummet Ω = {1, 2, 3, 4, 5,6}.

Anmärkning: I några böcker använder man följande beteckning ]a,b[, [a,b[ och ]a,b] för (a,b), [a,b) och (a,b].

Sannolikheten. met. A 3 = {2, 4, 6 }, 1 av 11

REGULJÄRA SPRÅK (8p + 6p) 1. DFA och reguljära uttryck (6 p) Problem. För följande NFA över alfabetet {0,1}:

c n x n, där c 0, c 1, c 2,... är givna (reella eller n=0 c n x n n=0 absolutkonvergent om x < R divergent om x > R n n lim = 1 R.

Uppsala Universitet Matematiska Institutionen Thomas Erlandsson

Linjär Algebra (lp 1, 2016) Lösningar till skrivuppgiften Julia Brandes

H1009, Introduktionskurs i matematik Armin Halilovic POLYNOM, POLYNOMDIVISION, ALGEBRAISKA EKVATIONER, PARTIALBRÅKSUPPDELNING. vara ett polynom där a

Digital signalbehandling Alternativa sätt att se på faltning

Tolkning av sannolikhet. Statistikens grunder, 15p dagtid. Lite mängdlära. Lite mängdlära, forts. Frekventistisk n A /n P(A) då n

Kompletterande kurslitteratur om serier

F4 Matematikrep. Summatecken. Summatecken, forts. Summatecken, forts. Summatecknet. Potensräkning. Logaritmer. Kombinatorik

Lösningar och kommentarer till uppgifter i 1.1

Binomialsatsen och lite kombinatorik

Tentamen i Sannolikhetsteori III 13 januari 2000

Kontrollskrivning 2 till Diskret Matematik SF1610, för CINTE1, vt 2019 Examinator: Armin Halilovic Datum: To Σ p P/F Extra Bonus

Borel-Cantellis sats och stora talens lag

Datastrukturer och algoritmer

Vad är det okända som efterfrågas? Vilka data är givna? Vilka är villkoren?

Hambley avsnitt 12.7 (även 7.3 för den som vill läsa lite mer om grindar)

Hambley avsnitt 12.7 (även 7.3 för den som vill läsa lite mer om grindar)

Innehåll Grafräknaren och diskret matematik...1 Vad handlar diskret matematik om?...1 Permutationer och kombinationer...3 Något om heltalsräkning...

= (1 1) + (1 1) + (1 1) +... = = 0

(a) om vi kan välja helt fritt? (b) om vi vill ha minst en fisk av varje art? (c) om vi vill ha precis 3 olika arter?

Fourierserien. fortsättning. Ortogonalitetsrelationerna och Parsevals formel. f HtL g HtL t, där T W ã 2 p, PARSEVALS FORMEL

Statistisk analys. Vilka slutsatser kan dras om populationen med resultatet i stickprovet som grund? Hur säkra uttalande kan göras om resultatet?

Uppsala Universitet Matematiska Institutionen Bo Styf. Att repetera.

Andra ordningens lineära differensekvationer

Föreskrift. om publicering av nyckeltal för elnätsverksamheten. Utfärdad i Helsingfors den 2. december 2005

Trigonometriska polynom

2. Konfidensintervall för skillnaden mellan två proportioner.

Inledande kombinatorik LCB 2001

RESTARITMETIKER. Avsnitt 4. När man adderar eller multiplicerar två tal som t ex

1. BERÄKNING AV GRÄNSVÄRDEN ( då x 0 ) MED HJÄLP AV MACLAURINUTVECKLING. n x

Lösningar till tentamensskrivning i kompletteringskurs Linjär Algebra, SF1605, den 10 januari 2011,kl m(m + 1) =

Föreläsning G04: Surveymetodik

Tentamenskrivning, , kl SF1625, Envariabelanalys för CINTE1(IT) och CMIEL1(ME ) (7,5hp)

Uppsala Universitet Matematiska Institutionen Bo Styf. Genomgånget på föreläsningarna Föreläsning 26, 9/2 2011: y + ay + by = h(x)

Analys av algoritmer. Beräkningsbar/hanterbar. Stora Ordo. O(definition) Datastrukturer och algoritmer. Varför analysera algoritmer?

vara ett polynom där a 0, då kallas n för polynomets grad och ibland betecknas n grad( P(

x 1 x 2 x 3 x 4 x 5 x 6 HL Z x x x

Operativsystem - Baklås

b 1 och har för olika värden på den reella konstanten a.

Egna funktioner. Vad är sin? sin är namnet på en av många inbyggda funktioner i Ada (och den återfinns i paketet Ada.Numerics.Elementary_Functions)

Systemdesign fortsättningskurs

. Mängden av alla möjliga tillstånd E k kallas tillståndsrummet.

TATM79: Föreläsning 2 Absolutbelopp, olikheter och binomialkoefficienter

Inledande matematisk analys (TATA79) Höstterminen 2016 Föreläsnings- och lekionsplan

TENTAMEN I MATEMATISK STATISTIK Datum: 13 mars 08

MS-A0409 Grundkurs i diskret matematik I

Webprogrammering och databaser. Begrepps-modellering. Exempel: universitetsstudier Kravspec. ER-modellen. Exempel: kravspec forts:

Armin Halilovic: EXTRA ÖVNINGAR

Tommy Färnqvist, IDA, Linköpings universitet

Design mönster. n n n n n n. Command Active object Template method Strategy Facade Mediator

H1009, Introduktionskurs i matematik Armin Halilovic. använder vi oftast induktionsbevis.

UPPSKATTNING AV INTEGRALER MED HJÄLP AV TVÅ RIEMANNSUMMOR. Med andra ord: Vi kan approximera integralen från båda sidor

Tillämpad biomekanik, 5 poäng Plan rörelse, kinematik och kinetik

Duo HOME Duo OFFICE. Programmerings manual SE

Digitalteknik F6. Några sammansatta digitala komponenter och lite designmetodik. Digitalteknik F6 bild 1

Introduktion till statistik för statsvetare

Lycka till! I(X i t) 1 om A 0 annars I(A) =

Ca m 3 = ton. Masshantering Sven Brodin. Dessa mängder ska Stockholms Stad transportera varje månad.

Räkning med potensserier

Följande begrepp används ofta vid beskrivning av ett statistiskt material:

Datorövning 2 Fördelningar inom säkerhetsanalys

Tentamen i Statistik, STA A13 Deltentamen 2, 5p 5 juni 2004, kl

Databaser - Design och programmering. Programutveckling. Programdesign, databasdesign. Kravspecifikation. ER-modellen. Begrepps-modellering

Databaser - Design och programmering. Databasdesign. Kravspecifikation. Begrepps-modellering. Design processen. ER-modellering

Tentamen 19 mars, 8:00 12:00, Q22, Q26

Tentamen i Elektronik, ESS010, del 2 den 14 dec 2009 klockan 14:00 19:00.

Jag läser kursen på. Halvfart Helfart

Tentamen i Statistik, STA A13 Deltentamen 2, 5p 20 januari 2007, kl

D 45. Orderkvantiteter i kanbansystem. 1 Kanbansystem med två kort. Handbok i materialstyrning - Del D Bestämning av orderkvantiteter

Bilaga 1 Formelsamling

Matematisk statistik TMS063 Tentamen

Intervallskattning. c 2005 Eric Järpe Högskolan i Halmstad. Antag att vi har ett stickprov x 1,..., x n på X som vi vet är N(µ, σ) men vi vet ej

1. Hur gammalt är ditt barn?

Visst kan man faktorisera x 4 + 1

NEWTON-RAPHSONS METOD (en metod för numerisk lösning av ekvationer)

1. (a) Eftersom X och Y har samma fördelning så har de även samma väntevärde och standardavvikelse. E(X 2 ) = k

Antalet sätt att välja ut r objekt bland n stycken med hänsyn till ordning är np r = n(n 1) (n r + 1).

NEWTON-RAPHSONS METOD (en metod för numerisk lösning av ekvationer)

Handbok i materialstyrning - Del F Prognostisering

a) Beräkna E (W ). (2 p)

Föreläsningar 7,8 sept 24, sept 26 v 39). delvis DD Chapter 6.

APPROXIMATION AV SERIENS SUMMA MED EN DELSUMMA OCH EN INTEGRAL

Stat. teori gk, ht 2006, JW F13 HYPOTESPRÖVNING (NCT ) Ordlista till NCT

LINJÄR ALGEBRA II LEKTION 4

Grammatik för språkteknologer

Transkript:

DD2458, Problemlösig och programmerig uder press Föreläsig 10: Kombiatorik Datum: 2009-11-18 Skribeter: Cecilia Roes, A-Soe Lidblom, Ollata Cuba Gylleste Föreläsare: Fredrik Niemelä 1 Delmägder E delmägd av e mägd [] a 1, a 2,..., a är e mägd såda att varje elemet i delmägde s i mägde []. För att kostruera e delmägd ka ma för varje elemet i ursprugsmägde bestämma huruvida det ska vara e del av delmägde eller ite, det totala atalet delmägder blir då 2, alltså atalet möjliga kombiatioer av sådaa val. 1.1 Biomialtale k kallas biomialtal och är atalet delmägder av med storlek k. Ma ka också se det som atalet sätt att välja k elemet ur. Notera att k bara är deierat för icke-egativa k och, och för k > är k oll, eftersom det ite s ågot sätt att välja er elemet ä vad som s i mägde. Totala atalet delmägder är då summa av alla biomialtal där k går frå 0 till : i0 2 i Biomialtale ka deieras rekursivt på följade sätt 1 1 +, 1. k k 1 k 0 Detta ka visas geom kostruktio på följade sätt: Välj ett godtyckligt elemet x i e mägd X av storlek, för varje delmägd av storlek k gäller att detta elemet atige är i delmägde, eller i delmägdes komplemet. Atalet delmägder av storlek k sådaa att elemetet är i delmägde är atalet delmägder av storlek k 1 ur mägde X \ {x}, detta blir 1 k 1. Atalet delmägder sådaa att x är i dess komplemet är helt ekelt atalet delmägder av storlek k ur X \ {x}, alltså 1 k. Biomialtale är kopplade till Pascals triagel, då dea byggs upp på ett likade sätt. I triagel är värdet på uvarade positio summa av de två ärmaste tale på rade ovaför. Så för att hitta k i Pascals triagel tittar ma på det k:te elemetet på rad. 1

2 DD2458 Popup HT 2009 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 Figure 1: Pascals triagel Ma ka beräka biomialtale direkt ur de rekursiva formel ova. Görs detta uta memoiserig är tidskomplexitete expoetiell, O2. Med memoiserig däremot får vi O 2, då tale i gur 2 måste beräkas ebart e gåg. 2 Figure 2: Beräkade biomialtal För att beräkige skall bli mer eektiv ka ma istället aväda formel:! k k!k! 1 2... k k + 1... 1 2... k1 2... k vilket ger oss algoritm 1. Algorithm 1: Räkar ut k Biomial, k 1 r 1 2 for i 1 to k 3 r r k + i/i 4 retur r k + 1 k + 2..., 1 2... k Att vi i for-loope ka dela med i beror på att hela tide är mist e av termera vi multiplicerat i i r delbar med i. För att detta skall vara sat måste vi först multiplicera ia vi delar. Dea algoritm går i O, me har lite större risk för overow. Om ma aväder de rekursiva formel är största talet utdata, me i de här algoritme får vi i sista varvet av for-loope ett tal som är e faktor k större ä svaret. För att geerera alla delmägder av e mägd med storlek ka ma helt ekelt räka uppåt frå 0 till 2 och titta på de biära represetatioe av dessa tal, där e etta på positio i betyder att det i:te elemetet är med i delmägde, och e olla betyder att det ite är det.

Kombiatorik 3 1.2 Multiomialtale 1, 2,..., k kallas multiomialtal och är atalet sätt ma ka dela e mägd av k storlek i delmägder av storlekar 1, 2,..., k där i. Likt biomialtale ka multiomialtale deieras rekursivt som 1, 2,..., k i1 i1 k 1 1, 2,..., i 1,..., k Alterativt ka de deieras ur biomialtale som 1, 2,..., k k i 1 j1 j i i1! 1! 2! k!., då e motsvarade uppdelig ka kostrueras geom att först välja 1 elemet ur de ursprugliga mägde, seda 2 ur de resterade och så vidare. Notera att det sista elemetet i varje såda expasio alltid är lika med 1. Detta ger ett ekelt sätt att återaväda algoritmer för biomialtal för att beräka multiomialtal. Ma ser äve lätt ur dea idetitet att multiomialtalet är lika med biomialtalet k. k, k 2 Permutatioer Om ma bara har uika elemet är atalet permutatioer av elemet! stycke, först väljs ett elemet blad, se ett blad 1 osv. Hur måga s det då ma tillåter upprepigar? Exempel: Hur måga permutatioer s det av sträge abacca? Elemete a 3 bc 2 ska placeras ut på 6 platser. Att placera ut 3 stycke a: på 6 platser ka göras på 6 3 sätt. Det lämar 3 platser kvar till b, som alltså ka sättas ut på 3 1 sätt. Seda s det 2 platser kvar till de 2 c:a 2 2. Detta är samma sak som atalet delmägder där vi har 3,2 resp 1 elemet i varje 6 3,2,1. Om ma täker sig att ma delar upp positioera, istället för bokstävera, i delmägder så ser ma att ma får 3 delmägder, e med 3 elemet där a:a skall få plats, e med 2 elemet för c:a och e med 1 elemet för b:et. Atalet permutatioer är ma tillåter upprepigar är alltså multiomialtalet 1, 2,..., k där i är atalet förekomster av elemet i. Hur gör ma då för att geerera alla permutatioer? Det gör ma med 3 ekla steg: 1. Hitta första 2. Ta ästa, upprepa 3. Hitta sista

4 DD2458 Popup HT 2009 Första elemetet är de sorterade sträge, tex aaabcc, och sista är de bakåtsorterade sträge ccbaaa. Hur hittar ma då ästa? Det är alltid e fråga om att byta plats på saker, och ma vill alltid byta så lite som möjligt, de ästföljade sträge skall vara så lite större ä de föregåede som möjligt. Ma vill byta elemetet på de mist sigikata platse som är midre ä ågot av elemete till höger om sig och ma vill byta med det mista elemet till höger som är större. Seda vill ma sortera allt till höger för att få e så lite ökig som möjligt. Ex. abac ac abac ca och ac acba ac bcaa ac baac. Om elemete ite har e ibördes ordig ka e godtycklig ordig avädas. Algorithm 2: Hittar ästa permutatio ext_permutatiox, 1 for i 1 to 1 2 if x i < x i+1 3 break 4 for j to i + 1 5 if x j > x i 6 break 7 swapx j,x i 8 reversex i+1,x 9 retur x Permutatiosalgoritme ka äve avädas till att geerera alla delmägder med k elemet. Ma skapar då e sträg beståede av k stycke 1:or och k 0:or och kör permutatiosalgoritme på de. För biära tal s det e bättre algoritm, som ka avädas på system som aväder 2-komplemets represetatio. Algorithm 3: Hittar ästa permutatio ext 1 c AND % d j 2 r + c % swap 3 retur r XOR /4 c OR r % reverse Ett alterativ för portabel kod är att aväda prexikremet istället för bitoperatioera. 3 Partitioer E partitio av e mägd, är e uppdelig av mägde i disjukta, icketomma delmägder, dvs. B B 1, B 2,..., B k är e partitioerig i k delar omm B i [] B i Bj B i Dessa delmägder kallas äve block.

Kombiatorik 5 3.1 Stirligtal Atalet partitioer av [] i k block är Stirligtale av det adra slaget, dessa ka deieras rekursivt som S, k S 1, k 1 + k S 1, k, { 0 k >, k < 0, < 0 S, k 1 k 0, 0 Liksom med biomialtal ka detta visas geom kostruktio: Välj ett godtyckligt elemet x ur e mägd X med storlek, detta elemet är atige esam i sitt block, eller ite. Av det första fallet måste det as S 1, k 1 kombiatioer, dvs. atalet partitioer av X \ {x} i k 1 block. För att beräka atalet kombiatioer av det adra fallet kostateras att X \ {x} ka partitioeras i k block på S 1, k olika sätt, i varje såda kombiatio ka k olika partitioer av X bildas geom att stoppa i x i de k olika blocke. Det totala atalet partitioer i det adra fallet blir alltså k S 1, k. 3.2 Belltal Belltale beteckar det totala atalet partitioer av e mägd med storlek. Dessa har ett ekelt sambad till Stirligtale, då det är summa av atalet partitioer av mägde i i block för alla 1 i. B S, k k1 Belltale ka äve deieras rekursivt som B k1 1 B k. k 1 Vilket ka visas geom kostruktio som följer: Välj ett godtyckligt elemet x ur e mägd X av storlek. I varje partitio av mägde X är x i e partitio, dea partitio har e storlek k, 1 k. Atalet sätt att kostruera e partitio av storlek k ur mägde X \ {x} är 1 k 1. Atalet sätt att partitioera resterade k elemet på är B k. Atalet partitioer av X såda att x tillhör e partitio av storlek k är alltså 1 B k k 1 Det totala atalet sätt blir då k1 1 B k. k 1

6 DD2458 Popup HT 2009 4 Catalatal Catalatale ka avädas till mycket, de beskriver blad aat atalet biära träd och atalet sätt att korrekt placera ut pareteser. Tale ka deieras rekursivt som 1 C Ck C k 1, C0 1, k0 där ma ka täka sig att ma summerar över alla kombiatioer av storlekar på delträde, där k är storleke på det västra delträdet, och k 1 blir storleke på högra delträdet. Alla kombiatioer för C3 visas i gure eda. Figure 3: Catalatal som träd Parallelle med parateser ka förklaras geom att e korrekt paretetiserig alltid ka skrivas på forme XY, där X motsvarar väster delträd och Y motsvarar höger delträd dessa är alltså äve de på forme X Y såtillvida de ite är tomma, i vilket fall de represeteras av de tomma sträge.