Θεωρία & Αλγόριθμοι Γράφων Αντιστοιχίσεις και Καλύμματα

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Εισαγωγή στους Γράφους
Advertisements

1 Τα Προβλήματα TSP & RSA Σε αυτές τις διαφάνειες παρουσιάζουμε μια σύντομη ανάλυση  του προβλήματος του Περιοδεύοντα Πωλητή (Traveling.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές
1 Αλγοριθμική Θεωρία Γραφημάτων Ακαδ. ‘Ετος Τμήμα Πληροφορικής - Πανεπιστήμιο Ιωαννίνων Διάλεξη 1.
Γράφοι: Προβλήματα και Αλγόριθμοι
Σχεδιαση Αλγοριθμων - Τμημα Πληροφορικης ΑΠΘ - Κεφαλαιο 9ο1 Άπληστοι αλγόριθμοι βελτιστοποίησης Προβλήματα βελτιστοποίησης λύνονται με μια σειρά επιλογών.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Κεφάλαιο 9: Αντιστοιχίσεις και καλύμματα Data Engineering Lab.
Το Πρόβλημα Routing and Path Coloring και οι εφαρμογές του σε πλήρως οπτικά δίκτυα Ευχαριστίες: οι διαφάνειες αυτές βασίστηκαν εν μέρει στην παρουσίαση.
Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές Ενότητα 8 Τ ΕΛΕΙΑ Γ ΡΑΦΗΜΑΤΑ Σταύρος Δ. Νικολόπουλος 1.
Θεωρία Γράφων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές TSP, Μέτρα κεντρικότητας, Dijkstra Data Engineering Lab.
Δομές ΔεδομένωνΤμήμα Πληροφορικής ΑΠΘ1 Δομές Δεδομένων - DFS σε κατευθυνόμενο γράφο - Ελάχιστα Μονοπάτια - Τοπολογική Ταξινόμηση - Eλάχιστα Ζευγνύοντα.
ΗΥ Καλοκαιρινός Γιώργος1 PCI Bus Pin List. ΗΥ Καλοκαιρινός Γιώργος2 Initiator Target.
AMORE Patra, Combined Bus and Driver Scheduling C. Valouxis, E. Housos Computers and Operation Research Journal Vol 29/3, pp , March 2002.
Προσομοίωση Δικτύων 4η Άσκηση Σύνθετες τοπολογίες, διακοπή συνδέσεων, δυναμική δρομολόγηση.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Εξόρυξη Δεδομένων Απορροφητικοί τυχαίοι περίπατοι. Προβλήματα κάλυψης Διδάσκων: Επίκ. Καθ. Παναγιώτης.
Ο Άνθρωπος είναι ένα ον το οποίο φτιάχνει πολιτισμό και έχει βαθύ στοχασμό, συναισθήματα και σεβασμό στη ζωή των άλλων. Ορισμός.
Η προοπτική εξέλιξης των προγραμμάτων Ηλεκτρονικής Διά Βίου Μάθησης στην Ελλάδα Συμεών Δ. Ρετάλης & Γ. Κορρές ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΑ ΤΜΗΜΑ ΔΙΔΑΚΤΙΚΗΣ ΤΗΣ.
ΤΕΙ ΚΑΛΑΜΑΤΑΣ - ΧΡΗΜΕ ΔΙΟΙΚΗΣΗ ΠΡΟΣΩΠΙΚΟΥ ΘΕΡΙΝΟ ΕΞΑΜ Προγραμματισμός Α.Δ. – Ανάλυση Εργασίας.
Πρωί ανοιξιάτικης μέρας σε μια συνοικία της Αθήνας …
ERASMUS+ - ΒΔ 1 Σχολική Εκ π αίδευση – Εκ π αίδευση Ενηλίκων Ημερίδα Παροχής Πληροφοριών για τη Διαχείριση και Υλοποίηση των Εγκεκριμένων Σχεδίων (Πρόσκληση.
Ανακαλύπτοντας την Πληροφορική: Βάσεις Δεδομένων Γεώργιος Χατζημηλιούδης Ειδικός Επιστήμονας 8 Οκτωβρίου 2015.
Θεωρία & Αλγόριθμοι Γράφων Θεωρία & Αλγόριθμοι Γράφων Εφαρμογές DFS Data Science Lab 1.
15o Ελληνικό Συμπόσιο Διαχείρισης Δεδομένων (ΕΣΔΔ’17)
Relations Chapter 9.
Θεωρία Γραφημάτων Ενότητα 9 Μετασχηματισμοί Υπολογιστικών Προβλημάτων
Μη Γραμμική Θεωρία Ελαστικής Ευστάθειας: Θεμελιώδες Υλικό
Εισαγωγή στη Βιοπληροφορική
Θεωρία & Αλγόριθμοι Γράφων Αλγόριθμοι Επιπεδικότητας
Αλγόριθμοι Ταξινόμησης – Μέρος 3
9 Η Γλώσσα SQL Εισαγωγή – Βασικές Έννοιες Τύποι Δεδομένων
Αικ. Σταματελάτου, επ. καθηγήτρια
Εισαγωγή στις Πιθανότητες
φίλτρα IIR (Infinite Impulse Response)
Ποιοί είναι οι δικαστικοί σχηματισμοί του Δικαστηρίου;
Η Πρακτική Άσκηση Φοιτητών στη Eurobank EFG
Πανεπιστήμιο Θεσσαλίας
Θεωρία & Αλγόριθμοι Γράφων Αποστάσεις
Θεωρία & Αλγόριθμοι Γράφων Επιπεδικότητα
Θεωρία & Αλγόριθμοι Γράφων Δένδρα
Χωρικοί-χρονικοί συμβιβασμοί
Ο Κύκλος του Νερού (Φυσική) Μεταβιτσιάδου Ελένη Σελίδα 1
ΕΛΛΗΝΙΚΕΣ ΕΒΡΑΪΚΕΣ ΚΟΙΝΟΤΗΤΕΣ
Το να γίνεις ευτυχισμένος
Μελέτες παρατήρησης Περιγραφικές έρευνες
EPL231 – Data Structures and Algorithms
ΑΛΚΟΟΛ ΚΑΠΝΙΣΜΑ ΝΑΡΚΩΤΙΚΑ ΤΥΧΕΡΑ ΠΑΙΧΝΙΔΙΑ ΗΛΕΚΤΡΟΝΙΚΑ ΜΕΣΑ
Ερώτηση : Τι βαθμό πήρατε στα Καλλιτεχνικά;
ΚΑΤΑΚΛΙΣΗ ΔΙΑΜΕΡΙΣΜΑΤΟΣ ΑΠΌ ΘΑΛΑΣΣΑ
ΤΟ ΠΡΟΤΥΠΟ ΤΟΥ ΚΑΝΟΝΙΚΟΥ ΟΜΗΛΙΚΟΥ ΔΑΣΟΥΣ
‘’ΚΟΛΛΗΤΟΥΜΠΙΝΑΚΙΑ’’
Διεθνής Ημέρα Μνήμης για τα θύματα του Ολοκαυτώματος
Aρχιτεκτονική άμεσων ενισχύσεων
ΤΟ ΟΛΟΚΑΥΤΩΜΑ ΤΟΥ ΧΟΡΤΙΑΤΗ
ΤΜΗΜΑ : Πρακτικών Ασκήσεων Διδασκαλίας (ΠΑΔ)
Πανεπιστήμιο Θεσσαλίας
Θεωρία Συνόλων - Set Theory
ΓΡΑΜΜΕΣ - ΓΡΑΜΜΑΤΑ - ΓΕΩΜΕΤΡΙΚΕΣ ΚΑΤΑΣΚΕΥΕΣ
Study in Holland: open to international minds
ΑΣΚΗΣΗ στην ΕΓΚΥΜΟΣΥΝΗ
ΚΑΘΟΔΟΣ ΤΩΝ ΠΕΛΟΠΟΝΝΗΣΟΣ ΕΙΛΩΤΕΣ-ΠΕΡΙΟΙΚΟΙ ΓΕΩΜΕΤΡΙΚΑ ΧΡΟΝΙΑ
ΜΠΣ: Διοίκηση & Διαχείριση
ΤΕΙ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΔΙΑΧΕΙΡΙΣΗΣ ΕΡΓΩΝ ΘΕΜΑ ΠΤΥΧΙΑΚΗΣ: ΔΗΜΙΟΥΡΓΙΑ ΕΓΧΕΙΡΙΔΙΟΥ.
Study of K+ K- π0 in J/y →h’ K+ K- π0
Τεχνολογία & εφαρμογές μεταλλικών υλικών
Αγαπημένο μου παιδί....
Max-Flow: Non-terminating example with irrational capatcities
გრაფები. ცნებები და განსაზღვრებები.
ΔΙΑΣΤΗΜΑ.
ΔΙΟΙΚΗΣΗ & ΔΙΑΧΕΙΡΙΣΗ ΕΡΓΩΝ
Αναζήτηση (Εξερεύνηση) Πρώτα σε Πλάτος
Μεταγράφημα παρουσίασης:

Θεωρία & Αλγόριθμοι Γράφων Αντιστοιχίσεις και Καλύμματα Θεωρία & Αλγόριθμοι Γράφων Αντιστοιχίσεις και Καλύμματα Data Science and Engineering Lab

Data Science and Engineering Lab Αντιστοιχίσεις Αντιστοίχιση (matching) σε ένα γράφο G είναι ένα σύνολο ακμών του, που δεν είναι ανά δύο προσκείμενες. Η έννοια έχει νόημα σε ένα διγράφο αλλά και σε ένα γενικό γράφο Data Science and Engineering Lab

Data Science and Engineering Lab Αντιστοιχίσεις (2) Μέγιστη αντιστοίχιση (maximal matching) είναι μία αντιστοίχιση όταν δεν μπορεί να προστεθεί κάποια ακμή. Μεγαλύτερη μέγιστη αντιστοίχιση (largest maximal matching) είναι η μέγιστη αντιστοίχιση με το μεγαλύτερο αριθμό ακμών, που ονομάζεται αριθμός αντιστοίχισης (matching number). Data Science and Engineering Lab

Data Science and Engineering Lab Παραδείγματα Στην επάνω σειρά αντιστοιχίσεις, στην κάτω σειρά μέγιστες αντιστοιχίσεις Data Science and Engineering Lab

Data Science and Engineering Lab Αντιστοιχίσεις (3) Μία αντιστοίχιση με όλες τις κορυφές ενός γράφου ονομάζεται τέλεια (perfect). Μία τέλεια αντιστοίχιση λέγεται και 1-παράγοντας (1-factor). Μία ακμή λέγεται αδύναμη σε σχέση με μία αντιστοίχιση M (weak with respect to a matching M), αν δεν ανήκει στην αντιστοίχιση M. Μία κορυφή λέγεται αδύναμη σε σχέση με μία αντιστοίχιση M, αν πρόσκειται σε αδύναμες ακμές σε σχέση με την αντιστοίχιση M. Data Science and Engineering Lab

Data Science and Engineering Lab Αντιστοιχίσεις (4) Θεώρημα. Έστω M1 και M2 δύο αντιστοιχίσεις του γράφου G. Κάθε συνιστώσα του υπογράφου H με E(H) = (M1–M2) U (M2 –M1) ανήκει σε μία από τις εξής 3 κατηγορίες: είναι απομονωμένη κορυφή, ή είναι κύκλος άρτιου μήκους με ακμές που ανήκουν διαδοχικά στις αντιστοιχίσεις M1 και M2, είτε είναι ένα μονοπάτι περιττού μήκους με ακμές που ανήκουν διαδοχικά στις αντιστοιχίσεις M1 και M2, όπου οι δύο τερματικές κορυφές είναι αδύναμες σε σχέση με μία και μόνο μία αντιστοίχιση. Ο υπογράφος Η λέγεται συμμετρική διαφορά (symmetric difference). Data Science and Engineering Lab

Άσκηση 1 Να βρεθεί η συμμετρική διαφορά των εξής γράφων A B C D E F G A B C D E F G H I J K L M N H I J K L M N A B C D H I J K E L F M G N Από τι συνιστώσες αποτελείται? Data Science and Engineering Lab

Data Science and Engineering Lab Αυξανόμενο μονοπάτι Εναλλασσόμενο μονοπάτι (alternating path) λέγεται ένα μονοπάτι, όπου διαδοχικά οι ακμές είναι αδύναμες και δεν είναι αδύναμες (ή το αντίστροφο) σε σχέση με μία αντιστοίχιση M. Αυξανόμενο μονοπάτι (augmenting path) λέγεται ένα εναλλασσόμενο μονοπάτι, όπου οι τερματικές κορυφές είναι αδύναμες σε σχέση με μία μόνο αντιστοίχιση M. Θεώρημα (Berge, 1957). Μία αντιστοίχιση M ενός γράφου G είναι μέγιστη, αν και μόνο αν δεν υπάρχει κάποιο αυξανόμενο μονοπάτι στο γράφο G. Data Science and Engineering Lab

Παράδειγμα αυξανόμενου μονοπατιού Μ: (2,3), (5,4), (7,8) Εναλλασσόμενο μονοπάτι ? Αυξανόμενο μονοπάτι ? Data Science and Engineering Lab

Αντιστοιχίσεις και διγράφοι Έστω ένας διγράφος με δύο σύνολα κορυφών V1, V2, όπου |V1| ≤ |V2|. Πλήρης αντιστοίχιση (complete matching) των κορυφών του συνόλου V1 στο σύνολο V2 είναι η αντιστοίχιση όπου για κάθε κορυφή του συνόλου V1 υπάρχει μία προσπίπτουσα ακμή. Η πλήρης αντιστοίχιση είναι μεγαλύτερη μέγιστη, ενώ το αντίθετο δεν ισχύει γενικά. A B C D E F G Μεγαλύτερη μέγιστη αλλά όχι πλήρης Data Science and Engineering Lab

Αντιστοιχίσεις και διγράφοι (2) Θεώρημα (Hall, 1935). Έστω ένας διγράφος G(V1 U V2, E). Το σύνολο V1 μπορεί να αντιστοιχισθεί σε ένα υποσύνολο του V2 αν και μόνο αν |N(S)| ≥ |S| δια παν S υποσύνολο του V1 Philip Hall (1904-1982) Data Science and Engineering Lab

Αντιστοιχίσεις και διγράφοι (3) Θεώρημα. Έστω ένας πίνακας m x n με 0 και 1. Μπορεί να βρεθεί μία κατάσταση όπου σε κάθε γραμμή και σε κάθε στήλη υπάρχει μόνο ένα 1, αν και μόνο αν κάθε ομάδα από r γραμμές έχουν 1 σε τουλάχιστον r στήλες, για κάθε r. Θεώρημα (Θεώρημα των γάμων). Ικανή και αναγκαία συνθήκη για λύση στο πρόβλημα των γάμων m ανδρών και w > m γυναικών είναι κάθε σύνολο από t άνδρες να γνωρίζουν συλλογικά τουλάχιστον t γυναίκες (όπου 1 ≤ t ≤ m). Data Science and Engineering Lab

Αντιστοιχίσεις και διγράφοι (4) Δοθέντων των συνόλων S1, S2, ..., Sk λέγεται ότι το στοιχείο xi є Si είναι ένας αντιπρόσωπος (representative) του συνόλου Si. Σκοπός είναι η εύρεση μίας συλλογής διακριτών αντιπροσώπων από τα σύνολα Si (όπου 1 ≤ i ≤ k). Αυτή η συλλογή ονομάζεται σύστημα διακριτών αντιπροσώπων (system of distinct representatives) ή εγκάρσια (transversal) συλλογή των συνόλων. Παράδειγμα: S1={1,2,3}, S2={1,4,5} S3={3,5}. Ένα σύστημα διακριτών αντιπροσώπων είναι {1,4,5} (επίσης {2,1,3}). Data Science and Engineering Lab

Αντιστοιχίσεις και διγράφοι (5) Θεώρημα (Θεώρημα του συστήματος διακριτών αντιπροσώπων). Ένα πεπερασμένο σύνολο μη κενών συνόλων S1,S2, ..., Sk (όπου k ≥ 1) έχει ένα σύστημα διακριτών αντιπροσώπων, αν και μόνο αν η ένωση οποιωνδήποτε t από αυτά τα σύνολα περιέχει τουλάχιστον t διακριτά στοιχεία για κάθε 1≤t≤k. Data Science and Engineering Lab

Αντιστοιχίσεις και διγράφοι (6) Αντιστοιχίσεις και διγράφοι (6) Αν είναι αδύνατο να βρεθεί μία πλήρης αντιστοίχιση σε ένα διγράφο G, τότε είναι σκόπιμο να βρεθεί μία μέγιστη αντιστοίχιση. Εισάγεται ένας νέος όρος, το έλλειμμα (deficiency), που συμβολίζεται με δ(G). Από το σύνολο V1 επιλέγεται ένα υποσύνολο r κορυφών που είναι γειτονικές προς q κορυφές που ανήκουν στο σύνολο των V2 κορυφών. Το έλλειμμα του διγράφου ισούται με τη μέγιστη τιμή του αριθμού r–q για κάθε τιμή του r=1,2,... και όλα τα υποσύνολα του V1. Θεώρημα. Σε ένα διγράφο G υπάρχει μία πλήρης αντιστοίχιση, αν και μόνο αν δ(G) ≤ 0. Data Science and Engineering Lab

Data Science and Engineering Lab Άσκηση 2 Για τους δύο γράφους να βρεθεί το έλλειμμα δ. Data Science and Engineering Lab

Άσκηση 3 Ποιοί διγράφοι έχουν τέλεια αντιστοίχιση? Data Science and Engineering Lab

Data Science and Engineering Lab Άσκηση 3 (συνέχεια) Data Science and Engineering Lab

Data Science and Engineering Lab Άσκηση 3 (συνέχεια) Data Science and Engineering Lab

Data Science and Engineering Lab Καλύμματα Λέγεται ότι μία κορυφή καλύπτει (covers) μία ακμή ή ότι μία ακμή καλύπτει μία κορυφή αν η ακμή είναι προσπίπτουσα στην κορυφή. Ένα υποσύνολο των κορυφών που καλύπτει όλες τις ακμές του γράφου ονομάζεται κάλυμμα κορυφών (vertex cover), ή απλώς κάλυμμα. Αντίστοιχα, ένα υποσύνολο των ακμών που καλύπτει όλες τις κορυφές του γράφου ονομάζεται κάλυμμα ακμών (edge cover). Data Science and Engineering Lab

Data Science and Engineering Lab Καλύμματα (2) Ένα κάλυμμα κορυφών (ακμών) ονομάζεται ελάχιστο (minimal) αν η εξαίρεση μίας οποιασδήποτε κορυφής (ακμής) καταστρέφει το κάλυμμα. Ο ελάχιστος αριθμός κορυφών από όλα τα ελάχιστα καλύμματα ενός γράφου G ονομάζεται καλύπτων αριθμός (covering number), α0(G). Ο ελάχιστος αριθμός ακμών από όλα τα ελάχιστα καλύμματα ακμών ονομάζεται καλύπτων αριθμός ως προς τις ακμές (edge covering number), α1(G). Ένα κάλυμμα κορυφών ή ακμών ονομάζεται μικρότερο ελάχιστο (smallest minimum) αν αποτελείται από α0 κορυφές ή α1 ακμές, αντιστοίχως. Ισχύει α0(Kn)=n-1 και α1(Kn)= └ (n+1)/2 ┘ Data Science and Engineering Lab

Παράδειγμα καλύπτοντος αριθμού Στην επάνω σειρά καλύμματα κορυφών, στην κάτω σειρά ελάχιστα καλύμματα κορυφών Data Science and Engineering Lab

Παράδειγμα καλύπτοντος αριθμού ως προς τις ακμές Στην επάνω σειρά καλύμματα ακμών, στην κάτω σειρά ελάχιστα καλύμματα ακμών Data Science and Engineering Lab

Data Science and Engineering Lab Ανεξάρτητα σύνολα Ένα σύνολο κορυφών ονομάζεται ανεξάρτητο (independent) αν δύο οποιεσδήποτε κορυφές του συνόλου αυτού δεν είναι γειτονικές και επομένως θα μπορούσαν να χρωματισθούν με το ίδιο χρώμα. Ένα ανεξάρτητο σύνολο ονομάζεται μέγιστο (maximum), αν δεν υπάρχει άλλο ανεξάρτητο σύνολο με περισσότερες κορυφές. Το πλήθος των κορυφών του μέγιστου ανεξάρτητου συνόλου ονομάζεται αριθμός ανεξαρτησίας κορυφών (vertex independence number) και συμβολίζεται με β0(G). Data Science and Engineering Lab

Data Science and Engineering Lab Ανεξάρτητα σύνολα (2) Ένα ανεξάρτητο σύνολο ακμών (independent set of edges) ενός γράφου G αποτελείται από ακμές που δεν είναι προσκείμενες ανά δύο. Το μεγαλύτερο πλήθος ακμών από τα ανεξάρτητα σύνολα ακμών ενός γράφου ονομάζεται αριθμός ανεξαρτησίας ακμών (edge independence number) και συμβολίζεται με β1(G). Ισχύει β0(Kn)=1 και β1(Kn)=└n/2┘ Σε ένα διγράφο η αριθμός ανεξαρτησίας ακμών β1 ταυτίζεται με τον αριθμό αντιστοίχισης α0. Data Science and Engineering Lab

Παράδειγμα ανεξάρτητου συνόλου Generalized Petersen Graph. Οι 9 μπλε κορυφές είναι το μέγιστο ανεξάρτητο σύνολο για το γράφο των 24 κορυφών (β0=9). Data Science and Engineering Lab

Καλύμματα & ανεξάρτητα σύνολα Θεώρημα (Galai, 1959) Σε κάθε συνδεδεμένο γράφο G με n ακμές και d(G)>0 ισχύει: α0 + β0 = n = α1 + β1 Θεώρημα (Koenig+Egervary, 1931) Αν G(V1 U V2,E) είναι ένας διγράφος, τότε ισχύει: β1(G) = α0(G) Data Science and Engineering Lab

Data Science and Engineering Lab Άσκηση Για τους 2 γράφους να βρεθούν οι τιμές α0, α1, β0, β1. Data Science and Engineering Lab

Περιπτώσεις καλυμμάτων Είναι εύκολο να εντοπισθούν τετριμμένα καλύμματα ακμών, όπως το σύνολο E(G), το E(T), όπου T ένα ζευγνύον δένδρο του, ή οι ακμές ενός Hamiltonian κύκλου. Επίσης ισχύει: Σε ένα γράφο υπάρχει κάλυμμα ακμών, αν και μόνο αν δεν υπάρχουν απομονωμένες κορυφές, Κάθε ακμή προσπίπτουσα σε εκκρεμή κορυφή περιλαμβάνεται στο κάλυμμα ακμών, Σε ένα συνδεδεμένο γράφο με n κορυφές το κάλυμμα ακμών έχει τουλάχιστον ┌n/2┐ ακμές, Data Science and Engineering Lab

Περιπτώσεις καλυμμάτων (2) Ένα ελάχιστο κάλυμμα ακμών δεν περιέχει κύκλους. Άρα, ένα ελάχιστο κάλυμμα ακμών δεν έχει περισσότερο από n-1 ακμές, Κάθε κάλυμμα ακμών περιέχει ένα ελάχιστο κάλυμμα, Ένα σύνολο ακμών g είναι κάλυμμα ακμών, αν και μόνο αν για κάθε κορυφή v, ο βαθμός της κορυφής αυτής στο γράφο G-g είναι μικρότερος από το βαθμό της ίδιας κορυφής στο γράφο G Data Science and Engineering Lab

Εύρεση μέγιστης αντιστοίχισης σε διγράφους Είσοδος: Ένας διγράφος G(V1UV2,E) και μία αντιστοίχιση M. Έξοδος: Μία αντιστοίχιση μεγαλύτερη από τη M ή η απάντηση ότι η παρούσα αντιστοίχιση M είναι η μέγιστη. Μέθοδος: Τοποθέτηση επιγραφών και δημιουργία αυξανόμενων μονοπατιών. Οι κορυφές του V1 που είναι αδύναμες σε σχέση με την αντιστοίχιση M λαμβάνουν την επιγραφή *. Τα Βήματα 2 και 3 εκτελούνται διαδοχικά μέχρι να μην μπορούν να τοποθετηθούν άλλες επιγραφές. Data Science and Engineering Lab

Εύρεση μέγιστης αντιστοίχισης σε διγράφους (2) Επιλέγεται κάποια κορυφή του V1, έστω η v_1i, που στο προηγούμενο βήμα δέχθηκε επιγραφή και θέτουμε την επιγραφή v_1i στις κορυφές του N(v_1i) χωρίς επιγραφή, αν συνδέονται με ακμή που είναι αδύναμη ως προς τη M. Επαναλαμβάνουμε το Βήμα 2 για κάθε κορυφή του V1 που δέχθηκε επιγραφή στο προηγούμενο βήμα. Επιλέγεται κάποια κορυφή του V2, έστω η v_2i, που στο προηγούμενο βήμα δέχθηκε επιγραφή και θέτουμε την επιγραφή v_2i στις κορυφές του N(v_2i) χωρίς επιγραφή αν συνδέονται με μία ακμή που ανήκει στη M. Επαναλαμ- βάνουμε το Βήμα 3 για κάθε κορυφή του V2 που δέχθηκε επιγραφή στο προηγούμενο βήμα. Data Science and Engineering Lab

Εύρεση μέγιστης αντιστοίχισης σε διγράφους (3) Ο αλγόριθμος θα τερματίσει όταν θα συμβεί μία από τις εξής δύο συνθήκες: [Συνθήκη 1:] Μία αδύναμη κορυφή του V2 δέχεται επιγραφή, [Συνθήκη 2:] Δεν έχει συμβεί η Συνθήκη 1 και είναι αδύνατη η τοποθέτηση άλλων επιγραφών. Αν συμβεί η Συνθήκη 1, τότε έχει βρεθεί ένα αυξανόμενο μονοπάτι που μπορεί να κατασκευασθεί ακολουθώντας κατά την αντίστροφη πορεία όλες τις κορυφές με επιγραφές μέχρι να βρεθεί μία κορυφή με επιγραφή *. Έτσι ορίζεται μία αντιστοίχιση μεγαλύτερη από την προηγούμενη. Αν συμβεί η Συνθήκη 2, τότε έχει επιτευχθεί μία μέγιστη αντιστοίχιση. Data Science and Engineering Lab

Παράδειγμα εύρεσης μέγιστης αντιστοίχισης σε διγράφους Είσοδος (v1,u1) Ουγγρικό δένδρο Data Science and Engineering Lab

Παράδειγμα εύρεση μέγιστης αντιστοίχισης σε διγράφους (2) Δένδρο μετά το 2ο πέρασμα μετά το 3ο πέρασμα Data Science and Engineering Lab

Data Science and Engineering Lab Δεύτερο παράδειγμα x1 y1 i=1, x1 αντιστοιχίζεται i=2, v=x2 x2 y2 Q : x2 x3 x5 x4 x1 x6 x3 y3 x4 y4 x2 y5 y2 x3 x5 y6 x5 x6 y6 Αρχική αντιστοίχιση M1 x4 y3 x1 y4 x6 y5 Αυξανόμενο μονοπάτι y1 Data Science and Engineering Lab

Data Science and Engineering Lab Δεύτερο παράδειγμα (2) x1 y1 i=3, x3 αντιστοιχίζεται x2 y2 i=4, x4 αντιστοιχίζεται. x3 y3 x4 y4 … y5 x5 i=12, y6 αντιστοιχίζεται x6 y6 Η νέα αντιστοίχιση M = {x2y6, x5y4, x1y1, x4y3, x3y2, x6y5} είναι μέγιστη Data Science and Engineering Lab

Data Science and Engineering Lab Τρίτο παράδειγμα X2   X3 X1 Y1 Y2 Y3 Y4 Data Science and Engineering Lab

Data Science and Engineering Lab Τρίτο παράδειγμα (2) X2   X3 X1 Y1 Y2 Y3 Y4 X2   X3 X1 Y1 Y2 Y3 Y4 X2   X3 X1 Y1 Y2 Y3 Y4 Data Science and Engineering Lab

Data Science and Engineering Lab Τρίτο παράδειγμα (3) X2   X3 X1 Y1 Y2 Y3 Y4 X2   X3 X1 Y1 Y2 Y3 Y4 X2   X3 X1 Y1 Y2 Y3 Y4 X2   X3 X1 Y1 Y2 Y3 Y4 Data Science and Engineering Lab

Data Science and Engineering Lab Τρίτο παράδειγμα (4) X2   X3 X1 Y1 Y2 Y3 Y4 X2   X3 X1 Y1 Y2 Y3 Y4 X2   X3 X1 Y1 Y2 Y3 Y4 Data Science and Engineering Lab

Data Science and Engineering Lab Τρίτο παράδειγμα (5) X2   X3 X1 Y1 Y2 Y3 Y4 Κάποιος αλγόριθμος αναζήτησης (BFS, DFS) O(E) Το πολύ V φορές Πολυπλοκότητα: O(VE) Data Science and Engineering Lab

Εύρεση μέγιστης αντιστοίχισης σε ζυγισμένους διγράφους Συχνά τίθενται προβλήματα αντιστοιχίσεων σε ζυγισμένους γράφους , όπως το πρόβλημα της ανάθεσης εργασιών σε μηχανές αεροπλάνων σε πτήσεις παικτών σε θέσεις διδασκόντων σε μαθήματα προσωπικού σε αρμοδιότητες Jerry Marking Darek Tom Isaac Tutorials Solutions Newsgroup Data Science and Engineering Lab

Data Science and Engineering Lab Ουγγρικός αλγόριθμος Είσοδος: γράφος σε μορφή πίνακα ΝxΝ Έξοδος: εύρεση ελάχιστης/μέγιστης λύσης Από κάθε γραμή αφαιρούμε την ελάχιστη τιμή Από κάθε στήλη αφαιρούμε την ελάχιστη τιμή Βρίσκουμε N’ ανεξάρτητα 0 Αν N’=N τότε λαμβάνουμε τις θέσεις τους και stop. Αλλιώς: καλύπτουμε τα 0 με Ν’ γραμμές. Βρίσκουμε την μικρότερη μη καλυμμένη τιμή Την τιμή αυτή αφαιρούμε από όλες τις μη καλυμμένες τιμές και προσθέτουμε στις θέσεις που είναι διπλά καλυμμένες Πήγαινε στο Βήμα 3 Data Science and Engineering Lab

Το πρόβλημα επιλογής προσωπικού (1) Μία εταιρεία ζητά να προσλάβει 4 υπαλλήλους με διαφορετικές αρμοδιότητες. Στην αγγελία απαντούν 4 πρόσωπα, το καθένα με προτιμήσεις για περισσότερες της μίας θέσεις. Η ανάθεση του προσωπικού σε θέσεις θα μπορούσε να επιλυθεί εφαρμόζοντας τον αλγόριθμο εύρεσης μίας μέγιστης αντιστοίχισης σε διγράφο. Έστω ότι κάθε ενδιαφερόμενος κοστίζει διαφορετικά στην εταιρεία αναλόγως με τη θέση που αναλαμβάνει. Άρα ο αντίστοιχος διγράφος είναι ζυγισμένος, και συνεπώς, η λύση του προβλήματος είναι μία βέλτιστη αντιστοίχιση με ελάχιστο συνολικό βάρος (κόστος). Θα χρησιμοποιηθεί ο ουγγρικός αλγόριθμος Data Science and Engineering Lab

Το πρόβλημα επιλογής προσωπικού (2)   a1 a2 a3 a4 j1 4 6 14 11 j2 7 2 8 9 j3 3 13 1 j4 5 Αφαιρώ από κάθε γραμμή το μικρότερο αριθμό   a1 a2 a3 a4 j1 2 10 7 j2 5 6 j3 12 3 j4 13 Αφαιρώ από κάθε στήλη το μικρότερο αριθμό Data Science and Engineering Lab

Το πρόβλημα επιλογής προσωπικού (3)   a1 a2 a3 a4 j1 2 10 4 j2 5 6 j3 12 j4 Βρίσκω 4 ανεξάρτητα μηδενικά = δεν ανήκουν ανά δύο στην ίδια γραμμή ή στήλη Data Science and Engineering Lab

Το πρόβλημα επιλογής προσωπικού (4) Άλλο παράδειγμα Αφαιρώ από κάθε γραμμή και στήλη το μικρότερο αριθμό   a1 a2 a3 a4 j1 6 8 2 7 j2 5 13 9 j3 10 j4 4 12 11   a1 a2 a3 a4 j1 4 3 1 j2 8 j3 j4 5 Δεν υπάρχουν 4 ανεξάρτητα μηδενικά Data Science and Engineering Lab

Το πρόβλημα επιλογής προσωπικού (5) Τα μηδενικά βρίσκονται στις πρώτες δύο γραμμές και την πρώτη στήλη (διαγράφονται με 3 γραμμές). Πως βρίσκω τις 3 γραμμές? Η διαδικασία συνεχίζει ως εξής: Επιλέγεται η μικρότερη τιμή (3) μεταξύ εκείνων που δεν ανήκουν στις διαγραμμένες γραμμές και στήλες, Το 3 αφαιρείται από όλα τα στοιχεία που δεν ανήκουν σε διαγραμμένες θέσεις και προστίθεται στις θέσεις που έχουν διαγραφεί δύο φορές.   a1 a2 a3 a4 j1 4 3 1 j2 8 j3 j4 5 Data Science and Engineering Lab

Το πρόβλημα επιλογής προσωπικού (6)   a1 a2 a3 a4 j1 7 3 1 j2 8 j3 5 j4 2 Η διαδικασία παράγει τουλάχιστον ένα επιπλέον μηδενικό. Υπάρχει το ενδεχόμενο να μην υπάρχουν 4 ανεξάρτητα μηδενικά ούτε μετά από αυτή τη διαδικασία. Τότε, επαναλαμβάνεται η διαδικασία μέχρις ότου παραχθούν ανεξάρτητα μηδενικά. Data Science and Engineering Lab

Το πρόβλημα επιλογής προσωπικού (7) Μία εταιρεία ζητά να προσλάβει 4 υπαλλήλους με διαφορετικές αρμοδιότητες. Στην αγγελία απαντούν 4 πρόσωπα, το καθένα με προτιμήσεις για περισσότερες της μίας θέσεις. Η ανάθεση του προσωπικού σε θέσεις θα μπορούσε να επιλυθεί εφαρμόζοντας τον αλγόριθμο εύρεσης μίας μέγιστης αντιστοίχισης σε διγράφο. Έστω ότι κάθε ενδιαφερόμενος αποδίδει διαφορετικά στην εταιρεία αναλόγως με τη θέση που αναλαμβάνει. Άρα ο αντίστοιχος διγράφος είναι ζυγισμένος, και συνεπώς, η λύση του προβλήματος είναι μία βέλτιστη αντιστοίχιση με μέγιστο συνολικό βάρος (κέρδος). Θα χρησιμοποιηθεί ο ουγγρικός αλγόριθμος Data Science and Engineering Lab

Το πρόβλημα επιλογής προσωπικού (8) Σε περίπτωση της εύρεσης της βέλτιστης αντιστοίχισης με μέγιστο βάρος θα χρησιμοποιηθεί ο ουγγρικός αλγόριθμος με την εξής τροποποίηση Κάθε τιμή αντικαθίσταται με την αρνητική της Σε κάθε γραμμή βρίσκουμε την περισσότερη αρνητική και προσθέτουμε την αντίστοιχη τιμή σε όλη τις θέσεις της γραμμής 14 5 8 7 2 12 6 3 9 4 10 -14 -5 -8 -7 -2 -12 -6 -3 -9 -4 -10 9 6 7 10 2 1 8 4 Data Science and Engineering Lab

Το πρόβλημα επιλογής προσωπικού (9) Θεώρημα. Έστω ότι S είναι ένας m x n πίνακας. Ο μέγιστος αριθμός ανεξάρτητων μηδενικών που μπορούν να βρεθούν στον S ισούται με τον ελάχιστο αριθμό γραμμών ή στηλών που μαζί καλύπτουν όλα τα μηδενικά του S. Data Science and Engineering Lab

Data Science and Engineering Lab Άσκηση 4 Να βρεθεί πως οι δουλειές θα ανατεθούν στις μηχανές ώστε να ελαχιστοποιηθεί το κόστος Job 1 Job 2 Job 3 Job 4 Machine 1 14 5 8 7 Machine 2 2 12 6 Machine 3 3 9 Machine 4 4 10 Data Science and Engineering Lab

Data Science and Engineering Lab Άσκηση 5 Να βρεθεί πως οι δουλειές θα ανατεθούν στις μηχανές ώστε να ελαχιστοποιηθεί το κόστος Job 1 Job 2 Job 3 Machine 1 50 36 16 Machine 2 28 30 18 Machine 3 35 32 20 Machine 4 25 14 Θα θεωρήσουμε μία 4η δουλειά με κόστος 0 για όλες τις μηχανές Data Science and Engineering Lab

Data Science and Engineering Lab Animation http://www.hungarianalgorithm.com/examplehungarianalgorithm.php Data Science and Engineering Lab

Το πρόβλημα των σταθερών γάμων (1) Έστω ότι πρόκειται να ζευγαρώσουν ένα σύνολο ανδρών m1,..., mn με ένα σύνολο γυναικών w1,..., wn. Ο καθένας τους, όμως, έχει τις δικές του προτιμήσεις. Έστω, ότι ο m1 νυμφεύεται την w1, ενώ ο m2 νυμφεύεται την w2. Ωστόσο, ο m1 θα προτιμούσε την w2, καθώς και η w2 θα προτιμούσε τον m1. Προφανώς, η διαμορφωνόμενη κατάσταση δεν είναι σταθερή. m1 m2 w1 w2 for m1: w2 > w1 for w2: m1 > m2 Data Science and Engineering Lab

Το πρόβλημα των σταθερών γάμων (2) Είσοδος: Πίνακες προτιμήσεων ανδρών και γυναικών. Έξοδος: Ένα σύνολο σταθερών γάμων. Μέθοδος των Gale-Shapley (1962): Με διαδοχικές προτάσεις και αντιπροτάσεις. Κάθε άνδρας προτείνει την πρώτη του επιλογή. Κάθε γυναίκα με δύο ή περισσότερες προτάσεις, τις απορρίπτει όλες πλην μίας, χωρίς όμως να τη δέχεται οριστικά. Επιλέγουν εκ νέου οι άνδρες, που απορρίφθηκε η πρότασή τους, ενώ αυτοί που δεν απορρίφθηκε η επιλογή τους συνεχίζουν στην ίδια επιλογή. Τα Βήματα 2 και 3 επαναλαμβάνονται μέχρι να μην υπάρχει αντίρρηση εκ μέρους των γυναικών. Data Science and Engineering Lab

Το πρόβλημα των σταθερών γάμων (3) men w1 w2 w3 w4 m1 1 2 3 4 m2 m3 m4 women Προτιμήσεις ανδρών και γυναικών Data Science and Engineering Lab

Το πρόβλημα των σταθερών γάμων (4) proposals p1 p2 p3 p4 p5 p6 m1 1 2 3 m2 4 m3 m4 Με κόκκινο χρώμα συμβολίζονται οι προτάσεις ανδρών που έχουν απορριφθεί. Πολυπλοκότητα ? Τετραγωνική Ο(n2) Data Science and Engineering Lab

Το πρόβλημα των σταθερών γάμων (5) Θεώρημα. Πάντα υπάρχει ένα σύνολο σταθερών γάμων μεταξύ n ανδρών και n γυναικών. Θεώρημα. Ο αλγόριθμος Gale-Shapley (με προτείνοντες τους άνδρες) δίνει μία αντιστοίχιση, όπου κάθε άνδρας αντιστοιχίζεται στην καλύτερη γυναίκα που μπορεί να νυμφευθεί (man-optimal). Θεώρημα. Στον αλγόριθμο Gale-Shapley κάθε γυναίκα αντιστοιχίζεται στο μη χειρότερο άνδρα που μπορεί να παντρευτεί (woman-pessimal). Data Science and Engineering Lab

Data Science and Engineering Lab Άσκηση 6 Να επαληθευθεί το προηγούμενο θεώρημα. Να βρεθεί το woman- optimal σύνολο σταθερών γάμων. Είναι ίδιο με το man-optimal σύνολο σταθερών γάμων? men w1 w2 w3 w4 m1 1 2 3 4 m2 m3 m4 women Data Science and Engineering Lab

Ένα δεύτερο παράδειγμα Δίνεται ένα σύνολο από 4 άνδρες και 4 γυναίκες, καθώς και οι προτιμήσεις τους x y z w a b c d x: a b c d y: a c b d z: c d a b w: c b a d a: z x y w b: y w x z c: w x y z d: x y z w Data Science and Engineering Lab

Ένα δεύτερο παράδειγμα (2) Βήμα 1 x y z w a b c d x: a b c d y: a c b d z: c d a b w: c b a d a: z x y w b: y w x z c: w x y z d: x y z w Οι a και c απορ-ρίπτουν μία πρόταση Data Science and Engineering Lab

Ένα δεύτερο παράδειγμα (3) Βήμα 2 x y z w a b c d x: a b c d y: a c b d z: c d a b w: c b a d a: z x y w b: y w x z c: w x y z d: x y z w Οι y και z επιλέγουν και πάλι το X κινείται προς τα δεξιά, το O προς τα αριστερά Data Science and Engineering Lab

Ένα δεύτερο παράδειγμα (4) Βήμα 3 x y z w a b c d x: a b c d y: a c b d z: c d a b w: c b a d a: z x y w b: y w x z c: w x y z d: x y z w Κάθε γυναίκα δέχεται μία προσφορά. Τέλος. Πολυπλοκότητα Κυβική Ο(n3) Γιατί ? Data Science and Engineering Lab

Animation στο πρόβλημα http://mathsite.math.berkeley.edu/smp/smp.html Data Science and Engineering Lab

Data Science and Engineering Lab Εύρεση καλύμματος Το πρόβλημα είναι δυσχείριστο (NP-hard ), άρα θα καταφύγουμε σε προσεγγιστικό αλγόριθμο Άπληστος αλγόριθμος: Βρες μία κορυφή v με μέγιστο βαθμό. Πρόσθεσε την κορυφή v στη λύση και διάγραψε την κορυφή v και τις προσπίπτουσες ακμές από το γράφο. Επανάλαβε μέχρι να καλυφθούν όλες οι ακμές Πόσο καλός είναι αυτός ο αλγόριθμος ? Data Science and Engineering Lab

Data Science and Engineering Lab Επίδοση ευριστικού αλγορίθμου (1) OPT = 6, το βέλτιστο είναι οι κόκκινες κορυφές. SOL = 11, αν διαλέξουμε λάθος στις ισοπαλίες. Πρώτα διαλέγουμε τις κίτρινες κορυφές, μετά τις πράσινες και τέλος τις πορτοκαλί κορυφές Data Science and Engineering Lab

Data Science and Engineering Lab Επίδοση ευριστικού αλγορίθμου (2) k! κορυφές βαθμού k Γενίκευση του παραδείγματος k!/k κορυφές βαθμού k k!/(k-1) κορυφές βαθμού k-1 k! κορυφές βαθμού 1 OPT = k!, όλες οι επάνω κορυφές SOL = k! (1/k + 1/(k-1) + 1/(k-2) +…+ 1) ≈ k! log(k), όλες οι κάτω κορυφές Data Science and Engineering Lab

Επίσης άπληστος αλγόριθμος Πολυπλοκότητα πολυωνυμική Εύρεση καλύμματος ακμών C   E’  E while E’   do let (u,v) be an arbitrary edge of E’ C  C  {u,v} remove from E’ every edge incident to either u or v return C O(n2) O(n2) O(1) O(n) Επίσης άπληστος αλγόριθμος Πολυπλοκότητα πολυωνυμική Data Science and Engineering Lab

Επίδοση άπληστου αλγορίθμου (1) Σε διγράφους ισχύει: μέγιστη αντιστοίχιση = ελάχιστο κάλυμμα. Αυτό δεν ισχύει σε γενικούς γράφους Πόσο μεγάλη μπορεί να είναι αυτή διαφορά ? Βρες μία μέγιστη αντιστοίχιση και χρωμάτισε μαύρες τις σχετικές κορυφές. Άρα οι μαύρες κορυφές αποτελούν ένα κάλυμμα. SOL ≤ 2 * μέγεθος της μέγιστης αντιστοίχισης. Data Science and Engineering Lab

Επίδοση άπληστου αλγορίθμου (2) Ποιά είναι η βέλτιστη λύση ? Κάθε ακμή της αντιστοίχισης καλύπτεται από διαφορετική κορυφή ! OPT ≥ μέγεθος της μέγιστης αντιστοίχισης Άρα, OPT ≤ 2 SOL, έχουμε ένα 2-προσεγγιστικό αλγόριθμο Data Science and Engineering Lab

Data Science and Engineering Lab Εύρεση καλύμματος ακμών - demo Data Science and Engineering Lab

Data Science and Engineering Lab Εύρεση καλύμματος με σύνολα Set cover problem: Δεδομένου ενός συνόλου U με n στοιχεία, και ένα σύνολο υποσυνόλων του U, S* = {S1,S2,…,Sk}, όπου κάθε υποσύνολο έχει κόστος c(Si), να βρεθεί το υποσύνολο του S* που καλύπτει όλα τα στοιχεία του U. Το κάλυμμα κορυφών είναι ειδική περίπτωση Μία εύκολη αντιστοιχία: υποσύνολα στοιχεία Να επιλέξουμε το σύνολο των άσπρων κορυφών με ελάχιστο κόστος που καλύπτουν τις μαύρες κορυφές Data Science and Engineering Lab

Data Science and Engineering Lab Εύρεση καλύμματος με σύνολα (2) Άπληστος αλγόριθμος: Βρες το σύνολο S που είναι καλύτερο με βάση το κόστος. Πρόσθεσε το S στη λύση και αφαίρεσε τα στοιχεία που καλύπτει από το σύνολο U. Επανάλαβε μέχρι να καλυφθούν όλα τα στοιχεία του U. Πόσο καλός είναι ο αλγόριθμος ? Data Science and Engineering Lab

Data Science and Engineering Lab Εύρεση καλύμματος με σύνολα (3) U : a b c h d e S: a b {S1, S3, S4} είναι υποσύνολο του S που καλύπτει το U S1: S2: b {S1, S2, S3, S4} είναι υποσύνολο του S που καλύπτει το U S3: c h {S2, S3, S4, S5} είναι υποσύνολο του S που καλύπτει το U {S1, S3, S4, S5} είναι υποσύνολο του S που καλύπτει το U S4: d e S5: a {S1, S3, S4} είναι το ελάχιστο κάλυμμα με σύνολα Data Science and Engineering Lab

Data Science and Engineering Lab Εύρεση καλύμματος με σύνολα (4) Μπορούμε να διαλέξουμε από S1, S3 και S4 a b c h Διαλέγουμε S1 U: Μπορούμε να διαλέξουμε από S3 και S4 Διαλέγουμε S3 d e Μπορούμε να διαλέξουμε από S4 S: Διαλέγουμε S4 S1: a b U: a b c h d e S2: b S1: a b S3: c h C: Επιλέγουμε κάθε φορά το σετ που καλύπτει το μεγαλύτερο πλήθος και διαγράφουμε τα καλυμένα κάθε φορά S3: c h S4: d e S4: d e S5: a Data Science and Engineering Lab

Data Science and Engineering Lab Εύρεση καλύμματος με σύνολα (5) Το πρόβλημα set cover είναι ΝΡ-complete Αν το μέγεθος του μεγαλύτερου συνόλου S είναι m, τότε υπάρχει προσεγγιστικός πολυωνυμικός αλγόριθμος με προσέγγιση Data Science and Engineering Lab

Το πρόβλημα του ντόμινο Μπορούμε να γεμίσουμε τα κενά της σκακιέρας με κομμάτια ντόμινο? Data Science and Engineering Lab

Data Science and Engineering Lab Το πρόβλημα του ντόμινο (2) Δημιουργούμε μία κορυφή για κάθε κενό τετράγωνο της σκακιέρας. Ενώνουμε δύο κορυφές αν είναι γετονικές. Δημιουργείται ένας διγράφος με τα μαύρα και τα άσπρα τετράγωνα σε δύο μερικά σύνολα. Μία τέλεια αντιστοίχιση αντιστοιχεί σε μία τέλεια τοποθέτηση των κομματιών ντόμινο. Data Science and Engineering Lab

Data Science and Engineering Lab Το λατινικό τετράγωνο Το λατινικό τετράγωνο είναι ένας πίνακας nxn και ο σκοπός είναι να τον γεμίσουμε με αριθμούς έτσι ώστε Κάθε γραμμή να περιέχει τους αριθμούς από 1 μέχρι n Κάθε στήλη να περιέχει τους αριθμούς από 1 μέχρι n Data Science and Engineering Lab

Data Science and Engineering Lab Το λατινικό τετράγωνο (2) Έστω ένα μερικώς γεμάτο λατινικό τετράγωνο. Μπορούμε να το συμπληρώσουμε? Η απάντηση είναι ΝΑΙ, χρησιμοποιώντας αντιστοιχίσεις σε διγράφους. Η απόδειξη στηρίζεται σε 2 βήματα: Ανάγουμε σε πρόβλημα αντιστοιχίσεων σε διγράφο. Αποδεικνύουμε ότι υπάρχει λύση με βάση το θεώρημα του Hall. Data Science and Engineering Lab

Data Science and Engineering Lab Το λατινικό τετράγωνο (3) Δοθέντος ενός μερικού λατινικού τετραγώνου, δημιουργούμε διγράφο ώστε να γεμίσουμε την επόμενη σειρά. 1 2 3 4 5 column number 1 2 3 4 5 Δημιουργούμε μία κορυφή για κάθε στήλη και μία κορυφή για κάθε αριθμό. Προσθέτουμε μία ακμή μεταξύ της στήλης i και του αριθμού j, αν ο αριθμός j μπορεί να μπει στη στήλη i. Data Science and Engineering Lab

Data Science and Engineering Lab Το λατινικό τετράγωνο (4) Δοθέντος ενός μερικού λατινικού τετραγώνου, δημιουργούμε διγράφο ώστε να γεμίσουμε την επόμενη σειρά. 1 2 3 4 5 column 1 5 2 4 3 number 1 2 3 4 5 Μία τέλεια αντιστοίχιση δίνει την επόμενη σειρά. Data Science and Engineering Lab

Data Science and Engineering Lab Στέρεες σιδηροκατασκευές Μη στέρεο στέρεο Data Science and Engineering Lab

Data Science and Engineering Lab Στέρεες σιδηροκατασκευές (2) Μη στέρεο Στέρεο? Data Science and Engineering Lab

Data Science and Engineering Lab Στέρεες σιδηροκατασκευές (3) ΝΑΙ !! Στέρεο? Data Science and Engineering Lab

Data Science and Engineering Lab Στέρεες σιδηροκατασκευές (4) r1 r2 r3 c1 c2 c3 Θεώρημα: Μία σιδηροκατασκευή είναι στέρεα αν και μόνο αν ο αντίστοιχος διγράφος είναι συνδεδεμένος Data Science and Engineering Lab