Αλγόριθμος προσoμοίωσης κβαντικών κυκλωμάτων με εναλλακτικές μορφές BDDs για την αναπαράσταση των καταστάσεων διανυσμάτων

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

Download "Αλγόριθμος προσoμοίωσης κβαντικών κυκλωμάτων με εναλλακτικές μορφές BDDs για την αναπαράσταση των καταστάσεων διανυσμάτων"

Transcript

1 Αλγόριθμος προσoμοίωσης κβαντικών κυκλωμάτων με εναλλακτικές μορφές BDDs για την αναπαράσταση των καταστάσεων διανυσμάτων Κωνσταντίνος Κουράτορας Εξεταστική επιτροπή: Επίκουρος Καθηγητής Βασίλης Σαμολαδάς (επιβλέπων) Καθηγητής Απόστολος Δόλλας Αναπληρωτής Καθηγητής Δημοσθένης Έλληνας Τμήμα Ηλεκτρονικών Μηχανικών και Μηχανικών Υπολογιστών Πολυτεχνείο Κρήτης Χανιά, Αύγουστος 2008

2 2

3 Περίληψη Η μόνη μέθοδος μελέτης κβαντικών αλγορίθμων είναι μέσω της προσoμοίωσης κβαντικών υπολογιστών, καθώς δεν έχει αναπτυχθεί ακόμα υλικό στον τομέα αυτόν. Όμως, επειδή αυτού του είδους η προσoμοίωση έχει μεγάλες απαιτήσεις σε χρόνο εκτέλεσης και αποθηκευτικό χώρο, είναι σημαντικό να αναπτυχθούν αποτελεσματικοί αλγόριθμοι για την αναπαράσταση κβαντικής πληροφορίας στους κλασικούς υπολογιστές. Στην παρούσα εργασία θα γίνει επέκταση του αλγορίθμου [1], που προσoμοιώνει κβαντικά κυκλώματα κάνοντας χρήση των Multi-Terminal Binary Decision Diagrams για την αναπαράσταση των καταστάσεων με συμβολική μορφή και όχι πλέον ως πίνακες. Αναζητώντας αποδοτικότερες δομές δεδομένων για την αναπαράσταση της πληροφορίας αυτής, θα χρησιμοποιηθούν εναλλακτικές δομές, βασισμένες στα Binary Decision Diagrams. Εφόσον ο ήδη υπάρχων αλγόριθμος μας έχει απαλλάξει από την ανάγκη χρήσης πινάκων, μπορούμε να ε- πικεντρωθούμε στην εύρεση και μελέτη άλλων μορφών αναπαράστασης της κβαντικής πληροφορίας. Έτσι, με τη χρήση εναλλακτικών μορφών BDDs στοχεύουμε στη βελτίωση της απόδοσης του αλγορίθμου προσoμοίωσης. Τα αποτελέσματα της εργασίας έχουν μεγάλη θεωρητική και πρακτική α- ξία, καθώς μια οποιαδήποτε βελτίωση της απόδοσης του αλγορίθμου, θα μας βοηθήσει αρκετά στη μελέτη των κβαντικών υπολογιστών.

4 2

5 Αφιερωμένο στους Κώστα, Μαρία, Νίκο, Γιάννη 3

6 4

7 Ευχαριστίες Πριν από όλους, θα ήθελα να ευχαριστήσω τους γονείς μου, Κώστα και Μαρία, για την ψυχολογική και οικονομική υποστηρίξή τους σε όλη τη διάρκεια της ζωής μου, χωρίς την οποία δε θα ήταν εφικτό να υλοποιήσω τα όνειρά μου και να σπουδάσω στο αντικείμενο της επιστήμης των υπολογιστών. Θα ήθελα να ευχαριστήσω ιδιαίτερα τον κ. Βασίλη Σαμολαδά για την επίβλεψη και την καθοδήγησή του στην εργασία αυτή, για την προθυμία του να με βοηθήσει οποτεδήποτε είχα κάποιο πρόβλημα και γενικότερα για τη συνεργασία μας, η οποία υπήρξε άψογη. Επίσης ευχαριστώ προκαταβολικά τους κ. Απόστολο Δόλλα και κ. Δημοσθένη Έλληνα για την ανάγνωση του κειμένου και τις τυχόν παρατηρήσεις τους. Τέλος, θα ήθελα να ευχαριστήσω τον Βλάση, τον Κώστα και τον Νίκο για τις δημιουργικές (και μη) ώρες που περάσαμε μαζί, για την πολύτιμη ανταλλαγή γνώσεων και απόψεων και για την υποστήριξή τους σε όλες τις δύσκολες στιγμές της φοιτητικής μου ζωής. Αύγουστος 2008, Κωνσταντίνος Κουράτορας 5

8 6

9 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή 13 2 Συσχετιζόμενες εργασίες Κβαντική υπολογιστική επιστήμη Κβαντικός υπολογιστής Συμβολισμός Bra/Ket Qubit Κβαντική πύλη Ελεγχόμενες πύλες Κβαντικό κύκλωμα Προσoμοίωση κβαντικών αλγορίθμων Binary Decision Diagrams Αλγόριθμος συμβολικών αναπαραστάσεων Powermatrices και powervectors Υλοποίηση αλγορίθμου Εναλλακτικές μορφές BDDs Αλγόριθμος προσoμοίωσης 37 7

10 3.1 Πρόσθεση δύο κόμβων Decompose Εισαγωγή νέου κόμβου Μεταβλητό suppression Αποτελέσματα 45 5 Συμπεράσματα Ανακεφαλαίωση Μελλοντικές επεκτάσεις

11 Ευρετήριο αλγορίθμων 1 Αλγόριθμος MTBDD εφαρμογής ενός τελεστή Αλγόριθμος πρόσθεσης κόμβων Decompose στην περίπτωση του equal suppression Decompose στην περίπτωση του zero suppression Decompose στην περίπτωση του one suppression Δημιουργία κόμβου με equal suppression Δημιουργία κόμβου με zero suppression Δημιουργία κόμβου με one suppression Δημιουργία κόμβου ανάλογα το suppression Decompose ανάλογα το suppression

12 10

13 Ευρετήριο σχημάτων Σχήμα Σελίδα 2.1 Συμβολισμός πύλης U Συμβολισμός ελεγχόμενης πύλης U Συμβολισμός ελεγχόμενης πύλης NOT (CNOT) Παράδειγμα κβαντικού κυκλώματος Αναπαράσταση μέτρησης qubit Binary Decision Tree Binary Decision Diagram Το BDD και ZDD για τη συνάρτηση F = ab + cd Χρόνος εκτέλεσης για παραγοντοποίηση αριθμών από 0 έως Χρόνος εκτέλεσης για παραγοντοποίηση αριθμών από έως Χρόνος εκτέλεσης για παραγοντοποίηση αριθμών από έως Χρόνος εκτέλεσης για παραγοντοποίηση αριθμών από έως Χρήση κόμβων για παραγοντοποίηση αριθμών από 0 έως Χρήση κόμβων για παραγοντοποίηση αριθμών από έως

14 4.7 Χρήση κόμβων για παραγοντοποίηση αριθμών από έως Χρήση κόμβων για παραγοντοποίηση αριθμών από έως Κόμβοι εισόδου για κάθε βήμα του αλγορίθμου Κόμβοι εξόδου για κάθε βήμα του αλγορίθμου

15 Κεφάλαιο 1 Εισαγωγή Οι κβαντικοί υπολογιστές αποτελούν εκ των πραγμάτων δύσκολο πεδίο έρευνας, καθώς η συγκεκριμένη επιστήμη βρίσκεται ακόμα σε πειραματικό στάδιο και δεν έχει αναπτυχθεί υλικό που να μας επιτρέπει την πρακτική εφαρμογή κβαντικών αλγορίθμων. Κατα συνέπεια, από τη στιγμή που η μελέτη των κβαντικών υπολογιστών μπορεί να βοηθηθεί σε μεγάλο βαθμό από τη δυνατότητα να εκτελεστούν κβαντικοί αλγόριθμοι, η μοναδική λύση είναι η προσoμοίωση κάνοντας χρήση κλασικών υπολογιστών. Η προσoμοίωση τέτοιου είδους αλγορίθμων έχει μεγάλες απαιτήσεις σε επεξεργαστική ισχύ, σε χρόνο εκτέλεσης και σε αποθηκευτικό χώρο και είναι δύσκολο να υλοποιηθεί με τις τεχνικές που είναι γνωστές μέχρι σήμερα. Οι περισσότεροι αλγόριθμοι προσομοίωσης που αναφέρονται στη βιβλιογραφία αναπαριστούν τις κβαντικές καταστάσεις με τη λεγόμενη αναπαράσταση διανύσματος κατάστασης (state-vector). Για παράδειγμα κάνουν χρήση ενός μιγαδικού διανύσματος 2 n στοιχείων για την αποθήκευση της κατάστασης μιας μνήμης n-qubit. Με το υπάρχον υλικό, αυτή η προσέγγιση περιορίζεται περίπου σε n 30. Για να γίνει εφικτό να ξεπεραστεί το όριο αυτό, υπάρχουν δύο επιλογές. Είτε να εγκαταλειφθεί η αναπαράσταση του διανύσματος κατάστασης, είτε να χρησιμοποιηθούν κατάλληλες τεχνικές συμπίεσης για τη μείωση του 13

16 χώρου που απαιτείται για την αναπαράσταση του διανύσματος κατάστασης. Η πρώτη επιλογή είναι ιδιαίτερα ενδιαφέρουσα αλλά και περίεργη και στην πραγματικότητα υπάρχουν τουλάχιστον δύο διαφορετικές προσεγγίσεις που ακολουθούν αυτή την πορεία. Δυστυχώς, αυτές ισχύουν μόνο σε περιορισμένες περιπτώσεις. Σύμφωνα με τις μέχρι σήμερα γνώσεις μας στο αντικείμενο, κάθε γενική τεχνική για κβαντική προσομοίωση βασίζεται στην αναπαράσταση διανύσματος κατάστασης. Η συμπίεση της κατάστασης αναπαράστασης για υπολογισμούς στους κλασσικούς υπολογιστές έχει μελετηθεί εκτενώς κατά τα τελευταία 20 χρόνια. Μια μεγάλη καινοτομία ήταν η εισαγωγή στα Reduced Ordered Binary Decision Diagrams (ROBDDs) [10]. Τα ROBDDs μπορούν να συμπιέσουν μια μεγάλη δομή μειώνοντας της το μέγεθός της σε τέτοια επίπεδα ώστε να γίνει εφικτή η επεξεργασία και η μελέτη της. Έχει αποδειχτεί [19, 17, 18, 13] ότι μια επέκταση των ROBDDs, τα Multi-Terminal BDDs (MTBDDs) [11], μπορούν να χρησιμοποιηθούν αποδοτικά στη συμπίεση του διανύσματος κατάστασης ενός κβαντικού συστήματος. Η αναπαράσταση δε και των κβαντικών τελεστών ως MTBDDs, μας επιτρέπει να προσoμοιώσουμε μεγάλα κβαντικά κυκλώματα. Ακόμα και με τον τρόπο αυτόν όμως, στις περισσότερες περιπτώσεις το μέγεθος της συμπιεσμένης μορφής του διανύσματος κατάστασης αυξάνεται εκθετικά, όσο αυξάνεται και το μέγεθος του κυκλώματος που προσoμοιώνεται. Κατά συνέπεια, μια μέθοδος κβαντικής προσoμοίωσης που βασίζεται στα MTBDDs εξακολουθεί να είναι αρκετά απαιτητική σε πόρους συστήματος κλασικών υπολογιστών και είναι ζωτικής σημασίας η περαιτέρω βελτίωση της απόδοσης των αλγορίθμων που χρησιμοποιούμε. Επίσης έχει προταθεί μια προσέγγιση [1] για προσoμοίωση αλγορίθμων κβαντικών κυκλωμάτων που βασίζεται στα MTBDD και ξεχωρίζει στο γεγονός ότι χειρίζεται συμβολικές αναπαραστάσεις των κβαντικών τελεστών, σε 14

17 αντίθεση με τις προηγούμενες προσεγγίσεις που βασίζονταν σε πίνακες (είτε συμπιεσμένης μορφής είτε όχι). Η τεχνική αυτή παρουσιάζει σημαντικά πλεονεκτήματα στις επιδόσεις σε συγκριτικά με προηγούμενες δουλειές καθώς η πειραματική αξιολόγησή της δείχνει ότι υπερέχει των προηγούμενων περίπου δύο τάξεις μεγέθους και αποδεικνύεται ότι οι αλγόριθμοι είναι ταχύτεροι. Στην παρούσα εργασία γίνεται επέκταση της τεχνικής των συμβολικών αναπαραστάσεων [1]. Εφόσον ο ήδη υπάρχων αλγόριθμος μας έχει απαλλάξει από την ανάγκη για χρήση πινάκων για την αναπαράσταση της κβαντικής πληροφορίας, μπορούμε να επικεντρωθούμε στην εύρεση και μελέτη άλλων μορφών αναπαράστασης της πληροφορίας αυτής. Έτσι, κάνοντας χρήση εναλλακτικών μορφών BDDs, στοχεύουμε στη βελτίωση της απόδοσης του αλγορίθμου προσoμοίωσης. Οι εναλλακτικές μορφές που χρησιμοποιούνται είναι τα Zero-Suppressed BDDs και One-Suppressed BDDs, καθώς και συνδυασμός αυτών. Τα αποτελέσματα της παρούσας εργασίας έχουν μεγάλη θεωρητική, αλλά και πρακτική αξία, καθώς μια οποιαδήποτε βελτίωση της απόδοσης του αλγορίθμου προσoμοίωσης της κβαντικής πληροφορίας, θα μας βοηθήσει αρκετά στη μελέτη των κβαντικών υπολογιστών. Επίσης θα μας δοθεί η δυνατότητα της επεξεργασία μεγάλου όγκου δεδομένων που βρίσκεται σε κλασική κατάσταση σε συνδυασμό με κβαντική πληροφορία. Στο Κεφάλαιο 2 γίνεται μια εισαγωγή στις τεχνολογίες που χρησιμοποιήθηκαν και σε ήδη υπάρχουσες συσχετιζόμενες εργασίες, τις οποίες θα πρέπει να έχει υπόψη ο αναγνώστης για να κατανοήσει τη διαδικασία που ακολουθείται αργότερα. Παρουσιάζονται τα κβαντικά κυκλώματα, η προσoμοίωση κβαντικών αλγορίθμων, οι διάφορες μορφές Binary Decision Diagrams (BDDs) που χρησιμοποιούνται και η τεχνική των συμβολικών α- ναπαραστάσεων [1]. 15

