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

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

Τυπικά θέματα εξετάσεων. ΠΡΟΣΟΧΗ: Οι ερωτήσεις που παρατίθενται ΔΕΝ καλύπτουν την πλήρη ύλη του μαθήματος και παρέχονται απλά ενδεικτικά

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

Πράξεις με δυαδικούς αριθμούς

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

Εθνικό Μετσόβιο Πολυτεχνείο Τομέας Υδατικών Πόρων και Περιβάλλοντος. Διαχείριση Υδατικών Πόρων

9. OIΚΟΥΜΕΝΙΚΕΣ ΠΥΛΕΣ ΠΟΛΛΑΠΛΩΝ ΕΙΣΟ ΩΝ

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

ΕΡΩΤΗΜΑΤΑ σε ΓΕΝΕΤΙΚΟΥΣ

Νευρωνικά ίκτυα και Εξελικτικός. Σηµερινό Μάθηµα. επανάληψη Γενετικών Αλγορίθµων 1 η εργασία Επανάληψη νευρωνικών δικτύων Ασκήσεις εφαρµογές

9 ο Μαθητικό Συνέδριο Πληροφορικής Κεντρικής Μακεδονίας. "My Binary Logic" Ένας προσομοιωτής λογικών πυλών στο Scratch

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

Γενετικοί Αλγόριθμοι (ΓΑ) Genetic Algorithms (GAs) Είναι το πιο αντιπροσωπευτικό και δημοφιλές είδος Εξελικτικού Αλγόριθμου Χρησιμοποιούνται κυρίως

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Τεχνητή Νοημοσύνη. 5η διάλεξη ( ) Ίων Ανδρουτσόπουλος.

Ψηφιακή Λογική και Σχεδίαση

Τεχνολογία Συστημάτων Υδατικών Πόρων

Συστήματα Επιχειρηματικής Ευφυίας

e-book ΛΟΓΙΚΗ ΣΧΕΔΙΑΣΗ ΑΣΚΗΣΕΙΣ

i Το τρανζίστορ αυτό είναι τύπου NMOS. Υπάρχει και το συμπληρωματικό PMOS. ; Τι συμβαίνει στο τρανζίστορ PMOS; Το τρανζίστορ MOS(FET)

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία

Ε ανάληψη. Α ληροφόρητη αναζήτηση

8 η Θεµατική Ενότητα : Εισαγωγή στις Γλώσσες Περιγραφής Υλικού: Μοντέλα Συνδυαστικών Κυκλωµάτων

Τεχνητή Νοημοσύνη (ΥΠ23) 6 ο εξάμηνο Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ουρανία Χατζή

Υπολογιστική Νοηµοσύνη

ΠΛΗ10 Κεφάλαιο 2. ΠΛH10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: : Αριθμητική περιοχή της ALU 2.5: Κυκλώματα Υπολογιστών

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

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

επανενεργοποιηθεί Βιομηχανικά Ηλεκτρονικά - Κ.Ι.Κυριακόπουλος Control Systems Laboratory

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 2 ο. ΑΛΓΕΒΡΑ Boole ΛΟΓΙΚΑ ΚΥΚΛΩΜΑΤΑ

Κεφάλαιο 7. Γενετικοί Αλγόριθµοι. Τεχνητή Νοηµοσύνη - Β' Έκδοση Ι. Βλαχάβας, Π. Κεφαλάς, Ν. Βασιλειάδης, Φ. Κόκκορας, Η.

«Σχεδιασμός Ψηφιακών Συστημάτων σε FPGA» Εαρινό εξάμηνο

Πανεπιστήμιο Πατρών Τμήμα Φυσικής Εργαστήριο Ηλεκτρονικής. Ψηφιακά Ηλεκτρονικά. Συνδυαστική Λογική. Επιμέλεια Διαφανειών: Δ.

Γενετικοί Αλγόριθμοι. Εισαγωγή

Εργαστήριο Εισαγωγής στη Σχεδίαση Συστημάτων VLSI

Ενότητα 7 ΑΠΟΚΩΔΙΚΟΠΟΙΗΤΕΣ - ΚΩΔΙΚΟΠΟΙΗΤΕΣ ΑΠΟΠΛΕΚΤΕΣ - ΠΟΛΥΠΛΕΚΤΕΣ

