Τεχνολογίες Υλοποίησης Αλγορίθµων

Save this PDF as:
 WORD  PNG  TXT  JPG

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Τεχνολογίες Υλοποίησης Αλγορίθµων"

Transcript

1 Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών Ενότητα 3 1 / 25

2 Ενότητα 3 οκιµή Προγραµµάτων (Program Testing) Ελεγχος Ορθότητας Προγραµµάτων (Program Correctness Checking) 2 / 25

3 οκιµή Προγράµµατος 3 / 25

4 οκιµή Προγράµµατος εκτέλεση του προγράµµατος σε υπολογιστή χρησιµοποιώντας δεδοµένα δοκιµής ( test data) 3 / 25

5 οκιµή Προγράµµατος εκτέλεση του προγράµµατος σε υπολογιστή χρησιµοποιώντας δεδοµένα δοκιµής ( test data) Σύγκριση µεταξύ πραγµατικής και αναµενόµενης (ϑεωρητικής) συµπεριφοράς του 3 / 25

6 οκιµή Προγράµµατος Στόχος 4 / 25

7 οκιµή Προγράµµατος Στόχος οκιµή (testing) Ελεγχος ορθότητας (correctness checking) αριθµός των διαφορετικών εισόδων µπορεί να είναι γενικά πολύ µεγάλος η δοκιµή περιορίζεται συχνά σε ένα µικρό υποσύνολο όλων των δυνατών εισόδων σύνολο δοκιµής (test set) σύνολο δοκιµής δεν µπορεί να µας δώσει ορθότητα προγράµµατος 4 / 25

8 οκιµή Προγράµµατος Στόχος οκιµή (testing) Ελεγχος ορθότητας (correctness checking) αριθµός των διαφορετικών εισόδων µπορεί να είναι γενικά πολύ µεγάλος η δοκιµή περιορίζεται συχνά σε ένα µικρό υποσύνολο όλων των δυνατών εισόδων σύνολο δοκιµής (test set) σύνολο δοκιµής δεν µπορεί να µας δώσει ορθότητα προγράµµατος Στόχος οκιµής: όχι η εξασφάλιση ορθότητας, αλλά ο εντοπισµός των λαθών Program testing can be used to show the presence of bugs, but never to show their absence! [Dijkstra, 1972] 4 / 25

9 οκιµή Προγράµµατος Σχεδιασµός δεδοµένων δοκιµής 5 / 25

10 οκιµή Προγράµµατος Σχεδιασµός δεδοµένων δοκιµής Μέθοδοι Black-Box Λαµβάνουν υπόψιν τη λειτουργία του αλγορίθµου και όχι του κώδικα ιαχωρισµός δεδοµένων εισόδου σε διαφορετικές οµάδες που η κάθε µία αντιπροσωπεύει µια ποιοτικά διαφορετική συµπεριφορά 5 / 25

11 οκιµή Προγράµµατος Σχεδιασµός δεδοµένων δοκιµής Μέθοδοι Black-Box Λαµβάνουν υπόψιν τη λειτουργία του αλγορίθµου και όχι του κώδικα ιαχωρισµός δεδοµένων εισόδου σε διαφορετικές οµάδες που η κάθε µία αντιπροσωπεύει µια ποιοτικά διαφορετική συµπεριφορά Μέθοδοι White-Box Σχεδιασµός δεδοµένων δοκιµής µετά από λεπτοµερή εξέταση του κώδικα, προκειµένου να καλύψουν όλες τις εντολές του προγράµµατος και όλες τις πιθανές «διαδροµές» εκτέλεσης 5 / 25

12 Ελεγχος Ορθότητας Προγραµµάτων 6 / 25

13 Ελεγχος Ορθότητας Προγραµµάτων ιαδικασία που µας ϐοηθά να αυξήσουµε σηµαντικά την εµπιστοσύνη µας σε µια υλοποίηση 6 / 25

14 Ελεγχος Ορθότητας Προγραµµάτων Εστω P ένα πρόγραµµα το οποίο υπολογίζει µια συνάρτηση f P x f y 7 / 25

15 Ελεγχος Ορθότητας Προγραµµάτων Εστω P ένα πρόγραµµα το οποίο υπολογίζει µια συνάρτηση f P x f y Πώς µπορούµε να ϐεβαιωθούµε ότι το P, µε είσοδο x, όντως υπολογίζει y = f(x) ; 7 / 25

16 Ελεγχος Ορθότητας Προγραµµάτων Αρνητικά Παραδείγµατα Ο αλγόριθµος ελέγχου γραφήµατος ως προς το αν είναι επίπεδο ήταν εσφαλµένος στην LEDA 2.0 Το σύστηµα (CAD) Rhino3d αποτυγχάνει να υπολογίσει σωστά την τοµή δύο κυλίνδρων και δύο σφαιρών Ο επιλυτής γραµµικών προγραµµάτων CPLEX αποτυγχάνει στο πρόβληµα δοκιµής επιδόσεων (benchmark problem) etamacro 8 / 25

17 Ελεγχος Ορθότητας Προγραµµάτων όγµα Τα προγράµµατα πρέπει να δικαιολογούν (αποδεικνύουν) την έξοδό τους µε έναν τρόπο που να µπορεί εύκολα να επαληθευθεί από κάποιον χρήστη 9 / 25

18 Ελεγχος Ορθότητας Προγραµµάτων Προγράµµατα Πιστοποίησης (Certifying Programs) Ενα πρόγραµµα P καλείται πρόγραµµα πιστοποίησης (ή ελέγξιµο) αν είσοδο x επιστρέφει y, την ϕερόµενη τιµή της f(x), και ένα πιστοποιητικό (ή πληροφορία επιβεβαίωσης) I το οποίο καθιστά εύκολα επαληθεύσιµο ότι όντως y = f(x) x P y=f(x) I 10 / 25

19 Ελεγχος Ορθότητας Προγραµµάτων Προγράµµατα Πιστοποίησης Εύκολα επαληθεύσιµο απλό πρόγραµµα C, ο ελεγκτής, το οποίο δεδοµένων των x, y, και I ελέγχει αν όντως y = f(x) Το C πρέπει να είναι τόσο απλό που η ορθότητά του να είναι προφανής x y C I y=f(x)? true : false 11 / 25

20 Ελεγχος Ορθότητας Προγραµµάτων Προγράµµατα Πιστοποίησης Εύκολα επαληθεύσιµο απλό πρόγραµµα C, ο ελεγκτής, το οποίο δεδοµένων των x, y, και I ελέγχει αν όντως y = f(x) Το C πρέπει να είναι τόσο απλό που η ορθότητά του να είναι προφανής x y C I y=f(x)? true : false Ο χρόνος εκτέλεσης (πραγµατικός ή ασυµπτωτικός) του C µε είσοδο x, y και I δεν πρέπει να είναι µεγαλύτερος από εκείνον του P µε είσοδο x 11 / 25

21 Ελεγχος Ορθότητας Προγραµµάτων Παραδείγµατα Επίλυση γραµµικών συστηµάτων Εύρεση συντοµότερων αποστάσεων Ελεγχος επιπεδότητας γραφηµάτων Ελεγχος διµερότητας γραφηµάτων 12 / 25

22 Ελεγχος Ορθότητας Προγραµµάτων Επίλυση γραµµικών συστηµάτων Θεωρήστε ένα πρόγραµµα P 1 το οποίο παίρνει σαν είσοδο ένα µητρώο A m n και ένα διάνυσµα b m 1 και εξετάζει αν το γραµµικό σύστηµα A x = b έχει λύση ή όχι, επιστρέφοντας µια λογική τιµή true ή false 13 / 25