18 Στο Κεφάλαιο 3 αναλύεται ο αλγόριθμος που υλοποιήσαμε, τα βήματα μέχρι την τελική του μορφή και οι διαφορές του με τον προηγούμενο αλγόριθμο. Στο Κεφάλαιο 4 παρουσιάζονται αναλυτικά αποτελέσματα που προέκυψαν μετά από εφαρμογή του αλγορίθμου και σύγκριση αυτών με αποτελέσματα προηγούμενων μεθόδων και προσεγγίσεων. Στο Κεφάλαιο 5 καταγράφονται τα οφέλη από τα αποτελέσματα του αλγορίθμου και η συμβολή του στη βελτίωση της απόδοσης όταν προσoμοιώνουμε κβαντικά κυκλώματα. Επίσης προτείνονται μελλοντικές επεκτάσεις για περαιτέρω βελτίωση του αλγορίθμου. 16

19 Κεφάλαιο 2 Συσχετιζόμενες εργασίες 2.1 Κβαντική υπολογιστική επιστήμη Ο πρώτος που συνέλαβε την ιδέα των κβαντικών υπολογιστών ήταν ο David Deutsch το Σύμφωνα με ένα άρθρο που δημοσίευσε, ένας κβαντικός υπολογιστής θα μπορεί να επεξεργαστεί όλες τις εκδοχές ενός προβλήματος ταυτόχρονα. Αυτό ουσιαστικά συμβαίνει επειδή τα κβαντικά bits (qubits: quantum binary digit) μπορούν να βρεθούν σε υπερθέσεις του 0 και του 1, σε αντίθεση με τα κλασικά bits, όπου θα είναι ή 0 ή 1. Η εισαγωγή των δεδομένων, θα γίνεται με περιστρεφόμενα σωματίδια, όπου ανάλογα με τη φορά περιστροφής, θα αντιπροσωπεύουν το 0 ή το 1. Εάν έχουμε 250 περιστρεφόμενα σωματίδια, ένας κβαντικός υπολογιστής θα μπορεί να εκτελεί ταυτόχρονους υπολογισμούς σε ένα μόλις δευτερόλεπτο. Το 1994 ο Peter Shor προσδιόρισε ένα χρήσιμο πρόγραμμα για έναν κβαντικό υπολογιστή, το οποίο αναφέρεται στα βήματα που θα ακολουθούσε ώστε να παραγοντοποιήσει ένα μεγάλο αριθμό. Το πρόβλημα αυτό και η εύρεση γρήγορου τρόπου παραγοντοποίσης είναι ένα από τα μεγαλύτερα που αντιμετωπίζουν αυτή τη στιγμή οι μαθηματικοί. Για την παραγοντοποίηση ενός αριθμού με 129 ψηφία, εργάστηκαν 600 υπολογιστές για μήνες. Ένας κβαντικός υπολογιστής εφοδιασμένος με το πρόγραμμα του Σορ θα ήταν σε θέση να παραγοντοποιήσει έναν αριθμό κατά φορές 17

20 μεγαλύτερο, στο 1 εκατομμυριοστό του χρόνου. Μέχρι στιγμής έχουν ήδη δημιουργηθεί κι άλλα προγράμματα, τα οποία όμως δυστυχώς δεν είμαστε σε θέση να χρησιμοποιήσουμε, αφού μας λείπει ο κβαντικός υπολογιστής Κβαντικός υπολογιστής Κβαντικός υπολογιστής ονομάζεται οποιαδήποτε υπολογιστική συσκευή που χρησιμοποιεί χαρακτηριστικές κβαντομηχανικές ιδιότητες, όπως η αρχή της υπέρθεσης και της διεμπλοκής καταστάσεων για να πραγματοποιεί επεξεργασία δεδομένων. Σε έναν κλασικό υπολογιστή, στοιχειώδης μονάδα πληροφορίας πληροφορίας είναι το bit, ενώ σε έναν κβαντικό υπολογιστή το qubit. Η βασική αρχή της κβαντικής υπολογιστικής επιστήμης είναι το γεγονός ότι οι κβαντομηχανικές ιδιότητες της ύλης μπορούν να χρησιμοποιηθούν για την αναπαράσταση και τη δόμηση δεδομένων, καθώς και το γεγονός ότι μπορούν να επινοηθούν και να κατασκευαστούν μηχανισμοί βασισμένοι στην κβαντομηχανική για την επεξεργασία αυτών των δεδομένων. Η κβαντική υπολογιστική επιστήμη βρίσκεται ακόμα σε πειραματικό στάδιο, ωστόσο τα αποτελέσματα των πειραμάτων που έχουν πραγματοποιηθεί σε αυτό το πεδίο (με μικρό αριθμό qubits) είναι ενθαρρυντικά Συμβολισμός Bra/Ket Καθώς οι κβαντικές καταστάσεις αναπαριστώνται από διανύσματα, υπάρχει η ανάγκη για ένα συνοπτικό συμβολισμό τους. Ο Dirac [5] εισήγαγε ένα νέο που ονομάζεται Bra/Ket συμβολισμός, όπου το ket x χρησιμοποιείται για να περιγράψει τα διανύσματα της στήλης και το bra x υποδηλώνει το συζυγή συμμετρικό του x. Τα πιο συχνά χρησιμοποιούμενα διανύσματα είναι τα 0 = [ 1 0 ] (2.1) 18

21 1 = [ 0 1 ] (2.2) Qubit Στην περίπτωση των κλασικών υπολογιστών, το bit, το οποίο αποτελεί τη στοιχειώδη μονάδα πληροφορίας, μπορεί λάβει μία από δύο δυνατές τιμές, το 0 ή το 1. Το κβαντικό bit ή, όπως συνηθίζεται να λέγεται, qubit, είναι αντίστοιχα η στοιχειώδης μονάδα της κβαντικής πληροφορίας και έχει επίσης μία κατάσταση στην οποία βρίσκεται όπως το κλασικό bit. Δύο πιθανές καταστάσεις για ένα qubit είναι οι 0 και 1, που αναλογούν στις κατατάστεις 0 και 1 του κλασικού bit. Η βασική του διαφορά ενός qubit από ένα κλασικό bit είναι ότι το qubit μπορεί να βρίσκεται σε ένα συνδυασμό των δύο καταστάσεων 0 και 1 ταυτόχρονα, το οποίο ονομάζεται υπέρθεση ψ = α 0 + β 1 (2.3) Χρησιμοποιώντας τις 2.1 και 2.2, μπορούμε να ξαναγράψουμε την 2.3 [ ] α ψ = (2.4) β Τα α και β ονομάζονται πλάτη και είναι μιγαδικοί αριθμοί τέτοιοι ώστε α 2 + β 2 = 1 (2.5) Στην περίπτωση των κλασικών υπολογιστών, μπορούμε ανά πάσα στιγμή να εξετάσουμε την κατάσταση ενός bit και να δούμε αν είναι 0 ή 1. Όμως, δε συμβαίνει το ίδιο και με τα qubits, καθώς δε μπορούμε να εξετάσουμε την κατάσταση του, δηλαδή τις τιμές των α και β. Αντ'αυτού όταν εξετάζουμε την κατάσταση ενός qubit, παίρνουμε μια πιθανότητα α 2 να έχει την τιμή 0 ή μια πιθανότητα β 2 να έχει την τιμή 1. Απ'αυτό επίσης προκύπτει η ισχύς της 2.5 καθώς το άθροισμα των πιθανοτήτων πρέπει να είναι ίσο με τη μονάδα. 19

22 Η διαδικασία κατά την οποία εξετάζουμε την κατάσταση ενός qubit ο- νομάζεται μέτρηση και μετά από αυτή το qubit περιέρχεται σε μία από τις κατάστασεις 0 ή 1, ανάλογα τα αποτελέσματα της μέτρησης. Αν, για παράδειγμα, έχουμε ένα qubit στην κατάσταση (2.6) 2 2 μετρώντας την κατάσταση του, θα μας δώσει αποτέλεσμα 0 με πιθανότητα 1 2 = 0.5 ή το αποτέλεσμα 1 με ίδια πιθανότητα. Έστω λοιπόν ότι το αποτέλεσμα της μέτρησης είναι 0, το qubit θα περιέλθει στην κατάσταση 0. Όπως γίνεται κατανοητό, ένα qubit δεν είναι ισοδύναμο με ένα κλασικό bit, ακόμη και εάν οι πιθανότητες του να είναι 0 ή 1 είναι ίσες με τις αντίστοιχες του qubit να μετρηθεί στις καταστάσεις 0 και 1. Η διαφορά έγκειται στο γεγονός ότι η κβαντική υπέρθεση του qubit ορίζει, εκτός από τις πιθανότητες, και μια σχετική φάση μεταξύ των δύο καταστάσεων, επιτρέποντας την εμφάνιση φαινομένων συμβολής των δύο καταστάσεων. Μια αναλογία με την κυματική θα μας βοηθήσει να κατανοήσουμε τι σημαίνει αυτό. Όταν δύο κύματα συναντώνται σε ένα σημείο, το αποτέλεσμα της πρόσθεσης τους δεν εξαρτάται μόνο από το πλάτος του κάθε κύματος, αλλά και από την φάση στην οποία βρίσκεται. Κύματα που βρίσκονται στην ίδια φάση θα αλληλοενισχυθούν, ενώ κύματα σε αντίθεση φάση θα αλληλοαναιρεθούν. Κατά τον ίδιο τρόπο, όταν δύο ή περισσότερα qubit αλληλεπιδρούν σε έναν κβαντικό υπολογισμό, έχουν σημασία οι σχετικές τους φάσεις. Οι πιθανότητες κάθε κατάστασης δεν δίνονται από τους συντελεστές, αλλά από τα τετράγωνα των μέτρων των συντελεστών που ορίζουν την συγκεκριμένη διαμόρφωση του qubit. 20

23 2.1.4 Κβαντική πύλη Μέχρι στιγμής είδαμε πως μπορούμε να περιγράψουμε κάποια κβαντική κατάσταση, όμως δεν είδαμε με ποιον τρόπο είμαστε σε θέση να δημιουργήσουμε μια επιθυμητή κατάσταση. Αρχικά, θα πρέπει να δεχτούμε ως δεδομένο ότι ένας κβαντικός υπολογιστής μπορεί να αρχικοποιήσει τα qubits στην κατάσταση 0 ή 1. Θεωρώντας ότι η απλούστερη πράξη στην περίπτωση των κλασικών υπολογιστών είναι η ΝΟΤ, η οποία αντιστρέφει την τιμή ενός bit, θα ορίσουμε αντίστοιχα μια παρόμοια πράξη και για τους κβαντικούς υπολογιστές. Άρα πρέπει να βρούμε μια πράξη που μετατρέπει την κατάσταση 0 σε 1 και το αντίστροφο. Έτσι, ορίζουμε ένα δισδιάστατο πίνακα X με μέγεθος 2 2 X = [ ] (2.7) Πολλαπλασιάζοντας τον X με 0 ή 1, έχουμε αντίστοιχα τα παρακάτω αποτελέσματα X 0 = X 1 = [ [ ] [ 1 0 ] [ 0 1 ] ] = = [ 0 1 [ 1 0 ] ] = 1 (2.8) = 0 (2.9) Όπως παρατηρούμε από τις 2.8 και 2.9, ο πίνακας X όντως αναπαριστά την επιθυμητή πράξη και μετατρέπει την κατάσταση 0 σε 1 και αντίστροφα, οπότε αποτελεί την κβαντική πύλη NOT. Στην πραγματικότητα, η πράξη αυτή επιδρά γραμμικά, το οποίο σημαίνει ότι φέρνει την κατάσταση α 0 + β 1 στην κατάσταση α 1 + β 0 X [ α β ] = [ ] [ α β ] = [ β α ] (2.10) Συμπεραίνουμε ότι, εφόσον η κατάσταση ενός qubit περιγράφεται από ένα διάνυσμα 1 2, οι τελεστές θα πρέπει να αναπαριστώνται από δισδιάστατους 21

