ΣΧΕΣΕΙΣ ΜΕΤΑΞΥ ΚΛΑΣΕΩΝ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ

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

Download "ΣΧΕΣΕΙΣ ΜΕΤΑΞΥ ΚΛΑΣΕΩΝ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ"

Transcript

1 ΣΧΕΣΕΙΣ ΜΕΤΑΞΥ ΚΛΑΣΕΩΝ ΠΟΛΥΠΛΟΚΟΤΗΤΑΣ

2 Κλάσεις Πολυπλοκότητας Περιλαµβάνουν αναδροµικές γλώσσες Οι γλώσσες ταξινοµούνται στις κλάσεις πολυπλοκότητας ανάλογα µε τη δυσκολία απόφασης τους (ποσότητα απαιτούµενων υπολογιστικών πόρων απο τους αντίστοιχους αλγορίθµους) Προσδιορίζονται πλήρως απο τις εξής παραµέτρους: Υπολογιστικό Μοντέλο Μηχανή Turing πολλαπλών ταινιών Τρόπος Υπολογισµού Ντετερµινιστικός ή µη ντετερµινιστικός Είδος υπολογιστικών πόρων προς περιορισµό χώρος, χρόνος (συνηθέστερα) «Κατάλληλη» συνάρτηση περιορισµού των υπολογιστικών πόρων f (proper complexity function) 1 Ορισµός κλάσης πολυπλοκότητας Το σύνολο όλων των γλωσσών που αποφασίζονται απο µια ΤΜ πολλαπλών ταινιών που λειτουργεί µε καθορισµένο τρόπο, έτσι ώστε, για οποιαδήποτε είσοδox η ΤΜ να απαιτεί το πολύ f ( x ) µονάδες απο το καθορισµένο είδος υπολογιστικών πόρων Παραδείγµατα κλάσεων πολυπλοκότητας: TIME(f), SPACE(f), NTIME(f), NSPACE(f)

3 Proper Complexity Functions Μπορούµε να χρησιµοποιήσουµε οποιαδήποτε µη φθίνουσα συνάρτηση f : ως συνάρτηση πολυπλοκότητας στον ορισµό µιας κλάσης? Τυπικά ΝΑΙ + + Μπορούµε να κατασκευάσουµε συνάρτηση f : ώστε: Να έχει «περιέργη» ασυµπτωτική συµπεριφορά Να µη µπορεί να υπολογιστεί ακόµα και στον χώρο ή στον χρόνο που επιτρέπει Να αλλάζει τάξη µεγέθους αύξησης µε την αύξηση του ορίσµατος (πολυωνυµική εκθετική) Η χρήση µιας τέτοιας συνάρτησης οδηγεί σε ανατρεπτικά συµπεράσµατα σχετικά µε τις σχέσεις µεταξύ των κλάσεων πολυπλοκότητας Π.χ. f ( n) TIME( f ( n )) = TIME(2 ) (Gap Theorem)

4 Proper Complexity Functions 3 Χρησιµοποιούµε στον ορισµό των κλάσεων πολυπλοκότητας ΜΟΝΟ proper complexity functions «λογική» ασυµπτωτική συµπεριφορά Ορισµός Proper Complexity Function: + + Μια συνάρτηση f : είναι proper complexity function εάν για οποιαδήποτε είσοδο x µε οποιοδήποτε µήκος n υπάρχει µια µηχανή Turing Μ τέτοια ώστε σε χρόνο On ( + f ( n)) να χρησιµοποιεί χώρο O( f ( n)) και να κατασκευάζει συµβολοακολουθία µήκους f ( n) Προφανώς θα πρέπει να ισχύει : Παραδείγµατα proper complexity functions: f ( n+ 1) f ( n) for all n n n n n n n + n n n, l o g, l o g, 3, 2,,!

5 Precise Turing Machines 4 Ορισµός Precise TM Μια µηχανή Turing Μ (NTM ή DTM) είναι precise εάν υπάρχουν συναρτήσεις f και g, τέτοιες ώστε για κάθε είσοδο x µήκους n µε n 0 και για κάθε υπολογισµό της µηχανής (στην περίπτωση ΝΤΜ ): η µηχανή να σταµατά µετά απο f(n) ακριβώς βήµατα όλες οι ταινίες της (εκτός απο την ταινία εισόδου και εξόδου) να έχουν στον τερµατισµό µήκος ακριβώς g(n)

6 Σηµαντικές Κλάσεις Πολυπλοκότητας Ανάλογα µε το είδος της συνάρτηση πολυπλοκότητας f οι γενικές κλάσεις TIME(f),SPACE(f), NTIME(f) και NSPACE(f) συµβολίζονται συντοµογραφικά ως εξής: 5 Πολυωνυµική: Εκθετική: U = =UU k j k j PSPACE = SPACE( n ) = SPACE( n ) P = TIM E( n ) = TIM E( n ) jf 0 U NP NTIME( k j = n ) = NTIME( n ) jf0 jf0 U NPSPACE NSPACE( k j = n ) = NSPACE( n ) k U n n EXP = TIME(2 ) = TIME(2 ) jf0 j jf0 Λογαριθµική: NL = NSPACE (log n) L = S P A C E (log n )

7 Συµπληρώµατα Κλάσεων Πολυπλοκότητας Έστω L µια αναδροµική γλώσσα: H L θα αποφασίζεται απο µια µηχανή Turing Μ Το συµπλήρωµα της L, L θα αποφασίζεται επίσης απο µια µηχανή Turing M 6 Θα ανήκουν στην ίδια κλάση πολυπλοκότητας οι δύο συµπληρωµατικές γλώσσες? Είναι οι κλάσεις πολυπλοκότητας κλειστές ως προς το συµπλήρωµα των γλωσσών τους?

8 Είναι οι Κλάσεις Πόλυπλοκότητας κλειστές ως προς το συµπλήρωµα των γλωσσών τους? 7 Οι ντετερµινιστικές κλάσεις πολυπλοκότητας (χώρου ή χρόνου) ΕΙΝΑΙ κλειστές ως προς το συµπλήρωµα Kάθε DTM που αποφασίζει µια γλώσσα σε περιορισµένο χώρο ή χρόνο µπορεί να µετατραπεί στην µηχανή που αποφασίζει το συµπλήρωµα της γλώσσας στον ίδιο χώρο ή χρόνο αντίστοιχα, αντιστρέφοντας τους ρόλους των yes και no Για τις µη ντετερµινιστικές κλάσεις πολυπλοκότητας χώρου ισχύει το ίδιο (Immerman Szelepscenyi Theorem) Για τις µη ντετερµινιστικές κλάσεις πολυπλοκότητας χρόνου? ανοικτό πρόβληµα (P = NP NP = conp!)

9 Θεωρήµα Ιεραρχίας Κλάσεων Πολυπλοκότητας Αφορά στην ιεραρχία µεταξύ κλάσεων πολυπλοκότητας του ιδίου είδους (η µόνη παράµετρος που µεταβάλλεται είναι η συνάρτηση πολυπλοκότητας) 8 Προφανώς για δύο κλάσεις πολυπλοκότητας του ιδίου ειδους µε + συναρτήσει ς πολυπλοκότητας f και g όπου f ( n) gn ( ) n η κλάση µε συνάρτηση πολυπλοκότητας g θα είναι υποσύνολο της κλάσης µε τη συνάρτηση f. Π.χ. T IM E ( g ) T IM E ( f ) Ποιά σχέση πρέπει να υπάρχει µεταξύ των f και g για να είναι η µια κλάση πολυπλοκότητας γνήσιο υποσύνολο της άλλης? The Hierarchy Theorem