PROJECT ΣΤΟ ΜΑΘΗΜΑ "ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΕΥΡΕΤΙΚΕΣ ΜΕΘΟΔΟΥΣ"

ΦΟΙΤΗΤΡΙΑ : ΒΟΥΛΓΑΡΙ ΟΥ ΜΑΡΙΑ, ΑΕΜ: 2109 ΕΠΙΒΛΕΠΩΝ : ΚΑΛΟΜΟΙΡΟΣ ΙΩΑΝΝΗΣ, ΕΠΙΚΟΥΡΟΣ ΚΑΘΗΓΗΤΗΣ

Ενότητα 8 Η ΠΥΛΗ XOR ΚΑΙ ΟΙ ΕΦΑΡΜΟΓΕΣ ΤΗΣ ΚΩΔΙΚΟΠΟΙΗΣΗ

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

Διερεύνηση μεθόδων αναζήτησης ολικού βελτίστου σε προβλήματα υδατικών πόρων

ΣΧΕΔΙΑΣΗ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Χρήστος Ξενάκης. Πανεπιστήμιο Πειραιώς, Τμήμα Ψηφιακών Συστημάτων

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Μνήμη και Προγραμματίσιμη Λογική

ΑΣΚΗΣΗ 1 ΛΟΓΙΚΕΣ ΠΥΛΕΣ

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

1 η Θεµατική Ενότητα : Αριθµητικά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

2 η Θεµατική Ενότητα : Σύνθετα Συνδυαστικά Κυκλώµατα. Επιµέλεια διαφανειών: Χρ. Καβουσιανός

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

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

Θεµελίωση Γενετικών Αλγορίθµων

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

Μάθημα 0: Εισαγωγή. Λευτέρης Καπετανάκης. ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΤΜΗΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ Άνοιξη 2011

Παλμοκωδική Διαμόρφωση. Pulse Code Modulation (PCM)

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

ΕΞΕΛΙΚΤΙΚΟΙ ΑΛΓΟΡΙΘΜΟΙ: θεωρητικό Πλαίσιο

4.1 Θεωρητική εισαγωγή

Αναλογικά & Ψηφιακά Κυκλώματα ιαφάνειες Μαθήματος ρ. Μηχ. Μαραβελάκης Εμ.

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

Περιεχόμενα. Πρώτο Κεφάλαιο. Εισαγωγή στα Ψηφιακά Συστήματα. Δεύτερο Κεφάλαιο. Αριθμητικά Συστήματα Κώδικες

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

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

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

Εργαστηριακή άσκηση. Θεωρητικός και πρακτικός υπολογισμός καθυστερήσεων σε αναστροφείς CMOS VLSI

5.1 Θεωρητική εισαγωγή

! Εάν ο αριθμός διαθέτει περισσότερα bits, χρησιμοποιούμε μεγαλύτερες δυνάμεις του 2. ! Προσοχή στη θέση του περισσότερο σημαντικού bit!

Λογική Σχεδίαση Ι - Εξεταστική Φεβρουαρίου 2013 Διάρκεια εξέτασης : 160 Ονοματεπώνυμο : Α. Μ. Έτος σπουδών:

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

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

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

Πράξεις με δυαδικούς αριθμούς

Ελίνα Μακρή

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

Αυτή η εργασία, συγχρηματοδοτήθηκε από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο ESF) και Εθνικούς πόρους μέσω του Υπηρεσιακού Προγράμματος

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

Τεχνικές Αποδείξεις Κάτω Φραγμάτων

Συμπίεση Δεδομένων Δοκιμής (Test Data Compression) Νικολός Δημήτριος, Τμήμα Μηχ. Ηλεκτρονικών Υπολογιστών & Πληροφορικής, Παν Πατρών

Κυκλώµατα µε MSI. υαδικός Αθροιστής & Αφαιρέτης

Συμπίεση Δεδομένων

Πρόγραμμα Επικαιροποίησης Γνώσεων Αποφοίτων

Εισαγωγή στην επιστήμη των υπολογιστών. Πράξεις με μπιτ

ΓΡΑΠΤΕΣ ΠΡΟΑΓΩΓΙΚΕΣ ΕΞΕΤΑΣΕΙΣ ΜΑΪΟΥ/ΙΟΥΝΙΟΥ 2014