23 Ελεγχος Ορθότητας Προγραµµάτων Επίλυση γραµµικών συστηµάτων Θεωρήστε ένα πρόγραµµα P 1 το οποίο παίρνει σαν είσοδο ένα µητρώο A m n και ένα διάνυσµα b m 1 και εξετάζει αν το γραµµικό σύστηµα A x = b έχει λύση ή όχι, επιστρέφοντας µια λογική τιµή true ή false Είναι το P 1 ένα πρόγραµµα πιστοποίησης (ελέγξιµο) ; 13 / 25

24 Ελεγχος Ορθότητας Προγραµµάτων Επίλυση γραµµικών συστηµάτων Θεωρήστε ένα πρόγραµµα P 1 το οποίο παίρνει σαν είσοδο ένα µητρώο A m n και ένα διάνυσµα b m 1 και εξετάζει αν το γραµµικό σύστηµα A x = b έχει λύση ή όχι, επιστρέφοντας µια λογική τιµή true ή false Είναι το P 1 ένα πρόγραµµα πιστοποίησης (ελέγξιµο) ; Αν όχι, τότε πώς µπορεί να γίνει ; 13 / 25

25 Ελεγχος Ορθότητας Προγραµµάτων Επίλυση γραµµικών συστηµάτων Το P 1, ως έχει, δεν είναι πρόγραµµα πιστοποίησης Για να γίνει, πρέπει να επεκταθεί η διασύνδεσή του 14 / 25

26 Ελεγχος Ορθότητας Προγραµµάτων Επίλυση γραµµικών συστηµάτων Το P 1, ως έχει, δεν είναι πρόγραµµα πιστοποίησης Για να γίνει, πρέπει να επεκταθεί η διασύνδεσή του Με είσοδο A και b ένα πρόγραµµα πιστοποίησης P 1 επιστρέφει είτε «το σύστηµα έχει λύση» και ένα διάνυσµα x τέτοιο ώστε A x = b είτε «το σύστηµα δεν έχει λύση» και ένα διάνυσµα c τέτοιο ώστε c T A = 0 και c T b 0 14 / 25

27 Ελεγχος Ορθότητας Προγραµµάτων Επίλυση γραµµικών συστηµάτων Το P 1, ως έχει, δεν είναι πρόγραµµα πιστοποίησης Για να γίνει, πρέπει να επεκταθεί η διασύνδεσή του Με είσοδο A και b ένα πρόγραµµα πιστοποίησης P 1 επιστρέφει είτε «το σύστηµα έχει λύση» και ένα διάνυσµα x τέτοιο ώστε A x = b είτε «το σύστηµα δεν έχει λύση» και ένα διάνυσµα c τέτοιο ώστε c T A = 0 και c T b 0 Τώρα το P 1 είναι εύκολα επαληθεύσιµο: απαιτούνται το πολύ δύο (απλοί και εύκολα ελέγξιµοι) πολλαπλασιασµοί µητρώου µε διάνυσµα και διάνυσµα µε διάνυσµα 14 / 25

28 Ελεγχος Ορθότητας Προγραµµάτων Εύρεση συντοµότερων αποστάσεων Θεωρήστε ένα πρόγραµµα P 2 που δέχεται ως είσοδο ένα κατευθυνόµενο γράφηµα G = (V, E), µε κόστη στις πλευρές του wt : E IR >0 και µε µια κορυφή αφετηρίας s V, και το οποίο υπολογίζει (µόνο) τις συντοµότερες αποστάσεις d(v), v V, από την s 15 / 25

29 Ελεγχος Ορθότητας Προγραµµάτων Εύρεση συντοµότερων αποστάσεων Θεωρήστε ένα πρόγραµµα P 2 που δέχεται ως είσοδο ένα κατευθυνόµενο γράφηµα G = (V, E), µε κόστη στις πλευρές του wt : E IR >0 και µε µια κορυφή αφετηρίας s V, και το οποίο υπολογίζει (µόνο) τις συντοµότερες αποστάσεις d(v), v V, από την s Είναι το P 2 ένα πρόγραµµα πιστοποίησης (ελέγξιµο) ; 15 / 25

30 Ελεγχος Ορθότητας Προγραµµάτων Εύρεση συντοµότερων αποστάσεων Θεωρήστε ένα πρόγραµµα P 2 που δέχεται ως είσοδο ένα κατευθυνόµενο γράφηµα G = (V, E), µε κόστη στις πλευρές του wt : E IR >0 και µε µια κορυφή αφετηρίας s V, και το οποίο υπολογίζει (µόνο) τις συντοµότερες αποστάσεις d(v), v V, από την s Είναι το P 2 ένα πρόγραµµα πιστοποίησης (ελέγξιµο) ; Αν όχι, τότε πώς µπορεί να γίνει ; 15 / 25

31 Ελεγχος Ορθότητας Προγραµµάτων Εύρεση συντοµότερων αποστάσεων Θεωρήστε ένα πρόγραµµα P 2 που δέχεται ως είσοδο ένα κατευθυνόµενο γράφηµα G = (V, E), µε κόστη στις πλευρές του wt : E IR >0 και µε µια κορυφή αφετηρίας s V, και το οποίο υπολογίζει (µόνο) τις συντοµότερες αποστάσεις d(v), v V, από την s Είναι το P 2 ένα πρόγραµµα πιστοποίησης (ελέγξιµο) ; Αν όχι, τότε πώς µπορεί να γίνει ; Το P 2, ως έχει, είναι όντως πρόγραµµα πιστοποίησης (u, v) E: d(v) d(u) + wt(u, v), µε την ισότητα να ισχύει για τουλάχιστον n 1 ακµές (n = V ) 15 / 25

32 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος επιπεδότητας γραφηµάτων Θεωρήστε ένα πρόγραµµα P 3 το οποίο δέχεται ως είσοδο ένα γράφηµα G και εξετάζει αν το G είναι επίπεδο ή όχι, επιστρέφοντας µια λογική τιµή true ή false 16 / 25

33 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος επιπεδότητας γραφηµάτων Θεωρήστε ένα πρόγραµµα P 3 το οποίο δέχεται ως είσοδο ένα γράφηµα G και εξετάζει αν το G είναι επίπεδο ή όχι, επιστρέφοντας µια λογική τιµή true ή false Είναι το P 3 ένα πρόγραµµα πιστοποίησης (ελέγξιµο) ; 16 / 25

34 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος επιπεδότητας γραφηµάτων Θεωρήστε ένα πρόγραµµα P 3 το οποίο δέχεται ως είσοδο ένα γράφηµα G και εξετάζει αν το G είναι επίπεδο ή όχι, επιστρέφοντας µια λογική τιµή true ή false Είναι το P 3 ένα πρόγραµµα πιστοποίησης (ελέγξιµο) ; Αν όχι, τότε πώς µπορεί να γίνει ; 16 / 25

35 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος επιπεδότητας γραφηµάτων Το P 3, ως έχει, δεν είναι πρόγραµµα πιστοποίησης Για να γίνει, πρέπει να επεκταθεί η διασύνδεσή του 17 / 25

36 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος επιπεδότητας γραφηµάτων Το P 3, ως έχει, δεν είναι πρόγραµµα πιστοποίησης Για να γίνει, πρέπει να επεκταθεί η διασύνδεσή του Με είσοδο G το πρόγραµµα πιστοποίησης P 3 επιστρέφει είτε «επίπεδο» µαζί µε µια επίπεδη απεικόνιση του G είτε «µη-επίπεδο» µαζί µε ένα υπογράφηµα του G οµοιοµορφικό µε το K 5 ή το K 3,3 (υπογραφήµατα Kuratowski) K 5 K 3,3 17 / 25