10 Το Θεώρηµα Ιεραρχίας Χρόνου Έστω f ( n) n µια proper complexity function και η εξής παραλλαγή του προβλήµατος τερµατισµού µε περιορισµό στον χρόνο: f { ; : accepts input after at most ( ) steps} H = M x M x f x 9 ΛΗΜΜΑ 1 :Κατασκευάζεται µια µηχανή Turing 3 το πρόβληµα H σε χρόνο O ( f ( n ) ) H H f f U f, η οποία αποφασίζει 3 T IM E (( f ( n )) ) ΛΗΜΜΑ 2: Αποδεικνύεται ότι δεν υπάρχει µηχανή που να αποφασίζει το H n σε χρόνοo ( f ( ) ) n f 2 H f T IM E ( f ( )) 2 Άρα υπάρχει γνήσιος εγκλεισµός στις ντετερµινιστικές κλάσεις πολυπλοκότητας χρόνου

11 H f 3 T I M E ( ( f ( n ) ) ) 10 Κατασκευάζουµε µια µηχανή η οποία : U f προσοµοιώνει τη λειτουργία της Μ µηχανής για την είσοδο x µε alarm clock χρόνου f ( x ) Αποδέχεται την είσοδο M ; x ανν η µηχανή Μ µέσα σε χρόνο f ( x ) αποδεχτεί την είσοδο x l M k M Ο συνολικός υπολογιστικός χρόνος που απαιτείται είναι είναι το µήκος κωδικοποίησης κάθε συµβόλου και κάθε κατάστασης της µηχανής Μ και είναι το πλήθος των ταινιών της µηχανής Μ Ol k f x 2 2 ( M M ( )) Ισχύει l k = O( n) 2 M M 3 O ( f ( x ))

12 H f n T I M E ( f ( ) ) 2 11 Έστω ότι υπάρχει ΤΜ η οποία να αποφασίζει το πρόβληµα σε χρόνο f n ( ) 2 Κατασκευάζουµε τη µηχανή έτσι ώστε: H f D f n T I M E ( f ( ) ) 2 if M ( M ; M ) = " yes " then "no" else "yes" H f H f Η µε είσοδο Μ τρέχει στον ίδιο χρόνο µε την µε είσοδο D ( D ) = " yes " f f D ; D H f f f D does not accept D w ithin tim e f ( D ) f f f D ( D ) = " no " f D f f 2n + 1 f ( ) = f ( n ), w h e r e n = M 2 Άτοπο M ( MM ; ) H f

13 The Hierarchy Theorem f ( n) n Θεώρηµα Ιεραρχίας Χρόνου: εάν είναι µια proper complexity function, τότε ισχύει 3 TIME( f ( n)) TIME(( f (2n+ 1)) ) Πόρισµα: P E X P Απόδειξη: Κάθε πολυωνυµική συνάρτηση µε όριο στο άπειρο γίνεται µικρότερη απο κάθε εκθετική Απο το Λήµµα 1 όµως Άρα P E X P Θεώρηµα Ιεραρχίας Χώρου: εάν είναι µια proper complexity function, τότε ισχύει SPACE( f ( n)) SPACE( f ( n)log f ( n)) Πόρισµα: L PSPACE TIME(2 n ) TIME((2 n+ ) ) TIME(2 n ) EXP f ( n) n 2

14 Time and Space Hierarchy Theorems: ιεραρχία κλάσεων πολυπλοκότητας ιδίου είδους Αποδεικνύουν ότι µε επαρκώς µεγαλύτερη διαθέσιµη ποσότητα χώρου ή χρόνου οι ΤΜ είναι ικανές να αναγνωρίσουν µεγαλύτερα σύνολα γλωσσών Περισσότερο ενδιαφέρουσα η ιεραρχία ανοµοίων κλάσεων πολυπλοκότητας. Τα συµπεράσµατα σε αυτή την περιοχή µελέτης είναι πολύ λίγα και τα ανοικτά προβλήµατα αρκετά P=NP?

15 Απόδειξη (trivial) : f n και TIME( f ( n)) NTIME( f ( n)) SPACE( f ( n)) NSPACE( ( )) 14 Κάθε ντετερµινιστική µηχανή Turing είναι ειδική περίπτωση µη ντετερµινιστικής µηχανής Turing (µε µια επιλογή) Πορίσµα: L N L P N P

16 L NTIME( f ( n)) NTIME( f ( n)) SPACE( f ( n)) 15 Yπάρχει µια precise ΝΤΜ η οποία αποφασίζει τη γλώσσα σε χρόνο f(n),δηλαδή «µαντεύει» µια ακολουθία f(n) διαδοχικών µη ντετερµινιστικών επιλογών η οποία οδηγεί σε accepting state (εφόσον η είσοδος ανήκει στη γλώσσα) Κατασκευάζεται µια DΤΜ η οποία θα αποφασίζει την ίδια γλώσσα σε χώρο f(n) Η DTM θα πρέπει να ελέγξει όλες τις διαφορετικές ακολουθίες µη ντετερµινιστικών επιλογών της ΝΤΜ προκειµένου να βρεί µια που να οδηγεί σε accepting state. Ιδέα: Η DTM : αποθηκεύει την f(n)-long ακολουθία επιλογών της ΝΤΜ (f(n) χώρος) προσοµοιώνει τη λειτουργία της ΝΤΜ σε χρόνο f(n) (f(n) χώρος) διατηρεί την τρέχουσα ακολουθία µη ντετερµινιστικών επιλογών στη µνήµη και δηµιουργεί την επόµενη (Ο(f(n)) χώρος) Συνολικά απαιτείται Ο(f(n)) χώρος Πόρισµα: NP PSPACE

17 L NSPACE( f( n)) log n+ f ( n) NSPACE( f ( n)) TIME( k ) 16 Yπάρχει µια NTM k ταινιών η οποία αποφασίζει τη γλώσσα σε χώρο f(n). Η ΝΤΜ «µαντεύει» µια ακολουθία διαδοχικών µη ντετερµινιστικών επιλογών η οποία οδηγεί σε accepting state (εφόσον η είσοδος ανήκει στη γλώσσα) Kατασκευάζεται µια DTM η οποία θα αποφασίζει την ίδια γλώσσα σε χρόνο l o g n + f ( n ) k Η DTM θα πρέπει να ελέγξει αν κάποια απο όλες τις δυνατές ακολουθίες µη ντετερµινιστικών επιλογών οδηγεί σε accepting state, ώστε να αποδεχτεί την είσοδο

18 Configurations of TM TM s Configuration : Ένα στιγµιότυπο στον υπολογισµό της ΤΜ. Αναπαρίσταται µε την (2κ+1)-tuple: Προσδιορίζεται πλήρως απο : Την κατάσταση της µηχανής Το περιεχόµενο των ταινιών 17 ( q, w, u, w, u,..., w u ) Τη θέση των κεφαλών στις αντίστοιχες ταινίες k k Πόσες διαφορετικές configurations µπορεί να λάβει µια ΤΜ? Για µηχανή που αποφασίζει µια γλώσσα: i=θέση της κεφαλής στην είσοδο ( qiw,,, u,..., w u ) 2 2 k 1 k 1 (2κ-2)-tuple Άρα οι διαφορετικές configurations µιας µηχανής που έχει είσοδο µήκους n θα έχουν πλήθος: K *(n+1)* Σ ( 2κ 4 ) f ( n ) nc = c f ( n) log n+ f ( n) 1 1