Ψηφιακή Σχεδίαση. Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07. Δρ. Μηνάς Δασυγένης. Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

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

ΠΕΡΙΕΧΟΜΕΝΑ 1 ΚΕΦΑΛΑΙΟ ΟΙ ΥΠΟΛΟΓΙΣΤΕΣ ΑΠΟ ΤΗΝ ΑΡΧΑΙΟΤΗΤΑ ΜΕΧΡΙ ΣΗΜΕΡΑ Ιστορική αναδρομή Υπολογιστικές μηχανές

ΠΕΡΙΕΧΟΜΕΝΑ. Πρόλογος...9 ΚΕΦ. 1. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ - ΚΩΔΙΚΕΣ

Εφαρμοσμένη Πληροφορική ΙΙ (Θ) Είσοδος/Έξοδος Μεταβλητές Τύποι Μεταβλητών Τελεστές και Προτεραιότητα Μετατροπές Μεταξύ Τύπων

Ελίνα Μακρή

«Εγχειρίδιο Προγράμματος Hope (version 2)»

Αναγνώριση Προτύπων Ι

C D C D C D C D A B

Δυαδικές συναρτήσεις Άλγεβρα Boole Λογικά διαγράμματα

K24 Ψηφιακά Ηλεκτρονικά 6: Πολυπλέκτες/Αποπολυπλέκτες

Ηλεκτρολόγοι Μηχανικοί ΕΜΠ Λογική Σχεδίαση Ψηφιακών Συστημάτων Διαγώνισμα κανονικής εξέτασης Θέμα 1ο (3 μονάδες)

Οργάνωση της φυσικής δομής του ολοκληρωμένου κυκλώματος

ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Χειμερινό Εξάμηνο 2008

Transcript:

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

Μια παραλλαγή του ΓΠ είναι ο Καρτεσιανός Γενετικός Προγραμματισμός (ΚΓΠ) όπου τα κυκλώματα κωδικοποιούνται ως κατευθυνόμενα γραφήματα, αντί ως δέντρα. Οι υλοποιήσεις ΚΓΠ σε ψηφιακά κυκλώματα χρησιμοποιούν έναν πίνακα MxN όπου κάθε κόμβος αναπαριστά μια συγκεκριμένη πύλη. Οι κόμβοι διασυνδέονται μεταξύ τους, αλλά συνήθως επιτρέπονται συνδέσεις μόνο προς τα εμπρός.

Για να εφαρμόσουμε έναν τέτοιον αλγόριθμο ΓΠ, ΚΓΠ ή γενικά ΕΥ (Εξελικτικής Υπολογιστικής), πρέπει να δημιουργηθεί μια Συνάρτηση Ποιότητας, η οποία θα αξιολογεί κάθε γενετικά παραγόμενη λύση και θα παρέχει ένα μέτρο της ποιότητας ή καταλληλότητάς της. Μέσω αυτής της συνάρτησης ποιότητας, ο αλγόριθμος ΕΥ μπορεί να λάβει δείγματα της ποιότητας των σημείων σε ένα χώρο αναζήτησης και να οδηγήσει στη βέλτιστη λύση. Έχει υλοποιηθεί ένας ειδικός Προσομοιωτής Ψηφιακών Κυκλωμάτων για να χρησιμοποιηθεί σε αυτή την εργασία ως μια συνάρτηση ποιότητας για τον εξελικτικό αλγόριθμο ΚΓΠ.

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

Ο στόχος βελτιστοποίησης είναι διπλός: α) να εξελίξει ένα ψηφιακό κύκλωμα που θα παράγει τον επιθυμητό πίνακα αληθείας και β) να το επιτύχει με τον ελάχιστο δυνατό αριθμό πυλών. Έτσι, το πρόβλημα ορίζεται ως ένα πρόβλημα βελτιστοποίησης πολλαπλών στόχων (Multi-Objective Optimization) Για να επιτύχουμε ταυτόχρονα τους δύο στόχους, σχηματίζουμε μια ενοποιημένη συνάρτηση ποιότητας που περιέχει όρους και για τους δύο στόχους. Έτσι, βελτιστοποιώντας την ενοποιημένη συνάρτηση ποιότητας, ο ΕΑ βελτιστοποιεί και τους δύο στόχους ταυτόχρονα.

