ΥΠΟΛΟΓΙΣΤΙΚΗ ΝΟΗΜΟΣΥΝΗ ΙΙ
Για να επιτευχθεί τέτοια
ακρίβεια, θα πρέπει κάθε διάστημα τιμών
να διαχωριστεί σε
ίσα υποδιαστήματα. Έστω
ο μικρότερος ακέραιος για τον οποίο ισχύει ότι
. Τότε, η αναπαράσταση των μεταβλητών σαν δυαδικές
συμβολοσειρές μήκους
ικανοποιεί την απαίτηση για ακρίβεια
δεκαδικών ψηφίων. Η ακόλουθη φόρμουλα μετατρέπει κάθε τέτοια
δυαδική συμβολοσειρά
στον αντίστοιχο πραγματικό αριθμό:
,
όπου
επιστρέφει την αντίστοιχη δεκαδική τιμή για το δυαδικό αριθμό
που περιέχει η
.
Κατ' αυτόν τον τρόπο, κάθε
χρωμόσωμα αναπαρίσταται από μια δυαδική συμβολοσειρά μήκους
. Τα πρώτα
δυαδικά ψηφία κωδικοποιούν τη μεταβλητή
, δηλαδή το διάστημα
, τα επόμενα
κωδικοποιούν τη
στο διάστημα
, κ.ο.κ.
Ασκηση 1η:
Θέλετε να ελαχιστοποιήσετε τη συνάρτηση τριών μεταβλητών f(x,y,z). Η μεταβλητή x παίρνει τιμές στο διάστημα [-20.0, 125.0], η μεταβλητή y στο διάστημα [0, 1.2 x 106] και η μεταβλητή z στο διάστημα [-1.0, 1.0]. Η επιθυμητή ακρίβεια (δηλαδή το βήμα μεταβολής της μεταβλητής) είναι 0.5, 104 και 0.001 αντίστοιχα. Να κατασκευάσετε μια ενιαία δυαδική κωδικοποίηση για το πρόβλημα αυτό. Ποιος είναι ο ελάχιστος αριθμός δυαδικών ψηφίων που απαιτούνται για να επιτευχθεί η επιθυμητή ακρίβεια; Με την κωδικοποίηση που πραγματοποιήσατε, να καθορίσετε τις συμβολοσειρές, οι οποίες αναπαριστούν κάθε ένα από τα ακόλουθα σημεία: (-20, 0, -1), (125, 1.2Ε6, 1) και (50, 100000, 0.597). Προκύπτει πρόβλημα περιορισμών στην παραπάνω κωδικοποίηση;
Υπόδειξη: Χρησιμοποιείστε τον τύπο που αναφέρεται παραπάνω στην υποενότητα.