24 πίνακες μεγέθους 2 2. Επίσης για να μπορεί ένας πίνακας να θεωρηθεί κβαντική πύλη θα πρέπει να τηρεί ένα και μοναδικό περιορισμό, ο οποίος λέει ότι πρέπει ο πίνακας να είναι ορθογώνιος, το οποίο σημαίνει U U = UU = I (2.11) όπου U είναι ο συζυγής του U και Ι είναι ένας μοναδιαίος πίνακας 2 2. Εύκολα μπορούμε να δούμε ότι ο X είναι ορθογώνιος, καθώς [ ] [ ] [ ] X X = XX = = (2.12) Στην πραγματικότητα, ορίζοντας ένα τελεστή U που είναι unitary, σημαίνει ότι μπορούμε να κατασκευάσουμε έναν άλλο τελεστή U, ο οποίος έχει την ακριβώς αντίστροφη λειτουργία. Δηλαδή έστω ότι εφαρμόζουμε μια κβαντική πύλη U σε μια κατάσταση κ και παίρνουμε μια κατάσταση λ. Μπορούμε να επιστρέψουμε στην αρχική κατάσταση κ, εφαρμόζοντας τον U στην λ. κ U U U κ U U κ = I κ = κ (2.13) }{{} λ Μια πολύ σημαντική και χρήσιμη κβαντική πύλη είναι η πύλη Hadamard Η = 1 [ ] 1 1 (2.14) η οποία είναι ορθογώνια καθώς Η = Η και ΗΗ = Ι. Η αξία της πύλης Hadamard, έγκειται στο γεγονός ότι, εφαρμόζοντάς την στις κατάστασεις 0 και 1, δημιουργεί μια κατάσταση ίσης υπέρθεσης Η 0 = 1 [ ] [ ] = 1 [ ] 1 = (2.15) Η 1 = 1 2 [ ] [ 0 1 ] = 1 [ ] = (2.16) το οποίο σημαίνει ότι η πιθανότητα να περιέλθει το qubit στην κατάσταση 0 είναι ίση με την πιθανότητα να περιέλθει στην κατάσταση 1, δηλαδή υπάρχει ίδια πιθανότητα να μετρήσουμε 0 και να μετρήσουμε 1. 22

25 Μια άλλη κβαντική πύλη είναι η πύλη Ι = [ ] (2.17) η οποία όταν εφαρμοστεί πάνω σε μια κβαντική κατάσταση, έχει σαν αποτέλεσμα την αρχική αυτή κατάσταση. α 0 + β 1 I α 0 + β 1 (2.18) Ελεγχόμενες πύλες Κάποιες φορές μπορεί να έχουμε ένα σύστημα που αποτελείται από δύο qubits και να θέλουμε να εφαρμόσουμε μια πύλη στο ένα ανάλογα την τιμή που έχει το άλλο. Για παράδειγμα, αν θέλουμε να εφαρμόσουμε την πύλη NOT στο δεύτερο, όταν το πρώτο είναι στην κατάσταση 1. Αυτή η πύλη λέγεται ελεγχόμενη πύλη ΝΟΤ (CNOT) και περιγράφεται από τον πίνακα CNOT = (2.19) Εύκολα μπορούμε να διαπιστώσουμε ότι η πύλη CNOT κάνει τις παρακάτω μετατροπές 00 CNOT 00 (2.20) 01 CNOT 01 (2.21) 10 CNOT 11 (2.22) 11 CNOT 10 (2.23) δηλαδή το πρώτο qubit παραμένει το ίδιο, ενώ το δεύτερο αλλάζει στο αντίστροφό του αν το πρώτο είναι στην κατάσταση 1. Στη γενική του μορφή αυτό εκφράζεται ως A, B CNOT A, B A (2.24) 23

26 όπου Α, Β ɛ {0, 1} και το είναι η πράξη XOR μεταξύ των Α και Β. Το πρώτο qubit που καθορίζει την τιμή του δεύτερου λέγεται qubit ελέγχου και το δεύτερο qubit του οποίου η τιμή καθορίζεται από το πρώτο λέγεται qubit στόχος. Γενικότερα, όταν έχουμε μια πύλη U, κατασκευάζουμε μια ελεγχόμενη πύλη U, έτσι ώστε να αλλάζει η τιμή του δεύτερου qubit σύμφωνα με την U, μόνο όταν το πρώτο qubit είναι 1 [ 1 0 CU = 0 U ] (2.25) όπου Ι είναι ο 2 2 μοναδιαίος πίνακας, U είναι ο 2 2 πίνακας που αναπαριστά την πύλη U και ο 0 είναι ο 2 2 πίνακας με όλα τα στοιχεία του ίσα με μηδέν (0). Καθώς ο U είναι ορθογώνιος, και ο CU είναι επίσης ορθογώνιος. Μπορούμε να ορίσουμε πύλες με περισσότερα από ένα qubits ελέγχου. Για παράδειγμα η πύλη Toffoli, είναι μια ελεγχόμενη NOT πύλη με δύο qubits ελέγχου. Η αναπαράστασή της σε πίνακα είναι T offoli = (2.26) και όταν εφαρμοστεί σε ένα κβαντικό καταχωρητή τριών qubits, αντιστρέφει το target qubit μόνο όταν και τα δύο άλλα qubits ελέγχου είναι ταυτόχρονα στην κατάσταση 1 A, B, C Toffoli A, B, C AB (2.27) Όπως γίνεται αντιληπτό, η πύλη Toffoli μπορεί να χρησιμοποιηθεί προσoμοιώντας την πύλη NAND, καθώς αν η τιμή του C είναι 1 στην 2.27, τότε 24

27 το αποτέλεσμα στο τρίτο qubit είναι η πράξη NAND του Α και Β A, B, 1 Toffoli A, B, 1 AB = A, B, AB (2.28) Η διαφορά της πύλης Toffoli από την κλασική NAND είναι ότι η Toffoli, ούσα κβαντική πύλη, είναι αναστρέψιμη. Τη στιγμή που έχουμε υλοποιήσει σε κβαντικό υπολογιστή, την πύλη NAND, μπορούμε να προσoμοιώσουμε οποιαδήποτε άλλη πύλη, το οποίο σημαίνει ότι μπορεί να εκτελέσει τις ίδιες λειτουργίες με έναν κλασικό υπολογιστή Κβαντικό κύκλωμα Σε αναλογία με τους κλασικούς υπολογιστές, υπάρχουν σύμβολα που υποδηλώνουν τις κβαντικές πύλες μέσα σε κυκλώματα. Μια πύλη ενός qubit σχεδιάζεται με ένα κουτί που έχει το όνομα της πύλης. Ένα παράδειγμα μιας πύλης U φαίνεται στο σχήμα 2.1. Σχήμα 2.1: Συμβολισμός πύλης U Ένα παράδειγμα συμβολισμού μιας ελεγχόμενης πύλης U φαίνεται στο σχήμα 2.2. Σχήμα 2.2: Συμβολισμός ελεγχόμενης πύλης U Στο σχήμα 2.2, η μαύρη τελεία αναπαριστά το qubit ελέγχου, ενώ τα άλλα είναι τα qubits στόχοι. Η ελεγχόμενη πύλη ΝΟΤ (CNOT), λόγω της 25

28 μεγάλης σημασίας της, έχει ένα ιδαίτερο συμβολισμό που φαίνεται στο σχήμα 2.3 Σχήμα 2.3: Συμβολισμός ελεγχόμενης πύλης NOT (CNOT) Με αυτόν τον τρόπο, μπορούμε να χτίσουμε πιο πολύπλοκα κβαντικά κυκλώματα. Η αναπαράσταση ενός πιο πολύπλοκου κυκλώματος φαίνεται στο 2.4 Σχήμα 2.4: Παράδειγμα κβαντικού κυκλώματος Τέλος, χρειάζεται και ένας συμβολικός τρόπος αναπαράστασης της μέτρησης των qubits μέσα σε ένα κύκλωμα. Η λειτουργία αυτή μετατρέπει ένα απλό qubit σε ένα κλασικό bit με κάποια πιθανότητα. Το κλασικό bit διαχωρίζεται από το qubit με τη σχεδίαση διπλής γραμμής, όπως φαίνεται στο σχήμα 2.5 Σχήμα 2.5: Αναπαράσταση μέτρησης qubit 26

29 2.2 Προσoμοίωση κβαντικών αλγορίθμων Μέχρι στιγμής, η υπάρχουσα τεχνολογία μας επιτρέπει να δημιουργήσουμε κβαντικούς υπολογιστές με δυνατότητα διαχείρισης πολύ περιορισμένου αριθμού qubits. Επίσης οι συκεκριμένοι κβαντικοί υπολογιστές χαρακτηρίζονται από ιδιαίτερη αστάθεια και ως εκ τούτου, δε μπορούμε να δοκιμάσουμε πάνω σ'αυτούς, κβαντικούς αλγορίθμους. Δεδομένης, λοιπόν, της απουσίας κβαντικών υπολογιστών, η μόνη μέθοδος για να ερευνήσουμε την απόδοση κβαντικών αλγορίθμων είναι η προσoμοίωση τους σε κλασικούς υπολογιστές. Πλήθος προγραμμάτων έχουν αναπτυχθεί [7], που αποσκοπούν να προσoμοιώσουν, με όσο το δυνατόν καλύτερα αποτελέσματα, κβαντικούς αλγορίθμους. Τα περισσότερα από αυτά χρησιμοποιούν αποκλειστικά την αναπαράσταση διανύσματος κατάστασης και ως εκ τούτου οι απαιτήσεις σε μνήμη μεγαλώνουν εκθετικά. Ένα παράδειγμα είναι το Fraunhofer Quantum Computing Portal [6], στο οποίο έχει κάποιος τη δυνατότητα να εισάγει κβαντικά κυκλώματα μέχρι 31 qubits, τα οποία διαχειρίζονται σε ένα cluster 32 κόμβων. Ένα από τα πιο γνωστά προγράμματα για προσoμοίωση είναι το Matlab και, το αντίστοιχο ελέυθερο λογισμικό ανοιχτού κώδικα, Octave, τα οποία έχουν σχεδιαστεί για να διαχειρίζονται διανύσματα και πίνακες και να εκτελούν πράξεις μεταξύ τους. Όμως, μετά από κάποιο, σχετικά μικρό, πλήθος qubits ( 14), τα προγράμματα αυτά εξαντλούν όλη την διαθέσιμη μνήμη και δε μπορούν να εκτελέσουν παραπάνω πράξεις. Υπάρχει επίσης ένας προσoμοιωτής κβαντικών κυκλωμάτων, ο οποίος, με διαφορετική αναπαράσταση των διανυσμάτων καταστάσεων και των πράξεων, έχει καλύτερα αποτελέσματα. Ο προσoμοιωτής αυτός λέγεται QuIDDPro [17, 19]. Ο συγκεκριμένος αλγόριθμος κάνει χρήση ενός τύπου των Algebraic 27

30 Decision Diagrams [2], τα Quantum Information Decision Diagrams και έτσι επιτυγχάνει γρηγορότερη κβαντική προσoμοίωση με λιγότερη κατανάλωση μνήμης. Τα αποτελέσματα της έρευνας του συγκεκριμένου αλγορίθμου, αποδεικνύουν ότι έχει καλύτερα αποτελέσματα από αυτά του Matlab. Όλες οι παραπάνω τεχνικές είναι υποδεέστερες και έχουν χειρότερα αποτελέσματα από τη μέθοδο των συμβολικών αναπαραστάσεων με χρήση Multi Terminal Binary Decision Diagrams, η οποία περιγράφεται λίγο παρακάτω. Για το λόγο αυτό, η παρούσα εργασία βασίζεται σε ένα τέτοιο αλγόριθμο επεκτείνοντας τον με χρήση εναλλακτικών μορφών Binary Decision Diagrams. 2.3 Binary Decision Diagrams Το binary decision diagram (BDD) είναι στη γενική του μορφή ένας κατευθυνόμενος άκυκλος γράφος G = (V T, E, next, var, val, s) που χρησιμοποιείται για την αναπαράσταση μια δυαδικής συνάρτησης f(x 0,..., x n 1 ) σε ένα χώρο D, όπου x i είναι οι δυαδικές μεταβλητές. Σε κάθε κορυφή t αντιστοιχεί μια τιμή val(t) D, ενώ σε κάθε ενδιάμεσο κόμβο u δίνεται η ονομασία από μια δυαδική μεταβλητή var(u) και έχει ακριβώς δύο γείτονες, το γείτονα-0 και το γείτονα-1, οι οποίοι δηλώνονται με next(u, 0) και next(u, 1) αντίστοιχα. Σαν αρχικός κόμβος του γράφου ορίζεται μία κορυφή s. Σε κάθε ορισμό τιμών στις x i, αντιστοιχεί και ένα μοναδικό μονοπάτι κατά μήκος του γράφου, ξεκινώντας από τον s και καταλήγωντας στον τερματικό κόμβο t, παράγοντας την τιμή val(t). Έστω ότι έχουμε τη συνάρτηση f(x1, x2, x3), της οποίας ο πίνακας α- ληθείας φαίνεται στο σχήμα 2.6. Στο δέντρο στα αριστερά, η τιμή της συνάρτησης μπορεί να βρεθεί για ένα συγκεκριμένο σύνολο μεταβλητών ακο- 28

31 λουθώντας το μονοπάτι στο γράφο από τον αρχικό κόμβο μέχρι τον τερματικό. Στο σχήμα 2.6, οι διακεκομμένες γραμμές αναπαριστούν τις ακμές σε γείτονα-0, ενώ οι ολόκληρες γραμμές αναπαριστούν ακμές σε γείτονα-1. Έτσι, για να βρούμε την τιμή της συνάρτησης (x1=0, x2=1, x3=1), ξεκινάμε από το x1, διασχίζοντας το γράφο προς τα κάτω ακολουθώντας τη διακεκομμένη γραμμή προς το x2 (εφόσον το x1 έχει τιμή 0) και στη συνέχεια ακολουθούμε τις ολόκληρες γραμμές (εφόσον τα x2 και x3 έχουν τιμή 1). Αυτό μας οδηγεί στον τερματικό κόμβο 1, ο οποίος είναι η τιμή της f (x1=0, x2=1, x3=1). Σχήμα 2.6: Binary Decision Tree O Bryant [10] ανέπτυξε αποδοτικούς αλγορίθμους για την περίπτωση όπου D = {0, 1} (για παράδειγμα, BDDs για δυαδικές συναρτήσεις), εισάγοντας δύο συνθήκες στη δομή του BDD, τη διάταξη και τη μείωση. Με τον όρο διάταξη εννοούμε ότι οι τιμές των μεταβλητών κατά μήκος ε- νός μονοπατιού του γράφου αυξάνονται, ενώ με τον όρο μείωση εννοούμε ότι (α) οι γείτονες κάθε κόμβου είναι ξεχωριστοί και (β) δεν υπάρχουν ι- σοδύναμοι κόμβοι (να έχουν δηλαδή ίδια τιμή). Έτσι, το δέντρο δυαδικής αναπαράστασης (binary decision tree) του σχήματος 2.6, μπορεί να μετατραπεί σε διάγραμμα δυαδική αναπαράστασης (binary decision diagram), 29

32 σύμφωνα με τις δύο αυτές συνθήκες και έτσι το αποτέλεσμα της πράξης αυτής φαίνεται στο BDD του σχήματος 2.7. Σχήμα 2.7: Binary Decision Diagram Γενικότερα όταν γίνεται αναφορά στον όρο BDD, σχεδόν πάντα αυτό αντιστοιχεί στο Reduced Ordered Binary Decision Diagram (ROBDD), το οποίο είναι το BDD που ικανοποιεί τις συνθήκες της διάταξης και της μείωσης. Μια παρόμοια με τα ROBDD εργασία πάνω στα BDD, είναι τα Multi Terminal BDDs (MTBDDs), τα οποία παρουσιάστηκαν από τους Fujita, McGeer και Yanget [11]. Ένα MTBDD είναι ένα ROBDD όπου το D είναι αριθμητικό σύνολο, συνήθως R ή C. Σε μια σειρά από έρευνες [19, 17, 18], μελετήθηκε το ζήτημα της δυναμικής των QuIDDs, μια μικρή παραλλαγή των MTBDDs, για κβαντική προσoμοίωση. Τα QuIDDs των n δυαδικών μεταβλητών αναπαριστούν διανύσματα κατάστασης των n qubits και τα QuIDDs των 2n δυαδικών με- 30

33 ταβλητών αναπαριστούν n-qubit κβαντικούς τελεστές. Τα πειράματά τους έδειξαν ότι τα QuIDDs προσφέρουν σημαντική συμπίεση των κβαντικών καταστάσων και επιτρέπουν αποδοτική εφαρμογή των κβαντικών τελεστών, σε σύγκριση με διάφορες άλλες τεχνικές που χρησιμοποιούν αναπαράσταση διανύσματος κατάστασης. Αρχικά η μέθοδος εφαρμόστηκε πάνω στον αλγόριθμο του Grover, ενώ αργότερα ο Κουφογιαννάκης [13] εφάρμοσε την τεχνική αυτή και στον αλγόριθμο του Shor, επιτυγχάνοντας αρκετά μεγάλη συμπίεση. Πρόσφατα, άλλες παραλλαγές των MTBDD έχουν κάνει την εμφάνιση τους κατά την εύρεση νέων μεθόδων για προσoμοίωση κβαντικών υπολογιστών. [8, 14]. 2.4 Αλγόριθμος συμβολικών αναπαραστάσεων Ο αλγόριθμος συμβολικών αναπαραστάσεων βασίζεται στα Multi Terminal Binary Decision Diagrams για προσoμοίωση κβαντικών κυκλωμάτων. Το χαρακτηριστικό του συγκεκριμένου αλγορίθμου και ταυτόχρονα η ειδοποιός διαφορά του από άλλους αλγορίθμους είναι η δυνατότητα διαχείρισης των κβαντικών τελεστών, όχι πλέον σαν πίνακες είτε σε κάποια συμπιεσμένη μορφή είτε όχι, αλλά με συμβολικές αναπαραστάσεις. Η μέθοδος αυτή φαίνεται να παρουσιάζει πολύ σημαντικά πλεονεκτήματα σχετικά με προηγούμενες προσεγγίσεις ως προς την απόδοση και την επίδοση. Επιπροσθέτως, τα πειραματικά αποτελέσματα δείχνουν ότι η συγκεκριμένη τεχνική επιδεικνύει σημαντική βελτίωση έναντι παλαιότερων, α- κόμα και δύο τάξεις μεγέθους, και παρουσιάζεται σαφώς πιο γρήγορη κατά την εκτέλεση της. Στο σημείο αυτό, θα παρουσιαστούν κάποιοι ορισμοί που θα μας επιτρέψουν την αναπαράσταση των κβαντικών τελεστών ως αναδρομικές εκφράσεις πινάκων. Οι εκφράσεις αυτές επακολούθως χρησιμοποιούνται για 31

34 την εξεύρεση και απόδειξη της ορθότητας του αλγορίθμου Powermatrices και powervectors Ένα powermatrix A (ή PM για συντομία) είναι ένας μιγαδικός τετραγωνικός πίνακας διαστάσεων 2 k 2 k, όπου το k 0 είναι η τάξη του A και χαρακτηρίζεται από το ord(a). Τα PM τάξης 0 είναι μονοδιάστατα. Δύο (ή περισσότερα) PM της ίδιας τάξης ονομάζονται όμοια. Το I k υποδηλώνει το μοναδιαίο PM τάξης k. Ο τελεστής ορίζεται ως A B = [ A 0 0 B ] όπου 0 είναι το μηδενικό PM όμοιο με το A, B. Ένα powervector a (ή PV για συντομία) τάξης k είναι ένα διάνυσμα μεγέθους 2 k, όπου το k 0 είναι η τάξη του PV a και χαρακτηρίζεται από το ord(a). Όπως και στην περίπτωση των PM, τα PV τάξης 0 είναι μονοδιάστατα και τα PV ίδιας τάξης είναι όμοια. Έστω ότι έχουμε δύο όμοια PV a και b, το a b είναι ένα PV τάξης ord(a) + 1 και αποτελεί την αλληλουχία των a και b. Να σημειωθεί ότι ο τελεστής εφαρμόζεται και σε PV και σε τετραγωνικά PM. Τα MTBDDs συνήθως χρησιμοποιούνται ως συναρτήσεις δυαδικών μεταβλητών. Όμως, ο συμβολισμός αυτός είναι δυσχρηστος σε περιπτώσεις γραμμικών αλγεβρικών τελεστών και εξισώσεων, το οποίο εισάγει λάθη χειρισμού των δεικτών. Αντιθέτως, το επιτρέπει τη διαχείριση MTBDDs με αλγεβρικό τρόπο αποφεύγοντας, σχεδόν εξ'ολοκλήρου, το συμβολισμό με δείκτες, το οποίο οδηγεί σε περισσότερο ξεκάθαρους τύπους. Παρακάτω παρουσιάζονται κάποιες ιδιότητες των. Με κεφαλαία δηλώνονται τα PM, με πεζά λατινικά τα PV και με ελληνικά γράμματα τα 32

35 μονοδιάστατα. λ(a B) = (λa) (λb) (A 0 A 1 ) U = (A 0 U) (A 1 U) (A B) t = A t B t (A B)(C D) = (AC) (BD) λ(a b) = (λa) (λb) (a 0 a 1 ) u = (a 0 u) (a 1 u) (a b) + (c d) = (a + c) (b + d) (A B) + (C D) = (A + C) (B + D) (A B)(a b) = (Aa) (Bb) Υλοποίηση αλγορίθμου Στην υλοποίηση του αλγορίθμου, τα MTBDDs αναπαριστούν μιγαδικά PVs. Τα PMs δεν υλοποιήθηκαν ως MTBDDs, παρόλο που θα μπορούσε να γίνει κάτι τέτοιο σύμφωνα με το [17]. Εκτός τους MTBDD αλγορίθμους που περιγράφονται στο [11], υλοποιήθηκαν επίσης συναρτήσεις για μέτρηση και εφαρμογή κβαντικών τελεστών. Η υλοποίηση κάνει χρήση των παρακάτω συναρτήσεων: TNode(z): Επιστρέφει ένα μοναδικό τερματικό κόμβο u με val(u) = z. Node(a,b,i): Αν a = b επιστρέφει a, διαφορετικά επιστρέφει ένα μοναδικό εσωτερικό (μη τερματικό) κόμβο u με var(u) = i, next(u, 0) = a και next(u, 1) = b. Decompose(a,i): Αν i < var(a), επιστρέφει το ζεύγος κόμβων (a, a), διαφορετικά επιστρέφει το ζεύγος κόμβων (next(a, 0), next(a, 1)). 33

36 Lookup(k), Cache(k,v): Υλοποιεί μια αντιστοιχία κλειδιών k σε τιμές v βασισμένη σε πίνακες κατακερματισμού. Ο κώδικας φαίνεται στον αλγόριθμο 1, σαν ψευδοκώδικας σε python. Η υλοποίηση χωρίζεται σε δύο αναδρομικές συναρτήσεις. Η πρώτη συνάρτηση, Apply(F, ψ) είναι η βασική συνάρτηση που καλείται. Δέχεται μόνο δύο MTBDDs σαν ορίσματα, [ τον δυαδικό ] προβολέα F και το διάνυσμα u0 u κατάστασης ψ. Τα k και U = 1 του τελεστή [F : k : U] είναι καθολικές μεταβλητές. Η συνάρτηση Apply είναι καλείται αναδρομικά, μέχρι u 2 u 3 να φτάσει στον κόμβο που ανήκεια στα qubits πριν το k, όπου και η διαδικασία μεταφέρεται στην ApplySwap. Η ApplySwap διαφέρει στο γεγονός ότι δέχεται ένα ζεύγος από διανύσματα κατάστασης και επιστρέφει επίσης ένα ζεύγος διανυσμάτων κατάστασης. Η γενική ιδέα είναι να αποφευχθεί άσκοπη κλήση της συνάρτησης Node, αφού είναι αρκετά ακριβή (απαιτεί δέσμευση μνήμης και συχνή παραπομπή στον πίνακα κατακερματισμού). 2.5 Εναλλακτικές μορφές BDDs Κατά τη χρήση των BDDs, υπάρχουν περιπτώσεις όπου το μέγεθός του αυξάνεται δραματικά, δυσκολεύοντας τη διαδικασία και καθιστώντας πολλές φορές αδύνατη την επεξεργασία των δεδομένων. Ιδιαίτερα σε περιπτώσεις όπου τα δεδομένα είναι κατανεμημένα διάσπαρτα στο χώρο, το μέγεθος των εν λόγω δομών αυξάνεται εκθετικά. Για την επίλυση του προβλήματος αυτού, είναι επιτακτική η ανάγκη εύρεσης και χρήσης εναλλακτικών μορφών δομών για τη διαχείριση τέτοιου είδους δεδομένων. Οι εναλλακτικές μορφές διαγραμμάτων, που χρησιμοποιούνται στην παρούσα εργασία είναι δύο. Τα Zero Suppressed Binary Decision Diagrams (ZSDD ή ZDD) [4], στα οποία ένας κόμβος αφαιρείται όταν ο γείτονας-1 είναι ίσος με μηδέν, σε αντίθεση με τα MTBDDs, όπου ένας κόμβος αφαι- 34

37 ρείται όταν οι δύο γείτονες είναι ίδιοι. Η διαγραμματική διαφορά μεταξύ των δύο μορφών φαίνεται στο σχήμα 2.8. Η δεύτερη μορφή BDDs που χρησιμοποιείται, διαφέρει ελάχιστα από τα ZDDs και λέγεται One Suppressed Binary Decision Diagrams (ΟSDD ή ΟDD). Στην περίπτωση των ODDs, ένας κόμβος αφαιρείται από το γράφο, όταν ο γείτονας-0 είναι ίσος με μηδέν. Σχήμα 2.8: Το BDD και ZDD για τη συνάρτηση F = ab + cd Η στοιχειώδης αυτή διαφοροποίηση του κανόνα δημιουργίας μεταξύ των BDDs και των ZDDs και ODDs, εξηγεί τον πρηγούμενο ισχυρισμό μας για καλύτερη διαχείριση δεδομένων και αποδοτικότερη επεξεργασία μεταξύ των δομών αυτών, στην περίπτωση όπου έχουμε αραιά κατανεμημένα δεδομένα. 35

38 Algorithm 1 Αλγόριθμος MTBDD εφαρμογής ενός τελεστή. Apply(F,ψ) { if F = 0 or ψ = 0: return ψ if Lookup(F,ψ) nil: return Lookup(F,ψ) v := min(var(f ), var(ψ)) ψ 0, ψ 1 := Decompose(ψ, v) if k v: ψ a, ψ b := ApplySwap(F, ψ 0, ψ 1 ) ψ := Node(ψ a, ψ b, v) else: F 0, F 1 := Decompose(F, v) ψ := Node(Apply(F 0, ψ 0 ), Apply(F 1, ψ 1 ), v) Cache((F, ψ), ψ ) return ψ } ApplySwap(F, ψ 0, ψ 1 ) { if F = 0: return (ψ 0, ψ 1 ) if Lookup(F, ψ 0, ψ 1 ) nil: return Lookup(F, ψ 0, ψ 1 ) v := min(var(f ), var(ψ 0 ), var(ψ 1 )) if v = : # terminals reached ψ a, ψ b := (TNode(u 0 val(ψ 0 ) + u 1 val(ψ 1 )), TNode(u 2 val(ψ 0 ) + u 3 val(ψ 1 ))) else: F 0, F 1 := Decompose(F, v) y 0, y 1 := Decompose(ψ 0, v) y 2, y 3 := Decompose(ψ 1, v) q 0, q 1 := ApplySwap(F 0, y 0, y 2 ) q 2, q 3 := ApplySwap(F 0, y 1, y 3 ) ψ a, ψ b := (Node(q 0, q 2, v), Node(q 1, q 3, v)) Cache((F, ψ 0, ψ 1 ), (ψ a, ψ b )) return (ψ a, ψ b ) } 36

39 Κεφάλαιο 3 Αλγόριθμος προσoμοίωσης Στο κεφάλαιο αυτό περιγράφουμε τις λεπτομέρειες υλοποίησης του αλγορίθμου προσoμοίωσης στα πλαίσια της παρούσας εργασίας. Η αρχική σχεδίαση και υλοποίηση του αλγορίθμου των συμβολικών αναπαραστάσεων [1] έγινε με τέτοιο τρόπο ώστε να επιτρέπεται και να διευκολύνεται η χρήση Multi Terminal Binary Decision Diagrams, χωρίς να υπάρχει δυνατότητα χρήσης εναλλακτικών μορφών διαγραμμάτων με κάποια μορφής suppression. Για το λόγο αυτό, έγιναν κάποιες απαραίτητες αλλαγές στον κώδικα του αλγορίθμου, ώστε να καταστεί εφικτή η εισαγωγή δομών για τη διαχείριση των δεδομένων, διαφορετικών από αυτές των MTBDDs. Στην περίπτωση της συμβολικής αναπαράστασης, τα MTBBDs παρουσιάζονται ως συναρτήσεις δυαδικών μεταβλητών. Όμως, ο συμβολισμός των συναρτήσεων είναι αρκετά περίπλοκος και δυσνόητος. Το πρόβλημα αυτό λύνεται με την εισαγωγή του τελεστή, ο οποίος μας επιτρέπει να αναπαραστήσουμε τις συναρτήσεις με πιο απλό τρόπο. Με τη χρήση του τελεστή, μια σχέση όπως στην εξίσωση 3.1 ή στην εξίσωση 3.2, 3 4 = [ 3 4 ] (3.1) 37

40 [ 3 4 ] [ 3 4 ] = (3.2) μπορεί να αναπαρασταθεί με δενδρική μορφή, ισοδύναμη με ένα MTBDD, το οποίο συμφωνεί με τον κανόνα της διάταξης, αλλά όχι και αυτόν της μείωσης. Αυτό σημαίνει ότι δεν υπάρχουν ίδια κομμάτια του δέντρου παραπάνω από μία φορά αλλά δεν έχει γίνει κάποια απαλειφή κόμβου. Άρα, οι συναρτήσεις του αλγορίθμου μπορούν να χρησιμοποιηθούν στην περίπτωση όπου στο διάγραμμα δεν έχουμε εφαρμόσει κάποιας μορφής suppression. Όμως δεν αρκεί αυτό, καθώς θέλουμε να εφαρμόσουμε τον αλγόριθμο χρησιμοποιώντας και εναλλακτικές δομές, στις οποίες εφαρμόζεται απαλειφή κόμβων. Για να μπορέσουμε να το κάνουμε αυτό, αρκεί η πράξη που θα γίνει πάνω στο BDD, να παίρνει σαν είσοδο διαγράμματα που έχουν υποστεί suppression και να μας επιστρέφει σαν έξοδο διαγράμματα που επίσης έχουν κάποιας μορφής suppression, ίδιας με αυτής των εισόδων. Μελετώντας ένα παράδειγμα τέτοιας πράξης, της πρόσθεσης δύο κόμβων, θα διαπιστώσουμε ότι έχουμε το δικαίωμα να εφαρμόσουμε τον αλγόριθμο και σε suppressed BDDs. 3.1 Πρόσθεση δύο κόμβων Για την πρόσθεση δύο κόμβων στην περίπτωση όπου εφαρμόζουμε equal suppression, ισχύει η εξίσωση 3.3. (a 0 a 0 ) + (b 0 b 0 ) = (a 0 + b 0 ) (a 0 + b 0 ) (3.3) Αντίστοιχα για one και zero suppression, ο συμβολισμός της πρόσθεσης δύο κόμβων φαίνεται στις εξισώσεις 3.4 και 3.5. (a 0 0) + (b 0 0) = (a 0 + b 0 ) (0 + 0) (3.4) 38

41 (0 a 0 ) + (0 b 0 ) = (0 + 0) (a 0 + b 0 ) (3.5) Παρατηρώντας τις τρεις εξισώσεις, συμπεραίνουμε ότι και στις τρεις περιπτώσεις suppression, όταν η πρόσθεση έχει δύο suppressed ορίσματα, επιστρέφει επίσης ένα suppressed αποτέλεσμα. Έτσι, αυτό μας δίνει το δικαίωμα να αγνοήσουμε τους κόμβους που έχουν απαλειφθεί λόγω του suppression που έχει εφαρμοστεί και να χρησιμοποιήσουμε τον αλγόριθμο της πρόσθεσης και στις περιπτώσεις αυτές. Ο ψευδοκώδικας της συνάρτησης Add φαίνεται στον αλγόριθμο 2. Algorithm 2 Αλγόριθμος πρόσθεσης κόμβων. Add(a, b) { if a = 0: return b if b = 0: return a if Lookup(a, b) nil: return Lookup(a, b) v := min(var(a), var(b)) if v = : # terminals reached ψ := (TNode(val(a) + val(b))) else: a 0, a 1 := Decompose(a, v) b 0, b 1 := Decompose(b, v) ψ := Node(Add(a 0, b 0 ), Add(a 1, b 1 ), v) Cache(a, b) return ψ } Όπως αναφέραμε προηγούμενως, η παραπάνω μέθοδος μπορεί να ε- φαρμοστεί μόνο όταν η πράξη επιστρέφει αποτελέσματα με suppression και μάλιστα ίδιο με αυτό των εισόδων της. Όταν δε συμβαίνει αυτό, δε μπορούμε να ακολουθήσουμε τον τρόπο αυτό και να αγνοήσουμε τους κόμβους που έχουν απαλειφθεί, και έτσι ο αλγόριθμος θα πρέπει να εκτελεστεί σε κάθε βήμα. 39

42 3.2 Decompose Με τη χρήση της decompose, αυξάνουμε την ευελιξία της πρόσθεσης αφού η μορφή του suppression που θα χρησιμοποιηθεί στο BDD μεταφέρεται στη συνάρτηση αυτή και η πρόσθεση γίνεται με τον ίδιο τρόπο σε κάθε περίπτωση ανεξάρτητα με το suppression του BDD. Έτσι, ανάλογα τη μορφή suppression που έχουμε για το BDD, επιστρέφει και το αντίστοιχο ζεύγος κόμβων. Στην αρχική περίπτωση όπου έχουμε εφαρμόσει equal suppression στο BDD, η decompose επιστρέφει το ζεύγος κόμβων (ψ, ψ), όπως φαίνεται στον αλγόριθμο 3. Algorithm 3 Decompose στην περίπτωση του equal suppression. Decompose(ψ, v) { if var(ψ) = v: return ψ 0, ψ 1 else: return ψ, ψ } Αν έχουμε Zero Suppressed BDD, λαμβάνοντας υπόψη ότι ο κόμβος που έχει απαλειφθεί είχε μηδενικό γείτονα-1, τότε η decompose επιστρέφει το ζεύγος κόμβων (ψ, 0), όπως φαίνεται στον αλγόριθμο 4. Algorithm 4 Decompose στην περίπτωση του zero suppression. Decompose(ψ, v) { if var(ψ) = v: return ψ 0, ψ 1 else: return ψ, 0 } Τέλος, στην περίπτωση που στο BDD εφαρμόζουμε one suppression, ο 40

43 κόμβος που έχει απαλειφθεί είχε μηδενικό γείτονα-0. Έτσι, η decompose επιστρέφει το ζεύγος κόμβων (0, ψ), όπως φαίνεται στον αλγόριθμο 5. Algorithm 5 Decompose στην περίπτωση του one suppression. Decompose(ψ, v) { if var(ψ) = v: return ψ 0, ψ 1 else: return 0, ψ } 3.3 Εισαγωγή νέου κόμβου Κατά τη δημιουργία ενός νέου κόμβου στο BDD και σύμφωνα με τον κανόνα της μείωσης, όταν οι δύο γείτονες του κόμβου είναι ίδιοι, επιστρέφεται ο ένας από αυτούς και δε δημιουργείται νέος κόμβος, όπως φαίνεται και στον κώδικα του αλγορίθμου 6. Algorithm 6 Δημιουργία κόμβου με equal suppression. Node(a, b, v) { if a = b: return a else: return NewNode(a, b, v) } Με τη χρήση όμως zero suppression, θα πρέπει να μετατραπεί ανάλογα και ο κανόνας δημιουργίας των κόμβων. Όπως φαίνεται και στον αλγόριθμο 7, ένας νέος κόμβος απαλείφεται όταν ο γείτονας-1 είναι ίσος με μηδέν. Αντίστοιχα, χρησιμοποιώντας one suppression στο BDD, ένας νέος κόμβος θα εισαχθεί στο διάγραμμα μόνο αν ο γείτονας-0 δεν είναι μηδέν, διαφορετικά θα απαλειφθεί, όπως φαίνεται στον αλγόριθμο 8. 41

44 Algorithm 7 Δημιουργία κόμβου με zero suppression. Node(a, b, v) { if b = 0: return a else: return NewNode(a, b, v) } Algorithm 8 Δημιουργία κόμβου με one suppression. Node(a, b, v) { if a = 0: return a else: return NewNode(a, b, v) } Στους παραπάνω αλγορίθμους, η συνάρτηση NewNode, χρησιμοποιείται για την εισαγωγή ενός νέου κόμβου μέσα στο BDD με γείτονες τα a και b και τιμή v. 3.4 Μεταβλητό suppression Κατά την εισαγωγή κόμβων στο δέντρο, η χρήση ενός μοναδικού είδους BDD σε ολόκληρο το γράφο, ίσως να μη μας δίνει τα βέλτιστα αποτελέσματα. Για να καταφέρουμε να έχουμε μεγαλύτερη απόδοση του αλγορίθμου, θα πρέπει δυναμικά κατά τη δημιουργία του δέντρου, να αποφασίζουμε ποια μορφή BDD μας ευνοεί ανάλογα τον κόμβο που βρισκόμαστε και να την εφαρμόζουμε σε αυτόν. Όμως, επειδή αυτό απαιτεί σάρωση ολόκληρου του γράφου και αυτό κοστίζει αλγοριθμικά, θα ήταν καλή σκέψη να εφαρμόζεται όχι σε κάθε εισαγωγή κόμβου, αλλά μόνο ανά τακτά χρονικά διαστήματα, όποτε κρίνουμε ότι υπάρχουν σημαντικές αλλαγές στη δομή του δέντρου μας. 42

45 Ο τρόπος που θα γίνει αυτό και για να είμαστε σε θέση να γνωρίζουμε ποια μορφή θα πρέπει να εφαρμόσουμε σε κάποιο κόμβο, είναι να σαρώσουμε ολόκληρο το δέντρο και να κρατάμε σε ένα πίνακα το πλήθος της κάθε μορφής suppression (equal, zero, one και καθόλου) στους κόμβους του για κάθε μεταβλητή του δέντρου, όπως επίσης και το πλήθος των κόμβων που έχουν απαλειφθεί. Έτσι, παρατηρώντας τον πίνακα αυτόν, μπορούμε εύκολα να αποφασίσουμε πλέον ποια μορφή suppression θα εφαρμόσουμε σε κάθε κόμβο ώστε να έχουμε τα καλύτερα δυνατά αποτελέσματα για μικρότερο όγκο πληροφορίας και κατ'επέκταση ταχύτερη εκτέλεση του αλγορίθμου. Η συνάρτηση που χρησιμοποιείται για να βρει τη μορφή του suppression για κάποια μεταβλητή είναι η sup. Έτσι πλέον κατά τη δημιουργία νέου κόμβου, θα πρέπει να ελέγξουμε τον πίνακα και ανάλογα το suppression, να επιλεχθεί από τον αλγόριθμο και ο αντίστοιχος τρόπος δημιουργίας του κόμβου, όπως φαίνεται στον αλγόριθμο 9. Αντίστοιχα διαμορφώνεται και η decompose, όπου πλέον επιλέγεται η μορφή suppression που εφαρμόζεται στον κόμβο που βρίσκεται ο αλγόριθμος. Ο ψευδοκώδικας της νέας συνάρτησης φαίνεται στον αλγόριθμο 10. Algorithm 9 Δημιουργία κόμβου ανάλογα το suppression. Node(a, b, v) { if sup(v) = equal and a = b: return a if sup(v) = zero and b = 0: return a if sup(v) = one and a = 0: return b return NewNode(a, b, v) } Ένα σημαντικό πλεονέκτημα της συνδυαστικής χρήσης εναλλακτικών 43

46 Algorithm 10 Decompose ανάλογα το suppression. Decompose(ψ, v) { if var(ψ) = v: return ψ 0, ψ 1 if sup(v) = equal: return ψ, ψ if sup(v) = zero: return ψ, 0 if sup(v) = one: return 0, ψ } μορφών BDDs, είναι ότι στην περίπτωση όπου έχουμε μόνο zero ή one suppression σε μία στήλη του πίνακα, μπορούμε πολύ εύκολα να διαχειριστούμε περιπτώσεις όπου εφαρμόζουμε μια κβαντική πύλη ΝΟΤ. Όπως είδαμε προηγουμένως, μια πύλη ΝΟΤ μετατρέπει την κατάσταση 0 σε 1 και αντίστροφα. Άρα μπορούμε εύκολα να διαπιστώσoυμε ότι σε τέτοιες περιπτώσεις δε χρειάζεται να σαρώσουμε ολόκληρο το δέντρο για να διαπιστώσουμε τι suppression θα χρησιμοποιήσουμε, αλλά αντ'αυτού απλά αλλάζουμε τη μορφή του suppression από zero σε one και αντίστροφα, ενημερώνοντας τις αντίστοιχες τιμές του πίνακα. Συμπεραίνουμε ότι, συνδυάζοντας με αυτόν τον τρόπο τις εναλλακτικές μορφές των BDDs που χρησιμοποιήσαμε μέχρι τώρα και εφαρμόζοντας την αντίστοιχη δομή που μας ευνοεί στην εκάστοτε περίπτωση σύμφωνα με τα κριτήρια που αναφέραμε, κάνουμε τον αλγόριθμο μας αποδοτικότερο α- φού επιτυγχάνουμε την απαλειφή ακόμα μεγαλύτερου πλήθους κόμβων. Έτσι ελαττώνεται αντίστοιχα το μέγεθος του BDD και ο αλγόριθμος εκτελείται πιο γρήγορα αφού έχει να διαχειριστεί μικρότερο όγκο πληροφορίας. 44

47 Κεφάλαιο 4 Αποτελέσματα Στο κεφάλαιο αυτό παρουσιάζονται κάποια πειραματικά αποτελέσματα του αλγορίθμου που περιγράψηκε στο κεφάλαιο 3. Έγιναν μετρήσεις στο χρόνο εκτέλεσης του αλγορίθμου και στη μνήμη που δεσμεύτηκε για κάθε περίπτωση μορφής BDD που χρησιμοποιήσαμε. Η απόδοση του αλγορίθμου εξετάστηκε πάνω στον αλγόριθμο του Shor, για διαφορετικές εισόδους ως αριθμό προς παραγοντοποίηση. Στα σχήματα 4.1, 4.2, 4.3 και 4.4 παρουσιάζονται τα αποτελέσματα των χρόνων εκτέλεσης του αλγρίθμου σε μορφή γραφικών παραστάσεων για διάφορα πεδία αριθμών εισόδου στον αλγόριθμο του Shor. Εκτός του χρόνου εκτέλεσης, έγιναν μετρήσεις και για τη μνήμη που χρησιμοποιεί κάθε φορά ο αλγόριθμος, η οποία μεταφράζεται σε αριθμό κόμβων που χρησιμοποιεί. Έτσι στα σχήματα 4.5, 4.6, 4.7 και 4.8 παρουσιάζονται και τα αποτελέσματα του αλγορίθμου ως προς τον αριθμό των κόμβων που χρησιμοποίησε σε μορφή γραφικών παραστάσεων για διάφορα πεδία αριθμών εισόδου στον αλγόριθμο του Shor. Τέλος, βάλαμε σαν είσοδο στον αλγόριθμο του Shor ένα μεγάλο αριθμό για να παραγοντοποιηθεί και έγινε μέτρηση των κόμβων που χρησιμοποίησε για κάθε περίπτωση BDD σε κάθε βήμα του αλγορίθμου. Τα αποτελέσματα για τους κόμβους εισόδου κάθε βήματος φαίνονται στο σχήμα 4.9, 45

48 Σχήμα 4.1: Χρόνος εκτέλεσης για παραγοντοποίηση αριθμών από 0 έως

49 Σχήμα 4.2: Χρόνος εκτέλεσης για παραγοντοποίηση αριθμών από έως

50 Σχήμα 4.3: Χρόνος εκτέλεσης για παραγοντοποίηση αριθμών από έως

51 Σχήμα 4.4: Χρόνος εκτέλεσης για παραγοντοποίηση αριθμών από έως

52 Σχήμα 4.5: Χρήση κόμβων για παραγοντοποίηση αριθμών από 0 έως

53 Σχήμα 4.6: Χρήση κόμβων για παραγοντοποίηση αριθμών από έως

54 Σχήμα 4.7: Χρήση κόμβων για παραγοντοποίηση αριθμών από έως

55 Σχήμα 4.8: Χρήση κόμβων για παραγοντοποίηση αριθμών από έως

56 ενώ τα αποτελέσματα για τους κόμβους εξόδου κάθε βήματος φαίνονται στο σχήμα Σχήμα 4.9: Κόμβοι εισόδου για κάθε βήμα του αλγορίθμου Όπως γίνεται εύκολα αντιληπτό από τα αποτελέσματα, οι εναλλακτικές μορφές δομών BDD, βελτίωσαν αρκετά την απόδοση του αλγορίθμου. Στην περίπτωση του one-suppression, η χρησιμοποιούμενη μνήμη και ο χρόνος εκτέλεσης μειώθηκαν αισθητά σε σχέση με την προηγούμενη υλοποίηση του αλγορίθμου, ενώ στην περίπτωση του zero-suppression, τα νούμερα αυτά μειώθηκαν ακόμα περισσότερο, σημειώνοντας θεαματική βελτίωση στην απόδοση του αλγορίθμου. 54

57 Σχήμα 4.10: Κόμβοι εξόδου για κάθε βήμα του αλγορίθμου 55

58 Κεφάλαιο 5 Συμπεράσματα 5.1 Ανακεφαλαίωση Οι κβαντικοί υπολογιστές αποτελούν εκ των πραγμάτων δύσκολο πεδίο έρευνας λόγω της έλειψης υλικού. Όμως, αποτελεί επιτακτική ανάγκη η εξεύρεση αποδοτικών αλγορίθμων προσωμοίωσης κβαντικών κυκλωμάτων, οι οποίοι θα μας βοηθήσουν να κατανοήσουμε τη λειτουργία και να μελετήσουμε την απόδοση κβαντικών υπολογιστών. Στην παρούσα εργασία, βασιζόμενοι στον αλγόριθμο προσωμοίωσης κβαντικών κυκλωμάτων με χρήση συμβολικών αναπαραστάσεων με MTBDDs, προτείναμε τη χρήση εναλλακτικών μορφών BDDs για την αναπαράσταση της πληροφορίας, οι οποίες ήταν τα zero-suppressed BDDs, τα one-suppressed BDDs, καθώς και συνδυασμός τους. Η αναζήτηση αποδοτικότερων μοντέλων αναπαράστασης αποτελεί μονόδρομο στην προσωμοίωση τέτοιου είδους κυκλωμάτων καθώς η πληροφορία που διαχειριζόμαστε αυξάνεται δραματικά όσο μεγαλύτερο είναι το πλήθος των qubits εισόδου. Τα αποτελέσματα από την πειραματική διαδικασία του αλγορίθμου μας, έδειξαν ότι μειώθηκαν αισθητά οι χρόνοι ε- κτέλεσής του καθώς και η μνήμη που απαιτείται για την ολοκλήρωση της διαδικασίας. Σε ορισμένες περιπτώσεις μάλιστα, η μείωση αυτή ήταν θεαματική, φτάνοντας σε μεγέθη τάξεις μεγέθους μικρότερα από τα αντίστοιχα 56

59 του προηγούμενου αλγορίθμου. Τα αποτελέσματα που εξάγαμε από την παρούσα εργασία φαίνονται να έχουν μεγάλη θεωρητική και πρακτική αξία. Η βελτίωση της απόδοσης του αλγορίθμου προσωμοίωσης κβαντικών κυκλωμάτων, θα βοηθήσει αρκετά στην περαιτέρω μελέτη των κβαντικών υπολογιστών. Επίσης, η δυνατότητα χρήσης εναλλακτικών μορφών δομών δεδομένων που έχουν τη δυνατότητα να διαχειρίζονται πιο εύκολα πληροφορία που βρίσκονται στις τιμές 0 και 1, μας επιτρέπει την επεξεργασία μεγάλου όγκου δεδομένων που βρίσκεται σε κλασική κατάσταση συνδυασμένη με κβαντική πληροφορία. 5.2 Μελλοντικές επεκτάσεις Η εργασία αυτή ανοίγει το δρόμο για ακόμα περισσότερες βελτιώσεις των αλγορίθμων κβαντικής προσωμοίωσης, καθώς μας απαλάσσει από την α- ναπαράσταση των κβαντικών τελεστών με τη μορφή πινάκων. Έτσι μελλοντικές επεκτάσεις του αλγορίθμου, μπορούν να επικεντρωθούν στη χρήση περισσότερο αποδοτικών αναπαράστασεων των διανυσμάτων κατάστασης, καθώς και συνδυασμός τους ανάλογα το είδος και τον όγκο της πληροφορίας που έχουμε να διαχειριστούμε. Επίσης, θα ήταν ενδιαφέρουσα η μελέτη της προσωμοίωσης κβαντικών κυκλωμάτων με τη χρήση παράλληλης επεξεργασίας για εξαγωγή ακόμα καλύτερων αποτελεσμάτων, καθώς οι τεχνικές που έχουν αναπτυχθεί σχετικά με τις δομές των BDDs, έχουν αποδείξει ότι μπορεί να γίνει κάτι τέτοιο από τη στιγμή που σε κάθε λειτουργία λαμβάνουν μέρος δύο διαφορετικοί γράφοι. Τέλος απλές δομές δεδομένων που λαμβάνουν μέρος κατά τη διαδικασία εκτέλεσης των αλγορίθμων, θα μπορούσαν να μεταφερθούν και να υλοποιηθούν σε υλικό (για παράδειγμα σε μια FPGA), ώστε να επιτύχουμε 57

CoveX: Quantum Circuit Simulator

CoveX: Quantum Circuit Simulator Κβαντική Πληροφορία Μοντέλο Κβαντικών Κυκλωμάτων Κβαντικοί Αλγόριθμοι CoveX Μάρτιος 2015 Κβαντική Πληροφορία Μοντέλο Κβαντικών Κυκλωμάτων Κβαντικοί Αλγόριθμοι CoveX Περιεχόμενα 1 Κβαντική Πληροφορία 2

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

Περιεχόμενα. Πρόλογος... 9 Δύο λόγια για το νέο ερευνητή Δύο λόγια για το Διδάσκοντα Ένα κβαντικό παιχνίδι... 15

Περιεχόμενα. Πρόλογος... 9 Δύο λόγια για το νέο ερευνητή Δύο λόγια για το Διδάσκοντα Ένα κβαντικό παιχνίδι... 15 Περιεχόμενα Πρόλογος... 9 Δύο λόγια για το νέο ερευνητή... 11 Δύο λόγια για το Διδάσκοντα... 1 Ένα κβαντικό παιχνίδι... 15 Κεφάλαιο 1: Κβαντικά συστήματα δύο καταστάσεων...17 1.1 Το κβαντικό κέρμα... 17

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

Εθνικό Μετσόβιο Πολυτεχνείο

Εθνικό Μετσόβιο Πολυτεχνείο Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Στοιχεία Θεωρίας Αριθμών & Εφαρμογές στην Κρυπτογραφία PROJECT Συνοπτική Παρουσίαση του Κβαντικού Αλγόριθμου Παραγοντοποίησης

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

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

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

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

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ. Κεφάλαιο 3

ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ. Κεφάλαιο 3 ΒΑΣΙΚΕΣ ΑΡΧΕΣ ΨΗΦΙΑΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ Κεφάλαιο 3 Δυαδική λογική Με τον όρο λογική πρόταση ή απλά πρόταση καλούμε κάθε φράση η οποία μπορεί να χαρακτηριστεί αληθής ή ψευδής με βάση το νόημα της. π.χ. Σήμερα

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

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων

K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων K15 Ψηφιακή Λογική Σχεδίαση 7-8: Ανάλυση και σύνθεση συνδυαστικών λογικών κυκλωμάτων Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Η έννοια του συνδυαστικού

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

Συνδυαστικά Λογικά Κυκλώματα

Συνδυαστικά Λογικά Κυκλώματα Συνδυαστικά Λογικά Κυκλώματα Ένα συνδυαστικό λογικό κύκλωμα συντίθεται από λογικές πύλες, δέχεται εισόδους και παράγει μία ή περισσότερες εξόδους. Στα συνδυαστικά λογικά κυκλώματα οι έξοδοι σε κάθε χρονική

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

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ.

Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας. Πληροφορική Ι. Μάθημα 4 ο Πράξεις με bits. Δρ. Τμήμα Χρηματοοικονομικής & Ελεγκτικής ΤΕΙ Ηπείρου Παράρτημα Πρέβεζας Πληροφορική Ι Μάθημα 4 ο Πράξεις με bits Δρ. Γκόγκος Χρήστος Κατηγορίες πράξεων με bits Πράξεις με δυαδικά ψηφία Αριθμητικές πράξεις

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

2. Αποθήκευση της κβαντικής πληροφορίας

2. Αποθήκευση της κβαντικής πληροφορίας . Αποθήκευση της κβαντικής πληροφορίας Σύνοψη Στο κεφάλαιο αυτό θα περιγραφεί η μονάδα της κβαντικής πληροφορίας που είναι το κβαντικό t (utum t). Θα περιγραφούν φυσικά συστήματα τα οποία μπορούν να χρησιμοποιηθούν

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

Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής

Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής Κεφάλαιο 3: Εισαγωγή στους αλγορίθμους - διαγράμματα ροής Αλγόριθμος (algorithm) λέγεται μία πεπερασμένη διαδικασία καλά ορισμένων βημάτων που ακολουθείται για τη λύση ενός προβλήματος. Το διάγραμμα ροής

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

Κεφάλαιο 4 : Λογική και Κυκλώματα

Κεφάλαιο 4 : Λογική και Κυκλώματα Κεφάλαιο 4 : Λογική και Κυκλώματα Σύνοψη Τα κυκλώματα που διαθέτουν διακόπτες ροής ηλεκτρικού φορτίου, χρησιμοποιούνται σε διατάξεις που αναπαράγουν λογικές διαδικασίες για τη λήψη αποφάσεων. Στην ενότητα

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

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης.

Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Οι Εξελικτικοί Αλγόριθμοι (ΕΑ) είναι καθολικοί στοχαστικοί αλγόριθμοι βελτιστοποίησης, εμπνευσμένοι από τις βασικές αρχές της φυσικής εξέλιξης. Ένα από τα γνωστότερα παραδείγματα των ΕΑ είναι ο Γενετικός

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

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr

I. ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ. math-gr I ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ i e ΜΕΡΟΣ Ι ΟΡΙΣΜΟΣ - ΒΑΣΙΚΕΣ ΠΡΑΞΕΙΣ Α Ορισμός Ο ορισμός του συνόλου των Μιγαδικών αριθμών (C) βασίζεται στις εξής παραδοχές: Υπάρχει ένας αριθμός i για τον οποίο ισχύει i Το σύνολο

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

Οργάνωση Υπολογιστών

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

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

Υπολογιστικά & Διακριτά Μαθηματικά

Υπολογιστικά & Διακριτά Μαθηματικά Υπολογιστικά & Διακριτά Μαθηματικά Ενότητα 1: Εισαγωγή- Χαρακτηριστικά Παραδείγματα Αλγορίθμων Στεφανίδης Γεώργιος Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

5. Κβαντική Διερεύνηση - Κβαντικός αλγόριθμος του Grover

5. Κβαντική Διερεύνηση - Κβαντικός αλγόριθμος του Grover 5. Κβαντική Διερεύνηση - Κβαντικός αλγόριθμος του Grover Σύνοψη Στο κεφάλαιο αυτό παρουσιάζεται ο αλγόριθμος του Grover για τη διερεύνηση μη δομημένων βάσεων δεδομένων. Περιγράφονται οι τελεστές και το

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων

Εισαγωγή στην επιστήμη των υπολογιστών. Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 2ο Αναπαράσταση Δεδομένων 1 2.1 Τύποι Δεδομένων Τα δεδομένα σήμερα συναντώνται σε διάφορες μορφές, στις οποίες περιλαμβάνονται αριθμοί,

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

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε.

Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. Μάθημα 5: Χαρακτηριστικά της Κ.Μ.Ε. 5.1 Το ρολόι Κάθε μία από αυτές τις λειτουργίες της Κ.Μ.Ε. διαρκεί ένα μικρό χρονικό διάστημα. Για το συγχρονισμό των λειτουργιών αυτών, είναι απαραίτητο κάποιο ρολόι.

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής

Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Μία μέθοδος προσομοίωσης ψηφιακών κυκλωμάτων Εξελικτικής Υπολογιστικής Βασισμένο σε μια εργασία των Καζαρλή, Καλόμοιρου, Μαστοροκώστα, Μπαλουκτσή, Καλαϊτζή, Βαλαή, Πετρίδη Εισαγωγή Η Εξελικτική Υπολογιστική

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

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 4 : Πράξεις με bits. Δρ. Γκόγκος Χρήστος

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική Ι. Ενότητα 4 : Πράξεις με bits. Δρ. Γκόγκος Χρήστος Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική Ι Ενότητα 4 : Πράξεις με bits Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής & Ελεγκτικής

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

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

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

8. Κβαντική τηλεμεταφορά

8. Κβαντική τηλεμεταφορά 8. Κβαντική τηλεμεταφορά Σύνοψη Στο κεφάλαιο αυτό θα περιγραφεί η κβαντική τηλεμεταφορά και θα δοθεί το αντίστοιχο κβαντικό κύκλωμα. Θα εξηγηθεί γιατί η κβαντική τηλεμεταφορά δεν παραβιάζει το θεώρημα

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

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση)

Τι είναι βαθμωτό μέγεθος? Ένα μέγεθος που περιγράφεται μόνο με έναν αριθμό (π.χ. πίεση) TETY Εφαρμοσμένα Μαθηματικά Ενότητα ΙΙ: Γραμμική Άλγεβρα Ύλη: Διανυσματικοί χώροι και διανύσματα, μετασχηματισμοί διανυσμάτων, τελεστές και πίνακες, ιδιοδιανύσματα και ιδιοτιμές πινάκων, επίλυση γραμμικών

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

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

Κεφάλαιο 4ο: Δικτυωτή Ανάλυση Κεφάλαιο ο: Δικτυωτή Ανάλυση. Εισαγωγή Η δικτυωτή ανάλυση έχει παίξει σημαντικό ρόλο στην Ηλεκτρολογία. Όμως, ορισμένες έννοιες και τεχνικές της δικτυωτής ανάλυσης είναι πολύ χρήσιμες και σε άλλες επιστήμες.

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

4. Η αρχή της κβαντικής υπολογιστικής - Κβαντικός αλγόριθμος του Deutsch

4. Η αρχή της κβαντικής υπολογιστικής - Κβαντικός αλγόριθμος του Deutsch 4. Η αρχή της κβαντικής υπολογιστικής - Κβαντικός αλγόριθμος του Deutsch Σύνοψη Στο κεφάλαιο αυτό περιγράφεται το κυκλωματικό μοντέλο των κβαντικών υπολογισμών και δίνεται ένα αναλυτικό παράδειγμα κβαντικού

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

Κβαντικοί Υπολογιστές

Κβαντικοί Υπολογιστές ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ Κβαντικοί Υπολογιστές Εισαγωγή και προσομοίωση του Κβαντικού Μετασχηματισμού Fourier Αλέξανδρος Ρίσης ΑΕΜ: 872 Επιβλέπων

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

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

K15 Ψηφιακή Λογική Σχεδίαση 6: Λογικές πύλες και λογικά κυκλώματα

K15 Ψηφιακή Λογική Σχεδίαση 6: Λογικές πύλες και λογικά κυκλώματα K15 Ψηφιακή Λογική Σχεδίαση 6: Λογικές πύλες και λογικά κυκλώματα Γιάννης Λιαπέρδος TEI Πελοποννήσου Σχολή Τεχνολογικών Εφαρμογών Τμήμα Μηχανικών Πληροφορικής ΤΕ Λογικές πύλες Περιεχόμενα 1 Λογικές πύλες

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

Σπιν 1 2. Γενικά. Ŝ και S ˆz γράφονται. ιδιοκαταστάσεις αποτελούν ορθοκανονική βάση στον χώρο των καταστάσεων του σπιν 1 2.

Σπιν 1 2. Γενικά. Ŝ και S ˆz γράφονται. ιδιοκαταστάσεις αποτελούν ορθοκανονική βάση στον χώρο των καταστάσεων του σπιν 1 2. Σπιν Γενικά Θα χρησιμοποιήσουμε τις γενικές σχέσεις που αποδείξαμε στην ανάρτηση «Εύρεση των ιδιοτιμών της στροφορμής», που, όπως είδαμε, ισχύουν για κάθε γενική στροφορμή ˆ J με συνιστώσες Jˆ, Jˆ, J ˆ,

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

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

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

Ε π ι μ έ λ ε ι α Κ Ο Λ Λ Α Σ Α Ν Τ Ω Ν Η Σ

Ε π ι μ έ λ ε ι α Κ Ο Λ Λ Α Σ Α Ν Τ Ω Ν Η Σ Ε π ι μ έ λ ε ι α Κ Ο Λ Λ Α Σ Α Ν Τ Ω Ν Η Σ 1 Συναρτήσεις Όταν αναφερόμαστε σε μια συνάρτηση, ουσιαστικά αναφερόμαστε σε μια σχέση ή εξάρτηση. Στα μαθηματικά που θα μας απασχολήσουν, με απλά λόγια, η σχέση

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

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων

Ψηφιακά Συστήματα. 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων Ψηφιακά Συστήματα 6. Σχεδίαση Συνδυαστικών Κυκλωμάτων Βιβλιογραφία 1. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Θεωρία και Ασκήσεις Ψηφιακών Ηλεκτρονικών, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 2016. [59382199] 2. Floyd

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

Συστήματα συντεταγμένων

Συστήματα συντεταγμένων Κεφάλαιο. Για να δημιουργήσουμε τρισδιάστατα αντικείμενα, που μπορούν να παρασταθούν στην οθόνη του υπολογιστή ως ένα σύνολο από γραμμές, επίπεδες πολυγωνικές επιφάνειες ή ακόμη και από ένα συνδυασμό από

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

Μάθημα 2: Παράσταση της Πληροφορίας

Μάθημα 2: Παράσταση της Πληροφορίας Μάθημα 2: Παράσταση της Πληροφορίας 2.1 Παράσταση δεδομένων Κάθε υπολογιστική μηχανή αποτελείται από ηλεκτρονικά κυκλώματα που η λειτουργία τους βασίζεται στην αρχή ανοιχτό-κλειστό. Η συμπεριφορά τους

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ 3/02/2019 ΚΑΡΑΓΚΙΑΟΥΡΗΣ ΝΙΚΟΛΑΟΣ ΘΕΜΑ 1 ο 1. Να γράψετε στο τετράδιό σας το γράμμα καθεμιάς από τις παρακάτω προτάσεις και δίπλα τη λέξη ΣΩΣΤΟ, αν είναι σωστή ή τη λέξη ΛΑΘΟΣ, αν είναι

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

Εισαγωγή στην επιστήμη των υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υπολογιστές και Δεδομένα Κεφάλαιο 3ο Αναπαράσταση Αριθμών www.di.uoa.gr/~organosi 1 Δεκαδικό και Δυαδικό Δεκαδικό σύστημα 2 3 Δεκαδικό και Δυαδικό Δυαδικό Σύστημα

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

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων

ΠΕΡΙΕΧΟΜΕΝΑ. Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων ΠΕΡΙΕΧΟΜΕΝΑ Μονοδιάστατοι πίνακες Πότε πρέπει να χρησιμοποιούνται πίνακες Πολυδιάστατοι πίνακες Τυπικές επεξεργασίες πινάκων Εισαγωγή Η χρήση των μεταβλητών με δείκτες στην άλγεβρα είναι ένας ιδιαίτερα

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

Εισαγωγή στον Προγραμματισμό

Εισαγωγή στον Προγραμματισμό Εισαγωγή στον Προγραμματισμό Ενότητα 3 Λειτουργίες σε Bits, Αριθμητικά Συστήματα Χρήστος Γκουμόπουλος Πανεπιστήμιο Αιγαίου Τμήμα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστημάτων Φύση υπολογιστών Η

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

Αριθμητική Ανάλυση & Εφαρμογές

Αριθμητική Ανάλυση & Εφαρμογές Αριθμητική Ανάλυση & Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 2017-2018 Υπολογισμοί και Σφάλματα Παράσταση Πραγματικών Αριθμών Συστήματα Αριθμών Παράσταση Ακέραιου

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

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e

Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e Άσκηση 1 Θεωρήστε ένα puzzle (παιχνίδι σπαζοκεφαλιάς) με την ακόλουθη αρχική διαμόρφωση : b b b w w w e Υπάρχουν τρία μαύρα τετραγωνάκια (b), τρία άσπρα (w) και ένα κενό (e). Η σπαζοκεφαλιά έχει τις ακόλουθες

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

3. Απλοποίηση Συναρτήσεων Boole

3. Απλοποίηση Συναρτήσεων Boole 3. Απλοποίηση Συναρτήσεων Boole 3. Μέθοδος του χάρτη Η πολυπλοκότητα ψηφιακών πυλών που υλοποιούν μια συνάρτηση Boole σχετίζεται άμεσα με την πολύπλοκότητα της αλγεβρικής της έκφρασης. Η αλγεβρική αναπαράσταση

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Κ. Δεμέστιχας Εργαστήριο Πληροφορικής Γεωπονικό Πανεπιστήμιο Αθηνών Επικοινωνία μέσω e-mail: cdemest@aua.gr, cdemest@cn.ntua.gr 1 4. ΑΛΓΕΒΡΑ BOOLE ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΜΕΡΟΣ Α 2 Άλγεβρα

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

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο

Ασκήσεις Φροντιστηρίου «Υπολογιστική Νοημοσύνη Ι» 5 o Φροντιστήριο Πρόβλημα ο Ασκήσεις Φροντιστηρίου 5 o Φροντιστήριο Δίνεται το παρακάτω σύνολο εκπαίδευσης: # Είσοδος Κατηγορία 0 0 0 Α 2 0 0 Α 0 Β 4 0 0 Α 5 0 Β 6 0 0 Α 7 0 Β 8 Β α) Στον παρακάτω κύβο τοποθετείστε τα

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

9. Συστολικές Συστοιχίες Επεξεργαστών

9. Συστολικές Συστοιχίες Επεξεργαστών Κεφάλαιο 9: Συστολικές συστοιχίες επεξεργαστών 208 9. Συστολικές Συστοιχίες Επεξεργαστών Οι συστολικές συστοιχίες επεξεργαστών είναι επεξεργαστές ειδικού σκοπού οι οποίοι είναι συνήθως προσκολλημένοι σε

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

Τμήμα Μηχανικών Πληροφορικής ΤΕ Δυϊκότητα. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 1/12/2016

Τμήμα Μηχανικών Πληροφορικής ΤΕ Δυϊκότητα. Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα. τελευταία ενημέρωση: 1/12/2016 Τμήμα Μηχανικών Πληροφορικής ΤΕ 2016-2017 Δυϊκότητα Γκόγκος Χρήστος ΤΕΙ Ηπείρου Επιχειρησιακή Έρευνα τελευταία ενημέρωση: 1/12/2016 1 Το δυϊκό πρόβλημα Για κάθε πρόβλημα Γραμμικού Προγραμματισμού υπάρχει

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

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Αριθμητική Παραγώγιση Εισαγωγή Ορισμός 7. Αν y f x είναι μια συνάρτηση ορισμένη σε ένα διάστημα

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

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης

Γ2.1 Στοιχεία Αρχιτεκτονικής. Γ Λυκείου Κατεύθυνσης Γ2.1 Στοιχεία Αρχιτεκτονικής Γ Λυκείου Κατεύθυνσης Ορισμός άλγεβρας Boole Η άλγεβρα Boole ορίζεται, ως μία αλγεβρική δομή A, όπου: (α) Το Α είναι ένα σύνολο στοιχείων που περιέχει δύο τουλάχιστον στοιχεία

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Γραφήματα. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Γραφήματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Γραφήματα Κατευθυνόμενο Γράφημα Ένα κατευθυνόμενο γράφημα G είναι ένα ζευγάρι (V, E) όπου V είναι ένα

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

Μαθηματικά Γ Γυμνασίου

Μαθηματικά Γ Γυμνασίου Α λ γ ε β ρ ι κ έ ς π α ρ α σ τ ά σ ε ι ς 1.1 Πράξεις με πραγματικούς αριθμούς (επαναλήψεις συμπληρώσεις) A. Οι πραγματικοί αριθμοί και οι πράξεις τους Διδακτικοί στόχοι Θυμάμαι ποιοι αριθμοί λέγονται

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

Τμήμα Μηχανικών Η/Υ και Πληροφορικής

Τμήμα Μηχανικών Η/Υ και Πληροφορικής Τμήμα Μηχανικών Η/Υ και Πληροφορικής Εργαστήριο Επεξεργασίας Σημάτων και Τηλεπικοινωνιών Ασύρματες και Κινητές Επικοινωνίες Κωδικοποίηση καναλιού Τι θα δούμε στο μάθημα Σύντομη εισαγωγή Γραμμικοί κώδικες

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

Η ΜΕΘΟΔΟΣ PCA (Principle Component Analysis)

Η ΜΕΘΟΔΟΣ PCA (Principle Component Analysis) Η ΜΕΘΟΔΟΣ PCA (Principle Component Analysis) Η μέθοδος PCA (Ανάλυση Κύριων Συνιστωσών), αποτελεί μία γραμμική μέθοδο συμπίεσης Δεδομένων η οποία συνίσταται από τον επαναπροσδιορισμό των συντεταγμένων ενός

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

Fast Fourier Transform

Fast Fourier Transform Fast Fourier Transform Παναγιώτης Πατσιλινάκος ΕΜΕ 19 Οκτωβρίου 2017 Παναγιώτης Πατσιλινάκος (ΕΜΕ) Fast Fourier Transform 19 Οκτωβρίου 2017 1 / 20 1 Εισαγωγή Στόχος Προαπαιτούμενα 2 Η ιδέα Αντιστροφή -

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. Δοµές Δεδοµένων ΟΝΟΜΑΤΕΠΩΝΥΜΟ: ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ AM: Δοµές Δεδοµένων Εξεταστική Ιανουαρίου 2014 Διδάσκων : Ευάγγελος Μαρκάκης 20.01.2014 ΥΠΟΓΡΑΦΗ ΕΠΟΠΤΗ: Διάρκεια εξέτασης : 2 ώρες και

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

Ελίνα Μακρή

Ελίνα Μακρή Ελίνα Μακρή elmak@unipi.gr Μετατροπή Αριθμητικών Συστημάτων Πράξεις στα Αριθμητικά Συστήματα Σχεδίαση Ψηφιακών Κυκλωμάτων με Logism Άλγεβρα Boole Λογικές Πύλες (AND, OR, NOT, NAND, XOR) Flip Flops (D,

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 1 ΟΥ ΚΕΦΑΛΑΙΟΥ ΑΝΑΛΥΣΗ ΠΡΟΒΛΗΜΑΤΟΣ 1.1 Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα

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

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου

Κατηγορίες Συμπίεσης. Συμπίεση με απώλειες δεδομένων (lossy compression) π.χ. συμπίεση εικόνας και ήχου Συμπίεση Η συμπίεση δεδομένων ελαττώνει το μέγεθος ενός αρχείου : Εξοικονόμηση αποθηκευτικού χώρου Εξοικονόμηση χρόνου μετάδοσης Τα περισσότερα αρχεία έχουν πλεονασμό στα δεδομένα τους Είναι σημαντική

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

HY Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο. Φροντιστήριο 6

HY Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο. Φροντιστήριο 6 HY-180 - Λογική Διδάσκων: Δ. Πλεξουσάκης Εαρινό Εξάμηνο 2015-2016 Φροντιστήριο 6 Α) ΘΕΩΡΙΑ Μέθοδος Επίλυσης (Resolution) Στη μέθοδο της επίλυσης αποδεικνύουμε την ικανοποιησιμότητα ενός συνόλου προτάσεων,

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

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3

ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3 ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 3 ΑΠΛΟΠΟΙΗΣΗ και ΥΛΟΠΟΙΗΣΗ ΛΟΓΙΚΩΝ ΣΥΝΑΡΤΗΣΕΩΝ Σκοπός: Η κατανόηση της σχέσης µιας λογικής συνάρτησης µε το αντίστοιχο κύκλωµα. Η απλοποίηση λογικών συναρτήσεων

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

ΑΣΠΑΙΤΕ Εργαστήριο Ψηφιακών Συστημάτων & Μικροϋπολογιστών Εργαστηριακές Ασκήσεις για το μάθημα «Λογική Σχεδίαση» ΑΣΚΗΣΗ 3 ΠΙΝΑΚΕΣ KARNAUGH

ΑΣΠΑΙΤΕ Εργαστήριο Ψηφιακών Συστημάτων & Μικροϋπολογιστών Εργαστηριακές Ασκήσεις για το μάθημα «Λογική Σχεδίαση» ΑΣΚΗΣΗ 3 ΠΙΝΑΚΕΣ KARNAUGH ΑΣΚΗΣΗ 3 ΠΙΝΑΚΕΣ KARNAUGH 3.1 ΣΚΟΠΟΣ Η κατανόηση της απλοποίησης λογικών συναρτήσεων με χρήση της Άλγεβρας Boole και με χρήση των Πινάκων Karnaugh (Karnaugh maps). 3.2 ΘΕΩΡΗΤΙΚΟ ΜΕΡΟΣ 3.2.1 ΑΠΛΟΠΟΙΗΣΗ

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

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ

Τετάρτη 5-12/11/2014. ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ Τετάρτη 5-12/11/2014 ΣΗΜΕΙΩΣΕΙΣ 3 ου και 4 ου ΜΑΘΗΜΑΤΟΣ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΑΡΧΙΤΕΚΤΟΝΙΚΗ Η/Υ Α ΕΞΑΜΗΝΟ ΕΚΠΑΙΔΕΥΤΗΣ: ΤΡΟΧΙΔΗΣ ΠΑΝΑΓΙΩΤΗΣ 1. Παράσταση και οργάνωση δεδομένων

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

Τανυστές στην Κβαντομηχανική Κβαντική Πληροφορική

Τανυστές στην Κβαντομηχανική Κβαντική Πληροφορική Αθανάσιος Χρ. Τζέμος Τομέας Θεωρητικής Φυσική Τανυστές στην Κβαντομηχανική Κβαντική Πληροφορική Το ζήτημα των τανυστών είναι πολύ σημαντικό τόσο για την Κβαντομηχανική, όσο και για τη Σχετικότητα. Οι δύο

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

Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ. Εφ. Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ. Εφ. Πληροφορικής Κεφ. 2 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 2 Η έννοια και η παράσταση της πληροφορίας στον ΗΥ Καραμαούνας Πολύκαρπος 1 2.1Η έννοια της πληροφορίας Δεδομένα Πληροφορία Καραμαούνας Πολύκαρπος 2 2.2 ΗΥ Το βασικό εργαλείο επεξεργασίας και

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

"My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

My Binary Logic Ένας προσομοιωτής λογικών πυλών στο Scratch "My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch Καραγιάννη Ελένη 1, Καραγιαννάκη Μαρία-Ελένη 2, Βασιλειάδης Αθανάσιος 3, Κωστουλίδης Αναστάσιος-Συμεών 4, Μουτεβελίδης Ιωάννης-Παναγιώτης 5,

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

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n

O n+2 = O n+1 + N n+1 = α n+1 N n+2 = O n+1. α n+2 = O n+2 + N n+2 = (O n+1 + N n+1 ) + (O n + N n ) = α n+1 + α n Η ύλη συνοπτικά... Στοιχειώδης συνδυαστική Γεννήτριες συναρτήσεις Σχέσεις αναδρομής Θεωρία Μέτρησης Polyá Αρχή Εγκλεισμού - Αποκλεισμού Σχέσεις Αναδρομής Γραμμικές Σχέσεις Αναδρομής με σταθερούς συντελεστές

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

Δηλαδή η ρητή συνάρτηση είναι πηλίκο δύο ακέραιων πολυωνύμων. Επομένως, το ζητούμενο ολοκλήρωμα είναι της μορφής

Δηλαδή η ρητή συνάρτηση είναι πηλίκο δύο ακέραιων πολυωνύμων. Επομένως, το ζητούμενο ολοκλήρωμα είναι της μορφής D ολοκλήρωση ρητών συναρτήσεων Το θέμα μας στην ενότητα αυτή είναι η ολοκλήρωση ρητών συναρτήσεων. Ας θυμηθούμε πρώτα ποιες συναρτήσεις ονομάζονται ρητές. Ορισμός: Μία συνάρτηση ονομάζεται ρητή όταν μπορεί

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

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

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

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

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL

Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL Κεφάλαιο 3 ο Ακολουθιακά Κυκλώματα με ολοκληρωμένα ΤΤL 3.1 Εισαγωγή στα FLIP FLOP 3.1.1 Θεωρητικό Υπόβαθρο Τα σύγχρονα ακολουθιακά κυκλώματα με τα οποία θα ασχοληθούμε στο εργαστήριο των Ψηφιακών συστημάτων

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

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX

ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX ΒΑΣΙΚΑ ΣΤΟΙΧΕΙΑ ΘΕΩΡΙΑΣ ΤΗΣ ΜΕΘΟΔΟΥ SIMPLEX Θεμελιώδης αλγόριθμος επίλυσης προβλημάτων Γραμμικού Προγραμματισμού που κάνει χρήση της θεωρίας της Γραμμικής Άλγεβρας Προτάθηκε από το Dantzig (1947) και πλέον

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

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή

Κεφάλαιο 2. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας. Περιεχόμενα. 2.1 Αριθμητικά Συστήματα. Εισαγωγή Κεφάλαιο. Συστήματα Αρίθμησης και Αναπαράσταση Πληροφορίας Περιεχόμενα. Αριθμητικά συστήματα. Μετατροπή αριθμών από ένα σύστημα σε άλλο.3 Πράξεις στο δυαδικό σύστημα.4 Πράξεις στο δεκαεξαδικό σύστημα.5

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

Ιδιάζουσες τιμές πίνακα. y έχουμε αντίστοιχα τις σχέσεις : Αυτές οι παρατηρήσεις συμβάλλουν στην παραγοντοποίηση ενός πίνακα

Ιδιάζουσες τιμές πίνακα. y έχουμε αντίστοιχα τις σχέσεις : Αυτές οι παρατηρήσεις συμβάλλουν στην παραγοντοποίηση ενός πίνακα Ιδιάζουσες τιμές πίνακα Επειδή οι πίνακες που παρουσιάζονται στις εφαρμογές είναι μη τετραγωνικοί, υπάρχει ανάγκη να βρεθεί μία μέθοδος που να «μελετά» τους μη τετραγωνικούς με «μεθόδους και ποσά» που

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

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1

Στ Τάξη. Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1 Ενδεικτική Οργάνωση Ενοτήτων Στ Τάξη Α/Α Μαθηματικό περιεχόμενο Δείκτες Επιτυχίας Ώρες Διδ. 1 ENOTHTA 1 15 Αρ3.1 Απαγγέλουν, διαβάζουν, γράφουν και αναγνωρίζουν ποσότητες αριθμών Επανάληψη μέχρι το 1 000

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 1 ο

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ Κεφάλαιο 1 ο Να δοθεί ο ορισμός του προβλήματος καθώς και τρία παραδείγματα σημαντικών ιστορικών ή επιστημονικών προβλημάτων. Με τον όρο Πρόβλημα, εννοείται μια κατάσταση η οποία χρήζει αντιμετώπισης,και απαιτεί λύση

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

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος

Λύσεις Ασκήσεων ΣΕΙΡΑ 1 η. Πρόσημο και μέγεθος ΓΕΩΠΟΝΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΕΡΓΑΣΤΗΡΙΟ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΠΛΗΡΟΦΟΡΙΚΗ ΕΞΑΜΗΝΟ: 1 ο /2015-16 ΤΜΗΜΑ: ΑΓΡΟΤΙΚΗΣ ΟΙΚΟΝΟΜΙΑΣ ΚΑΙ ΑΝΑΠΤΥΞΗΣ Καθηγητής: Θ. Τσιλιγκιρίδης Άσκηση 1η Περιεχόμενα μνήμης Λύσεις

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

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

ΠΑΡΟΥΣΙΑΣΗ ΣΤΑΤΙΣΤΙΚΩΝ ΔΕΔΟΜΕΝΩΝ ο Κεφάλαιο: Στατιστική ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΚΑΙ ΟΡΙΣΜΟΙ ΣΤΗ ΣΤΑΤΙΣΤΙΚΗ ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Πληθυσμός: Λέγεται ένα σύνολο στοιχείων που θέλουμε να εξετάσουμε με ένα ή περισσότερα χαρακτηριστικά. Μεταβλητές X: Ονομάζονται

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

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX

ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX ΚΕΦΑΛΑΙΟ 3 ΕΝΑΣ ΔΙΚΡΙΤΗΡΙΟΣ ΑΛΓΟΡΙΘΜΟΣ SIMPLEX 3.1 Εισαγωγή Ο αλγόριθμος Simplex θεωρείται πλέον ως ένας κλασικός αλγόριθμος για την επίλυση γραμμικών προβλημάτων. Η πρακτική αποτελεσματικότητά του έχει

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

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

Δομές Δεδομένων και Αλγόριθμοι Δομές Δεδομένων και Αλγόριθμοι Χρήστος Γκόγκος ΤΕΙ Ηπείρου Χειμερινό Εξάμηνο 2014-2015 Παρουσίαση 19 Hashing - Κατακερματισμός 1 / 23 Πίνακες απευθείας πρόσβασης (Direct Access Tables) Οι πίνακες απευθείας

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

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών

Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Συνήθεις διαφορικές εξισώσεις προβλήματα οριακών τιμών Οι παρούσες σημειώσεις αποτελούν βοήθημα στο μάθημα Αριθμητικές Μέθοδοι του 5 ου εξαμήνου του ΤΜΜ ημήτρης Βαλουγεώργης Καθηγητής Εργαστήριο Φυσικών

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

Επίλυση Προβλημάτων 1

Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων 1 Επίλυση Προβλημάτων Περιγραφή Προβλημάτων Αλγόριθμοι αναζήτησης Αλγόριθμοι τυφλής αναζήτησης Αναζήτηση πρώτα σε βάθος Αναζήτηση πρώτα σε πλάτος (ΒFS) Αλγόριθμοι ευρετικής αναζήτησης

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 3: Πίνακες, βρόχοι, συναρτήσεις 1 Ιουνίου 2017 Το σημερινό εργαστήριο

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

Σήματα και Συστήματα. Διάλεξη 2: Στοιχειώδη Σήματα Συνεχούς Χρόνου. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής

Σήματα και Συστήματα. Διάλεξη 2: Στοιχειώδη Σήματα Συνεχούς Χρόνου. Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής Σήματα και Συστήματα Διάλεξη 2: Στοιχειώδη Σήματα Συνεχούς Χρόνου Δρ. Μιχάλης Παρασκευάς Επίκουρος Καθηγητής 1 Στοιχειώδη Σήματα Συνεχούς Χρόνου 1. Μοναδιαία Βηματική Συνάρτηση 2. Κρουστική Συνάρτηση ή

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

Οδηγίες σχεδίασης στο περιβάλλον Blender

Οδηγίες σχεδίασης στο περιβάλλον Blender Οδηγίες σχεδίασης στο περιβάλλον Blender Στον πραγματικό κόσμο, αντιλαμβανόμαστε τα αντικείμενα σε τρεις κατευθύνσεις ή διαστάσεις. Τυπικά λέμε ότι διαθέτουν ύψος, πλάτος και βάθος. Όταν θέλουμε να αναπαραστήσουμε

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

Ψηφιακά Συστήματα. 3. Λογικές Πράξεις & Λογικές Πύλες

Ψηφιακά Συστήματα. 3. Λογικές Πράξεις & Λογικές Πύλες Ψηφιακά Συστήματα 3. Λογικές Πράξεις & Λογικές Πύλες Βιβλιογραφία 1. Φανουράκης Κ., Πάτσης Γ., Τσακιρίδης Ο., Θεωρία και Ασκήσεις Ψηφιακών Ηλεκτρονικών, ΜΑΡΙΑ ΠΑΡΙΚΟΥ & ΣΙΑ ΕΠΕ, 2016. [59382199] 2. Floyd

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

Μέθοδοι πολυδιάστατης ελαχιστοποίησης

Μέθοδοι πολυδιάστατης ελαχιστοποίησης Μέθοδοι πολυδιάστατης ελαχιστοποίησης με παραγώγους Μέθοδοι πολυδιάστατης ελαχιστοποίησης Δ. Γ. Παπαγεωργίου Τμήμα Μηχανικών Επιστήμης Υλικών Πανεπιστήμιο Ιωαννίνων dpapageo@cc.uoi.gr http://pc64.materials.uoi.gr/dpapageo

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2013-2014 Ευαγγελία Πιτουρά 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή

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

1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη;

1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη; ΚΕΦΑΛΑΙΟ 2 ο ΚΙΝΗΣΗ 2.1 Περιγραφή της Κίνησης 1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη; Κινηματική είναι ο κλάδος της Φυσικής που έχει ως αντικείμενο τη μελέτη της κίνησης. Στην Κινηματική

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές 12 ο Μάθημα Λεωνίδας Αλεξόπουλος Λέκτορας ΕΜΠ E-mail: leo@mail.ntua.gr URL: http://users.ntua.gr/leo 1 GROUP I A Λ ΤΡΙΤΗ PC-Lab GROUP IΙ Μ Ω ΠΑΡΑΣΚΕΥΗ Central Κέντρο

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

ΟΙ πιο πάνω έννοιες εκφράζουν όπως λέμε τη μονοτονία της συνάρτησης.

ΟΙ πιο πάνω έννοιες εκφράζουν όπως λέμε τη μονοτονία της συνάρτησης. 3 Μονοτονία συναρτήσεων 3 Μονοτονία συναρτήσεων 3Α Μονοτονία συνάρτησης Έστω f μία συνάρτηση με πεδίο ορισμού Γνησίως αύξουσα συνάρτηση Η συνάρτηση f λέγεται γνησίως αύξουσα στο Δ αν για κάθε, Δ, με

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 3 η : Κωδικοποίηση & Παράσταση Δεδομένων Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα

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

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

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

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

Κίνηση ΚΕΦΑΛΑΙΟ 2 Β ΓΥΜΝΑΣΙΟΥ

Κίνηση ΚΕΦΑΛΑΙΟ 2 Β ΓΥΜΝΑΣΙΟΥ Κίνηση ΚΕΦΑΛΑΙΟ 2 Β ΓΥΜΝΑΣΙΟΥ 2.1 Περιγραφή της Κίνησης 1. Τι είναι η Κινηματική; Ποια κίνηση ονομάζεται ευθύγραμμη; Κινηματική είναι ο κλάδος της Φυσικής που έχει ως αντικείμενο τη μελέτη της κίνησης.

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

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη.

4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. 4.4 Μετατροπή από μία μορφή δομής επανάληψης σε μία άλλη. Η μετατροπή μιας εντολής επανάληψης σε μία άλλη ή στις άλλες δύο εντολές επανάληψης, αποτελεί ένα θέμα που αρκετές φορές έχει εξεταστεί σε πανελλαδικό

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

Αριθμητική Ανάλυση και Εφαρμογές

Αριθμητική Ανάλυση και Εφαρμογές Αριθμητική Ανάλυση και Εφαρμογές Διδάσκων: Δημήτριος Ι. Φωτιάδης Τμήμα Μηχανικών Επιστήμης Υλικών Ιωάννινα 07-08 Πεπερασμένες και Διαιρεμένες Διαφορές Εισαγωγή Θα εισάγουμε την έννοια των διαφορών με ένα

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

ισδιάστατοι μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί

ισδιάστατοι μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί ΚΕΦΑΛΑΙΟ 4: ισδιάστατοι γεωμετρικοί μετασχηματισμοί Πολλά προβλήματα λύνονται μέσω δισδιάστατων απεικονίσεων ενός μοντέλου. Μεταξύ αυτών και τα προβλήματα κίνησης, όπως η κίνηση ενός συρόμενου μηχανισμού.

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

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

ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ ΜΕΡΟΣ ΙΙ ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ 36 ΜΟΝΤΕΛΟΠΟΙΗΣΗ ΔΙΑΚΡΙΤΩΝ ΕΝΑΛΛΑΚΤΙΚΩΝ ΣΕ ΠΡΟΒΛΗΜΑΤΑ ΣΧΕΔΙΑΣΜΟΥ ΚΑΙ ΣΥΝΘΕΣΗΣ ΔΙΕΡΓΑΣΙΩΝ Πολλές από τις αποφάσεις

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

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

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

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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