Σχηματίζεται ένα πλέγμα MxN που αναπαριστά πιθανά ψηφιακά κυκλώματα. Ο κάθε κόμβος του πλέγματος αναπαριστά μια ψηφιακή πύλη. Οι κόμβοι του πλέγματος μπορούν να διασυνδεθούν γενετικά μεταξύ τους μόνο με συνδέσεις προς τα εμπρος βάθους 1, πράγμα που σημαίνει ότι ένας κόμβος στη στήλη i μπορεί να συνδεθεί μόνο με έναν κόμβο της στήλης i+1. Input1 Gate 1,1 Gate 1,2 Gate 1,3 Output1 Input2 Gate 2,1 Gate 2,2 Gate 2,3 Output2 Gate 3,1 Gate 3,2 Gate 3,3 Ένα Καρτεσιανό Πλέγμα 3x3 για εξέλιξη ψηφιακού κυκλώματος

Κανόνας 1: Κάθε κόμβος στο πλέγμα μπορεί να ρυθμιστεί ώστε να αναπαριστά μία από τις ακόλουθες λειτουργίες: 0. Μη-υπάρχον, 1. AND, 2. OR, 3. NOT, 4. NAND, 5. NOR, 6, XOR, 7, XNOR. Κανόνας 2: Όλες οι υλοποιημένες πύλες έχουν δύο εισόδους και μία έξοδο, εκτός από την πύλη NOT που έχει μία μόνο είσοδο. Κανόνας 3: Οι είσοδοι κάθε πύλης μπορούν να συνδεθούν είτε σε μια είσοδο του συνολικού κυκλώματος (είσοδος κυκλώματος) ή στην έξοδο μιας πύλης που βρίσκεται σε προηγούμενη στήλη. Επίσης, μια είσοδος πύλης μπορεί να συνδεθεί σε μια σταθερή τιμή λογικού 1 ή λογικού 0. Κανόνας 4: Οι έξοδοι του κυκλώματος μπορούν να λαμβάνονται απ' ευθείας από την έξοδο οποιασδήποτε πύλης στο πλέγμα και όχι μόνο από τους κόμβους της τελευταίας (δεξιά) στήλης.

