Παραδείγματα Συνδυαστική Απαρίθμηση Διδάσκοντες: Φ. Αφράτη, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο n θρανία στη σειρά για k φοιτητές που εξετάζονται (n 2k-). #τοποθετήσεων ώστε τουλάχιστον μια κενή θέση ανάμεσα σε κάθε ζευγάρι φοιτητών. Μεταθέσεις k φοιτητών: k! (καταλαμβάνουν k θρανία). Τοποθετούμε k θρανία ανάμεσά τους. Υπόλοιπα n 2k+ (ίδια) θρανία στις k+ διακεκριμένες «υποδοχές» στην αρχή, στο τέλος, και ανάμεσα σε φοιτητές. C((k+) + (n 2k+), n-2k+) = C(n k+, n-2k+) = C(n k+, k) Τελικά C(n k+, k) k! = (n-k+)!/(n-2k+)! Διαφορετικά μεταθέσεις (με ομάδες) k διαφορετικών αντικειμένων (φοιτητών) και n-2k+ ίδιων αντικειμένων (ελεύθερων θρανίων). Συνδυαστική Απαρίθμηση 2 Παραδείγματα Παραδείγματα 2n+ κοινοβουλευτικές έδρες να μοιραστούν σε 3 κόμματα ώστε αν οποιαδήποτε 2 συμφωνούν να έχουν πλειοψηφία. #διανομών 2n+ (ίδιες) μπάλες σε 3 διακεκριμένες υποδοχές ώστε κάθε υποδοχή n μπάλες. #διανομών χωρίς περιορισμούς: Πόσα υποσύνολα 4 στοιχείων του Α = {,..., 5} δεν περιέχουν διαδοχικούς αριθμούς; Υποσύνολο ως 4άδα (α, α 2, α 3, α 4 ) όπου α < α 2 < α 3 < α 4 5 - αντιστοιχία μεταξύ τέτοιων 4άδων (α, α 2, α 3, α 4 ) και λύσεων της εξίσωσης β +β 2 +β 3 +β 4 +β 5 =4 στους φυσικούς με β 2, β 3, β 4 : #διανομών όπου κάποια υποδοχή έχει n+ μπάλες: Επιλέγουμε (με 3 τρόπους) υποδοχή με «πλειοψηφία». Τοποθετούμεσεαυτήn+ μπάλες. #διανομών υπόλοιπων n μπαλών στις 3 υποδοχές: Τελικά #διανομών: Για να μην είναι α, α 2, α 3, α 4 διαδοχικοί, πρέπει β 2, β 3, β 4 2. Διανομή 4 ίδιων μπαλών σε 5 διαφορετικές υποδοχές, ώστε υποδοχές 2, 3, και 4 να έχουν τουλάχιστον 2 μπάλες. Αποτέλεσμα: C(2, ) = C(2, 4) = 495. Να γενικεύσετε για #υποσυνόλων k στοιχείων του {,, n} που δεν περιέχουν διαδοχικούς αριθμούς. Συνδυαστική Απαρίθμηση 3 Συνδυαστική Απαρίθμηση 4
Παραδείγματα Έστω το «τετράγωνο» που ορίζεται από τα σημεία (0, 0), (0, ), (0, 0), και (0, ). Πόσα διαφορετικά «μονοπάτια» από το (0, 0) στο (0, ), αν σε κάθε βήμα μετακινούμαστε είτε κατά μιαμονάδαπροςταπάνω είτε κατά μια μονάδα προς τα δεξιά. Πρέπει να κάνουμε βήματα Πάνω και 0 βήματα Δεξιά. #μονοπατιών = #μεταθέσεων Πκαι0 Δ =!/(0!!) Υποσύνολα Πολυσυνόλου #υποσύνολων πολυσυνόλου με k στοιχεία όπου κάθε στοιχείο p είναι διαθέσιμο σε n p «αντίγραφα». (+n )(+n 2 ) (+n k ) Για #μη κενών υποσυνόλων: (+n )(+n 2 ) (+n k ) #διαιρετών του 0; Ανάλυση σε γινόμενο πρώτων παραγόντων: 0 = 2 2 3 2 5. #διαιρετών 0 = #υποσυνόλων {{2, 2}, {3, 3}, {5}} #διαιρετών του 0 = 3 3 2 =. #διαιρετών του 400; Ανάλυση σε γινόμενο πρώτων παραγόντων: 400 = 2 3 5 2 7. #διαιρετών 400 = #υποσυνόλων {{2, 2, 2}, {5, 5}, {7}} #διαιρετών του 400 = 4 3 2 = 24. Συνδυαστική Απαρίθμηση 5 Συνδυαστική Απαρίθμηση 6 Ανακεφαλαίωση Δυωνυμικοί Συντελεστές Προβλήματα Διατάξεων σε k διακεκριμένες θέσεις επιλογή k από τα n αντικείμενα, κάθε επιλογή είναι «διαφορετική» n διακεκριμένα αντικείμενα Προβλήματα Συνδυασμών σε k μη διακεκριμένες θέσεις επιλογή k από τα n αντικείμενα, οι επιλογές είναι «ίδιες» Δυωνυμικό Θεώρημα: Ως άμεση συνέπεια: χωρίς επανάληψη (κάθε αντικείμενο διαθέσιμο σε «αντίγραφο») n! Pnk (, ) = ( n k)! με επανάληψη (κάθε αντικείμενο διαθέσιμο σε πολλά «αντίγραφα») Ισοδύναμο με διανομή k διακεκριμένων αντικειμένων σε n διακεκριμένες υποδοχές με επανάληψη (κάθε χωρίς επανάληψη (κάθε αντικείμενο διαθέσιμο σε αντικείμενο διαθέσιμο πολλά «αντίγραφα») σε «αντίγραφο») Ισοδύναμο με διανομή k μη διακεκριμένων αντικειμένων σε n διακεκριμένες υποδοχές n! Cnk (, ) = ( n k)! k! Προκύπτει συνδυαστικά ως #υποσυνόλων συνόλου με n στοιχεία. Με x = και y = : δεν παίζει ρόλο η σειρά παίζει ρόλο η σειρά στις υποδοχές στις υποδοχές k n ( n+ k )! ( n )! Μεταθέσεις (n = k): P( nn, ) = n! ( n+ k )! Cn ( + k, k) = ( n )! k! Απόδειξη για αρχή εγκλεισμού αποκλεισμού: Για x = 2 και y = : Μεταθέσεις n αντικειμένων n! όταν έχουμε k ομάδες ίδιων αντικ. με πληθάριθμο n,, nk : n! n2! nk! Συνδυαστική Απαρίθμηση 7 Συνδυαστική Απαρίθμηση
Ταυτότητα του Pascal Τρίγωνο του Pascal Ταυτότητα του Pascal: #τρόπων να επιλέξουμε k από n αντικείμενα: Αναδρομική σχέση για υπολογισμό δυωνυμικών συντελεστών: 0 είτε επιλέγουμε το τελευταίο και επιλέγουμε τα άλλα k από τα υπόλοιπα n- αντικείμενα, είτε δεν επιλέγουμε το τελευταίο και επιλέγουμε όλα τα k από τα υπόλοιπα n- αντικείμενα. Η τεχνική σήμερα είναι γνωστή ως δυναμικός προγραμματισμός. n 2 3 4 5 6 7 2 3 3 4 6 4 5 0 0 5 6 5 20 5 6 7 2 35 35 2 7 2 56 70 56 2 9 9 36 4 26 26 4 36 9 Συνδυαστική Απαρίθμηση 9 Συνδυαστική Απαρίθμηση 0 Ταυτότητα Vandermonde Ταυτότητα Vandermonde: #τρόπων να επιλέξουμε r από n (αριθμημένες) πράσινες μπάλες και m (αριθμημένες) κόκκινες μπάλες: Επιλέγουμε r k από m κόκκινες k από n πράσινες με C(m, r k) C(n, k) τρόπους. Αμοιβαία αποκλειόμενα ενδεχόμενα για διαφορετικές τιμές του k. Άμεση συνέπεια: Δημιουργία Μεταθέσεων... n αντικειμένων σε λεξικογραφική σειρά. Συνάρτηση που επιστρέφει (λεξικογραφικά) επόμενη μετάθεση. Ελάχιστη: αντικείμενα σε αύξουσα σειρά. Μέγιστη: αντικείμενα σε φθίνουσα σειρά. Δεδομένης μετάθεσης α α 2...α n : Υπολόγισε ελάχιστη δυνατή κατάληξη που επιδέχεται (λεξικογραφικής) αύξησης. Υπολογισμός επόμενης μετάθεσης (που δεν έχει εμφανιστεί ήδη ως κατάληξη) για αυτή την κατάληξη. 2 3 4 2 4 3 3 2 4 3 4 2 4 2 3 4 3 2 2 3 4 2 4 3 2 3 4 2 3 4 2 4 3 2 4 3 3 2 4 Συνδυαστική Απαρίθμηση 4 3 2
Δημιουργία Μεταθέσεων Δεδομένης μετάθεσης α α 2...α n : Μέγιστος δείκτης j τ.ω. α j < α j+ (άρα α j+ > α j+2 > α n- > α n ) Επόμενη μετάθεση α α 2...α n : Πρόθεμα α... α j- αμετάβλητο. α j = ελάχιστο από τα α j+,..., α n που «ξεπερνά» το α j. Υπόλοιπα από τα α j, α j+,..., α n (εκτός αυτού που πήρε θέση j) σε αύξουσα σειρά. 36254 36425 476532 523467 2 3 4 2 4 3 3 2 4 3 4 2 4 2 3 Δημιουργία Μεταθέσεων 4 3 2 2 3 4 2 4 3 Υλοποίηση: 2 3 4 Μέγιστο j τ.ω. α j < α j+. 2 3 4 Ισχύει ότι α j+ > α j+2 >... > α n. 2 4 3 Μετά την αντιμετάθεση των 2 4 3 α j και α k, τα α j+,, α n 3 2 4 είναι ταξινομημένα σε 3 4 2 φθίνουσα σειρά. 3 2 4 3 2 4 Αντιμετάθεση ζευγών 3 4 2 3 4 2 4 2 3 (α j+, α n ), (α j+2, α n- ), κοκ. καταλήγει σε ταξινόμηση σε αύξουσα σειρά. 4 3 2 4 2 3 4 2 3 4 3 2 Υλοποίηση χωρίς ταξινόμηση σε χρόνο Ο(n). 4 3 2 Συνδυαστική Απαρίθμηση 4 Δημιουργία Συνδυασμών Δημιουργία Συνδυασμών Όλοι οι (2 n ) συνδυασμοί n αντικειμένων: δημιουργία δυαδικών αριθμών μήκους n. Δημιουργία όλων των συνδυασμών k αντικειμένων από n σε λεξικογραφική σειρά. Συνάρτηση για επόμενο συνδυασμό. Αντικείμενα σε αύξουσα σειρά. Ελάχιστος: 2... k. Μέγιστος: (n k +) n Δεδομένης μετάθεσης α α 2...α n : Υπολόγισε ελάχιστη δυνατή κατάληξη που επιδέχεται αύξησης. Αύξηση λαμβάνει υπόψη ότι έχουμε συνδυασμούς. 2 3 4 2 3 5 2 3 6 2 4 5 2 4 6 2 5 6 3 4 5 3 4 6 3 5 6 3 4 5 6 Δεδομένου συνδυασμού α α 2...α k : Μέγιστος δείκτης j τ.ω. α j n k+j (άρα α j+ α k μέγιστος συνδυασμός k j στοιχείων) Επόμενος συνδυασμός α α 2...α k : Πρόθεμα α... α j- αμετάβλητο. α j = α j +. Τα επόμενα στοιχεία (α j +2, α j + 3,...) στις υπόλοιπες θέσεις. 2 3 4 2 3 5 2 3 6 2 4 5 2 4 6 2 5 6 3 4 5 3 4 6 3 5 6 4 5 6 2 3 4 5 2 3 4 6 2 3 5 6 2 4 5 6 3 4 5 6
Δημιουργία Συνδυασμών Εφαρμογή: Διακριτή Πιθανότητα Υλοποίηση σε χρόνο Ο(k). Διακριτός δειγματοχώρος: αριθμήσιμο σύνολο Ω, όπου ω Ω, αντιστοιχούμε p(ω) [0, ] και Γεγονός Ε: υποσύνολο Ω. p(e) = Πιθανότητα για 6άρες στο τάβλι: /36. Πιθανότητα για 6-5 στο τάβλι: 2/36. Πιθανότητα για ίδιο αποτέλεσμα στα 2 ζάρια: 6*/36 = /6. Πιθανότητα αν πάρουμε 6 φύλλα από μία (καλά ανακατεμένη) τράπουλα να έχουμε 4 άσσους; C(4, 2)/C(52, 6). Πιθανότητα υπάρχουν 2 από k (τυχαία επιλεγμένους) ανθρώπους να έχουν γενέθλια την ίδια ημέρα; Συνδυαστική Απαρίθμηση 7 Συνδυαστική Απαρίθμηση