19 log n+ f ( n ) NSPACE( f ( n)) TIM E( k ) G( M, x) Configuration Graph of M on input x ( ): 18 Είναι ο κατευθυνόµενος γράφος, ο οποίος έχει ως κόµβους όλες τις δυνατές configurations της Μ και δύο configurations C1 και M C2 έχουν µεταξύ τους µια κατευθυνόµενη ακµή ανν C C 1 2 Προφανώς η µηχανή Μ αποδέχεται την είσοδο x ανν υπάρχει * µονοπάτι στον configuration graph: C0 = ( s,0, >, ε,..., ε) Μ C= (" yes ", i,...) Αλγοριθµική ιδέα: Παράγουµε τον configuration graph της ΝΤΜ.Το πρόβληµα ευρέσεως απο την DTM µιας ακολουθίας µη ντετερµινιστικών επιλογών της NTM ανάγεται στο πρόβληµα ευρέσεως ενός µονοπατιού στον γράφο που να οδηγεί σε accepting configuration ΜΕΘΟ ΟΣ REACHABILITY

20 Η Μέθοδος REACHABILITY Προσοµοιώνεται η λειτουργία µιας space-bounded ΝΤΜ µε είσοδο χ µέσω της απόφασης απο µια DTM του προβλήµατος REACHABILITY στον γράφο των configurations της µηχανής. H DTM αποδέχεται εύρεση µονοπατιού απο την configuration της εισόδου σε accepting configuration H DTM απορρίπτει accepting configuration 19 Αδυναµία εύρεσης µονοπατιού που να οδηγεί σε