37 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος διµερότητας γραφηµάτων Θεωρήστε ένα πρόγραµµµα P 4 που δέχεται ως είσοδο ένα γράφηµα G και εξετάζει αν το G είναι διµερές ή όχι, επιστρεφοντας µια λογική τιµή true ή false 18 / 25

38 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος διµερότητας γραφηµάτων Θεωρήστε ένα πρόγραµµµα P 4 που δέχεται ως είσοδο ένα γράφηµα G και εξετάζει αν το G είναι διµερές ή όχι, επιστρεφοντας µια λογική τιµή true ή false Είναι το P 4 ένα πρόγραµµα πιστοποίησης (ελέγξιµο) ; 18 / 25

39 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος διµερότητας γραφηµάτων Θεωρήστε ένα πρόγραµµµα P 4 που δέχεται ως είσοδο ένα γράφηµα G και εξετάζει αν το G είναι διµερές ή όχι, επιστρεφοντας µια λογική τιµή true ή false Είναι το P 4 ένα πρόγραµµα πιστοποίησης (ελέγξιµο) ; Αν όχι, τότε πώς µπορεί να γίνει ; 18 / 25

40 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος διµερότητας γραφηµάτων Το P 4, ως έχει, δεν είναι πρόγραµµα πιστοποίησης a b x y d c z 2-χρωµατισµός πιστοποιεί διµερότητα περιττός κύκλος πιστοποιεί µη-διµερότητα 19 / 25

41 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος διµερότητας γραφηµάτων Το P 4, ως έχει, δεν είναι πρόγραµµα πιστοποίησης a b x y d c z 2-χρωµατισµός πιστοποιεί διµερότητα Πρόγραµµα (αλγόριθµος) πιστοποίησης P 4 : περιττός κύκλος πιστοποιεί µη-διµερότητα 19 / 25

42 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος διµερότητας γραφηµάτων Το P 4, ως έχει, δεν είναι πρόγραµµα πιστοποίησης a b x y d c z 2-χρωµατισµός πιστοποιεί διµερότητα Πρόγραµµα (αλγόριθµος) πιστοποίησης P 4 : περιττός κύκλος πιστοποιεί µη-διµερότητα Κατασκευή γεννητικού δένδρου και χρήση του για χρωµατισµό κορυφών του G µε χρώµατα πράσινο και µπλε 19 / 25

43 Ελεγχος Ορθότητας Προγραµµάτων Ελεγχος διµερότητας γραφηµάτων Το P 4, ως έχει, δεν είναι πρόγραµµα πιστοποίησης a b x y d c z 2-χρωµατισµός πιστοποιεί διµερότητα Πρόγραµµα (αλγόριθµος) πιστοποίησης P 4 : περιττός κύκλος πιστοποιεί µη-διµερότητα Κατασκευή γεννητικού δένδρου και χρήση του για χρωµατισµό κορυφών του G µε χρώµατα πράσινο και µπλε για κάθε µη-δενδρική ακµή, έλεγχος αν τα άκρα της έχουν διαφορετικά χρώµατα Αν ναι, τότε το G είναι διµερές (και ο χρωµατισµός το αποδεικνύει) Αν όχι, τότε το G δεν είναι διµερές Εστω e = (x, y) µια µη-δενδρική ακµή µε άκρα ίδιου χρώµατος Η δενδρική διαδροµή x-y έχει άρτιο µήκος (x & y έχουν ίδιο χρώµα) Η ακµή e µε την δενδρική διαδροµή x-y είναι ένας περιττός κύκλος 19 / 25

44 Ελεγχος Ορθότητας Προγραµµάτων Πλεονεκτήµατα 20 / 25

45 Ελεγχος Ορθότητας Προγραµµάτων Πλεονεκτήµατα 1. Η απάντηση του προγράµµατος µπορεί να επαληθευθεί για κάθε ξεχωριστό στιγµιότυπο εισόδου επαλήθευση προγράµµατος (program verification) η οποία παρέχει εγγύηση για όλα τα στιγµιότυπα εισόδου 20 / 25

46 Ελεγχος Ορθότητας Προγραµµάτων Πλεονεκτήµατα 1. Η απάντηση του προγράµµατος µπορεί να επαληθευθεί για κάθε ξεχωριστό στιγµιότυπο εισόδου επαλήθευση προγράµµατος (program verification) η οποία παρέχει εγγύηση για όλα τα στιγµιότυπα εισόδου 2. Οι αλγόριθµοι πιστοποίησης είναι αξιόπιστοι Είτε δίνουν τη σωστή απάντηση Είτε παρέχουν ένδειξη ότι υπάρχει σφάλµα 20 / 25

47 Ελεγχος Ορθότητας Προγραµµάτων Πλεονεκτήµατα 1. Η απάντηση του προγράµµατος µπορεί να επαληθευθεί για κάθε ξεχωριστό στιγµιότυπο εισόδου επαλήθευση προγράµµατος (program verification) η οποία παρέχει εγγύηση για όλα τα στιγµιότυπα εισόδου 2. Οι αλγόριθµοι πιστοποίησης είναι αξιόπιστοι Είτε δίνουν τη σωστή απάντηση Είτε παρέχουν ένδειξη ότι υπάρχει σφάλµα 3. Υπολογισµός αυξηµένης εµπιστοσύνης Ο χρήστης µπορεί να αυξήσει την εµπιστοσύνη του στην ορθότητα του προγράµµατος καταβάλοντας πολύ µικρή διανοητική προσπάθεια ανάγκη να καταλάβει το πρόγραµµα αρκεί να καταλάβει την ιδιότητα του πιστοποιητικού και τον ελεγκτή ορθότητας Ο υλοποιητής ενός προγράµµατος µπορεί να δώσει µια πειστική ένδειξη της ορθότητάς του χωρίς να αποκαλύψει οποιαδήποτε λεπτοµέρεια της υλοποίησης 20 / 25

48 Ελεγχος Ορθότητας Προγραµµάτων Πλεονεκτήµατα 21 / 25

49 Ελεγχος Ορθότητας Προγραµµάτων Πλεονεκτήµατα 4. Ο έλεγχος ορθότητας επιτρέπει να χρησιµοποιούµε ένα πιθανώς µη-ορθό πρόγραµµα σαν να ήταν ορθό πολύ χρήσιµο κατά τη διαδικασία αποσφαλµάτωσης f f1 f2 21 / 25

