Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής

Σχετικά έγγραφα
ΤΕΧΝΗΤΗ ΝΟΗΜΟΣΥΝΗ Γλώσσες & Τεχνικές 4 ο Εξάμηνο. - Ενότητα 9 - Δημοσθένης Σταμάτης Τμήμα Πληροφορικής

f e Γράφημα (Graph) Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ

Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο. Γραφήµατα. (Graphs)

Ευφυείς Τεχνολογίες Πράκτορες

Στοιχεία Θεωρίας Γραφηµάτων (3)

Απαρίθµηση Μονοπατιών. Στοιχεία Θεωρίας Γραφηµάτων (3) Μονοπάτια και Κυκλώµατα Euler. Ορέστης Τελέλης

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα.

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή

HY118-Διακριτά Μαθηματικά

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων Γράφοι

Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης.

ΣΧΕΔΙΑΣΗ ΚΑΙ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων Γράφοι

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων / γραφήματα. Τι είναι οι γράφοι; Εφαρμογές των γράφων. 23-Γράφοι

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs)

Πληροφοριακά Συστήματα Διοίκησης (ΜΒΑ) Ενότητα 1: Δικτυωτή Ανάλυση (Θεωρία Γράφων)

Στοιχεία Θεωρίας Γραφηµάτων (1)

Γράφοι. Ένας γράφος ή αλλιώς γράφηµα αποτελείται απο. Εφαρµογές: Τηλεπικοινωνιακά και Οδικά ίκτυα, Ηλεκτρονικά Κυκλώµατα, Β.. κ.ά.

q(g \ S ) = q(g \ S) S + d = S.

HY118- ιακριτά Μαθηµατικά

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων/ γραφήματα. Τι είδαμε την προηγούμενη φορά. Συνεκτικότητα. 25 -Γράφοι

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόγχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

Θεωρία Γραφημάτων 6η Διάλεξη

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

HY118-Διακριτά Μαθηματικά

Κατευθυνόμενα γραφήματα. Μαθηματικά Πληροφορικής 6ο Μάθημα. Βρόχοι. Μη κατευθυνόμενα γραφήματα. Ορισμός

ΠΛΗ111. Ανοιξη Μάθηµα 10 ο. Γράφοι. Τµήµα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης

Αναζήτηση Κατά Πλάτος

d(v) = 3 S. q(g \ S) S

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

(elementary graph algorithms)

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο

Τίτλος Μαθήματος: Θεωρία Γραφημάτων. Ενότητα: Εισαγωγή σε βασικές έννοιες. Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος. Τμήμα: Μαθηματικών

Ασκήσεις στους Γράφους. 1 ο Σετ Ασκήσεων Βαθμός Μονοπάτια Κύκλος Euler Κύκλος Hamilton Συνεκτικότητα

Αναζήτηση Κατά Πλάτος

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 3: ΑΝΑΠΑΡΑΣΤΑΣΗ ΔΕΔΟΜΕΝΩΝ - ΓΡΑΦΗΜΑΤΑ

HY118-Διακριτά Μαθηματικά. Τι είδαμε την προηγούμενη φορά. Θεωρία γράφων / γραφήματα. 25 -Γράφοι. ΗΥ118, Διακριτά Μαθηματικά Άνοιξη 2017

Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Σεπτέμβριος 2017

Παράδειγµα (4) Στοιχεία Θεωρίας Γραφηµάτων (2) Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς. v 2. u 3.

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

Αλγόριθµοι Γραφηµάτων

Αναζήτηση Κατά Πλάτος

Αλγόριθµοι και Πολυπλοκότητα

2 ) d i = 2e 28, i=1. a b c

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι

Στοιχεία Θεωρίας Γράφων (Graph Theory)

Στοιχεία Θεωρίας Γραφηµάτων (2)

Θεωρία Γραφημάτων: Ορολογία και Βασικές Έννοιες

Μαθηματικά Πληροφορικής

HY118-Διακριτά Μαθηματικά

Σημειωματάριο Τετάρτης 29 Νοε. 2017

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Θεωρία Υπολογισμού. Ενότητα 3 : Γραφήματα & Αποδείξεις. Αλέξανδρος Τζάλλας

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

Ειδικά θέματα Αλγορίθμων και Δομών Δεδομένων (ΠΛΕ073) Απαντήσεις 1 ου Σετ Ασκήσεων

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 2: Γραφήματα

ΠΛΗ20 ΕΝΟΤΗΤΑ 5: ΘΕΩΡΙΑ ΓΡΑΦΗΜΑΤΩΝ/2. Μάθηµα 5.1: Παραστάσεις Γραφηµάτων. ηµήτρης Ψούνης

Στοιχεία Θεωρίας Γραφηµάτων (4) - έντρα

Network Science. Θεωρεία Γραφηµάτων (2)

ΠΛΗ 20, 4 η ΟΣΣ: Βασικές Έννοιες Θεωρίας Γραφημάτων

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Βασικές Ιδιότητες και Διάσχιση Κεφάλαιο 5 ( και ) Ε. Μαρκάκης Επίκουρος Καθηγητής

Δοµές Δεδοµένων. 11η Διάλεξη Ταξινόµηση Quicksort και Ιδιότητες Δέντρων. Ε. Μαρκάκης

Representing Relations Using Digraph

Αναζήτηση Κατά Πλάτος

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής Εξάμηνο ΣΤ ΘΕΩΡΙΑ ΓΡΑΦΩΝ

Σειρά Προβλημάτων 1 Λύσεις

u v 4 w G 2 G 1 u v w x y z 4

Φροντιστήριο #9 Ασκήσεις σε Γράφους 18/5/2018

Μαθηματικά Πληροφορικής

Φροντιστήριο #8 Ασκήσεις σε Γράφους 16/5/2017

Θεωρία Γραφημάτων και Εφαρμογές - Διακριτά Μαθηματικά ΙΙ Φεβρουάριος 2017

Γράφοι. Ορολογία. Ορισµός: G = (V, E) όπου. Ορολογία (συνέχεια) γράφος ή γράφηµα (graph) V:ένα σύνολο E:µια διµελής σχέση στο V

q={(1+2)/2}=1 A(1,2)= MERGE( 4, 6 ) = 4 6 q=[(3+4)/2]=3 A(1,4)= MERGE( 4 6, 5 8 ) = q=[(5+6)/2]=5 A(5,6)= MERGE( 2, 9 ) = 2 9

Θεωρία Γραφημάτων 1η Διάλεξη

Διερεύνηση γραφήματος

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είδαµε την προηγούµενη φορά. Συνεκτικότητα Γράφοι

Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής ΑΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ ΔΕΝΤΡΑ (TREES) B C D E F G H I J K L M

Υπολογιστικό Πρόβληµα

Το πρόβλημα μονοδρόμησης (The One-Way Street Problem)

Ταιριάσματα. Γράφημα. Ταίριασμα (matching) τέτοιο ώστε κάθε κορυφή να εμφανίζεται σε το πολύ μια ακμή του

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Μαθηματικά στην Πολιτική Επιστήμη:

Θεωρία Γραφημάτων Θεμελιώσεις-Αλγόριθμοι-Εφαρμογές

Θεωρία Γραφημάτων 1η Διάλεξη

Τίτλος Μαθήματος: Θεωρία Γραφημάτων. Ενότητα: Συνεκτικότητα και Δισυνεκτικότητα. Διδάσκων: Λέκτορας Xάρης Παπαδόπουλος. Τμήμα: Μαθηματικών

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 3η Θεωρία Γραφηµάτων