21 Το Πρόβληµα REACHABILITY G= ( VE, ) Το REACHABILITY πρόβληµα: εδοµένου ενός γράφου και δύο κόµβων υπάρχει µονοπάτι απο τον κόµβο 1 στον n? 1,n V Κλασικός Αλγορίθµου Επίλυσης: ιατήρηση στον χώρο της ΤΜ ενός συνόλου κόµβων S και χειρισµός του ως ουρά ή στοίβα για την κατάλληλη προσθαφαίρεση κόµβων. Με τον τερµατισµό του αλγορίθµου εάν ο κόµβος n έχει βρεθεί έστω και µια φορά στο σύνολο S ο αλγόριθµος αποδέχεται. Απαιτούµενος υπολογιστικός χρόνος: ελέγχεται µόνο µια φορά) 20 On 2 ( ) (Κάθε στοιχείο της adjacency µήτρας Το πρόβληµα REACHABILITY «συλλαµβάνει» πολύ καλά το µη ντετερµινισµό στον χώρο και για τον λόγο αυτό χρησιµοποιείται για την αναγωγή σε αυτό προβληµάτων απόφασης µη ντετερµινιστικών µηχανών µε περιορισµό στο χώρο.

22 log n+ f ( n) NSPACE( f ( n)) TIME( k ) Η DTM αποφασίζει την γλώσσα 21 L NSPACE( f ( n)) αποφασίζοντας το REACHABILITY πρόβληµα. 2 Το REACHABILITY αποφασίζεται σε On ( ) χρόνο 2 δηλαδή σε c υπολογιστικά βήµατα (n =# κόµβων 2n του γράφου) c lo g n+ f ( n ) Άρα για 1 κόµβους του configuration graph η προσοµοίωση ολοκληρώνεται το πολύ σε c c 2 (log n+ f ( n )) 2 1 L υπολογιστικά βήµατα. log n+ f ( n ) T IM E ( k )

23 Η Μεγάλη Αλυσίδα των Εγκλεισµών Απο τα θεωρήµατα που αποδείχτηκαν προκύπτει: 22 L NL P NP PSPACE EXP Η αλυσίδα θα πρέπει να «σπάει» κάπου ανάµεσα στα L και EXP διότι ξέρουµε ότι L EXP Υπάρχει η υποψία ότι όλοι οι εγκλεισµοί είναι γνήσιοι ανοικτό πρόβληµα

24 Σηµαντικά συµπεράσµατα απο την εφαρµογή της µεθόδου REACHABILITY 23 Ο µη ντετερµινισµός στο χώρο είναι λιγότερο ισχυρός απ ότι στον χρόνο. Ισχύει κάτι παρόµοιο για την περίπτωση του µη ντετερµινισµού στο χρόνο? περίφηµη εικασία P=NP (Ο µη ντετερµινισµός στο χρόνο είναι εκθετικά ισχυρότερος απο τον ντετερµινισµό στο χρόνο) Οι µη ντετερµινιστικές κλάσεις πολυπλοκότητας χώρου είναι κλειστές ως προς το συµπλήρωµα Οι µη ντετερµινιστικές κλάσεις πολυπλοκότητας χρόνου είναι πολύ αµφίβολο εάν είναι επίσης κλειστές ως προς το συµπλήρωµα...

25 Θεώρηµα Savitch- 2 REACHABILITY SPACE(log n) 24 Κλασικός Αλγόριθµος για το REACHABILITY Αλγόριθµος Savitch για το REACHABILITY: O( n) 2 O(log n) χώρος χώρος Ιδέα: Ορίζουµε το κατηγόρηµα PATH(x,y,i) να είναι αληθές εάν υπάρχει µονοπάτι στον γράφο απο τον κόµβο x στον y µήκους το πολύ. Παρατήρηση: σε ένα γράφο µε n κόµβους αν υπάρχει µονοπάτι απο τον χ στον y τότε θα έχει µήκος το πολύ n Άρα για κάθε δύο κόµβους που συνδέονται στον γράφο το κατηγόρηµα PATH (x,y,logn) είναι αληθές και αντίστροφα. ( logn ) Ο αλγόριθµος του Savitch στηρίζεται ακριβώς στο αντίστροφο αυτής της πρότασης υπολογίζει την αληθοτιµή του κατηγορήµατος PATH (x,y,logn) και αποφασίζει ανάλογα εάν υπάρχει µονοπάτι απο το χ στο y 2 = 2 i n

26 Το Savitch Θεώρηµα- Ιδέα Αναδροµής Ιδέα Αναδροµής: Κάθε µονοπάτι µήκους απο το x στο y θα έχει ένα ενδιάµεσο σηµείο τέτοιο ώστε τόσο το x όσο και το y να απέχουν το πολύ απόσταση ακµών απο αυτό. Π.χ. για i=2: 2 i i x z y Μήκος =2 Μήκος =2 Άρα αν υπάρχει µονοπάτι (x,y,i,) στον γράφο θα πρέπει να υπάρχει midpoint z για το οποίο τα κατηγορήµατα PATH(x,z,i-1) και PATH(z,y,i-1) θα είναι αληθή. Αναδροµική κλήση του κατηγορήµατος PATH: για τον υπολογισµό του PATH(x,y,i) κάνουµε i αναδροµικές κλήσεις του PATH.Η i-οστή κλήση του PATH υπολογίζεται κατευθείαν απο τη adjacency matrix διότι έχει το τρίτο όρισµα µηδένικό. Όλες οι αναδροµικές κλήσεις του PATH αποθηκεύονται διαδοχικά σε ένα string της µηχανής Ο(logn*logn) χώρος

27 Θεώρηµα Savitch- Αλγόριθµος για το PATH(x,y,i) 26

28 Θεώρηµα Savitch-Αλγόριθµος Η µηχανή έχει την input string και 2 working strings: Input string adjacency matrix 1 st working string (x,y,i) (in binary),(x,y,i-1),..., (x,y,0) 2 nd working string scratch space 27 ηµιουργούνται όλα τα πιθανά midpoints z το ένα µετά το άλλο για εξοικονόµηση χώρου Κάθε φορά που δηµιουργείται ένα καινούργιο z προστίθεται στην 1 st working string µια triple (x,z,i-1) και ξεκινά η αναδροµική λύση του προβλήµατος της αληθοτιµής αυτής της triple (αναδροµικά προστίθονται και οι υπόλοιπες triples µέχρι και την triple τύπου (x,y,0)) Η adjacency matrix δίνει απάντηση µόνο για τα κατηγορήµατα τύπου PATH(x,y,0)

29 Θεώρηµα Savitch-Αλγόριθµος Αν κατά την αναδροµή βρεθεί: PATH(x,z,w)=false ιαγράφεται η triple (x,z,w) και προστίθεται µια καινούργια µε νέο z PATH(x,z,w)=true ιαφάφεται η triple (x,z,w) και προστίθεται η triple (z,y,w) για έλεγχο (το y το παίρνει απο την αµέσως αριστερά triple στο string) true 28 false x z y x z y PATH(z,y,w)=true Eλέγχεται αν είναι η δεύτερη αναδροµική κλήση για το PATH(x,y,w+1) ιαγράφεται η triple (z,y,w), και αποδίδεται αληθοτιµή στο PATH(x,y,w+1)=true true x z true y PATH(z,y,w)=false ιαγράφεται η triple (z,y,w) και προστίθεται µια triple (x,z,w) µε νέο z x z false true y

30 Αλγόριθµος Savitch 29 false Are there remaining z points true false PATH (x,z,i-1) true PATH (z,y,i-1) false true Next point z false PATH (x,z,i-1) true PATH(x,y,i)= TRUE PATH(x,y,i)= FALSE

31 Το Savitch Θεώρηµα στην προσοµοίωση space-bounded ΝΤΜ 30 Θ..Ο. 2 NSPACE( f ( n)) SPACE( f ( n)) Προσοµοιώνουµε µια ΝΤΜ περιορισµένου χώρου για την είσοδο x µε µια DTM επίσης περιορισµένου χώρου ως εξής: «Τρέχουµε» τον αλγόριθµο του θεωρήµατος Savitch στο γράφο των configurations της ΝΤΜ, δηλαδή επιλύουµε το πρόβληµα REACHABILITY σε χώρο 2 O(log n). f ( n ) Όµως το πλήθος των κόµβων στον configuration graph είναι Άρα επαρκεί χώρος O f n 2 ( ( )) Οι υπόλοιπες εργασίες (διατήρηση στη µνήµη της τρέχουσας διαµόρφωσης και δηµιουργία της επόµενης) καταλαµβάνουν χώρο c Of ( ( n)) ΠΟΡΙΣΜΑ: PSPACE=NPSPACE

32 Το Immerman-Szelepscenyi Θεώρηµα G «εδοµένου ενός γράφου και ενός κόµβου, ο αριθµός των κόµβων που είναι προσπελάσιµοι απο τον x στον G µπορούν να υπολογιστούν απο µια ΝΤΜ σε χώρο logn «31 x ΠΡΟΕΚΤΑΣΗ ΤΟΥ ΘΕΩΡΗΜΑΤΟΣ: Επιλύεται σε λογαριθµικό χώρο µια σηµαντική παραλλαγή του προβλήµατος REACHABILITY ο υπολογισµός του πλήθους των κόµβων που είναι προσπελάσιµοι απο έναν κόµβο χ Ο υπολογισµός αυτός συνεπάγεται ταυτόχρονα και τον υπολογισµό του πλήθους των κόµβων που δεν είναι προσπελάσιµοι απο τον χ (συµπληρωµατικό προβληµα) ΠΑΡΑΤΗΡΗΣΗ : Το παραπάνω πρόβληµα καθώς και το συµπληρωµατικό του βρίσκονται στην ίδια µη ντετερµινιστική κλάση πολυπλοκότητας χώρου.

33 Αλγόριθµος Θεωρήµατος Immerman-Szelepscenyi 32 S(0) : = 1; for k=1,2,..., n-1 do: compute S( k) from S( k 1) l : = 0; for each node u= 1,2,..., n do: if u S( k) then l : = l+ 1 m : = 0; reply:=false; for each node υ=1,2,...,n repeat: if υ Sk ( 1) then m: = m+ 1; if furthermore G( υ, u) then reply:=true if in the end mps( k 1) then "no" (give up), else return reply w : ; for 1,..., 1 0 = x p = k do: guess a node w and check that G( w, w ) (if not, give up) p p 1 p k 1 υ υ S k if w = then report ( 1), otherwise give up

34 N SPAC E ( f ( n)) = con SPAC E ( f ( n)) L NSPACE( f ( n)) Έστω. Η γλώσσα θα αποφασίζεται απο µια µη ντετερµινιστική µηχανή Μ Κατασκευάζεται µια ΝΤΜ που αποφασίζει την M Η µηχανή M «τρέχει» µε είσοδο x τον αλγόριθµο του θεωρήµατος Immerman στον configuration graph της Μ και αποφαίνεται αν δύο διαµορφώσεις έχουν µονοπάτι µεταξύ τους στη βάση απόφασης της Μ. Οι ρόλοι αντιστρέφονται ως εξής: αν σε κάποιο στάδιο ο αλγόριθµος βρεί µια accepting configuration στο S(k) για οποιοδήποτε κ τότε σταµατάει και απορρίπτει την είσοδο. Αν δε βρεθεί καµµία accepting configuration στο S(k) για κ=n τότε αποδέχεται. 33 L L O µη ντετερµινισµός στον χώρο είναι κλειστός ως προς το συµπλήρωµα

35 Summary NEXP 34 conexp EXP PSPACE NP conp P L

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 19 December 2008 1 1 Κλάση NP 2 Μη-Ντετερμινιστικές Μηχανές Turing: Eίναι δυνατόν σε μια συνολική κατάσταση να υπάρχουν πολλές δυνατές επόμενες

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 14. Χρονική Πολυπλοκότητα 17, 20, 24 Απριλίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 18: Χρονική και Χωρική Πολυπλοκότητα Τι θα κάνουμε σήμερα Εισαγωγικά Χρονική Πολυπλοκότητα (7) Κλάση P (7.2) Κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4) Χωρική

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κλάσεις P, NP NP-πληρότητα 15 Απριλίου 2008 Δρ. Παπαδοπούλου Βίκη 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτε μπορούμε να περιγράψουμε με

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

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

Θεωρήµατα Ιεραρχίας Ειδικά Θέµατα Υπολογισµού και Πολυπλοκότητας, Μάθηµα Βασικής Επιλογής Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Θεωρήµατα Ιεραρχίας Ειδικά Θέµατα Υπολογισµού και Πολυπλοκότητας, Μάθηµα Βασικής Επιλογής Εαρινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Απόστολος Φίλιππας Τµήµα Μηχανικών Η/Υ και Πληροφορικής 19 Μαΐου,

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

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή.

Η NTM αποδέχεται αν µονοπάτι στο δέντρο που οδηγεί σε αποδοχή. Μη ντετερµινιστικές Μηχανές Turing - NTMs (1/6) Μηχανές Turing: Μη ντετερµινισµός, Επιλύσιµα Προβλήµατα Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 10 εκεµβρίου 2016

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

CSC 314: Switching Theory

CSC 314: Switching Theory CSC 314: Switching Theory Course Summary 9 th January 2009 1 1 Θέματα Μαθήματος Ερωτήσεις Τι είναι αλγόριθμος? Τι μπορεί να υπολογιστεί? Απαντήσεις Μοντέλα Υπολογισμού Δυνατότητες και μη-δυνατότητες 2

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

Chapter 7, 8 : Time, Space Complexity

Chapter 7, 8 : Time, Space Complexity CSC 314: Switching Theory Chapter 7, 8 : Time, Space Complexity 12 December 2008 1 1 Υπολογίσιμα και Εφικτά Υπολογίσιμα Προβλήματα Είδαμε ότι 1. Οτιδήποτεμπορούμεναπεριγράψουμεμεένααλγόριθμο μπορεί να

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

Μηχανές Turing (T.M) I

Μηχανές Turing (T.M) I Μηχανές Turing (T.M) I Οι βασικές λειτουργίες μιας TM είναι: Διάβασε το περιεχόμενο του τρέχοντος κυττάρου Γράψε 1 ή 0 στο τρέχον κύτταρο Κάνε τρέχον το αμέσως αριστερότερο ή το αμέσως δεξιότερο κύτταρο

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

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

ΔΥΣΚΟΛΙΑ ΣΤΗΝ ΠΡΟΣΕΓΓΙΣΙΜΟΤΗΤΑ ΔΥΣΚΟΛΙΑ ΣΤΗΝ ΠΡΟΣΕΓΓΙΣΙΜΟΤΗΤΑ Επιμέλεια : Γεωργίου Κωστής Παρουσίαση στα πλαίσια του μαθήματος: Δίκτυα και πολυπλοκότητα Φεβρουάριος 004 μπλ Κίνητρα για τη μελέτη της μη προσεγγισιμότητας Ο πληρέστερος

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

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

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

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

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

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

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

Λύσεις 4ης Σειράς Ασκήσεων

Λύσεις 4ης Σειράς Ασκήσεων Λύσεις 4ης Σειράς Ασκήσεων Άσκηση 1 Αναγάγουμε τν Κ 0 που γνωρίζουμε ότι είναι μη-αναδρομική (μη-επιλύσιμη) στην γλώσσα: L = {p() η μηχανή Turing Μ τερματίζει με είσοδο κενή ταινία;} Δοσμένης της περιγραφής

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Πιο κάτω υπάρχει ένα σχεδιάγραμμα που τοποθετεί τις κλάσεις των κανονικών, ασυμφραστικών, διαγνώσιμων και αναγνωρίσιμων γλωσσών μέσα στο σύνολο όλων των γλωσσών. Ακολουθούν

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

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing

Σε αυτό το µάθηµα. Εισαγωγή στις Μηχανές Turing. Μηχανή Turing (Turing Machine - TM) Μηχανές Turing. Παραδείγµατα Μηχανών Turing Σε αυτό το µάθηµα Εισαγωγή στις Μηχανές Turing Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Παραδείγµατα Μηχανών Turing Παραλλαγές: Πολυταινιακές, Μη ντετερµινιστικές

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Επανάληψη Μαθήματος ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Επανάληψη Μαθήματος Το Μάθημα σε μια Διαφάνεια Υπολογιστικά μοντέλα Κανονικές Γλώσσες Ντετερμινιστικά Αυτόματα Μη Ντετερμινιστικά Αυτόματα Κανονικές Εκφράσεις

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

Recursive and Recursively Enumerable sets I

Recursive and Recursively Enumerable sets I Recursive and Recursively Enumerable sets I Ορισμός Το σύνολο A είναι αναδρομικό ανν η χαρακτηριστική του συνάρτηση X A είναι αναδρομική. Το σύνολο A είναι αναδρομικά αριθμήσιμο (recursively enumerable)

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

Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου)

Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου) Κωστόπουλος ηµήτριος Μ.Π.Λ.Α. TAPE COMPRESSION (θεώρηµα 2.3 Παπαδηµητρίου) Εισαγωγή. Αυτό το φυλλάδιο έχει στόχο να δώσει ένα ανάλογο αποτέλεσµα µε αυτό του linear speedup θεωρήµατος, εάν έχουµε µία µηχανή

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

Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν

Παράδειγµα: Προσοµοίωση µιας ουράς FIFO Οι λειτουργίες που υποστηρίζονται από µια ουρά FIFO είναι: [enq(q,x), ack(q)] [deq(q), return(q,x)] όπου x είν Wait-free προσοµοιώσεις αυθαίρετων αντικειµένων Έχουµε δει ότι το πρόβληµα της οµοφωνίας δεν µπορεί να επιλυθεί µε χρήση µόνο read/write καταχωρητών. Πολλοί µοντέρνοι επεξεργαστές παρέχουν επιπρόσθετα

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

Μη Ντετερμινισμός και NP-Πληρότητα

Μη Ντετερμινισμός και NP-Πληρότητα Μη Ντετερμινισμός και NP-Πληρότητα Επιμέλεια διαφανειών: Δ. Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Μη Ντετερμινιστικές Μηχανές Turing Μη ντετερμινιστική

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

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E.

Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L. να αναγνωρίζει (ηµιαποφασίζει) µια γλώσσα L. 1. Η TM «εκτελεί» τον απαριθµητή, E. Οι γλώσσες των Μηχανών Turing Αποφασισιµότητα / Αναγνωρισιµότητα Μια TM µπορεί ένα από τα δύο: να αποφασίζει µια γλώσσα L Αποδέχεται όταν (η είσοδος στην TM) w L. Ορέστης Τελέλης telelis@unipi.gr Τµήµα

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G,k η G είναι μια ασυμφραστική γραμματική η οποία παράγει κάποια λέξη 1 n όπου n k } (β) { Μ,k η Μ είναι

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

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

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

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

Μη Ντετερμινισμός και NP-Πληρότητα

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές

Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Θεωρία Υπολογισμού και Πολυπλοκότητα Αναγωγές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ανεπίλυτα Προβλήματα από τη Θεωρία Γλωσσών (5.1) To Πρόβλημα της Περάτωσης Το Πρόβλημα της Κενότητα

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { Μ η Μ είναι μια ΤΜ η οποία διαγιγνώσκει το πρόβλημα ΙΣΟΔΥΝΑΜΙΑ ΤΜ (διαφάνεια 9 25)} (α) Γνωρίζουμε ότι το

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 16: Αναγωγές ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 16: Αναγωγές Τι θα κάνουμε σήμερα Το Πρόβλημα του Τερματισμού (4.2) Εισαγωγή στις Αναγωγές Ανεπίλυτα Προβλήματα από την Θεωρία των Γλωσσών (5.1) Απεικονιστικές

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) ({ G η G είναι μια ασυμφραστική γραμματική που δεν παράγει καμιά λέξη με μήκος μικρότερο του 2 } (β) { Μ,w

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

Θεωρία Υπολογισµού Theory of Computation

Θεωρία Υπολογισµού Theory of Computation 1 ο µέρος Θεωρία Υπολογισµού Theory of Computation 1 Υπολογισιµότητα - Computability o Υπολογισιµότητα (Computability) n Τι µπορεί να υπολογιστεί και τι όχι; o Υπολογιστική πολυπλοκότητα (Computational

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

Στοιχεία Αλγορίθµων και Πολυπλοκότητας

Στοιχεία Αλγορίθµων και Πολυπλοκότητας Στοιχεία Αλγορίθµων και Πολυπλοκότητας Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Ο. Τελέλης Πανεπιστήµιο Πειραιώς Πολυπλοκότητα 1 / 16 «Ζέσταµα» Να γράψετε τις συναρτήσεις

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

conp and Function Problems

conp and Function Problems conp and Function Problems 1 Ένα πρόβλημα απόφασης λέμε ότι επιλύεται σε μηντετερμινιστικό πολυωνυμικό χρόνο αν υπάρχει ένας μηντετερμινιστικός αλγόριθμος που, εκμεταλλευόμενος μια τυχαία επιλογή, μπορεί

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

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

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

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

«Σχέσεις μεταξύ Κλάσεων Πολυπλοκότητας»

«Σχέσεις μεταξύ Κλάσεων Πολυπλοκότητας» ΑΛΓΟΡΙΘΜΟΙ & ΠΟΛΤΠΛΟΚΟΣΗΣΑ «Σχέσεις μεταξύ Κλάσεων Πολυπλοκότητας» ΦΑΡΡΗ ΔΗΜΗΣΡΑ ςνάπηηζη Πολςπλοκόηηηαρ Μηα ζπλάξηεζε f:n N ζεωξείηαη θαηάιιειε ζπλάξηεζε πνιππινθόηεηαο, αλ είλαη αύμνπζα θαη ηζρύεη :

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

Κυκλώματα και βασικές Ιδιότητες

Κυκλώματα και βασικές Ιδιότητες Κυκλώματα και βασικές Ιδιότητες Κύκλωμα C Κατευθυνόμενος ακυκλικός γράφος με n πηγές (κάθε μία αντιστοιχεί σε ένα bit εισόδου) και μία καταβόθρα (το bit εξόδου). Οι ενδιάμεσοι κόμβοι αντιστοιχούν σε κάποια

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

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 13: Παραλλαγές Μηχανών Turing και Περιγραφή Αλγορίθμων Τι θα κάνουμε σήμερα Εισαγωγή Πολυταινιακές Μηχανές Turing (3.2.1) Μη Ντετερμινιστικές Μηχανές

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

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος στη δεύτερη έκδοση

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος στη δεύτερη έκδοση Πρόλογος του επιµελητή xiii Πρόλογος στην πρώτη έκδοση xv Προς τους ϕοιτητές.......................... xv Προς τους διδάσκοντες........................ xvii Ηπρώτηέκδοση........................... xviii

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

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k ))

num(m(w 1 ;... ; w k )) = f(num(w 1 ),..., num(w k )) Υπολογισμοί με Μ.Τ. Εστω M = (K, Σ, δ, s, {y, n}) μια Μ.Τ. Κάθε συνολική κατάσταση τερματισμού της οποίας η κατάσταση τερματισμού είναι το y, θα ονομάζεται συνολική κατάσταση αποδοχής, ενώ αν η κατάσταση

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

Υπολογισιμότητα και Πολυπλοκότητα Computability and Complexity

Υπολογισιμότητα και Πολυπλοκότητα Computability and Complexity Υπολογισιμότητα και Πολυπλοκότητα Computability and Complexity Διδάσκων: Στάθης Ζάχος Επιμέλεια Διαφανειών: Μάκης Αρσένης CoReLab ΣΗΜΜΥ - ΕΜΠ Απρίλιος 2017 Διδάσκων: Στάθης Ζάχος ( CoReLab - NTUA) Υπολ

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

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε:

Ορισµός. Εστω συναρτήσεις: f : N R και g : N R. η f(n) είναι fi( g(n) ) αν υπάρχουν σταθερές C 1, C 2 και n 0, τέτοιες ώστε: Συµβολισµός Ω( ) Τάξη των Συναρτήσεων () Εκτίµηση Πολυπλοκότητας Αλγορίθµων Ορέστης Τελέλης telelis@unipi.gr Ορισµός. Εστω συναρτήσεις: f : N R και g : N R η f(n) είναι Ω( g(n) ) αν υπάρχουν σταθερές C

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

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

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

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

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας

Εισαγωγή στους Αλγόριθμους. Παύλος Εφραιμίδης, Λέκτορας Εισαγωγή στους Αλγόριθμους Παύλος Εφραιμίδης, Λέκτορας http://pericles.ee.duth.gr 1 Περιεχόμενα Μαθήματος Εισαγωγή στου Αλγόριθμους Πολυπλοκότητα Αλγορίθμων Ασυμπτωτική Ανάλυση Θεωρία Γράφων Κλάσεις Πολυπλοκότητας

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

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

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

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { G 1, G 2 οι G 1 και G 2 είναι δύο CFG που παράγουν μια κοινή λέξη μήκους 144 } (β) { D,k το D είναι ένα DFA

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { R η R είναι μια κανονική έκφραση η οποία παράγει μια μη πεπερασμένη γλώσσα} (β) { G η G είναι μια CFG η οποία

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

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

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

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

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

Φροντιστήριο 10 Λύσεις Άσκηση 1 Φροντιστήριο 10 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {0,1} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

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

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

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

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

Δυναµικός Προγραµµατισµός (ΔΠ)

Δυναµικός Προγραµµατισµός (ΔΠ) Δυναµικός Προγραµµατισµός (ΔΠ) Περίληψη Δυναµικός Προγραµµατισµός Αρχή του Βέλτιστου Παραδείγµατα Δυναµικός Προγραµµατισµός ΔΠ (Dynamic Programming DP) Μέθοδος σχεδιασµού αλγορίθµων Είναι µια γενική µεθοδολογία

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

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,...

KΕΦΑΛΑΙΟ 1 ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ. { 1,2,3,..., n,... KΕΦΑΛΑΙΟ ΧΡΗΣΙΜΕΣ ΜΑΘΗΜΑΤΙΚΕΣ ΕΝΝΟΙΕΣ Βασικές έννοιες διαιρετότητας Θα συµβολίζουµε µε, τα σύνολα των φυσικών αριθµών και των ακεραίων αντιστοίχως: {,,3,,, } { 0,,,,, } = = ± ± ± Ορισµός Ένας φυσικός αριθµός

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

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος

Θεωρία Υπολογισμού Άρτιοι ΑΜ. Διδάσκων: Σταύρος Κολλιόπουλος. eclass.di.uoa.gr. Περιγραφή μαθήματος Περιγραφή μαθήματος Θεωρία Υπολογισμού Άρτιοι ΑΜ Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας (Θεωρία Αλγορίθμων). Διδάσκων: Σταύρος Κολλιόπουλος

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

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr

Θεωρία Υπολογισμού Αρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Θεωρία Υπολογισμού Άρτιοι ΑΜ Διδάσκων: Σταύρος Κολλιόπουλος eclass.di.uoa.gr Περιγραφή μαθήματος Σκοπός του μαθήματος είναι η εισαγωγή στη Θεωρία Υπολογισμού και στη Θεωρία Υπολογιστικής Πολυπλοκότητας

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

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ

Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύ Θεωρία Υπολογισμού Ενότητα 24: Μη Ντεντερμινιστικές Μηχανές Turing Τμήμα Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως

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

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο;

Αποφασισιµότητα / Αναγνωρισιµότητα. Μη Επιλύσιµα Προβλήµατα. Η έννοια της αναγωγής. Τερµατίζει µια δεδοµένη TM για δεδοµένη είσοδο; Αποφασισιµότητα / Αναγνωρισιµότητα Ορέστης Τελέλης telelis@unipi.gr Μη Επιλύσιµα Προβλήµατα Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς 2/12/2015 Ο. Τελέλης Πανεπιστήµιο Πειραιώς Αποφασισιµότητα 2/12/2015

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

Πολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις.

Πολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις. Θέση Church-Turing I Πολλοί τρόποι περιγραφής αλγορίθμων. Όλοι είναι μηχανιστικά ισοδύναμοι και ειδικά ισοδύναμοι με μερικές αναδρομικές συναρτήσεις Θέση Church-Turing: Όλες οι υπολογίσιμες συναρτήσεις

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

Blum Complexity. Αλγόριθμοι και Πολυπλοκότητα ΙΙ. Παναγιώτης Γροντάς. Δεκέμβριος

Blum Complexity. Αλγόριθμοι και Πολυπλοκότητα ΙΙ. Παναγιώτης Γροντάς. Δεκέμβριος Blum Complexity Αλγόριθμοι και Πολυπλοκότητα ΙΙ Παναγιώτης Γροντάς µπλ Δεκέμβριος 2011 Ιστορικά Στοιχεία Manuel Blum (1938, Caracas Venezuela) Turing Award (1995) Foundations Of Computational Complexity

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

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

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

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

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος.

Σύνοψη Προηγούµενου. Κανονικές Γλώσσες (1) Προβλήµατα και Γλώσσες. Σε αυτό το µάθηµα. ιαδικαστικά του Μαθήµατος. Σύνοψη Προηγούµενου Κανονικές Γλώσσες () ιαδικαστικά του Μαθήµατος. Ορέστης Τελέλης telelis@unipi.gr Τµήµα Ψηφιακών Συστηµάτων, Πανεπιστήµιο Πειραιώς Εισαγωγή: Υπολογισιµότητα και Πολυπλοκότητα. Βασικές

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

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

Σειρά Προβλημάτων 5 Λύσεις Άσκηση 1 Σειρά Προβλημάτων 5 Λύσεις Να δείξετε ότι οι πιο κάτω γλώσσες είναι διαγνώσιμες. (α) { D το D είναι ένα DFA το οποίο αποδέχεται όλες τις λέξεις στο Σ * } (α) Για να διαγνώσουμε το πρόβλημα μπορούμε

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

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

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

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

Κλάσεις Πολυπλοκότητας

Κλάσεις Πολυπλοκότητας Κλάσεις Πολυπλοκότητας Παύλος Εφραιμίδης pefraimi ee.duth.gr Κλάσεις Πολυπλοκότητας 1 Οι κλάσεις πολυπλοκότητας P και NP P: Polynomial ΗκλάσηP περιλαμβάνει όλα τα υπολογιστικά προβλήματα που μπορούν

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

Μη Ντετερμινισμός και NP-Πληρότητα

Μη Ντετερμινισμός και NP-Πληρότητα Μη Ντετερμινισμός και P-Πληρότητα ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Μη Ντετερμινιστικές Μηχανές Turing Μη ντετερμινιστική Μηχ. Turing (ΝTM)

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

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων

771 Η - Θεωρία Υπολογισµών και Αλγορίθµων 771 Η - Θεωρία Υπολογισµών και Αλγορίθµων Σηµειώσεις Μέρος 4 ο ιδάσκων: Α. Ντελόπουλος Το παρόν αποτελεί σηµειώσεις που αντιστοιχούν σε µέρος των διαλέξεων για το µάθηµα 771 Η - Θεωρία Υπολογισµών και

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

Πεπερασμένα Αυτόματα. ιδάσκοντες: Φ. Αφράτη,. Φωτάκης Επιμέλεια διαφανειών:. Φωτάκης. Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 23: οµές εδοµένων και Αλγόριθµοι Ενδιάµεση Εξέταση Ηµεροµηνία : ευτέρα, 3 Νοεµβρίου 2008 ιάρκεια : 2.00-4.00 ιδάσκουσα : Άννα Φιλίππου Ονοµατεπώνυµο: ΣΚΕΛΕΤΟΙ

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

Υπολογιστική Πολυπλοκότητα

Υπολογιστική Πολυπλοκότητα Υπολογιστική Πολυπλοκότητα ημήτρης Φωτάκης Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα Γιατί κάποια (επιλύσιμα) προβλήματα είναι δύσκολο

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

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ

ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας. Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ ΕΠΛ 211: Θεωρία Υπολογισμού και Πολυπλοκότητας Διάλεξη 15: Διαγνωσιμότητα (Επιλυσιμότητα) ΙΙ Τι θα κάνουμε σήμερα Επιλύσιμα Προβλήματα σχετικά με Ασυμφραστικές Γλώσσες (4.1.2) Το Πρόβλημα του Τερματισμού

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα

Θεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Χρονική Πολυπλοκότητα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Μέτρηση της Πολυπλοκότητας (7.1) Η κλάση Ρ (7.2) Η κλάση ΝΡ (7.3) ΝΡ-πληρότητα (7.4)

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

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής

ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ. Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2. Ε. Μαρκάκης Επικ. Καθηγητής ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Αρχές Ανάλυσης Αλγορίθµων Κεφάλαιο 2 Ε. Μαρκάκης Επικ. Καθηγητής Περίληψη Εµπειρική ανάλυση αλγορίθµων Μαθηµατική ανάλυση αλγορίθµων Αύξηση συναρτήσεων Συµβολισµός µεγάλου όµικρον Παραδείγµατα

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

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

Φροντιστήριο 9 Λύσεις Άσκηση 1 Φροντιστήριο 9 Λύσεις Να κατασκευάσετε μια μηχανή Turing με δύο ταινίες η οποία να αποδέχεται στην πρώτη της ταινία μια οποιαδήποτε λέξη w {a,b} * και να γράφει τη λέξη w R στη δεύτερη της ταινία.

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

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

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

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

CSC 314: Switching Theory. Chapter 3: Turing Machines

CSC 314: Switching Theory. Chapter 3: Turing Machines CSC 314: Switching Theory Chapter 3: Turing Machines 28 November 2008 1 1 Υπολογισμοί σε Μηχανές Turing Πως χρησιμοποιούμε μια μηχανή Turing? Για την αναγνώριση μιας γλώσσας? Σύμβαση για την αναγνώριση

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Θεμελιώσεις Επιστήμης Η/Υ ΠΛΗ30 Τελική Εξέταση 26 Ιουνίου 2013 Ονοματεπώνυμο Φοιτητή Αριθμός Μητρώου Φοιτητή Τμήμα Υπογραφή Φοιτητή Υπογραφή Επιτηρητή Διάρκεια: 180 Ερώτημα Μονάδες Βαθμολογία 1 10+10 2

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

Heapsort Using Multiple Heaps

Heapsort Using Multiple Heaps sort sort Using Multiple s. Λεβεντέας Χ. Ζαρολιάγκης Τµήµα Μηχανικών Η/Υ & Πληροφορικής 29 Αυγούστου 2008 sort 1 Ορισµός ify Build- 2 sort Πως δουλεύει Ιδιότητες 3 4 Προβλήµατα Προτάσεις Ανάλυση Κόστους

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

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

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

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

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find)

Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης (Union-Find) Ενότητα 9 Ξένα Σύνολα που υποστηρίζουν τη (Union-Find) ΗΥ240 - Παναγιώτα Φατούρου 1 Ξένα Σύνολα που υποστηρίζουν τη λειτουργία της Ένωσης Έστω ότι S 1,, S k είναι ξένα υποσύνολα ενός συνόλου U, δηλαδή

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

Υπολογίσιμες Συναρτήσεις

Υπολογίσιμες Συναρτήσεις Υπολογίσιμες Συναρτήσεις Σ Π Υ Ρ Ι Δ Ω Ν Τ Ζ Ι Μ Α Σ Δ Τ Ο Μ Ε Α Σ Τ Μ Η Μ Α Μ Α Θ Η Μ Α Τ Ι Κ Ω Ν Σ Χ Ο Λ Η Θ Ε Τ Ι Κ Ω Ν Ε Π Ι Σ Τ Η Μ Ω Ν Π Α Ν Ε Π Ι Σ Τ Η Μ Ι Ο Ι Ω Α Ν Ν Ι Ν Ω Ν Υπολογίσιμες Συναρτήσεις

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

Υπολογιστική Πολυπλοκότητα

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

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

Στοιχεία Θεωρίας Υπολογισμού

Στοιχεία Θεωρίας Υπολογισμού Κεφάλαιο 3 Στοιχεία Θεωρίας Υπολογισμού Στο κεφάλαιο αυτό παρουσιάζεται μια εισαγωγή σε βασικές έννοιες της θεωρίας υπολογισμού, με έμφαση στην υπολογιστική πολυπλοκότητα. Η εξοικείωση με τις έννοιες αυτές

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

1 Ανάλυση αλγορίθµων. 2 Συµβολισµοί O, Ω και Θ. 3 Αναδροµικές εξισώσεις

1 Ανάλυση αλγορίθµων. 2 Συµβολισµοί O, Ω και Θ. 3 Αναδροµικές εξισώσεις Γενικό πλάνο Μαθηµατικά για Πληροφορική 6ο Μάθηµα 1 Ανάλυση αλγορίθµων Ηλίας Κουτσουπιάς, Γιάννης Εµίρης 2 Συµβολισµοί O, Ω και Θ Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 27/11/2008 3

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

Μαθηµατικά για Πληροφορική

Μαθηµατικά για Πληροφορική Μαθηµατικά για Πληροφορική 6ο Μάθηµα Ηλίας Κουτσουπιάς, Γιάννης Εµίρης Τµήµα Πληροφορικής και Τηλεπικοινωνιών Πανεπιστήµιο Αθηνών 27/11/2008 27/11/2008 1 / 55 Γενικό πλάνο 1 Ανάλυση αλγορίθµων 2 Συµβολισµοί

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

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

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

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

Βασικές Έννοιες Δοµών Δεδοµένων

Βασικές Έννοιες Δοµών Δεδοµένων Δοµές Δεδοµένων Δοµές Δεδοµένων Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε για την αποδοτική επίλυση του προβλήµατος του ευσταθούς ταιριάσµατος Βασικές Έννοιες

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

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

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

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

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις

Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική και τη συµµετρική ιδιότητα του Θ. Λύση Μεταβατική Ιδιότητα (ορισµός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)). Για

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

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

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

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

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

Θεωρία Υπολογισμού και Πολυπλοκότητα Θεωρία Υπολογισμού και Πολυπλοκότητα Κεφάλαιο 10. Μηχανές Turing 20,23 Μαρτίου 2007 Δρ. Παπαδοπούλου Βίκη 1 Μηχανές Turing: Ένα Γενικό Μοντέλο Υπολογισμού Ποια μοντέλα υπολογισμού μπορούν να δεχθούν γλώσσες

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

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

Εισαγωγή στην Ανάλυση Αλγορίθμων Εισαγωγή στην Ανάλυση Αλγορίθμων (4) Μεθοδολογία αναδρομικών σχέσεων (Ι) Με επανάληψη της αναδρομής Έστω όπου r και a είναι σταθερές. Βρίσκουμε τη σχέση που εκφράζει την T(n) συναρτήσει της T(n-) την T(n)

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

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1

Ασκήσεις Επανάληψης. Επανάληψη Εαρινό Εξάμηνο 2019 Σελίδα 1 Ασκήσεις Επανάληψης Άσκηση 1 (Τελική Εξέταση 5/015) Να δείξετε ότι η πιο κάτω γλώσσα δεν είναι διαγνώσιμη. { Μ L(M) {ΘΕΩΡΙΑ, ΥΠΟΛΟΓΙΣΜΟΥ} και L(M) 3} (Για την αναγωγή μπορείτε να χρησιμοποιήσετε τη γνωστή

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

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to

Initialize each person to be free. while (some man is free and hasn't proposed to every woman) { Choose such a man m w = 1 st woman on m's list to Κεφάλαιο 2 Δοµές Δεδοµένων Ι Χρησιµοποιήθηκε υλικό από τις αγγλικές διαφάνειες του Kevin Wayne. 1 Δοµές Δεδοµένων Ι Στην ενότητα αυτή θα γνωρίσουµε ορισµένες Δοµές Δεδοµένων και θα τις χρησιµοποιήσουµε

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

1o Φροντιστήριο ΗΥ240

1o Φροντιστήριο ΗΥ240 1o Φροντιστήριο ΗΥ240 Άσκηση 1 Αποδείξτε τη μεταβατική και τη συμμετρική ιδιότητα του Θ Μεταβατική Ιδιότητα (ορισμός): Αν f(n) = Θ(g(n)) και g(n) = Θ(h(n)) τότε f(n)=θ(h(n)) Για να ισχύει f(n)= Θ(h(n))

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

Ελληνικό Ανοικτό Πανεπιστήµιο Σπουδές στην Πληροφορική. Φαινόµενα πολυπλοκότητας στα Μαθηµατικά και στη Φυσική: ύο όψεις του ίδιου νοµίσµατος;

Ελληνικό Ανοικτό Πανεπιστήµιο Σπουδές στην Πληροφορική. Φαινόµενα πολυπλοκότητας στα Μαθηµατικά και στη Φυσική: ύο όψεις του ίδιου νοµίσµατος; Ελληνικό Ανοικτό Πανεπιστήµιο Σπουδές στην Πληροφορική Φαινόµενα πολυπλοκότητας στα Μαθηµατικά και στη Φυσική: ύο όψεις του ίδιου νοµίσµατος; Γιάννης Κ. Σταµατίου ΣΕΠ ΠΛΗ 10 Πάτρα, Ιουνιος 2003 οµή και

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

Ασυμπτωτικός Συμβολισμός

Ασυμπτωτικός Συμβολισμός Ασυμπτωτικός Συμβολισμός Επιμέλεια διαφανειών: Δημήτρης Φωτάκης (λίγες προσθήκες: Άρης Παγουρτζής) Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εθνικό Μετσόβιο Πολυτεχνείο Υπολογιστική Πολυπλοκότητα

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

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Δομές δεδομένων Άσκηση αυτοαξιολόγησης 1 Παναγιώτα Φατούρου Τμήμα Επιστήμης Υπολογιστών Ενότητα 1: Εισαγωγή Ασκήσεις και Λύσεις Άσκηση 1 Αποδείξτε τη µεταβατική

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

4η Γραπτή Ασκηση Αλγόριθμοι και Πολυπλοκότητα CoReLab ΣΗΜΜΥ 3/2/2019 CoReLab (ΣΗΜΜΥ) 4η Γραπτή Ασκηση 3/2/ / 37

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

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

Υπολογιστική Πολυπλοκότητα

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

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

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

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

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

2.1 Διαιρετότητα, ισοϋπόλοιποι αριθμοί. q Z, a = b q + r.

2.1 Διαιρετότητα, ισοϋπόλοιποι αριθμοί. q Z, a = b q + r. Κεφάλαιο 2 Θεωρία Αριθμών Κύριες βιβλιογραφικές αναφορές για αυτό το Κεφάλαιο είναι οι Hardy and Wright 1979 και Graham, Knuth, and Patashnik 1994. 2.1 Διαιρετότητα, ισοϋπόλοιποι αριθμοί Θεώρημα 2.1 Αν

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

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

Αλγόριθμοι και Πολυπλοκότητα Αλγόριθμοι και Πολυπλοκότητα Διαίρει και Βασίλευε Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Διαίρει και Βασίλευε Divide and Conquer Η τεχνική διαίρει και βασίλευε αναφέρεται

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΑΝΑΛΥΣΗ ΑΛΓΟΡΙΘΜΩΝ Ενότητα 4: Αναδρομικές σχέσεις και ανάλυση αλγορίθμων Μαρία Σατρατζέμη Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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