Κάθε γονότυπος συνίσταται από ένα πλήθος χρωμοσωμάτων ίσο με το πλήθος των κόμβων του πλαισίου και κάθε χρωμόσωμα συνίσταται από 4 τμήματα: Τμήμα 1 (τύπος πύλης): συνίσταται από 3 bit, επαρκή για να κωδικοποιήσουμε τις 8 διαφορετικές λειτουργίες του κάθε κόμβου, συμπεριλαμβανομένης της περίπτωσης "μη-υπάρχον". Τμήμα 2 (είσοδος πύλης 1): κωδικοποιεί την πηγή της πρώτης εισόδου της πύλης και συνίσταται από ένα πλήθος bit ίσων με: ceil (log2 ( NoOfGridRows+NoOfCircuitInputs+2 ) Τμήμα 3 (είσοδος πύλης 2): κωδικοποιεί την πηγή της δεύτερης εισόδου. Τμήμα 4 (έξοδος πύλης): κωδικοποιεί την έξοδο της πύλης και συνίσταται από ένα πλήθος bits ίσων με: ceil ( log2 ( NoOfOutputs+1 ) )

Δομή Χρωμοσώματος Τύπος Πύλης Είσοδος Πύλης 1 Είσοδος Πύλης 2 Έξοδος Πύλης 0 0 1 1 0 1 0 0 1 1 1 1 0 Χρωμ.1 Χρωμ. 2 Χρωμ. 3 Χρωμ. Ν Ενοποιημένος Γονότυπος Για παράδειγμα, για ένα πλαίσιο 3x3 που χρησιμοποιείται για να βρούμε ένα κύκλωμα με 3 εισόδους και 2 εξόδους (όπως ο πλήρης αθροιστής), κάθε χρωμόσωμα έχει 3 bit τύπου πύλης, 4 bit εισόδου 1 της πύλης, 4 bit εισόδου 2 και 2 bit εξόδου της πύλης δηλαδή σύνολο 13 bit. Συνεπώς, ο πλήρης γονότυπος έχει μήκος: 9x13=117 bits

Για την εξελικτική εύρεση των βέλτιστων ψηφιακών κυκλωμάτων χρησιμοποιώντας Καρτεσιανό πλέγμα και την κωδικοποίηση λύσεων που περιγράφηκε νωρίτερα, χρησιμοποιήθηκε ένας Γενετικός Αλγόριθμος με τις παρακάτω παραμέτρους: Σταθερός πληθυσμός 500 ή 1000 γονοτύπων (τυχαία αρχικοποιούμενων) Επιλογή γονέων με τον Τροχό της Ρουλέτας Ομοιόμορφη διασταύρωση Δυαδική μετάλλαξη με χαμηλή πιθανότητα ανά bit Αυτόματο σχήμα για προσαρμοζόμενες πιθανότητες τελεστών που προσαρμόζουν τις πιθανότητες των τελεστών κατά τη διάρκεια της βελτιστοποίησης, σύμφωνα με τη διασπορά του πληθυσμού Αντικατάσταση όλων των γονέων με τους απογόνους σε κάθε γενιά Μηχανισμός ελιτισμού Όριο γενεών στις 10,000 γενιές.

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

Αφού λάβει την έξοδο από τον προσομοιωτή, η συνάρτηση ποιότητας του ΓΑ τη συγκρίνει με τις επιθυμητές εξόδους του εξελισσόμενου κυκλώματος. Από αυτή τη σύγκριση υπολογίζεται ένα μέτρο απόστασης hamming, το οποίο πρέπει να ελαχιστοποιηθεί από τον ΓΑ και αποτελεί τον πρωταρχικό στόχο βελτιστοποίησης. Άλλος στόχος βελτιστοποίησης είναι η ελαχιστοποίηση του αριθμού των πυλών του κυκλώματος. Για να χειριστούμε τους δύο αυτούς στόχους, συνήθως υλοποιούμε μια ενοποιημένη συνάρτηση ποιότητας που τους εμπεριέχει: Fitness(S) = w1 x F1(S) + w2 x F2(S) F1(S) = HammingDistance( Os, D ) F2(S) = NoOfGates(S)

Αρχικές δοκιμές έδειξαν ότι ακόμα και αν επιλεγεί το βάρος w1 να είναι πολύ μεγαλύτερο από το w2, ο ΓΑ τείνει να συγκλίνει σε λύσεις που έχουν μικρό αριθμό πυλών, αλλά χωρίς να ικανοποιούν πλήρως τον πίνακα αληθείας. Για να αποφευχθούν τέτοια τοπικά βέλτιστα, χρησιμοποιείται μία άλλη συνάρτηση ποιότητας που αξιολογεί αρχικά κάθε προτεινόμενο κύκλωμα μόνο με την F1(S), και αν και όποτε αυτή η συνάρτηση στόχου φτάσει την τιμή 0, τότε η συνάρτηση ποιότητας αλλάζει και αρχίζει να αξιολογεί λύσεις και με τους δύο στόχους. Η νέα συνάρτηση ποιότητας μπορεί να περιγραφεί με έναν αλγοριθμικό τύπο, όπως φαίνεται παρακάτω: Αν ( F1(S) > 0 ) Fitness(S) = 100 x F1(S) Διαφορετικά Fitness(S) = 100 x F1(S) + 1 x F2(S)

Βήμα 1: Ελέγχει αν όλες οι τιμές φαινοτύπου είναι εντός του ονομαστικού εύρους. Αν βρεθεί μια μη έγκυρη τιμή, αυτή μετατρέπεται σε μια τυχαία έγκυρη τιμή. Βήμα 2: Ελέγχει για υπάρχουσες πύλες NOT στο πλέγμα. Αν υπάρχει μια τέτοια πύλη, τότε η δεύτερη είσοδός της ακυρώνεται, αφού οι πύλες NOT έχουν μόνο μια είσοδο. Βήμα 3: Εξασφαλίζει ότι όλες οι πύλες της πρώτης στήλης παίρνουν τις εισόδους τους είτε από τις εισόδους του κυκλώματος, είτε από σταθερές τιμές λογικού 0 ή 1, και όχι από πύλες προηγούμενων στηλών που απλά δεν υπάρχουν.

Βήμα 4: Ελέγχει αν υπάρχουν "μη-υπάρχουσες" πύλες μέσα στο πλέγμα και αν άλλες πύλες είναι διασυνδεδεμένες σε αυτές. Αν ναι, αναδιατάσσει τις συνδέσεις ώστε οι πύλες να συνδέονται μόνο σε έγκυρες πύλες. Βήμα 5: Εξασφαλίζει ότι κάθε στήλη πλέγματος έχει τουλάχιστον μια έγκυρη πύλη, ώστε να εξασφαλίζεται η προς τα εμπρός συνδεσιμότητα.

Κύκλωμα Πλήθος Πυλών 2-Εισόδων Πλήθος Εξόδων Πλήθος Συνδυασμών Εισόδων Πλήθος Εξόδων Πλήθος Bits Εξόδου Ημι-Αθροιστής 2 2 4 2 8 Αποκωδικοποιητής 2 σε 4 6 2 4 4 16 Πλήρης Αθροιστής 5 3 8 2 16 Πολλαπλασιαστής 2-bit 8 4 16 4 64 Αποκωδικοποιητής 3 σε 8 19 3 8 8 64 Συγκριτής 2-bit 15 4 16 3 48

x y S A0 A1 C0 C1 C2 z=cin Cout B0 B1 C3 A1 B1 A<B A0 A>B B0 A=B

Κύκλωμα Ποσοστό Επιτυχίας ΜΟ πυλών στην επιτυχία Ελάχ πύλες στην επιτυχία Μέγ πύλες στην επιτυχία ΜΟ γενιών για βελτιστοπ. ΜΟ χρόνου ανά εργασία Ημι-Αθροιστής 100% 2.3 2 3 710 5 min Αποκωδικοποιητής 2 σε 4 100% 5.1 4 7 850 6 min Πλήρης Αθροιστής 100% 6 5 7 890 8 min Πολλαπλασιαστής 2-bit 30% 12 11 13 5,500 36 min Αποκωδικοποιητής 3 σε 8 20% 17.5 17 19 6,150 30 min Συγκριτής 2-bit 10% 14 14 14 8,450 48 min

Κύκλωμα Ποσοστό Επιτυχίας ΜΟ πυλών στην επιτυχία Ελάχ πύλες στην επιτυχία Μέγ πύλες στην επιτυχία ΜΟ γενιών για βελτιστοπ. ΜΟ χρόνου ανά εργασία Ημι-Αθροιστής 100% 2.7 2 4 380 9 min Αποκωδικοποιητής 2 σε 4 100% 5.1 4 6 640 12 min Πλήρης Αθροιστής 100% 6.5 5 10 650 15 min Πολλαπλασιαστής 2-bit 80% 9.9 8 13 4,300 64 min Αποκωδικοποιητής 3 σε 8 40% 15.9 14 19 5,230 60 min Συγκριτής 2-bit 20% 11.8 10 14 6,570 85 min

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

Η προτεινόμενη υλοποίηση έχει δοκιμαστεί σε ένα σετ 6 βασικών και γνωστών ψηφιακών κυκλωμάτων αυξανόμενης πολυπλοκότητας. Τα αποτελέσματα της υλοποίησης είναι υποσχόμενα. Το σχήμα ΚΓΠ κατορθώνει να βρει τη βέλτιστη λύση για κάθε περίπτωση, παρά το γεγονός ότι η πιθανότητα επιτυχίας μειώνεται όσο αυξάνεται η πολυπλοκότητα του κυκλώματος. Παράγεται ένας αριθμός πολύ ενδιαφερόντων, μη συμβατικών λύσεων με ακόμη λιγότερες πύλες από τις γνωστές τοπολογίες. Αυτές οι λύσεις, μαζί με άλλες καλές αλλά όχι βέλτιστες, παρουσιάζουν μεγάλο ενδιαφέρον προς μελέτη. Τέλος, σε μια δυνατή μελλοντική εργασία, το προτεινόμενο σχήμα ΚΓΠ θα μπορούσε να δοκιμαστεί, χρησιμοποιώντας τελεστές αναπαραγωγής ή μετάλλαξης ειδικούς για το πρόβλημα. Επιπλέον, θα μπορούσε να δοκιμαστεί σε πιο σύνθετα κυκλώματα. 22

23