Διακριτά Μαθηματικά ΙΙ Χρήστος Νομικός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων 2018 Χρήστος Νομικός ( Τμήμα Μηχανικών Η/Υ Διακριτά

Βασικές Έννοιες Θεωρίας Γραφημάτων

Γράφημα. Συνδυαστικό αντικείμενο που αποτελείται από 2 σύνολα: Σύνολο κορυφών (vertex set) Σύνολο ακμών (edge set) 4 5 πλήθος κορυφών πλήθος ακμών

Μετασχηματισμοί, Αναπαράσταση και Ισομορφισμός Γραφημάτων

Οι δυναμικές δομές δεδομένων στην ΑΕΠΠ

Εξέταση Φεβρουαρίου Λύσεις

Θεωρία Γράφων - Εισαγωγή

Φροντιστήριο #8 Ασκήσεις σε Γράφους 24/5/2016

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων

Transcript:

Γλώσσες & Τεχνικές 4 ο Εξάµηνο - Ενότητα 9 - Προβλήµατα που βασίζονται σε γράφους Δηµοσθένης Σταµάτης http://www.it.tith.gr/~mos Τµήµα Πληροφορικής ATEI ΘΕΣΣΑΛΟΝΙΚΗΣ To Πρόβληµα της Αναζήτησης του Θησαυρού Το παρακάτω γράφηµα παριστάνει µία σπηλιά µε επιµέρους χώρους. Να βρεθεί διαδροµή από την είσοδο στην έξοδο που να περνάει από το θησαυρό αλλά να µην περνάει από τους ληστές. 1

Γράφημα (Grph) Oρισμός 1: Έστω το µη κενό και πεπερασµένο σύνολο Vµε nδιακεκριµένα στοιχεία V = {v 1, v 2,..., v n }, και Eένα σύνολο µε m 0µε µη-διατεταγµένα ζεύγη ij = {v i, v j }, i =/= j, στοιχείων του V. Τότε το διατεταγµένο ζεύγος G = (V,E) ονοµάζεται µη κατευθυνόµενο γράφηµα (unirt grph) ή απλώς γράφηµα. Στο παράδειγμα: G = (V, E) µε: V = {,,,,, }, και Μη κατευθυνόμενο γράφημα E = { {, }, {, }, {, }, {, }, {, }, {, }, {, } } 2

Τάξη γραφήματος Oρισμός 2: Τάξη (orr)ενός γραφήµατος ονοµάζεται το πλήθος των κορυφών του, ενώ µέγεθος (siz) ονοµάζεται το πλήθος των ακµών του. Στο παράδειγµα η orr = 6 και siz = 7 Διπλανές κορυφές γραφήματος Oρισμός 3: ύο κορυφές v i, v j ονοµάζονται διπλανές (jnt) όταν υπάρχει ακµή ij = {v i, v j }, i =/= jπου να τις έχει άκρα. ύο κορυφές που δεν είναι διπλανές ονοµάζονται ανεξάρτητες ( inpnnt). Στο παράδειγµα οι και είναιδιπλανές ενώ οι και ανεξάρτητες 3

Βαθμός κορυφής ενός γραφήματος Oρισμός 4: Βαθµός (gr)µιας κορυφής ονοµάζεται το πλήθος των διπλανών κορυφών της, ή αλλιώς το πλήθος των ακµών που πρόσκεινται στην κορυφή. Μια κορυφή ονοµάζεται άρτιαή περιττήανάλογα µε το αν ο βαθµός της είναι άρτιος ή περιττός Στο παράδειγµα η είναι άρτιακαι ο βαθµός της είναι 4 Τερματική κορυφή γραφήματος Oρισμός 5: Μία κορυφή v i ονοµάζεται τερµατικήκορυφή (n vrtx)αν gr(v i ) = 1. Στο παράδειγµα η κορυφή είναι τερµατική 4

Απομονωμένη κορυφή γραφήματος Oρισμός 6: Μία κορυφή v i ονοµάζεται αποµονωµένη (isolt), αν ο βαθµός της gr(v i ) = 0 Στο παράδειγµα η κορυφή είναι αποµονωµένη Πλήρες Γράφημα (Grphs) Oρισμός 7: Ένα γράφηµα ονοµάζεται πλήρες (omplt grph)όταν περιλαµβάνει όλους τους δυνατούς συνδυασµούς ακµών ανάµεσα στις κορυφές του. Παρατήρηση: εν αποτελεί συνηθισµένη περίπτωση! 5

Κατευθυνόμενο Γράφημα (Dirt Grph) Oρισμός 8: Έστω το µη κενό και πεπερασµένο σύνολο Vµε nδιακεκριµένα στοιχεία V = {v 1, v 2,..., v n }, και Eένα σύνολο µε m 0µε διατεταγµέναζεύγη ij = {v i, v j }, i =/= j, στοιχείων του V. Τότε το διατεταγµένο ζεύγος DG = (V,E) ονοµάζεται κατευθυνόµενο γράφηµα (irt grph). Περίπατος γραφήματος Oρισμός 9: Ονοµάζουµε περίπατο (wlk)σε ένα γράφηµα G µία ακολουθία κορυφών του γραφήµατος, της µορφής W = <v 0, v 1, v 2,..., v n > και λέµε ότι έχει µήκος n. Στο παράδειγµα: W = <,,,,, > µε µήκος 5 6

Μονοπάτι γραφήματος Oρισμός 10: Ονοµάζουµε µονοπάτι (pth) σε ένα γράφηµα G µία ακολουθία κορυφών του γραφήµατος, της µορφής P = <v 0, v 1, v 2,..., v n >που είναι περίπατος στον οποίο καµία κορυφή δεν επαναλαµβάνεται Στο παράδειγµα: P = <,,, > µε µήκος 3 Παραδείγματα Γραφημάτων: Συνδεδεμένες δομές δεδομένων L... null irstno lstno null... null A D B F B C D A C G E F G H I J K L M E 7

Παραδείγματα Γραφημάτων: Δίκτυα Υπολογιστών Παραδείγματα Γραφημάτων: Κοινωνικά δίκτυα 8

Κοινωνικά δίκτυα Αναπαράσταση Προβλημάτων με Γραφήματα 9

Πίνακας διπλανών κορυφών Αναπαράσταση γραφήματος Έστω ένα κατευθυνόμενο γράφημα με nκορυφές, οι οποίες μπορούν να αριθμηθούν με διακριτές συνεχόμενες τιμές. Η αναπαράστασή του μπορεί να γίνει με τη βοήθεια ενός δισδιάστατου πίνακα Dμε διαστάσεις n x n, στον οποίο: η θέση του πίνακα (i,j) δηλώνει την ύπαρξη ή όχι ακμής D(i,j)=1, αν υπάρχει η ακμή, D(i,j)=0, αν δεν υπάρχει 0 1 1 1 0 1 0 0 0 1 D= 0 1 0 0 0 0 0 0 0 1 0 1 0 0 0 Αρίθμηση κορυφών: ->0, ->1, ->2, ->3, ->4 Λίστες διπλανών κορυφών Αναπαράσταση γραφήματος Έστω ένα κατευθυνόμενο γράφημα με nκορυφές, οι οποίες μπορούν να αριθμηθούν με διακριτές συνεχόμενες τιμές. Η αναπαράστασή του μπορεί να γίνει με τη βοήθεια ενός μονοδιάστατου πίνακα συνδεδεμένων λιστών: η θέση iτου πίνακα αντιστοιχεί στον κόμβο i το περιεχόμενο του πίνακα στη θέση iείναι η λίστα των κόμβων που συνδέονται με τον i 0 1 2 3 4 1 2 3 0 4 1 4 1 Αρίθμηση κορυφών: ->0, ->1, ->2, ->3, ->4 10

Επίλυση προβλήματος γραφήματος Αναζητούμε ένα μονοπάτι το οποίο να ξεκινάει από έναν κόμβο Χ (κόμβος αρχή) και να καταλήγει σε έναν κόμβο Υ (κόμβος στόχος). Αντίστοιχα μπορεί να αναζητούμε έναν περίπατο ο οποίος να ξεκινάει από έναν κόμβο Χ (κόμβος αρχή) και να καταλήγει σε έναν κόμβο Υ (κόμβος στόχος). Το γενικότερο πρόβλημα μπορεί να περιλαμβάνει: 1. θετικούς περιορισμούς (πρέπει οπωσδήποτε να περάσουμε από κάποιους κόμβους). 2. Αρνητικούς περιορισμούς (πρέπει οπωσδήποτε να αποφύγουμε κάποιους κόμβους). 3. Πρέπει να λάβουμε υπόψη μας τα βάρη σύνδεσης των κόμβων (προβλήματα ελαχιστοποίησης ή μεγιστοποίησης Λίγη ιστορία: οι γέφυρες του Konigsrg Lonhr Eulr (1707-1783) 11

To Πρόβληµα της Αναζήτησης του Θησαυρού nxt_to(εισοδος,βγονια). nxt_to(εισοδος,πηγη). nxt_to(πηγη,αδιεξοδο). nxt_to(πηγη,ληστες). nxt_to(πηγη,τροφιµα). nxt_to(πηγη,σταλακτιτες). nxt_to(ληστες,εξοδος). nxt_to(τροφιµα,θησαυρος). nxt_to(βαγονια,τροφιµα). nxt_to(βαγονια,θησαυρος). nxt_to(σταλακτιτες,εξοδος). nxt_to(θησαυρος,εξοδος). nxt_to(ληστες,θησαυρος). To Πρόβληµα της Αναζήτησης του Θησαυρού joint_with(pl1,pl2) :- nxt_to(p11,pl2). joint_with(pl1,pl2) :- nxt_to(p12,pl1). voi([αδιεξοδο,ληστες]). trvsrs(pl1,pl2) :- ανοί(dngrs), pth (Pl1,Pl2,Dngrs,[Pl1]). 12

To Πρόβληµα της Αναζήτησης του Θησαυρού pth(pl1,pl2,dngrs,mmory) :- mmr(pl2,mmory), mmr(θησυρoς,mmory), rvrs_writ(mmory). pth (Pl1,Pl2,Dngrs,Mmory):- joίnt_wίth(pl1,nwpl), not mmr(nwpl,dngrs), not mmr(nwpl,mmory), pth(nwpl,pl2,dngrs,[nwpl Mmory]). rvrs_writ([ ]). rvrs_writ([h Til]) :- rvrs_writ(til), ηl, writ(h). 13