50 Ελεγχος Ορθότητας Προγραµµάτων Πλεονεκτήµατα 4. Ο έλεγχος ορθότητας επιτρέπει να χρησιµοποιούµε ένα πιθανώς µη-ορθό πρόγραµµα σαν να ήταν ορθό πολύ χρήσιµο κατά τη διαδικασία αποσφαλµάτωσης f f1 f2 5. Ο έλεγχος ορθότητας υποστηρίζει τη δοκιµή προγράµµατος (testing) for (int n = 0; n < 100; n++) for (int m = 0; m < 100; m++) { random_graph(g,n,m); // random graph with n nodes and m edges list<edge> M = MAX_CARD_MATCHING(G,OSC); CHECK_MAX_CARD_MATCHING(G,M,OSC); } 21 / 25

51 Ελεγχος Ορθότητας Προγραµµάτων Πλεονεκτήµατα 6. Ενας ελεγκτής (πρόγραµµα ελέγχου ορθότητας) µπορεί να γραφεί αν υπάρχει αυστηρός ορισµός του προβλήµατος που επιλύει το πρόγραµµα που ελέγχει Π.χ. αν ένας αλγόριθµος επίλυσης ενός προβλήµατος γραφηµάτων υποθέτει ότι δεν υπάρχουν µεµονωµένοι κόµβοι στο γράφηµα, τότε η ίδια υπόθεση πρέπει να τηρηθεί και από τον ελεγκτή 22 / 25

52 Ελεγχος Ορθότητας Προγραµµάτων Αλλα Ϲητήµατα 23 / 25

53 Ελεγχος Ορθότητας Προγραµµάτων Αλλα Ϲητήµατα Καθολικότητα: Εχει κάθε πρόβληµα έναν αλγόριθµο πιστοποίησης ; Μπορεί κάθε πρόγραµµα να µετατραπεί σε πρόγραµµα πιστοποίησης ; 23 / 25

54 Ελεγχος Ορθότητας Προγραµµάτων Αλλα Ϲητήµατα Καθολικότητα: Εχει κάθε πρόβληµα έναν αλγόριθµο πιστοποίησης ; Μπορεί κάθε πρόγραµµα να µετατραπεί σε πρόγραµµα πιστοποίησης ; Κάθε αιτιοκρατικό πρόγραµµα µπορεί να µετατραπεί σε πρόγραµµα πιστοποίησης [McConnell, Mehlhorn, Naeher, Schweitzer, 2011] 23 / 25

55 Ελεγχος Ορθότητας Προγραµµάτων Αλλα Ϲητήµατα Καθολικότητα: Εχει κάθε πρόβληµα έναν αλγόριθµο πιστοποίησης ; Μπορεί κάθε πρόγραµµα να µετατραπεί σε πρόγραµµα πιστοποίησης ; Κάθε αιτιοκρατικό πρόγραµµα µπορεί να µετατραπεί σε πρόγραµµα πιστοποίησης [McConnell, Mehlhorn, Naeher, Schweitzer, 2011] Τυπική Επαλήθευση (formal verification): προσθέτει ένα επιπλέον επίπεδο εµπιστοσύνης Τυπικές αποδείξεις είναι ορθές και πλήρεις είναι µηχανικά ελεγχόµενες (από ένα πολύ απλό πρόγραµµα) επιτρέπουν τη δηµιουργία µεγάλων ϐιβλιοθηκών έµπιστων αλγορίθµων επιτρέπουν στον χρήστη να καταβάλλει ακόµα µικρότερη διανοητική προσπάθεια εµπιστευθειτε απλώς τον ελεγκτή απόδειξης! 23 / 25

56 Σύνοψη οκιµή προγραµµάτων Ελεγχος Ορθότητας Προγραµµάτων Αλγόριθµοι/προγράµµατα πιστοποίησης: ιδιαίτερα επωφελή... µπορούν να ελεγχθούν σε κάθε είσοδο είναι αξιόπιστα µπορούµε να τα εµπιστευθούµε χωρίς να γνωρίζουµε τον κώδικα υποστηρίζουν τον υπολογισµό αυξηµένης εµπιστοσύνης... και παρέχουν έναν νέο τρόπο ανάπτυξης αλγορίθµων 24 / 25

57 Ερωτήσεις ; 25 / 25

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 3 1 / 32 Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 2 1 / 26 Ενότητα 2 Τεχνολογίες Υλοποίησης Αλγορίθµων

Διαβάστε περισσότερα

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00

Ασκηση 1 [ ] Παράδοση : Τετάρτη , 13:00 Χρήστος. Ζαρολιάγκης Τεχνολογίες Υλοποίησης Αλγορίθµων : Άσκηση 1 1 Ασκηση 1 [16.03.2016] Παράδοση : Τετάρτη 13.04.2016, 13:00 Η παρούσα άσκηση αφορά στον έλεγχο διµερότητας ενός γραφήµατος. Σκοπός της

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Γραφηµάτων (1) Στοιχεία Θεωρίας Γραφηµάτων (1) Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Γραφηµάτων (1) 1 / 23 Μη κατευθυνόµενα γραφήµατα

Διαβάστε περισσότερα

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

Κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Πολυγραφήµατα (Multigraphs) Μη κατευθυνόµενα γραφήµατα Στοιχεία Θεωρίας Γραφηµάτων (1) Απλό µη κατευθυνόµενο γράφηµα G είναι διατεταγµένο Ϲεύγος (V, E) µε σύνολο κορυφών/κόµβων V Ορέστης Τελέλης tllis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων,

Διαβάστε περισσότερα

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 2 1 / 33 Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

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

Υπολογιστικό Πρόβληµα Υπολογιστικό Πρόβληµα Μετασχηµατισµός δεδοµένων εισόδου σε δεδοµένα εξόδου. Δοµή δεδοµένων εισόδου (έγκυρο στιγµιότυπο). Δοµή και ιδιότητες δεδοµένων εξόδου (απάντηση ή λύση). Τυπικά: διµελής σχέση στις

Διαβάστε περισσότερα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα

Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Ελεγχος, Αξιοπιστία και Διασφάλιση Ποιότητας Λογισµικού Πολυπλοκότητα Τµήµα Διοίκησης Επιχειρήσεων Τει Δυτικής Ελλάδας Μεσολόγγι Δρ. Α. Στεφανή Διάλεξη 5 2 Εγκυροποίηση Λογισµικού Εγκυροποίηση Λογισµικού

Διαβάστε περισσότερα

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

Μονοπάτια και Κυκλώµατα Euler. Στοιχεία Θεωρίας Γραφηµάτων (3,4) Παραδείγµατα. Κριτήρια Υπαρξης. Μονοπάτια και Κυκλώµατα Eulr Σε γράφηµα G(V, E): Στοιχεία Θεωρίας Γραφηµάτων (3,4) Ορέστης Τελέλης tllis@unipi.r Κύκλωµα Eulr: Απλό κύκλωµα που διασχίζει κάθε ακµή του G. Μονοπάτι Eulr: Απλό µονοπάτι που

Διαβάστε περισσότερα

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήµατα v1.0 ( ) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήµατα v1.0 (2010-05-25) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 15 Ιουνίου 2009 1 / 26 Εισαγωγή Η ϑεωρία

Διαβάστε περισσότερα

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

Μη κατευθυνόµενα γραφήµατα. Στοιχεία Θεωρίας Γραφηµάτων (1) Υπογραφήµατα. Κατευθυνόµενα γραφήµατα Απλό κατευθυνόµενο Γράφηµα G είναι διατεταγµένο Ϲεύγος (V, E), µε: Στοιχεία Θεωρίας Γραφηµάτων (1) σύνολο κορυφών / κόµβων V, Ορέστης Τελέλης tllis@unipi.r Τµήµα Ψηφιακών Συστηµάτων,

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους

Εισαγωγή στους Αλγορίθμους Εισαγωγή στους Αλγορίθμους Ενότητα 7η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Αλγόριθμοι Γραφημάτων Τοπολογική Διάταξη

Διαβάστε περισσότερα

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι έχουµε δει µέχρι τώρα. Υπογράφηµα Γράφοι HY118- ιακριτά Μαθηµατικά Θεωρία γράφων / γραφήµατα Πέµπτη, 19/05/2016 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 5/22/2016 1 1 5/22/2016 2 2 Τι έχουµε δει µέχρι τώρα Κατευθυνόµενοι µη κατευθυνόµενοι

Διαβάστε περισσότερα

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 1 Εισαγωγικά 1 / 17 Ενότητα 1 - Εισαγωγικά Τεχνολογίες

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 7η

Εισαγωγή στους Αλγορίθμους Ενότητα 7η Εισαγωγή στους Αλγορίθμους Ενότητα 7η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

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

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων ημήτρης Φωτάκης ιακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο 4 η Εργασία: Γενική Εικόνα Αντίστοιχη βαθμολογικά και ποιοτικά με την

Διαβάστε περισσότερα

Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων

Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 6 1 / 35 Ενότητα 6 - Συντοµότερες

Διαβάστε περισσότερα

Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων

Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων Προηγµένα Θέµατα Τεχνολογιών Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Γρηγόρης Πράσινος Υποψήφιος ιδάκτωρ Τµήµα

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Ενότητα 10η

Εισαγωγή στους Αλγορίθμους Ενότητα 10η Εισαγωγή στους Αλγορίθμους Ενότητα 10η Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

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

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 3η Θεωρία Γραφηµάτων ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ2 Ε ρ γ α σ ί α 3η Θεωρία Γραφηµάτων Σκοπός της παρούσας εργασίας είναι η περαιτέρω εξοικείωση µε τις σηµαντικότερες µεθόδους και ιδέες της Θεωρίας Γραφηµάτων.

Διαβάστε περισσότερα

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιµότητα. Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιµότητα Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβληµα αναζήτησης (search problem) Ένα πρόβληµα αναζήτησης είναι ένα πρόβληµα στο

Διαβάστε περισσότερα

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

ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ20 Ε ρ γ α σ ί α 3η Θεωρία Γραφηµάτων ιακριτά Μαθηµατικά και Μαθηµατική Λογική ΠΛΗ Ε ρ γ α σ ί α η Θεωρία Γραφηµάτων Α π α ν τ ή σ ε ι ς Ε ρ ω τ η µ ά τ ω ν Ερώτηµα. Στο παρακάτω γράφηµα µε βάρη, να βρεθεί το µήκος του µικρότερου µονοπατιού

Διαβάστε περισσότερα

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

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων Δημήτρης Φωτάκης Διακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο 4 η Εργασία: Γενική Εικόνα Πολύ ενθαρρυντική εικόνα. Σαφώς καλύτερη

Διαβάστε περισσότερα

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα

Επίπεδα Γραφήματα : Προβλήματα και Υπολογιστική Πολυπλοκότητα Αλγόριθμοι πολυωνυμικού χρόνου Ένας αλγόριθμος πολυωνυμικού χρόνου έχει χρόνο εκτέλεσης όπου είναι μία (θετική) σταθερά Κλάση πολυπλοκότητας : περιλαμβάνει τα προβλήματα που επιδέχονται λύση σε πολυωνυμικό

Διαβάστε περισσότερα

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Γρηγόρης Πράσινος Υποψήφιος ιδάκτωρ Τµήµα Μηχ/κων Η/Υ &

Διαβάστε περισσότερα

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

Γράφηµα (Graph) Εργαστήριο 10. Εισαγωγή Εργαστήριο 10 Γράφηµα (Graph) Εισαγωγή Στην πληροφορική γράφηµα ονοµάζεται µια δοµή δεδοµένων, που αποτελείται από ένα σύνολο κορυφών ( vertices) (ή κόµβων ( nodes» και ένα σύνολο ακµών ( edges). Ενας

Διαβάστε περισσότερα

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων. 22 - Γράφοι HY118- ιακριτά Μαθηµατικά Θεωρία γράφων / γραφήµατα Τρίτη, 19/05/2015 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 5/21/2015 1 1 5/21/2015 2 2 Τι είναι οι γράφοι; Mία ειδική κλάση διακριτών δοµών (που

Διαβάστε περισσότερα

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5

Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5 Υπολογιστική Πολυπλοκότητα Εξέταση Ιουνίου 2017 Σελ. 1 από 5 Στη σελίδα αυτή γράψτε μόνο τα στοιχεία σας. Γράψτε τις απαντήσεις σας στις επόμενες σελίδες, κάτω από τις αντίστοιχες ερωτήσεις. Στις απαντήσεις

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ

Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 5: ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΙΚΩΝ ΠΡΟΒΛΗΜΑΤΩΝ-ΑΝΑΓΩΓΗ Δημήτριος Κουκόπουλος Σχολή Οργάνωσης και Διοίκησης Επιχειρήσεων Τμήμα Διαχείρισης Πολιτισμικού Περιβάλλοντος και

Διαβάστε περισσότερα

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

Θεωρία Γραφημάτων 6η Διάλεξη Θεωρία Γραφημάτων 6η Διάλεξη Α. Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α. Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 6η Διάλεξη

Διαβάστε περισσότερα

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 1 Εισαγωγικά 1 / 24 Αδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης

Πολυπλοκότητα. Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης. Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης. Προσπάθεια υλοποίησης Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι πόροι, π.χ. μνήμη, εύρος ζώνης Προσπάθεια υλοποίησης Παράμετροι της αποδοτικότητας ενός αλγόριθμου: Χρόνος εκτέλεσης Απαιτούμενοι

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 4 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

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

Τομές Γραφήματος. Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών. Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο) Συνάρτηση βάρους ακμών Τομή : Διαμέριση του συνόλου των κόμβων σε δύο μη κενά σύνολα και 12 26 20 10 9 7 17 14 4 Τομές Γραφήματος Γράφημα (μη κατευθυνόμενο)

Διαβάστε περισσότερα

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών

11.1 Συναρτήσεις. ΚΕΦΑΛΑΙΟ 11: Θεωρία υπολογισµών ΚΕΦΑΛΑΙΟ : Θεωρία υπολογισµών. Συναρτήσεις και ο υπολογισµός τους. Μηχανές Turig.3 Καθολικές γλώσσες προγραµµατισµού.4 Μια µη υπολογίσιµη συνάρτηση.5 Πολυπλοκότητα προβληµάτων.6 Κρυπτογραφία δηµόσιου κλειδιού.

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Γραφηµάτων (3) Στοιχεία Θεωρίας Γραφηµάτων (3) Ορέστης Τελέλης tllis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Γραφηµάτων (3) 1 / 23 Απαρίθµηση Μονοπατιών Εστω

Διαβάστε περισσότερα

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

Απαρίθµηση Μονοπατιών. Στοιχεία Θεωρίας Γραφηµάτων (3) Μονοπάτια και Κυκλώµατα Euler. Ορέστης Τελέλης Απαρίθµηση Μονοπατιών Εστω γράφηµα G(V, E) µε πίνακα γειτνίασης A Στοιχεία Θεωρίας Γραφηµάτων (3) Ορέστης Τελέλης tllis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς ως προς µια διάταξη των

Διαβάστε περισσότερα

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος

Εισαγωγή στους Αλγόριθµους. Αλγόριθµοι. Ιστορικά Στοιχεία. Ο πρώτος Αλγόριθµος. Παραδείγµατα Αλγορίθµων. Τι είναι Αλγόριθµος Εισαγωγή στους Αλγόριθµους Αλγόριθµοι Τι είναι αλγόριθµος; Τι µπορεί να υπολογίσει ένας αλγόριθµος; Πως αξιολογείται ένας αλγόριθµος; Παύλος Εφραιµίδης pefraimi@ee.duth.gr Αλγόριθµοι Εισαγωγικές Έννοιες

Διαβάστε περισσότερα

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους

Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Επίλυση Προβληµάτων µε Greedy Αλγόριθµους Περίληψη Επίλυση προβληµάτων χρησιµοποιώντας Greedy Αλγόριθµους Ελάχιστα Δέντρα Επικάλυψης Αλγόριθµος του Prim Αλγόριθµος του Kruskal Πρόβληµα Ελάχιστης Απόστασης

Διαβάστε περισσότερα

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

HY118- ιακριτά Μαθηµατικά. Θεωρία γράφων / γραφήµατα. Τι είναι οι γράφοι; Εφαρµογές των γράφων Γράφοι HY118- ιακριτά Μαθηµατικά Θεωρία γράφων / γραφήµατα Τρίτη, 17/05/2016 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 5/22/2016 1 1 5/22/2016 2 2 Τι είναι οι γράφοι; Mία ειδική κλάση διακριτών δοµών (που

Διαβάστε περισσότερα

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

ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων ΠΛΗ 20, 5 η ΟΣΣ: Θεωρία Γραφημάτων Δημήτρης Φωτάκης Διακριτά Μαθηματικά και Μαθηματική Λογική Πληροφορική Ελληνικό Ανοικτό Πανεπιστήμιο 4 η Εργασία: Γενική Εικόνα Ενθαρρυντική εικόνα, σαφώς καλύτερη από

Διαβάστε περισσότερα

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91

ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 2005 Σύνολο μονάδων: 91 Ε.Μ.Πoλυτεχνείο ΣΗΜΜΥ, ΣΕΜΦΕ Τομέας Τεχνολογίας Πληροφορικής & Υπολογιστών Διδάσκων: Ε.Ζαχος Ονοματεπώνυμο:... Αριθμός Μητρώου:... Σχολή:... εξάμηνο:... ΑΛΓΟΡΙΘΜΟΙ ΚΑΙ ΠΟΛΥΠΛΟΚΟΤΗΤΑ Φεβρουάριος 005 Σύνολο

Διαβάστε περισσότερα

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

Παράδειγµα (4) Στοιχεία Θεωρίας Γραφηµάτων (2) Ορέστης Τελέλης. Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς. v 2. u 3. Παράδειγµα (2) s t Στοιχεία Θεωρίας Γραφηµάτων (2) w x Ορέστης Τελέλης z y tllis@unipi.r v u Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Τα δύο γραφήµατα δεν είναι ισόµορφα. Ο κόµβος (αριστερά) είναι

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών

ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών ΚΕΦΑΛΑΙΟ 12: Θεωρία υπολογισµών 1 Συναρτήσεις και ο υπολογισµός τους 2 Μηχανές Turing 3 Καθολικές γλώσσες προγραµµατισµού 4 Μια µη υπολογίσιµη συνάρτηση 5 Πολυπλοκότητα προβληµάτων 1 Συναρτήσεις Μία συνάρτηση

Διαβάστε περισσότερα

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα αναζήτησης είναι ένα πρόβλημα στο

Διαβάστε περισσότερα

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού

Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΤΗΛΕΜΑΤΙΚΗΣ Ανάλυση Απαιτήσεων Απαιτήσεις Λογισµικού Μάρα Νικολαϊδου Δραστηριότητες Διαδικασιών Παραγωγής Λογισµικού Καθορισµός απαιτήσεων και εξαγωγή προδιαγραφών

Διαβάστε περισσότερα

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις

ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις ΠΛΗΡΟΦΟΡΙΚΗ Ι Ενότητα 3: Συναρτήσεις Μιχάλης Δρακόπουλος Σχολή Θετικών επιστημών Τμήμα Μαθηματικών Συναρτήσεις 60 Ροή ελέγχου Είναι η σειρά µε την οποία εκτελούνται οι εντολές. Μέχρι τώρα, «σειριακή»,

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 8 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Διακριτά Μαθηματικά. Ενότητα 2: Γραφήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διακριτά Μαθηματικά Ενότητα 2: Γραφήματα Αν. Καθηγητής Κ. Στεργίου e-mail: kstergiou@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Κατανεμημένα Συστήματα Ι Παναγιώτα Παναγοπούλου Χριστίνα Σπυροπούλου 8η Διάλεξη 8 Δεκεμβρίου 2016 1 Ασύγχρονη κατασκευή BFS δέντρου Στα σύγχρονα συστήματα ο αλγόριθμος της πλημμύρας είναι ένας απλός αλλά

Διαβάστε περισσότερα

Συνδετικότητα γραφήματος (graph connectivity)

Συνδετικότητα γραφήματος (graph connectivity) Συνδετικότητα γραφήματος (graph connectivity) Συνδετικότητα γραφήματος (graph connectivity) Υπάρχει μονοπάτι μεταξύ α και β; α Παραδείγματα: υπολογιστές ενός δικτύου ιστοσελίδες ισοδύναμες μεταβλητές ενός

Διαβάστε περισσότερα

Σχέσεις, Ιδιότητες, Κλειστότητες

Σχέσεις, Ιδιότητες, Κλειστότητες Σχέσεις, Ιδιότητες, Κλειστότητες Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Σχέσεις 1 / 26 Εισαγωγή & Ορισµοί ιµελής Σχέση R από

Διαβάστε περισσότερα

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

HY118-Διακριτά Μαθηματικά. Θεωρία γράφων / γραφήματα. Τι έχουμε δει μέχρι τώρα. Υπογράφημα. 24 -Γράφοι HY118-Διακριτά Μαθηματικά Θεωρία γράφων / γραφήματα Πέμπτη, 11/05/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 11-May-17 1 1 11-May-17 2 2 Τι έχουμε δει μέχρι τώρα Κατευθυνόμενοι μη κατευθυνόμενοι

Διαβάστε περισσότερα

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

Θεωρία Γραφημάτων 11η Διάλεξη Θεωρία Γραφημάτων 11η Διάλεξη Α Συμβώνης Εθνικο Μετσοβειο Πολυτεχνειο Σχολη Εφαρμοσμενων Μαθηματικων και Φυσικων Επιστημων Τομεασ Μαθηματικων Φεβρουάριος 2016 Α Συμβώνης (ΕΜΠ) Θεωρία Γραφημάτων 11η Διάλεξη

Διαβάστε περισσότερα

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

Στοιχεία Θεωρίας Γραφηµάτων (2) Στοιχεία Θεωρίας Γραφηµάτων (2) Ορέστης Τελέλης tllis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Θεωρία Γραφηµάτων (2) 1 / 21 Παράδειγµα (2) s t w x h g

Διαβάστε περισσότερα

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων

Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Μέθοδοι Μηχανών Μάθησης για Ευφυή Αναγνώριση και ιάγνωση Ιατρικών εδοµένων Εισηγητής: ρ Ηλίας Ζαφειρόπουλος Εισαγωγή Ιατρικά δεδοµένα: Συλλογή Οργάνωση Αξιοποίηση Data Mining ιαχείριση εδοµένων Εκπαίδευση

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 9 P vs NP 1 / 13 Δυσκολία επίλυσης υπολογιστικών προβλημάτων Κάποια προβλήματα είναι εύκολα να λυθούν με

Διαβάστε περισσότερα

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

Αλγόριθµοι Γραφηµάτων Αλγόριθµοι Γραφηµάτων Παύλος Σπυράκης Πανεπιστήµιο Πατρών Τοµέας Θεµελιώσεων και Εφαρµογών της Επιστήµης των Υπολογιστών Ερευνητικό Ακαδηµαϊκό Ινστιτούτο Τεχνολογίας Υπολογιστών Γραφήµατα Μοντελοποίηση

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 6

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 6 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 6 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση

Πίνακες Διασποράς. Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h. Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση Πίνακες Διασποράς Χρησιμοποιούμε ένα πίνακα διασποράς T και μια συνάρτηση διασποράς h Ένα στοιχείο με κλειδί k αποθηκεύεται στη θέση κλειδί k T 0 1 2 3 4 5 6 7 U : χώρος πιθανών κλειδιών Τ : πίνακας μεγέθους

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 10γ: Αλγόριθμοι Γραφημάτων- Διερεύνηση Πρώτα σε Βάθος (DFS)- Τοπολογική Ταξινόμηση Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

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

Αλγόριθμοι Γραφημάτων Αλγόριθμοι Γραφημάτων 1. Διερεύνηση Πρώτα σε Βάθος (DFS) 2. Τοπολογική Ταξινόμηση Εισαγωγή στην Ανάλυση Αλγορίθμων Μάγια Σατρατζέμη Depth-First Search Πρώτα σε Βάθος διερεύνηση (Depth-First Search) είναι

Διαβάστε περισσότερα

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

Βασικές Έννοιες Θεωρίας Γραφημάτων Βασικές Έννοιες Θεωρίας Γραφημάτων Διδάσκοντες: Σ. Ζάχος, Δ. Φωτάκης Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Γραφήματα Μοντελοποίηση πολλών σημαντικών προβλημάτων

Διαβάστε περισσότερα

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Θεωρία Υπολογισμού και Πολυπλοκότητα Μαθηματικό Υπόβαθρο Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Σύνολα Συναρτήσεις και Σχέσεις Γραφήματα Λέξεις και Γλώσσες Αποδείξεις ΕΠΛ 211 Θεωρία

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΜΣΕ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΜΣΕ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΠΑΝΕΠΙΣΤΗΜΙΟ ΜΑΚΕ ΟΝΙΑΣ ΟΙΚΟΝΟΜΙΚΩΝ ΚΑΙ ΚΟΙΝΩΝΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΠΜΣΕ ΣΤΗΝ ΕΦΑΡΜΟΣΜΕΝΗ ΠΛΗΡΟΦΟΡΙΚΗ ΝΕΥΡΩΝΙΚΑ ΙΚΤΥΑ ΚΑΙ ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ ΟΜΑ Α ΑΣΚΗΣΕΩΝ ΑΣΚΗΣΗ Στην εικόνα παρακάτω φαίνεται ένα νευρωνικό

Διαβάστε περισσότερα

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

HY118-Διακριτά Μαθηματικά HY118-Διακριτά Μαθηματικά Πέμπτη, 11/05/2017 Αντώνης Α. Αργυρός e-mail: argyros@csd.uoc.gr 11-May-17 1 1 Θεωρία γράφων / γραφήματα 11-May-17 2 2 Τι έχουμε δει μέχρι τώρα Κατευθυνόμενοι μη κατευθυνόμενοι

Διαβάστε περισσότερα

Εισαγωγή στην πληροφορική

Εισαγωγή στην πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην πληροφορική Βασίλειος Βεσκούκης ρ. Ηλεκτρολόγος Μηχανικός & Μηχανικός Υπολογιστών ΕΜΠ v.vescoukis@cs.ntua.gr Αλγόριθµοι, στοιχεία

Διαβάστε περισσότερα

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 7 Φεβρουαρίου / 38 4η Γραπτή Άσκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 7 Φεβρουαρίου 2017 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Άσκηση 7 Φεβρουαρίου 2017 1 / 38 Άσκηση 1 Πρέπει να βρούμε όλες τις καλές προτάσεις φίλων για τον

Διαβάστε περισσότερα

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι;

Ελάχιστο Γεννητικό Δένδρο. Παράδειγμα - Αλγόριθμος Prim. Γιατί δουλεύουν αυτοί οι αλγόριθμοι; Άπληστοι Αλγόριθμοι ΙΙI Αλγόριθμοι γραφημάτων Ελάχιστο Γεννητικό Δένδρο Παράδειγμα Κατασκευή δικτύων Οδικά, επικοινωνίας Έχουμε ένα συνεκτικό γράφημα (V,E) και ένας βάρος we σε κάθε ακμή e. Να βρεθεί υποσύνολο

Διαβάστε περισσότερα

Ελαφρύτατες διαδρομές

Ελαφρύτατες διαδρομές Ελαφρύτατες διαδρομές Ελαφρύτατες διαδρομές Κατευθυνόμενο γράφημα Συνάρτηση βάρους Ελαφρύτατη διαδρομή από το u στο v : διαδρομή με και ελάχιστο βάρος s 3 t 7 x 5 3 y z Βάρος ελαφρύτατης διαδρομής εάν

Διαβάστε περισσότερα

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος

Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Αλγόριθµοι Τύπου Μείωσης Προβλήµατος Περίληψη Αλγόριθµοι Τύπου Μείωσης Προβλήµατος ( Decrease and Conquer ) Μείωση κατά µια σταθερά (decrease by a constant) Μείωση κατά ένα ποσοστό (decrease by a constant

Διαβάστε περισσότερα

Δομές Δεδομένων και Αλγόριθμοι

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 18 Dijkstra s Shortest Path Algorithm 1 / 12 Ο αλγόριθμος εύρεσης της συντομότερης διαδρομής του Dijkstra

Διαβάστε περισσότερα

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1,

Κεφάλαιο 8. NP και Υπολογιστική Δυσεπιλυσιμότητα. Παύλος Εφραιμίδης V1.1, Κεφάλαιο 8 NP και Υπολογιστική Δυσεπιλυσιμότητα Παύλος Εφραιμίδης V1.1, 2015-01-19 Χρησιμοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 πρόβλημα αναζήτησης (search problem) Ένα πρόβλημα

Διαβάστε περισσότερα

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

Βασικές Έννοιες Θεωρίας Γραφημάτων Βασικές Έννοιες Θεωρίας Γραφημάτων ιδάσκοντες: Σ. Ζάχος,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Γραφήματα Μοντελοποίηση

Διαβάστε περισσότερα

Σχεδίαση και Ανάλυση Αλγορίθμων

Σχεδίαση και Ανάλυση Αλγορίθμων Σχεδίαση και Ανάλυση Αλγορίθμων Ενότητα 4.0 Επιλογή Αλγόριθμοι Επιλογής Select και Quick-Select Σταύρος Δ. Νικολόπουλος 2016-17 Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Ιωαννίνων Webpage: www.cs.uoi.gr/~stavros

Διαβάστε περισσότερα

Κεφάλαιο 3. Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne.

Κεφάλαιο 3. Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. Κεφάλαιο 3 Γραφήµατα v1.1 (2012-01-12) Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 3.1 Βασικοί Ορισµοί και Εφαρµογές γραφήµατα γράφηµα G: ένας τρόπος κωδικοποίησης των σχέσεων

Διαβάστε περισσότερα

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6

Τεχνολογία Λογισµικού Ι Κεφάλαιο 6 ΕΛΛΗΝΙΚΟ ΑΝΟΙΧΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Πρόγραµµα σπουδών "ΠΛΗΡΟΦΟΡΙΚΗ" - Θ.Ε. ΠΛΗ11 Τεχνολογία Λογισµικού Ι Κεφάλαιο 6 Βασίλειος Βεσκούκης ιδάκτωρ Ηλεκτρολόγος Μηχανικός και Μηχανικός Υπολογιστών v.vescoukis@cs.ntua.gr

Διαβάστε περισσότερα

ΠαράδειγµαΠρογραµµατισµού

ΠαράδειγµαΠρογραµµατισµού Προγραµµατισµός Η/Υ Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Μεθοδολογία Προγραµµατισµού Αφαιρετικότητα Ροή Ελέγχου/ εδοµένων Βιβλίο µαθήµατος: Chapter 1,, Sec. 4-54 ΕΠΛ 131 Αρχές Προγραµµατισµού

Διαβάστε περισσότερα

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

ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ ΕΥΡΕΣΗ ΕΛΑΧΙΣΤΩΝ ΜΟΝΟΠΑΤΙΩΝ & ΚΑΤΗΓΟΡΙΕΣ ΑΛΓΟΡΙΘΜΩΝ (ΑΛΓΟΡΙΘΜΟΙ, Sanjoy Dasgupta, Christos Papadimitriou, Umesh Vazirani, Κεφάλαιο 4 ΣΧΕΔΙΑΣΜΟΣ ΑΛΓΟΡΙΘΜΩΝ, Jon Kleinberg, Eva Tardos, Κεφάλαιο 4) 1 Θέματα

Διαβάστε περισσότερα

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10

Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10 Εισαγωγή στους Αλγορίθμους Φροντιστήριο 10 Διδάσκων Χρήστος Ζαρολιάγκης Καθηγητής Τμήμα Μηχανικών Η/Υ & Πληροφορικής Πανεπιστήμιο Πατρών Email: zaro@ceid.upatras.gr Άδειες Χρήσης Το παρόν εκπαιδευτικό

Διαβάστε περισσότερα

Γραµµική Αλγεβρα. Ενότητα 3 : ιανυσµατικοί Χώροι και Υπόχωροι. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής

Γραµµική Αλγεβρα. Ενότητα 3 : ιανυσµατικοί Χώροι και Υπόχωροι. Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής Γραµµική Αλγεβρα Ενότητα 3 : ιανυσµατικοί Χώροι και Υπόχωροι Ευστράτιος Γαλλόπουλος Τµήµα Μηχανικών Η/Υ & Πληροφορικής Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Επίπεδα Γραφήματα (planar graphs)

Επίπεδα Γραφήματα (planar graphs) Επίπεδα Γραφήματα (planar graphs) Μπορούν να σχεδιαστούν στο επίπεδο χωρίς να τέμνονται οι ακμές τους 1 2 1 2 3 4 3 4 Άρα αυτό το γράφημα είναι επίπεδο Επίπεδα Γραφήματα (planar graphs) Μπορούν να σχεδιαστούν

Διαβάστε περισσότερα

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

Διαβάστε περισσότερα

Φροντιστήριο 11 Λύσεις

Φροντιστήριο 11 Λύσεις Άσκηση 1 Φροντιστήριο 11 Λύσεις Να αποδείξετε ότι η κλάση Ρ είναι κλειστή ως προς τις πράξεις της ένωσης, της συναρμογής και του συμπληρώματος. Θα πρέπει να δείξουμε ότι: (α) Ένωση: Αν οι Λ 1 και Λ 2 είναι

Διαβάστε περισσότερα

Τεχνολογίες Υλοποίησης Αλγορίθµων

Τεχνολογίες Υλοποίησης Αλγορίθµων Τεχνολογίες Υλοποίησης Αλγορίθµων Χρήστος Ζαρολιάγκης Καθηγητής Τµήµα Μηχ/κων Η/Υ & Πληροφορικής Πανεπιστήµιο Πατρών email: zaro@ceid.upatras.gr Ενότητα 6 1 / 41 Αδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι Συναίνεση χωρίς την παρουσία σφαλμάτων Κατανεμημένα Συστήματα Ι 4η Διάλεξη 27 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Κατανεμημένα Συστήματα Ι 4η Διάλεξη 1 Συναίνεση χωρίς την παρουσία σφαλμάτων Προηγούμενη

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 9 Απριλίου 2009 1 / 0 Παραδείγµατα γράφων

Διαβάστε περισσότερα

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

Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο. Γραφήµατα. (Graphs) Δοµές Δεδοµένων & Ανάλυση Αλγορίθµων 3ο Εξάµηνο Γραφήµατα (Grphs) http://tos.it.tith.gr/~mos/thing_gr.html Δηµοσθένης Σταµάτης Τµήµα Πληροφορικής ATEI ΘΕΣΣΑΛΟΝΙΚΗΣ Γράφημα (Grph) Oρισμός 1: Έστω το µη

Διαβάστε περισσότερα

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

Αλγόριθµοι και Πολυπλοκότητα Αλγόριθµοι και Πολυπλοκότητα Ν. Μ. Μισυρλής Τµήµα Πληροφορικής και Τηλεπικοινωνιών, Πανεπιστήµιο Αθηνών Καθηγητής: Ν. Μ. Μισυρλής () Αλγόριθµοι και Πολυπλοκότητα 6 Μαΐου 2015 1 / 42 Εύρεση Ελάχιστου Μονοπατιού

Διαβάστε περισσότερα

Συντομότερες Διαδρομές

Συντομότερες Διαδρομές Συντομότερη Διαδρομή Συντομότερες Διαδρομές Διδάσκοντες: Σ Ζάχος, Δ Φωτάκης Επιμέλεια διαφανειών: Δ Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Κατευθυνόμενο G(V, E, w) με μήκη Μήκος

Διαβάστε περισσότερα

Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη)

Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη) Προβλήματα ταυτόχρονης εκτέλεσης (για νήματα με κοινή μνήμη) ΙΙΙ 1 lalis@inf.uth.gr Ταυτόχρονη εκτέλεση Ο προγραμματιστής δεν ελέγχει (άμεσα) την εκτέλεση/εναλλαγή των νημάτων Δεν γνωρίζει πότε θα αρχίσει

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ

ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων ΔΙΑΧΕΙΡΙΣΗ ΕΦΟΔΙΑΣΤΙΚΗΣ ΑΛΥΣΙΔΑΣ Ενότητα 9: Διαχείριση Εφοδιαστικής Αλυσίδας: Προβλήματα Μεταφοράς Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative

Διαβάστε περισσότερα

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 2: Μαθηματικό Υπόβαθρο ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 2: Μαθηματικό Υπόβαθρο Τι θα κάνουμε σήμερα Συναρτήσεις & Σχέσεις (0.2.3) Γράφοι (Γραφήματα) (0.2.4) Λέξεις και Γλώσσες (0.2.5) Αποδείξεις (0.3) 1

Διαβάστε περισσότερα

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

Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής ΘΕΩΡΙΑ ΓΡΑΦΩΝ Πανεπιστήμιο Στερεάς Ελλάδας Τμήμα Πληροφορικής ΘΕΩΡΙΑ ΓΡΑΦΩΝ 8 η Διάλεξη Επιπεδότητα (ή επιπεδικότητα γράφων) Βασικές εννοιες και ιδιότητες Θεώρημα Kuratowski Δυαδικότητα (Δυϊκότητα) επίπεδων γράφων Αλγόριθμοι

Διαβάστε περισσότερα

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

Διαβάστε περισσότερα

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων

NP-πληρότητα. Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων NP-πληρότητα Λεωνίδας Παληός Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πανεπιστήμιο Ιωαννίνων Πολυωνυμικός μετασχηματισμός Ένας πολυωνυμικός μετασχηματισμός από την L 1 Σ 1 * στην L 2 Σ 2 * είναι μια συνάρτηση

Διαβάστε περισσότερα

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems

HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems HY380 Αλγόριθμοι και πολυπλοκότητα Hard Problems Ημερομηνία Παράδοσης: 0/1/017 την ώρα του μαθήματος ή με email: mkarabin@csd.uoc.gr Γενικές Οδηγίες α) Επιτρέπεται η αναζήτηση στο Internet και στην βιβλιοθήκη

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα