Ασαφής Λογική. Βασικές αρχές και θεωρία. Ανάπτυξη εφαρμογής της λειτουργιάς ενός aircondition

Page 1

Ασαφής Λογική (Fuzzy Logic). Βασικές αρχές και θεωρία. Ανάπτυξη εφαρμογής της λειτουργιάς ενός air condition με το λογισμικό Matlab 2013. Γκούμας Στράτος. Πτυχιούχος Οικονομολόγος. MSc ‘Εφαρμοσμένη Οικονομική και Χρηματοοικονομική (Ε.Κ.Π.Α./ Τμήμα Οικονομικών)’ Team Site: A.E.A.C. Co.ProjectManager-SiteAdministrator e-mail: s_4goum@yahoo.com, My Blog, Twitter, Linkedin 09/09/2019

ΠΕΡΙΕΧΟΜΕΝΑ Περίληψη ....................................................................................................................... 2 Εισαγωγή- Ιστορική αναδρομή ...................................................................................... 3 Εφαρμογές Fuzzy Logic ................................................................................................ 6 Βασικές έννοεις ασαφούς λογικής ................................................................................. 8 1) Ασαφές Σύνολο (Fuzzy Set) ...................................................................................... 8 2) Ασαφείς Κανόνες και Προτάσεις (Fuzzy Rules and Statements) ........................... 13 3) Γλωσσικές Μεταβλητες (LinguisticVariables)........................................................ 15 4) Συναρτήσεις Συμμετοχής (Membership Functions) ................................................ 19 ____a) Τριγωνική Συνάρτηση Συμμετοχής (Triangle ή Triangular MF) .................... 21 ____b) Τραπεζοειδής Συνάρτηση Συμμετοχής (TrapezoidalMF) ............................... 22 ____c) Καμπανοειδής Συνάρτηση Συμμετοχής (Generalize Bell MF) ....................... 23 ____d) Γκαουσιανή Συνάρτηση Συμμετοχής (Gaussian MF) ..................................... 24 ____e) S Συνάρτηση Συμμετοχής (S MF) ................................................................... 25 ____f) Pi Συνάρτηση Συμμετοχής (Pi MF) ................................................................. 26 ____g) Z Συνάρτηση Συμμετοχής (Z MF) .................................................................. 27 ____h) Σιγμοειδής Συνάρτηση Συμμετοχης (Sigmoidal MF) ..................................... 28 Παρουσίαση του προγραμμάτος Matlab...................................................................... 30 Εφαρμογή λειτουργίας aircodition στο Matlab. .......................................................... 31 Συμπεράσματα. ............................................................................................................ 52 Βιβλιογραφία- Αναφορές ............................................................................................. 54

1


ΠΕΡΙΛΗΨΗ Στην παρουσίαση αυτή θα ασχοληθούμε με την έννοια και τις εφαρμογές της Ασαφούς Λογικής (Fuzzy Logic). Αρχικά θα αναπτύξουμε τις έννοιες και την βασική θεωρία της Ασαφούς Λογικής, έπειτα τις μεθόδους καθώς και τις θεμελιώδεις τεχνικές ανάπτυξης ενός μοντέλου. Τελειώνοντας θα σχεδιάσουμε και θα παρουσιαστεί ένα παράδειγμα με την χρήση κατάλληλου λογισμικού. Στην εργασία μας θα χρησιμοποιήσουμε το πρόγραμμα MatLab version R2013, όπου περιέχει τυποποιημένα πακέτα εφαρμογών Fuzzy Logic (Fuzzy Logic Toolbox) και είναι αρκετά εύκολο στην χρήση του. Το πλεονέκτημα του συγκεκριμένου προγράμματος είναι ότι δεν χρειάζεται πολλές παραμετροποιήσεις, η εργαλειοθήκη Fuzzy Logic περιέχει αρκετά έτοιμα παραδείγματα τα οποία είναι κατανοητά και επίσης περιλαμβάνει ένα εγχειρίδιο χρήσης το οποίο καθοδηγεί βήμα προς βήμα για την ανάπτυξη και εκτέλεση ενός μοντέλου. Ωστόσο, ο αναγνώστης καλό θα ήταν να γνωρίζει και να κατανοεί μερικές βασικές έννοιες μαθηματικών- στατιστικής και προγραμματισμού, διότι ο σχεδιασμός ενός τέτοιου συστήματος βασίζεται στους κλάδους μαθηματικών και πληροφορικής.

Keywords: fuzzy logic, fuzzy set, fuzzy rules, fuzzy information system, fuzzy logic membership functions, logical connectives operators, linguistic variables, universe of discourse, matlab, matlab fuzzy logic toolbox, matlab examples, matlab aircondition operation.

Για να κατεβάσετε τα αρχεία του matlab με την εφαρμογή του aircondition πατήστε εδώ ή εδώ ή εδώ ## Αφιερωμένο εξαιρετικά, στην μικρή μας κόρη που γεννήθηκε τον Ιούλιο/2018 ##

2


ΕΙΣΑΓΩΓΗ- ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ Η Ασαφής Λογική (Fuzzy Logic), είναι ένας κλάδος των μαθηματικών και ειδικότερα του κλάδου της μαθηματικής λογικής (mathematical logic) που εμπίπτει στα θέματα του προτασιακού λογισμού/ λογικής (propositional calculus/ logic). Η προτασιακή λογική μελετά τις λογικές προτάσεις οι οποίες σχηματίζονται από άλλες προτάσεις με την χρήση λογικών συνδέσμων (logical connectives). Λογικοί σύνδεσμοι είναι σύμβολα ή συναρτήσεις που χρησιμοποιούνται για να συνδέουν λογικές προτάσεις. Τα πιο γνωστά λογικά σύμβολα/ συναρτήσεις που μπορεί να έχουμε συναντήσει (είτε από τις σχολικές αίθουσες, είτε σε ανώτερες σχολές) είναι τα κάτωθι 1) AND // Σύμβολο «∧» 2) OR // Σύμβολο «∨» 3) NOT // Σύμβολο «¬» 4) XOR // Σύμβολο «⊕» 5) IF……… THEN………..ELSE // Σύμβολο «→» 6) IF AND ONLY IF // Σύμβολο «↔» 7) TRUE / FALSE

3


Οι πρώτες προσπάθειες για την βάση και οι αρχικές δομές της Ασαφούς Λογικής επετεύχθηκαν κατά την δεκαετία του 1920 από τον Jan Lukasiewicz (1878-1956), ο οποίος ήταν επιστήμων της λογικής και φιλόσοφος, και τον Alfred Tarski (19011983), ο οποίος ήταν μαθηματικός. Αργότερα, γύρω στο 1965, εισήχθηκαν νέες έννοιες και παρουσιάστηκε πιο ολοκληρωμένα από τον LoftiZadeh (1921-2017), ο οποίος ήταν μαθηματικός και ηλεκτρολόγος-μηχανικός. Ο LoftiZadehπρότεινε τη έννοια του ασαφούς αριθμού (fuzzy number), του ασαφούς συνόλου (fuzzyset), ασαφή αλγορίθμου (fuzzy algorithm) και ασαφή λήψη αποφάσεων (fuzzy decision making). Μετέπειτα προστέθηκαν νέες έννοιες από τον Salii Viacheslav Nikolaevich (1939-), όπου όρισε την L-σχέση (L- relation ή FuzzyRelation) με αποτέλεσμα η Ασαφής Λογική να εξελιχθεί και να βρει εφαρμογές σε νέα πεδία επιστημών. Ακόμα και σήμερα η Ασαφής Λογική συνεχίζει να εξελίσσεται με νέες θεωρίες και εφαρμογές. Ο βασικός λόγος της ανάπτυξηςτης Ασαφούς Λογικής ήταν διότι πολλά προβλήματα δεν μπορούσαν να λυθούν με την χρήση των κλασσικών μεθόδων λογικής (BooleanLogic). Η βασική διαφορά που έγκειται μεταξύ Fuzzy Logic και Boolean Logic, είναι ότι η Boolean Logic λαμβάνει τιμές 0 και 1, ενώ η Fuzzy Logic λαμβάνει όλες τις ρητές τιμές μεταξύ του 0 και 1, με τις τιμές 0 και 1 να αποτελούν τις ακραίες τιμές. Με την καθημερινή ορολογία, θα λέγαμε ότι δεν είναι όλα άσπρα (value 1) ή μαύρα (value 0) αλλά υπάρχει και το γκρι (fuzzy logic values). Τα συστήματα παριστάνονται παραδοσιακά με μαθηματικό προγραμματισμό και αναλυτικά μοντέλα τα οποία διαφέρουν πολλές φόρες από την κοινή λογική σε δύο κυρίως σημεία:1) Δεν μπορούν να αντιμετωπίσουν κάποιο βαθμό πεποίθησης και 2) Δεν μπορούν να αντιμετωπίσουν ασυνεπή και ελλιπή στοιχεία. Τα περισσότερα εμπειρικά συστήματα προσπαθούν να χρησιμοποιήσουν λογικές τυποποιήσεις για να προσομοιώσουν την ανθρώπινη γνώση και τη συλλογιστική. Ο κύριος περιορισμός αυτών των συστημάτων είναι ότι δεν είναι ευέλικτα όταν οι πληροφορίες που απαιτούνται για την απάντηση ενός ερωτήματος είναι αβέβαιες ή ελλιπείς. 4


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

Για να γίνει κατανοητή η διαφορά παραθέτουμε το εξής παράδειγμα. ΠΑΡΑΔΕΙΓΜΑ Ο Η/Υ και η λειτουργία του βασίζεται στην Boolean Logic, καθώς τα ηλεκτρικά κυκλώματα λειτουργούν με βάση αν διοχετεύεται ρεύμα (τιμή 1) ή όχι (τιμή 0) και αναλόγως εκτελούνται οι εντολές του Η/Υ. Αντιθέτως, το κλιματιστικό (aircondition), βασίζεται σε εφαρμογή Fuzzy Logic. Ο προγραμματισμός του κλιματιστικού λειτουργεί περίπου ως εξής. Έστω ότι έχει ζέστη και ρυθμίζουμε την θερμοκρασία του κλιματιστικού στους 25 oC. Οι προγραμματισμένες εντολές για την ρύθμιση της θερμοκρασίας μπορεί να είναι οι εξής. Α) Αν θερμοκρασία δωματίου >35oC και διαφορά θερμοκρασίας δωματίου με ρύθμιση θερμοκρασίας >10oC τότε λειτουργία ανεμιστήρα στο ΔΥΝΑΤΟ. Β) Αν θερμοκρασία δωματίου μεταξύ 30oC και 35oC και διαφορά θερμοκρασίας δωματίου με ρύθμιση θερμοκρασίας <10oC τότε λειτουργία ανεμιστήρα στο ΜΕΣΑΙΟ. Γ) Αν θερμοκρασία δωματίου μεταξύ 25oC και 30oC και διαφορά θερμοκρασίας δωματίου με ρύθμιση θερμοκρασίας <5oC τότε λειτουργία ανεμιστήρα στο ΧΑΜΗΛΟ. Δ) Αν θερμοκρασία δωματίου μεταξύ 25 oC και 30oC και διαφορά θερμοκρασίας δωματίου

με

ρύθμιση θερμοκρασίας

<2oC

ΑΝΑΜΟΝΗ.

5

τότελειτουργία

ανεμιστήρα σε


Με ορούς προγραμματισμού, η παραπάνω σχέσεις δηλώνονται ως εξής Εστω ΘΕΡΜΟΚΡΑΣΙΑ ΔΩΜΑΤΙΟΥTINDOOR[HOT(>35 oC), WARM(25oC-35 oC), COLD<25oC)] Εστω ΡΥΘΜΙΖΟΜΕΝΗ ΘΕΡΜΟΚΡΑΣΙΑ TAIRCON Εστω ΛΕΙΤΟΥΡΓΙΑ ΑΝΕΜΙΣΤΗΡΑFANSPEED (HIGH, MEDIUM, LOW, IDLE) IF TΙΝDDOR>35 oC AND (TINDOOR -TAIRCON )>10oCTHEN FAN SPEED= HIGH IF 30oC<TΙΝDOOR < 35oC AND (TINDOOR -TAIRCON )<10oC THEN FAN SPEED= MEDIUM IF 25oC<TΙΝDOOR < 30oC AND (TINDOOR -TAIRCON )<5oC THEN FAN SPEED= MEDIUM IF 25oC<TΙΝDOOR< 30oC AND (TINDOOR -TAIRCON )<2oC THEN FAN SPEED= IDLE

ΕΦΑΡΜΟΓΕΣ FUZZYLOGIC Στην καθημερινότητά μας, η έννοια της Ασαφούς Λογικής είναι ίσως άγνωστη, ωστόσο οι εφαρμογές της είναι ποικίλες και τις χρησιμοποιούμε συχνά. Μερικά πεδίαεφαρμογής είναι τα εξής 1) Η πρώτη προσπάθεια εφαρμογής επιτεύχθηκε στην Ιαπωνία και πιο συγκεκριμένα στον σιδηρόδρομο της πόλης Sendai. Τα αποτελέσματα ήταν να βελτιωθούν τα δρομολόγια και να εξυπηρετείται πιο έγκαιρα το κοινό, μειώθηκε ο χρόνος αναμονής, έγινε εξοικονόμηση στην κατανάλωση καύσιμων των τρένων κτλ 2) Συνεχίζοντας στην Ιαπωνία, ήταν οι πρώτοι που εφάρμοσαν την Ασαφή Λογική σε ηλεκτρικές συσκευές όπως τα πλυντήρια, οι ηλεκτρικές σκούπες και

κλιματιστικά

για

την

εξοικονόμηση

ενέργειας.

Λίγοαργότερα

χρησιμοποιήθηκε, a) Στα αυτοκίνητα για τον έλεγχο της κατανάλωσης καύσιμων, b) Σε εργοστάσια καθαρισμού υδάτων 3) Χρησιμοποιείται για μοντέλα πρόβλεψης των σεισμών και του καιρού

6


4) Χρηματοοικονομικές

εφαρμογές

(διαχείριση

κεφαλαίων,

αποτίμηση

περιουσιακών στοιχείων, προβλέψεις για δείκτες-μετοχές κτλ) 5) Γραμμή παράγωγης σε εργοστάσια που παράγουν τυποποιημένα προϊόντα (π.χ. ηλεκτρικές συσκευές, εξαρτήματα Η/Υ κτλ) 6) Κινηματογράφο. Ταινίες τύπου όπως τοWorld of Warcraft ή Lord of the Rings έχουν χρησιμοποιήσει τεχνικές, όπου οι στρατοί και οι κινήσεις τους παράχθηκαν μέσω συστημάτων fuzzy logic. 7) Μεταφορές (πλοία, αεροπλάνα) 8) Διαστημόπλοια και δορυφόροι 9) Ιατρική (π.χ. ακτινολογία, διαγνώσεις) 10) Ρομποτική και αυτοματισμοί.

Αξίζει να σημειωθεί ότι από τους πρωτοπόρους ερευνητές που εφάρμοσαν πρακτικά τις μεθόδους ασαφούς λογικήςήταν οι Mamdani Ebrahim και Assilian Sedrak, όπου κατασκεύασαν έναν ασαφή ελεγκτή (fuzzy controller) για έλεγχο μιας ατμομηχανής το 1975 (Mamdani- Assilian model), καθώς και ο Michio Sugeno , ο οποίος εφάρμοσε ένα ασαφή ελεγκτή σε ένα εργοστάσιο καθαρισμούυδάτων (1980). Λίγα έτη αργότερα (1985) ο Michio Sugeno σε συνεργασία με τους Tomohiro Takagi και Kang Guen-Taek εφάρμοσαν τεχνικές ρομποτικής στην βιομηχανία οχημάτων (T-S-K model). Πάνω σε αυτά τα μοντέλα έχουν στηριχθεί σχεδόν όλοι οι μεταγενέστεροι ερευνητές, οι οποίοι με τις κατάλληλες προσθήκες και βελτιώσεις τα έχουν εξελίξει σε υψηλότερο επίπεδο. Διαπιστώνουμε ότι η Ασαφής Λογική έχει ένα ευρύ πεδίο εφαρμογών και η χρήση της διευκολύνει τόσο την παράγωγη προϊόντων όσο και την βέλτιστη διαχείριση πόρων. Το πλεονέκτημα, έγκειται στο γεγονός ότι είναι σχετικά εύκολα κατανοητή, αφού προσομοιώνει ουσιαστικά την ανθρώπινη σκέψη και την γλωσσική επικοινωνία. Επίσης είναι εύκολη η μοντελοποίηση αυθαίρετων δεδομένων, συνδυάζεται με άλλες τεχνικές και υπάρχει ανεκτικότητα σε μη-ακριβή δεδομένα. Ωστόσο, στον αντίποδα, όταν απαιτείται μεγάλη ακρίβεια στην παραγωγή αποτελεσμάτωντότε δεν ενδείκνυται η χρήση της. 7


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

ΒΑΣΙΚΕΣ ΕΝΝΟΕΙΣ ΑΣΑΦΟΥΣ ΛΟΓΙΚΗΣ 1) ΑΣΑΦΕΣ ΣΥΝΟΛΟ (FUZZYSET) Από τις αρχικές έννοιες που θα συναντήσουμε στην ΑσαφήΛογική, είναι η έννοια τους Ασαφούς Συνόλου (Fuzzy Set). Στην κλασική θεωρία των συνόλων, ένα σύνολο αποτελείται από ένα πεπερασμένο ή άπειρο αριθμό στοιχείων και μπορεί να αναπαρασταθεί από την απαρίθμηση των στοιχείων του ως εξής:

A = {a1, a2, a3,...., an } Τα στοιχεία όλων των υπό μελέτη συνόλων ανήκουν σε ένα υπερσύνολο αναφοράς (Universe of Discourse, U),το οποίο έστω ότι το ονομάζουμε U. Αν αυτά τα στοιχεία αi( i=1,….,n ) του Α είναι όλα μαζί ένα υποσύνολο του υπερσυνόλου αναφοράς U, το σύνολο Α μπορεί να αναπαρασταθεί από όλα τα στοιχεία xЄU,χρησιμοποιώντας την χαρακτηριστική συνάρτηση (indicator function or characteristic function)

CRISP SET 1 𝛼𝜈 𝑥 ∈ 𝑈 𝜇𝛢 (𝑥) = � 0 𝛼𝜈𝑥 ∉ 𝑈

8


Στην κλασική θεωρία των συνόλων το μΑ(x) έχει μόνο τις τιμές 0 (false) και 1 (true), δηλαδή το στοιχείο x είτε ανήκει είτε δεν ανήκει στο σύνολο αναφοράς U. Τέτοια σύνολα επίσης ονομάζονται crisp σύνολα (crisp set). Πολλές φορές συναντώνται και με τις ονομασίες classical sets ή ordinary sets Τα μη-crisp σύνολα ονομάζονται ασαφή σύνολα (fuzzy sets). Ασαφές Σύνολο(fuzzy set) είναι οποιοδήποτε σύνολο το οποίο επιτρέπει τα μέλη του να έχουν διαφορετικούς βαθμούς συμμετοχής (ο οποίος προσδιορίζεται από την συνάρτηση συμμετοχής) στο διάστημα [0,1]. Το ασαφές σύνολο είναι ένα ζεύγος (U,m) όπουU είναι το σύνολο αναφοράς και m είναι η συνάρτηση συμμετοχής (m:U[0,1]). Για κάθε x το οποίο ανήκει στο U (∀x∊U), η τιμή m(x) ονομάζεται βαθμός συμμετοχής του x στο (U,m).

Η συνάρτηση m=μA καλείται συνάρτηση συμμετοχής του ασαφές συνόλου A=(U,m) (Μembership Function- MF ή μA) Η παραπάνω χαρακτηριστική συνάρτηση επεκτείνεται πλέον ως εξής FUZZY SET 0 𝜇𝛢 (𝑥) � 0 < 𝜇𝛢 (𝑥) < 1 1

𝑥 ∉ 𝑈 (𝑛𝑜 𝑚𝑒𝑚𝑏𝑒𝑟) 𝑥 𝑓𝑢𝑧𝑧𝑦 𝑚𝑒𝑚𝑏𝑒𝑟𝑜𝑓𝑈 𝑥 ∈ 𝑈 (𝑓𝑢𝑙𝑙 𝑚𝑒𝑚𝑏𝑒𝑟)

Η συνάρτηση συμμετοχής (m=μAήMF) υποδεικνύει το βαθμό κατά τον οποίο το

σύνολο x ανήκει στο σύνολο U.

Στο παρακάτω σχήμα (ΕΙΚΟΝΑ 1), παρατηρούμε μια συνάρτηση συμμετοχής ενός κλασσικού συνόλου (crisp set) και ενός ασαφές συνόλου (fuzzy set)

9


ΕΙΚΟΝΑ 1.

Τα ασαφή σύνολα συχνά αναπαρίστανται από σύνολα διατεταγμένων ζευγών (ordered pairs) ως εξής 𝜇𝛢 (𝑥) = {𝜇1 (𝑥)/𝑥1, 𝜇2 (𝑥)/𝑥2, … 𝜇𝑛 (𝑥)/𝑥𝑛, } , 𝛾𝜄𝛼 𝑥 ∈ 𝑈 Παραθέτουμε ένα παράδειγμα για να γίνει πιο κατανοητή η έννοια των crispsets και fuzzysets.

A) CRISPSETS. Οι μέρες της εβδομάδας (Δευτέρα, Τρίτη…… Κυριακή), ανήκουν σε ένα σύνολοcrispset το οποίοονομάζουμε ‘’ΕΒΔΟΜΑΔΑ’’. Οποιαδήποτε άλλη έννοια δεν ανήκει στο crispset ‘’ΕΒΔΟΜΑΔΑ’’. Τα crisp sets, είναι σαφώς ορισμένα και με καθορισμένα όρια. B) FUZZYSET. Λαμβάνοντας υπόψη το παραπάνω παράδειγμα με τις ημέρες της εβδομάδας, θα ορίσουμε ένα σύνολο fuzzy set, το οποίο είναι το Σαββατοκύριακο. Με την έννοια του crispset, το Σαββατοκύριακο αποτελείται από το Σάββατο και την Κυριακή. Το crispset είναι ένα αυστηρό σύνολο και δεν χωράει καμία ανοχή στον ορισμό της έννοιας ‘’Σαββατοκύριακο’’. 10


Ωστόσο, ένα fuzzyset, έχει ανεκτικότητα σε αυτές τις περιπτώσεις, καθώς όπως έχουμε προαναφέρει, η Ασαφής Λογική, προσπαθεί να προσομοιάσει την ανθρώπινη επικοινωνία και σκέψη. Έτσι λοιπόν, ένα ασαφές σύνολο, θα μπορούσε να περιλαμβάνει και την Παρασκευή ως μέρος του Σαββατοκύριακου. Ωστόσο, γεννάται το ερώτημα: Κατά πόσο η ημέρα ‘’Παρασκευή’’ ανήκει στο σύνολο ‘’Σαββατοκύριακο’’; Η απάντηση είναι καθαρά υποκειμενική και ασαφής. Μπορούμε να ορίσουμε ότι η Παρασκευή από τις 15.00 μμ ανήκει στο σύνολο ‘’Σαββατοκύριακο’’ ή από τις 20.00 μμ ανήκει στο Σαββατοκύριακο. Σε αυτό το σημείο θα χρειαστεί να ορίσουμε μια συνάρτηση συμμετοχής (membership function) η οποία να σταθμίζει την ημέρα ‘’Παρασκευή’’ στο σύνολο ‘’Σαββατοκύριακο’’ Για την συνάρτηση συμμετοχής εξετάζουμε σε παρακάτω ενότητα.

ΕΙΚΟΝΑ 2. CRISPSET(ΑΡΙΣΤΕΡΑ) και FUZZYSET (ΔΕΞΙΑ) ΓΙΑ ΤΟ ΣΥΝΟΛΟ ‘’ΣΑΒΒΑΤΟΚΥΡΙΑΚΟ

Στο αριστερόσχέδιο , όλες οι ήμερες πλην του Σαββάτου και της Κυριακής έχουν τιμή μηδέν (0), ενώ το Σάββατο και η Κυριακή έχουν τιμή ένα (1). Στο δεξιό σχέδιο οι ήμερες Πέμπτη και Δευτέρα σταθμίζονται με έναν μικρό συντελεστή, ενώ η Παρασκευή με έναν μεγαλύτερο συντελεστή, δηλαδή οι ήμερες Πέμπτη και Δευτέρα ανήκουν λίγο στην έννοια του ασαφές συνόλου ‘’Σαββατοκύριακο’’, ενώ η Παρασκευή ανήκει περισσότερο. 11


ΕΙΚΟΝΑ 3.

Παράδειγμα Συνάρτησης Συμμετοχής. (Membership Function). Έχει σχεδιαστεί η κλασσική συνάρτηση Gaussian (κανονική κατανομή), η οποία στην περίπτωση μας αποτελεί την συνάρτηση συμμετοχής. Εφιστούμε την προσοχή στα εξής. Οι τιμές της Συνάρτησης Συμμετοχής (MF), κυμαίνονται στο εύρος [0,1]. Οι τιμές Χ, παρατηρούμε ότι σταθμίζονται (συμμετέχουν) με διαφορετικό βαθμό συμμετοχής, ο οποίος προκύπτει από της συνάρτηση Gaussian. Λόγου χάρη, η τιμή X=1, έχει βαθμό συμμετοχής περίπου MF=0.1, ενώ η τιμή X=4 έχει βαθμό συμμετοχής περίπου MF=0.9

12


2) ΑΣΑΦΕΙΣ ΚΑΝΟΝΕΣ ΚΑΙ ΠΡΟΤΑΣΕΙΣ (FUZZY RULES AND STATEMENTS) Οι ασαφείς κανόνες περιλαμβάνουν ασαφείς προτάσεις (απλές ή σύνθετες), οι οποίες συνδέονται με την συνάρτηση IF…THEN…ELSE και τους λογικούς συνδέσμους AND, OR, NOT. Αρχικά θα πρέπει να γίνει κατανοητό ότι τα Ασαφή Σύνολα (fuzzy sets), είναι σύνολα τα οποία περικλείουν τα Λογικά Σύνολα (Boolean sets), οπότε η Ασαφής Λογική (Fuzzy Logic) εμπεριέχει την Δυαδική Λογική (Boolean Logic). Όπως αναφέραμε προηγουμένως, στα ασαφή σύνολα οι μεταβλητές σταθμίζονται με συντελεστές οι οποίοι λαμβάνουντιμές στο εύρος [0,1]. Για τις ακραίες τιμές 0 και 1, καταλήγουμε στην Δυαδική Λογική. Το επόμενο βήμα είναι οι κανόνες και οι προτάσεις της Δυαδικής Λογικής να μετατραπούν σε κανόνες στην Ασαφή Λογική. Οι τελεστές AND, OR, NOT της Δυαδικής Λογικής μετατρέπονται ως εξής. BOOLEANΤΕΛΕΣΤΗΣ‘’AND’’ΜΕΤΑΤΡΕΠΕΤΑΙΣΕFUZZYΤΕΛΕΣΤΗ‘’MIN’’

ΔΥΑΔΙΚΗ ΛΟΓΙΚΗ

ΑΣΑΦΗΣ ΛΟΓΙΚΗ

A

B

A AND B Α

Β

Min(A,B)

0

0

0

0

0

0

0

1

0

0

1

0

1

0

0

1

0

0

1

1

1

1

1

1

13


BOOLEAN ΤΕΛΕΣΤΗΣ ‘’OR’’ ΜΕΤΑΤΡΕΠΕΤΑΙΣΕ FUZZY ΤΕΛΕΣΤΗ ‘’MAX’’

ΔΥΑΔΙΚΗ ΛΟΓΙΚΗ

ΑΣΑΦΗΣ ΛΟΓΙΚΗ

A

B

A OR B

Α

Β

Max(A,B)

0

0

0

0

0

0

0

1

1

0

1

1

1

0

1

1

0

1

1

1

1

1

1

1

BOOLEAN ΤΕΛΕΣΤΗΣ ‘’NOT A’’ ΜΕΤΑΤΡΕΠΕΤΑΣΕ FUZZY ΤΕΛΕΣΤΗ ‘’1-A’’

ΔΥΑΔΙΚΗ ΛΟΓΙΚΗ

ΑΣΑΦΗΣ ΛΟΓΙΚΗ

A

NOT A

Α

1-A

0

0

0

0

1

0

0

1

ΕΙΚΟΝΑ 4.

14


Ο κανόνας IF-THEN-ELSE, λειτουργεί τόσο στην Boolean Logic όσο και στην Fuzzy Logic, με τον ίδιοτρόπο. Η μόνη διάφορα είναι ότι στην Fuzzy Logic, το αποτέλεσμα (output) είναι ένα συγκεκριμένο ασαφές σύνολο (fuzzy set). Παράδειγμα IFx=ATHENy=B Η πρόταση A, είναι μια γλωσσική μεταβλητηπου ορίζεται από ένα ασαφές σύνολο και αποτελεί την προϋπόθεση (premise) του κανόνα, ενώ η πρόταση B είναι επίσης γλωσσική μεταβλητή και αποτελεί το συμπέρασμα (conclusion) του κανόνα. Η πρόταση B, αποτελεί επίσης ένα ασαφές σύνολο.

3) ΓΛΩΣΣΙΚΕΣ ΜΕΤΑΒΛΗΤΕΣ (LINGUISTIC VARIABLES) Μια από της βασικές έννοιες που θα συναντήσουμε, είναι η έννοια της γλωσσικής μεταβλητής (linguistic variable). Όπως προαναφέραμε, η Ασαφής Λογική προσπαθεί να προσομοιάσει την ανθρωπινή επικοινωνία, έτσι λοιπόν θα πρέπει να χρησιμοποιηθούν κάποιες μεταβλητές για να γίνει κατανοητή η ανθρωπινή επικοινωνία στον Η/Υ. Οι μεταβλητές αυτές ονομάζονται γλωσσικές μεταβλητές. Οι γλωσσικές μεταβλητές είναι λέξεις ή προτάσεις της ανθρώπινης επικοινωνίας, οι οποίες δεν είναι αριθμητικές και περιγράφουν τα χαρακτηριστικά ενός στοιχείου. Τούτες οι μεταβλητές για να γίνουν κατανοητές από τον Η/Υ, θα πρέπει να μεταγλωττιστούν με κατάλληλο τρόπο, ώστε να είναι δυνατή η επεξεργασία τους από το ηλεκτρονικό σύστημα. Μερικές μεταβλητές οι οποίες χαρακτηρίζονται ως γλωσσικές είναι η ηλικία, η θερμοκρασία κτλ. Λογού χάριν, η ηλικία λαμβάνει γλωσσικές τιμές (π.χ. Παιδί, Νέος, Ενήλικος, Γέρος κτλ), οι τιμές αυτές όμως δεν είναι κατανοητές από τον Η/Υ, οπότε θα πρέπει να μεταγλωττιστούν με τέτοιο τρόπο ώστε να γίνει εφικτή η επεξεργασία τους.

15


Οι γλωσσικές μεταβλητές χαρακτηρίζονται από πέντε παραμέτρους. Έστω L η γλωσσικήμεταβλητή, τότε L= (L,T(L), U,G,M), όπου LΌνομα της Μεταβλητής (nameofvariable) T(L) Σύνολο Γλωσσικών Τιμών. (set of fuzzy terms, collection of linguistic variables) UΣύνολο Τιμών Αναφοράς των Γλωσσικών Μεταβλητών (universe of discourse) GΣυντακτικός Κανόνας που παράγει τις γλωσσικές τιμές T(L) (syntactic rule) MΣημασιολογικός Κανόνας που συνδέει τις Γλωσσικές Τιμές. (membership function MF:U[0,1]). Αποτελεί ένα Ασαφές Υποσύνολο (fuzzy subset) του Συνόλου Αναφοράς U (universe of discourse). Η συνάρτηση συμμετοχής (membership function) είναι μια καμπύλη, όπως θα δούμε παρακάτω, η οποία ορίζει τον τρόπο με τον οποίο συνδέονται τα εκάστοτε σημεία Χ του ασαφούς συνόλου (fuzzy set) , όπου κάθε σημείο X, αντιστοιχεί σε τιμές στην συνάρτηση αναφοράς στο εύρος [0,1], δηλαδή Y=MF(X), 0≤Y≤1. Οι τιμές αυτές της συνάρτησης MF, ονομάζονται βαθμός συμμετοχής (degree of membership ή membershipvalue) Για να περιγράψουμε τις γλωσσικές μεταβλητές χρησιμοποιούμε ασαφήσύνολα. Ακολουθεί παράδειγμα για να γίνουν κατανοητές οι έννοιες.

16


ΠΑΡΑΔΕΙΓΜΑ Έστω ότι θέλουμε να περιγράψουμε την θερμοκρασία, χρησιμοποιώντας κάποιες τιμές. Στο παράδειγμα αυτό, η θερμοκρασία αποτελεί την μεταβλητή, η οποία μπορεί να λάβει τις εξής γλωσσικέςτιμές [ΚΡΥΟ(Κ), ΕΛΑΦΡΩΣ ΔΡΟΣΕΡΟ(ΕΔ), ΔΡΟΣΕΡΟ(Δ),

ΦΥΣΙΟΛΟΓΙΚΟ(Φ),

ΕΛΑΦΡΩΣ

ΘΕΡΜΟ(ΕΘ),

ΘΕΡΜΟ(Θ),

ΖΕΣΤΟ(Ζ)]. Οι τιμές αυτές δεν είναι αριθμοί και χαρακτηρίζονται ως γλωσσικές μεταβλητές. Ωστόσο, οι τιμές αυτές θα πρέπει να αναπαρασταθούν στον Η/Υ για να αναπτυχθεί ένα μοντέλο FuzzyLogic. Η διαδικασία για την αναπαράσταση επιτυγχάνεται μέσω των Ασαφών Συνόλων. Υποθέτουμε ότι οι γλωσσικές τιμές λαμβάνονται στο εύρος[0,40]. Το εύρος αυτών των τιμών ονομάζεται σύνολο αναφοράς. Έχουμε λοιπόν τα εξής που χαρακτηρίζουν την μεταβλητή μας. Γλωσσική Μεταβλητή (L) Θερμοκρασία Όνομα Γλωσσικής Μεταβλητή (L) Σύνολο

Γλωσσικών

ΤιμώνT(L),

όπουT(L)=[ΚΡΥΟ(Κ),

ΕΛΑΦΡΩΣ

ΔΡΟΣΕΡΟ(ΕΔ), ΔΡΟΣΕΡΟ(Δ), ΦΥΣΙΟΛΟΓΙΚΟ(Φ), ΕΛΑΦΡΩΣ ΘΕΡΜΟ(ΕΘ), ΘΕΡΜΟ(Θ), ΖΕΣΤΟ(Ζ)] Σύνολο Τιμών Αναφοράς Γλωσσικών Μεταβλητών στο οποίο παίρνουν ασαφείς τιμές οι Γλωσσικές ΜεταβλητέςU, όπου U(0,40). Άρα L=(L, T(L),U)

17


ΕΙΚΟΝΑ5.

Στο παραπάνω γράφημα, οι γλωσσικές μεταβλητές, λαμβάνουν ασαφείς τιμές στο διάστημα (0,40). Παραδείγματος χάριν, η τιμή ΚΡΥΟ(Κ) λαμβάνει τιμές Κ(0,10), ενώ η τιμή ΕΛΑΦΡΩΣ ΔΡΟΣΕΡΟ (ΕΔ) λαμβάνει τιμές ΕΔ(5,15). Το διάστημα των τιμών (5,10) εμπίπτει και στις δυο γλωσσικές μεταβλητές, άρα είναι ασαφές σύνολο. Παρατηρούμε ότι η γλωσσική τιμή ΔΡΟΣΕΡΟ περιλαμβάνει τιμές και στο ΕΛΑΡΦΩΣ ΔΡΟΣΕΡΟ (ΕΔ) και ΦΥΣΙΟΛΟΓΙΚΟ (Φ). Άρα, θα λέγαμε ότι το ΔΡΟΣΕΡΟ είναι ένα ασαφές σύνολο. Στο σημείο αυτό θα αναφέρουμε την παράμετρο MF (membership function). Παρατηρούμε ότι στο εύρος θερμοκρασιών [5,10], υπάρχει ένα ασαφές σύνολο (fuzzy set), καθώς οι γλωσσικές μεταβλητές ΚΡΥΟ[0,10] και ΕΛΑΦΡΩΣ ΔΡΟΣΕΡΟ[5,15], αλληλοκαλύπτονται. Η συνάρτηση συμμετοχής (MF), σταθμίζει τις τιμές του συνόλου αναφοράς (universe of discourse), ώστε να υπάρχει μια ‘’ιεραρχία’’, δηλαδή αν θέλουμε να ορίσουμε το ΚΡΥΟ στο εύροςτιμών [5,10], τότε η τιμή 6 είναι πιο κοντά στην τιμή 5, ενώ η τιμή 9 απέχει περισσότερο.

18


Υποθέτουμε λοιπόν, όσο αφόρα την τιμή ΚΡΥΟ, ότι η στάθμιση για την τιμή 6 θα είναι μεγαλύτερη από την τιμή 9, δηλαδή π.χ. η τιμή 6 σταθμίζεται με συντελεστή 0.5 ενώ η τιμή 9 με συντελεστή 0.07, (Οι τιμές είναι ενδεικτικές, ωστόσο οι σταθμίσεις για την παράμετρο MF θα πρέπει να λαμβάνουντιμές στο διάστημα [0,1])

4) ΣΥΝΑΡΗΤΣΕΙΣ ΣΥΜΜΕΤΟΧΗΣ (MEMBERSHIPFUNCTIONS) Υπάρχουν διάφοροι τύποι συναρτήσεων συμμετοχής(Membershipfunctions ή MF) που αναπαριστούν τα ασαφή σύνολα. Οι συναρτήσεις που συναντώνται πιο συχνά είναι οι εξής: a) Τριγωνική συνάρτηση (Triangular MF) b) Τραπεζοειδής συνάρτηση (Trapezoidal MF) c) Καμπανοειδής συνάρτηση (Generalize Bell MF ή GBell MF) d) Γκαουσιανή συνάρτηση (Gaussian MF) e) S συνάρτηση (S MF) f) Pi συνάρτηση (Pi MF) g) Z συνάρτηση (Z MF) h) Σιγμοειδής συνάρτηση (Sigmoidal MF) Το πρόγραμμα που έχει χρησιμοποιηθεί για την σχεδίαση των συναρτήσεων είναι το MATLAB R2013a, καθώς οι συναρτήσεις είναι τυποποιημένες. Αρκετές από τις άνω συναρτήσεις είναι γνώριμες, καθώς έχουν αναλυθεί και σε βιβλία Στατιστικής.. Στην στατιστική, οι συνεχείς κατανομές συναντώνται με την ονομασία ‘’Συνάρτηση Πυκνότητας Πιθανότητας- Probability Density Function (PDF)’’, ενώ στην Ασαφή Λογική ονομάζονται ‘’Συνάρτηση ΣυμμετοχήςMembership Function’’. Το τυπολόγιο και τα χαρακτηριστικά των συναρτήσεων δεν αλλάζουν, οι λειτουργίες τους είναι οι ίδιες, εκείνο όμως που αλλάζει είναι η ερμηνεία τους.

19


Στην Στατιστική η κατανομή πιθανότητας (PDF) εκφράζει τις πιθανότητες εμφάνισης διαφορετικών αποτελεσμάτων ενός πειράματος, ήτοι εκφράζει την πιθανότητα μια μεταβλητή να εμπίπτει σε ένα συγκεκριμένο εύρος τιμών. Στην ΑσαφήΛογική, η συνάρτηση συμμετοχής, εκφράζει τον βαθμό συμμετοχής του κάθε στοιχείου του υπό εξέταση συνόλου. Για όλες τις Συναρτήσεις Συμμετοχής (Membership functions), ισχύουν τα εξής a) Η Συνάρτηση Συμμετοχής λαμβάνει τιμές το διάστημα [0,1] (ΆξοναςY) b) Η Συνάρτηση Συμμετοχής, ορίζει τον βαθμό συμμετοχής (στάθμιση) των τιμών x (Άξονας Χ)

20


a) ΤΥΙΓΊÎ?ΙΚΗ ÎŁÎĽÎ?ΑΥΤΗΣΗ ÎŁÎĽÎœÎœÎ•ΤÎ&#x;ΧΗΣ (Triangle ÎŽ Triangular MF) x−a c−x

Triangle (x,[a,b,c])=max [min ďż˝b−a , c−bďż˝ , 0] ΎξνιΝΝικĎ„ΚκΏ

Triangle (x,[a,b,c])=

0 ⎧ ⎪ x−a ⎪ (b−a)

⎨((c−x)) ⎪ c−b ⎪ ⎊ 0

, , ,

,

x≤a

⎍ ⎪ a ≤ x ≤ đ?‘?⎪ b ≤ x ≤ c⎏ ⎪ ⎪ c≤x ⎭

ΕΙΚÎ&#x;Î?Α 6.

Î ÎąĎ ÎŹÎ´ÎľÎšÎłÎźÎą Ď„Ď ÎšÎłĎ‰νΚκΎĎ‚ ĎƒĎ…Î˝ÎŹĎ Ď„ΡĎƒΡĎ‚ ĎƒĎ…ΟΟξτοχΎς γΚι x(0,10), Parameters= [a=3, b=6, c=8]

21


b) ΤΡΑΠΕΖΟΕΙΔΗΣ ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗ (TrapezoidalMF) x−a

d−x

Trapezoidal(x,[a,b,c,d])=max [min �b−a , 1, d−c� , 0] ή εναλλακτικά 0 ⎧ ⎪ x−a ⎪(b−a) ⎪ Trapezoidal(x,[a,b,c,d])= 1 ⎨ ⎪ d−x ⎪(d−c) ⎪ ⎩ 0

,

, , , ,

x≤a

⎫ ⎪ a ≤ x ≤ b⎪ ⎪ b≤x≤c ⎬ ⎪ c ≤ x ≤ d⎪ ⎪ d≤x ⎭

ΕΙΚΟΝΑ 7.

Παράδειγμα τραπεζοειδής συνάρτησης συμμετοχής για x=(0,10), Parameters= [a=1, b=5, c=7, d=8]

22


c) ΚΑΜΠΑΝΟΕΙΔΗΣ ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ (Generalized Bell MF ή GBell MF)

GBell(x,[a,b,c])=

1

𝑥−𝑐 2∗𝑏 | 𝑎

1+|

ΕΙΚΟΝΑ 8.

Παράδειγμα καμπανοειδής συνάρτησης συμμετοχής για x=(0,10), Parameters= [a=2, b=4, c=6]

23


d) ΓΚΑΟΥΣΙΑΝΗ ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ (Gaussian MF) x−c 2 )

Gaussian(x,[σ,c])=e −( 2∗σ

ΕΙΚΟΝΑ 9.

Παράδειγμα γκαουσιανής συνάρτησης συμμετοχής για x=(0,10) , Parameters= [σ=2, c=5]

24


e) S ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ (S MF)

0 ⎧ ⎪ x−a 2 ⎪ 2 ∗ (b−a)

S(x,[a,b])=

x−b ⎨ 1 − 2 ∗ (b−a)2 ⎪ ⎪ ⎩ 1

,

, ,

,

x≤a

⎫ a+b ⎪ a≤x≤ 2 ⎪

a+b 2

≤x≤b

x≥b

EIKONA10.

Παράδειγμα S συνάρτησης συμμετοχής για x=(0,10), Parameters= [a=1, b=8]

25

⎬ ⎪ ⎪ ⎭


f) Pi ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ (Pi MF)

0 ⎧ ⎪ x−a 2 ⎪ 2 ∗ (b−a) ⎪ ⎪ x−b 2 ⎪1 − 2 ∗ (b−a) ⎪ 1 Pi(x,[a,b,c,d])= ⎨ ⎪ x−c 2 ⎪1 − 2 ∗ (d−c) ⎪ x−d ⎪ 2 ∗ (d−c)2 ⎪ ⎪ ⎩ 1

, , , , , , ,

x≤a

⎫ a+b ⎪ a≤x≤ 2 ⎪ ⎪ ⎪ a+b ≤ x ≤ b⎪ 2 ⎪ b≤x≤c ⎬ c+d ⎪ c≤x≤ 2 ⎪ ⎪ c+d ⎪ ≤x≤d 2 ⎪ ⎪ x≥d ⎭

EIKONA11.

Παράδειγμα Pi συνάρτησης συμμετοχής για x=(0,10), Parameters= [a=1, b=4, c=5, d=10]

26


g) Z ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ (Z MF)

Pi(x, [a,b])=

1 ⎧ ⎪ x−b 2 ⎪1 − 2 ∗ (b−a) x−b ⎨ 2 ∗ (b−a)2 ⎪ ⎪ ⎩ 0

,

, ,

,

x≤a

⎫ a+b ⎪ a≤x≤ 2 ⎪

a+b 2

≤x≤b

x≥b

EIKONA12.

Παράδειγμα Z συνάρτησης συμμετοχής για x=(0,10), Parameters= [a=3, b=7]

27

⎬ ⎪ ⎪ ⎭


h) ΣΙΓΜΟΕΙΔΗΣ ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ (SIGMOIDAL MF) Sigmoid (x,[a,c])=

𝟏

𝟏+𝐞 –𝐚∗(

𝐱−𝐜)

EIKONA13.

Παράδειγμα σιγμοειδής συνάρτησης συμμετοχής x=(0,10), Parameters= [a=2, b=4]

28


Έχοντας ολοκληρώσει την βασική θεωρία που χρειαζόμαστε να είναι κατανοητή, στο επόμενο βημα θα αναπτυχθεί ένα ασαφές μοντέλο λειτουργίας ενός air condition. Για να σχεδιάσουμε το μοντέλο θα χρειαστούμε το Matlab R2013a με την εργαλειοθήκη Fuzzy Logic Toolbox. Η λειτουργία του aircodition είναι αρκετά απλή, χωρίς πολλές εντολές, ώστε να γίνει αντιληπτή η κατασκευή με την χρήση του λογισμικού Matlab. Τα βήματα που ακολουθούμε είναι τα εξής. ΒΗΜΑ 1. Προσπαθούμε να κατανοήσουμε ποιες θα είναι οι λειτουργίες του, ποιες θα είναι οι ασαφείς ανεξάρτητες μεταβλητές (inputvariables) και ποιες οι εξαρτημένες μεταβλητές (output variables). ΒΗΜΑ 2. Σχεδιασμός του μοντέλου (σε ‘’χαρτί’’) με ψευδομεταβλητές και ψευδοκώδικα, ώστε να είναι εύκολα αντιληπτές και διακριτές οι λειτουργίες του. Κατανόηση των μεταβλητών και των τιμών που λαμβάνουν οι μεταβλητές. Σχεδίαση των συναρτήσεων συμμετοχής (membership functions) των μεταβλητών. Κατασκευή των κανόνων (fuzzy rules-statements) που συνδέουν τις μεταβλητές. ΒΗΜΑ 3. Υλοποίηση των παραπάνω βημάτων, στο λογισμικό Matlab, λαμβάνοντας παράλληλα υπόψη και την θεωρία που στηρίζεται το μοντέλο μας. ΒΗΜΑ 4. Εξαγωγή των αποτελεσμάτων και έλεγχος αν τα αποτελέσματα συνάδουν με τους κανόνες που έχουμε θέσει στο μοντέλο μας.Διόρθωση μοντέλου σε περίπτωση αστοχίας.

29


ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ MATLAB. Το λογισμικό MATLAB (MATrixLABoratory) είναι ένα πρόγραμμα υπολογιστικού περιβάλλοντος για επεξεργασία και ανάλυση δεδομένων. Είναι γραμμένο, στο μεγαλύτερο μέρος του, στην γλωσσά προγραμματισμού C++. Περιέχει επίσης στοιχεία από τις γλώσσες C, JAVA, PYTHON και FORTAN Το MATLAB, χρησιμοποιείται σε ένα εύρος εφαρμογών και επιστημών, όπως τα μαθηματικά, μηχανολογία, οικονομικά, στατιστική κτλ. Έχει σχεδιαστεί κυρίως για την επίλυση γραμμικών προβλημάτων, εύρεση ιδιωτιμώνιδιοδιανυσμάτων, λύση συναρτήσεων και γενικά οτιδήποτε αφόρα την γραμμική άλγεβρα και τις επεκτάσεις της καθώς και την άλγεβρα με την γενικότερη έννοια. Είναι επίσης εφοδιασμένο με ένα πλήθος πρόσθετων εργαλείων (toolboxes), με τα οποία δίνεται η δυνατότητα για περεταίρω εργασίες. Μερικά toolboxes που περιέχει το MATLAB είναι τα εξής 1) MATH- STATISTICS- OPTIMIZATION (Curve Fitting,Symbolic Math, Statistics and Machine Learning, Regression κτλ) 2) CONTROL SYSTEM, DESIGN AND ANALYSIS (Fuzzy Logic,Control System Tuning, Linear System Analysis, Neuro Fuzzy Design κτλ) 3) COMPUTATIONAL FINANCE (Financial Time Series Analysis, Risk Management, Econometrics κτλ) 4) IMAGE PROCESSING AND COMPUTER VISION (Image Viewer, Map Viewer κτλ) 5) DATA SCIENCE AND DEEP LEARNING (Statistics anδ Machine Learning, Deep Learning, Text Analytics)

30


Το γραφικό περιβάλλον είναι αρκετά κατανοητό και προσιτό, χρειάζεται ωστόσο αρκετή ενασχόληση και αναδρομή στα εγχειρίδια του προγράμματος για την εκμάθηση. Πρέπει να προσέξουμε επίσης ότι, επειδή το MATLAB είναι γραμμένο στην γλωσσά C++, οι εντολές/μεταβλητές κτλ είναι ‘’case sensitive’’, δηλαδή, υπάρχει διάφορα μεταξύ κεφαλαίων και πεζών χαρακτήρων. Επίσης, σε πολλά toolboxes, υπάρχει η δυνατότητ αγια συμβολικούς υπολογισμούς (όπως στο Mathematica), δηλαδή την καταχώριση των εντολών όπως θα γράφονταν στο χαρτί Ένα ακόμα σημαντικό πλεονέκτημα, είναι η δυνατότητα προσομοίωσης ενός συστήματος/ μοντέλου με την χρήση του Simulink. Το Simulink είναι ένα προσθετό του MATLAB, όπου όταν ολοκληρωθεί ένα μοντέλο/ πρόγραμμα κτλ, υπάρχει η δυνατότητα να δοκιμαστεί υπό πραγματικές συνθήκες, προτού προωθηθεί στην αγορά, χρησιμοποιηθεί για ερευνά κτλ. Χρησιμοποιείται

ευρέως

σε

εφαρμογές

Ρομποτικής,

Συστήματα

Έλεγχου,

Ηλεκτρονική, Τηλεπικοινωνίες κ.α.

ΕΦΑΡΜΟΓΗ ΛΕΙΤΟΥΡΓΙΑΣ AIRCODITION ΣΤΟ MATLAB. ΠΡΟΣΟΧΗ!! (Αρχικά, να επισημάνουμε ότι το λογισμικό MATLAB είναι γραμμένο, στο μεγαλύτερο μέρος του, στην γλωσσά προγραμματισμού C++. Γι’ αυτό το λόγο ο αναγνώστης θα πρέπει να δώσει προσοχή ότι η C++ είναι γλωσσά ‘’case sensitive’’ δηλαδή, υπάρχει διάφορα μεταξύ κεφαλαίων και πεζών χαρακτήρων. Τούτο συνεπάγεται ότι είναι διαφορετικό όταν, λογού χάρη ονομάζουμε μια μεταβλητή ‘’LOW’’ από την μεταβλητή ‘’low’’. Εφιστούμε την προσοχή του αναγνώστη σε αυτή την μικρή, αλλά βασική λεπτομέρεια, διότι το πρόγραμμα MATLAB θα διαβάσει τις μεταβλητές/ εντολές όπως ακριβώς τις έχουμε ορίσει ή είναι ορισμένες/ καταχωρημένες από τις προεπιλογές του προγράμματος (by default) .

31


Αν έχει οριστεί μια μεταβλητή‘’LOW’’ και έπειτα επιθυμούμε να κάνουμε πράξεις με την μεταβλητή‘’low’’, το MATLAB θα εμφανίσει σφάλμα ότι δεν αναγνωρίζει την μεταβλητή ‘’low’’ ) Στο παράδειγμα μας, υποθέτουμε ότι το aircodition λειτούργει ως έξης: Το aircontition, διαθέτει αισθητήρες για την θερμοκρασία και την υγρασία. Αναλόγως την θερμοκρασία και την υγρασία του περιβάλλοντος, θέτει σε λειτουργιά των ανεμιστήρα ή/και τον αφυγραντήρα. Υποθέτουμε ότι ο αισθητήρας της θερμοκρασίας εντοπίζειτιμές από 0οC έως 40οC, ενώ ο αισθητήρας της υγρασίας εντοπίζει τιμές από 0% υγρασία έως 100% υγρασία. Αναλόγως τις τιμές που θα εντοπίσουν οι δυο αισθητήρες, θα αρχίσει η λειτουργιά του ανεμιστήρα ή/και του αφυγραντήρα. Ο ανεμιστήρας υποθέτουμε ότι έχει τρεις βαθμίδες λειτουργιάς (LOW, MEDIUM, HIGH). Ο αφυγραντηρας υποθέτουμε ότι έχει τρεις βαθμίδες λειτουργιάς (OFF, LOW, HIGH).

Πρωτού προχωρήσουμε στα βήματα σχεδιασμού της λειτουργίας του air condition, θα χρειαστεί να τρέξουμε το Fuzzy Logic Toolbox του Matlab. Ανοίγουμε το πρόγραμμα Matlab και στο αρχικό παράθυρο

‘’COMMAND

WINDOW’’ γραφουμε ‘’fuzzy’’. Με την εντολή αυτή ανοίγει το Fuzzy Logic Toolbox (Fuzzy Information Sustem- FIS). Στο νέο παράθυρο που ανοίγει κάνουμε κλικ στο ‘’FILE’’  ‘’IMPORT ….. from file’’ και επιλέγουμε το αρχείο για το air condition, το οποίο έχουμε ονομάσει ‘’ FuzzyLogicAIRCONDITION.fis’’ Από εκεί και έπειτα ακολούθουμε τα βήματα

32


----------------- ΒΗΜΑ 1. ΟΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ Αρχικά ονομάζουμε τις μεταβλητές μας. ΘΕΡΜΟΚΡΑΣΙΑTEMPERATURE (T) ΥΓΡΑΣΙΑHUMIDITY (H) ΑΝΕΜΙΣΤΗΡΑΣFAN SPEED (FS) ΑΦΥΓΡΑΝΤΗΡΑΣDEHUMIDIFIER (DH) Από τα παραπάνω, γίνεται κατανοητό ότι οι ανεξάρτητες μεταβλητές/ μεταβλητές εισόδου (input variables) είναι η θερμοκρασία (T) και η υγρασία (H), ενώ οι εξαρτημένες μεταβλητές/ μεταβλητές εξόδου (output variables) είναι ο ανεμιστήρας (FS) και ο αφυγραντήρας (DH).

INPUT VARIABLES: TEMPERATURE (T), HUMIDITY (H) OUTPUT VARIABLES: FAN SPEED (FS), DEHUMIDIFIER (DH)

----------------- ΒΗΜΑ 2. ΑΝΕΞΑΡΤΗΤΕΣ ΜΕΤΑΒΛΗΤΕΣ- ΜΕΤΑΒΛΗΤΕΣ ΕΙΣΟΔΟΥ (INPUTVARIABLES) ΕΥΡΟΣ ΤΙΜΩΝ ΤΩΝ ΜΕΤΑΒΛΗΤΩΝ, ΣΥΝΟΛΟ ΤΙΜΩΝ ΑΝΑΦΟΡΑΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΣΥΜΜΕΤΟΧΗΣ

Αρχικά, ορίζονται οι μεταβλητές (θερμοκρασία, υγρασία), το εύρος τιμών της θερμοκρασίας, το εύρος τιμών της υγρασίας, καθώς και οι συναρτήσεις συμμετοχής (MF)

33


--------ΓΛΩΣΣΙΚΗ ΜΕΤΑΒΛΗΤΗ ΘΕΡΜΟΚΡΑΣΙΑ[T] ΣΥΝΟΛΟ ΓΛΩΣΣΙΚΩΝ ΤΙΜΩΝ [T(L)]

[Extremly Cold (EC), Very Cold (VC), Cold (C), Normal(N), Hot (H), Very Hot(VH), Extremly Hot (EH)] ΣΥΝΟΛΟ ΤΙΜΩΝ ΑΝΑΦΟΡΑΣ [U]

U=(0,40) ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ - MEMBERSHIPFUNCTION [MF]

MF= Triangle

TEMPERATURE=(T,T(L), U(0,40),TRIANGLE)

34


MEMBERSHIP FUNCTIONS AND VALUES OF TEMPERATURE (MATLAB ΕΙΚΟΝΑ 14.

35


Στο παραπάνω γράφημα παρατηρούμε τα εξής για τις γλωσσικές τιμές και το σύνολο τιμών των γλωσσικών τιμών EC (0,10) // MF(Triangle) VC (5,15) // MF(Triangle) C (10,20) // MF(Triangle) N (15,25) // MF(Triangle) H (20,30) // MF(Triangle) VH (25,35) // MF(Triangle) EH (30,40) // MF(Triangle) Η μεταβλητή ΘΕΡΜΟΚΡΑΣΙΑ

είναι μια γλωσσική μεταβλητή η οποία

χαρακτηρίζεται από τις γλωσσικές τιμές, οι οποίες λαμβάνονται στο σύνολο αναφοράς U(0,40). Υποθέτουμε επίσης ότι η συνάρτηση συμμετοχής είναι τριγωνική (trimf). Αν επιθυμούμε μπορεί να αλλαχτεί σε άλλη συνάρτηση συμμετοχής επιλέγοντας το ‘’type’’.

--------ΓΛΩΣΣΙΚΗ ΜΕΤΑΒΛΗΤΗ ΥΓΡΑΣΙΑ [H] ΣΥΝΟΛΟ ΓΛΩΣΣΙΚΩΝ ΤΙΜΩΝ [H(L)]

[Very Dry (VD), Dry (D), Normal(N), Hot (H), Moist (M),VeryMoist (VM)] ΣΥΝΟΛΟ ΤΙΜΩΝ ΑΝΑΦΟΡΑΣ [U]

U=(0,100) ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ - MEMBERSHIPFUNCTION [MF]

MF= Trapezoid and Triangle

HUMIDITY=(H, H(L), U(0,100),TRAPEZOID &TRIANGLE)

36


MEMBERSHIP FUNCTIONS AND VALUES OF HUMIDITY (H)(MATLAB) ΕΙΚΟΝΑ 15.

37


Στο παραπάνω γράφημα παρατηρούμε τα εξής για τις γλωσσικές τιμές και το σύνολο τιμών των γλωσσικών τιμών VD (0,25) // MF(Trapezoid) D (20,40) // MF(Triangle) N (35,55) // MF(Triangle) M (50,75) // MF(Triangle) VM (65,100) // MF(Trapezoid) Η μεταβλητή ΥΓΡΑΣΙΑ είναι μια γλωσσική μεταβλητή η οποία χαρακτηρίζεται από τις γλωσσικές τιμές οι οποίες λαμβάνονται στο σύνολο αναφοράς U(0,100). Υποθέτουμε επίσης ότι η συνάρτηση συμμετοχής είναι τραπεζοειδής και τριγωνική (trampf και trimf). Αν επιθυμούμε μπορεί να αλλαχτεί σε άλλη συνάρτηση συμμετοχής επιλέγοντας το ‘’type’’. Συνοψίζοντας τις ανεξάρτητες μεταβλητές (input variables) INPUT VARIABLES TEMPERATURE=(T, T(L), U(0,40), TRIANGLE) HUMIDITY=(H, H(L), U(0,100),TRAPEZOID &TRIANGLE)

38


ΕΞΑΡΤΗΜΕΝΕΣΜΕΤΑΒΛΗΤΕΣ- ΜΕΤΑΒΛΗΤΕΣΕΞΟΔΟΥ (OUTPUT VARIABLES) ΕΥΡΟΣ ΤΙΜΩΝ ΤΩΝ ΜΕΤΑΒΛΗΤΩΝ, ΣΥΝΟΛΟ ΤΙΜΩΝ ΑΝΑΦΟΡΑΣ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΣΥΜΜΕΤΟΧΗΣ

Οι επόμενες μεταβλητές που θα οριστούν είναι ο ανεμιστήρας (FS) και ο αφυγραντήρας (DH). Οι δυο αυτές μεταβλητές, όπως έχουμε προαναφέρει, είναι οι εξαρτημένες μεταβλητές (output variables), άρα οι τιμές τους θα συναρτώνται με τις εξαρτημένες μεταβλητές(input variables), δηλαδή την θερμοκρασία (T) και την υγρασία (H).

Σε

πρώτοστάδιοορίζονται

οιμεταβλητές

εύροςτιμών του ανεμιστήρα,

(ανεμιστήρας,

αφυγραντηρας),

το

το εύροςτιμών του αφυγραντήρα,καθώς και

οισυναρτήσειςσυμμετοχής(MF)

--------ΓΛΩΣΣΙΚΗ ΜΕΤΑΒΛΗΤΗ FANSPEED [FS] ΣΥΝΟΛΟ ΓΛΩΣΣΙΚΩΝ ΤΙΜΩΝ [FS(L)]

[Low(L), Medium (M), High (H)] ΣΥΝΟΛΟ ΤΙΜΩΝ ΑΝΑΦΟΡΑΣ [U]

U=(1,4) ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ - MEMBERSHIPFUNCTION [MF]

MF= Triangle

FAN SPEED=(FS, FS(L), U(1,4),TRIANGLE)

39


MEMBERSHIP FUNCTIONSAND VALUES OF FAN SPEED(MATLAB) ΕΙΚΟΝΑ 16

40


Στο παραπάνω γράφημα παρατηρούμε τα εξήςγια τις γλωσσικές τιμές και το σύνολο τιμών των γλωσσικών τιμών LOW (1,2) // MF(Triangle) MEDIUM (2,3) // MF(Triangle) HIGH (3,4) // MF(Triangle) Η μεταβλητή ΑΝΕΜΙΣΤΗΡΑΣ

είναι μια γλωσσική μεταβλητή η οποία

χαρακτηρίζεται από τις γλωσσικές τιμές οι οποίες λαμβάνονται στο σύνολο αναφοράςU(1,4). Υποθέτουμε επίσης ότι η συνάρτηση συμμετοχής είναι τριγωνική (trimf). Αν επιθυμούμε μπορούμε να την αλλάξουμε σε άλλη συνάρτηση συμμετοχής επιλέγοντας το ‘’type’’. ΠΑΡΑΤΗΡΗΣΗ: Οι αριθμητικές τιμές που έχουν οριστεί για τις γλωσσικές τιμές‘’LOW’’, ‘’MEDIUM’’, ‘’HIGH’’είναι ενδεικτικές. Οι τιμές [1,4] είναι καθαρά θεωρητικές και χρησιμεύουν για το παράδειγμά μας, καθώς σκοπεύουμε απλά να ορίσουμε τις λειτουργιές του ανεμιστήρα. Θα ήταν εφικτό, για να γίνει πιο πρακτικό το παράδειγμα, να οριστούν οι στροφές του ανεμιστήρα (από ένα εγχειρίδιο χρήσης) όταν η λειτουργιά είναι ‘’LOW’’, ‘’MEDIUM’’ ή ‘’HIGH’’ -------- ΓΛΩΣΣΙΚΗ ΜΕΤΑΒΛΗΤΗ DEHUMIDIFIER- [DH] ΣΥΝΟΛΟ ΓΛΩΣΣΙΚΩΝ ΤΙΜΩΝ [DH(L)]

[OFF(OFF), Low (L), High (H)] ΣΥΝΟΛΟ ΤΙΜΩΝ ΑΝΑΦΟΡΑΣ [U]

U=(0,3) ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ - MEMBERSHIPFUNCTION [MF]

MF= Triangle

DEHUMIDIFIER=(DH, DH(L), U(0,3), TRIANGLE) 41


MEMBERSHIP FUNCTIONSAND VALUES OF DEHUMIDIFIER(MATLAB) ΕΙΚΟΝΑ 17.

42


Στο παραπάνωγράφη μαπαρατηρούμε τα εξής για τις γλωσσικές τιμές και το σύνολο τιμών των γλωσσικών τιμών OFF (0,1) // MF(Triangle) LOW (1,2) // MF(Triangle) HIGH (2,3) // MF(Triangle) Η μεταβλητή ΑΦΥΓΡΑΝΤΗΡΑΣ

είναι μια γλωσσική μεταβλητή η οποία

χαρακτηρίζεται από τις γλωσσικές τιμές οι οποίες λαμβάνονται στο σύνολο αναφοράς U(0,3). Υποθέτουμε επίσης ότι η συνάρτηση συμμετοχής είναι τριγωνική (trimf). Αν επιθυμούμε μπορεί να αλλαχτεί σε άλλη συνάρτηση συμμετοχής επιλέγοντας το ‘’type’’.

ΠΑΡΑΤΗΡΗΣΗ: Οι αριθμητικές τιμές που έχουν οριστεί για τις γλωσσικές τιμές ‘’OFF’’, ‘’LOW’’, ‘’HIGH’’είναι ενδεικτικές. Οι τιμές [0,3] είναι

καθαρά

θεωρητικές και χρησιμεύουν για το παράδειγμα μας, καθώς σκοπεύουμε απλά να ορίσουμε τις λειτουργιές του ανεμιστήρα. Θα μπορούσαμε, για να γίνει πιο πρακτικό το παράδειγμα, να ορίσουμε τις στροφές του ανεμιστήρα (από ένα εγχειρίδιο χρήσης) όταν η λειτουργιά είναι ‘’LOW’’, ‘’MEDIUM’’ ή ‘’HIGH’’

OUTPUT VARIABLES FAN SPEED=(FS, FS(L), U(1,4), TRIANGLE) DEHUMIDIFIER=(DH, DH(L), U(0,3), TRIANGLE)

43


----------------- ΒΗΜΑ 3. ΟΡΙΣΜΟΣ ΚΑΝΟΝΩΝ Στο επόμενο βήμα, έχοντας ορίσειπλέον το εύρος τιμών του ΑΝΕΜΙΣΤΗΡΑ (FANSPEED) και του ΑΦΥΓΡΑΝΤΗΡΑ (DEHUMIDIFIER), θα πρέπει να τεθούν οι κανόνες (rules- statements) στο λογισμικό Matlab, ώστε να προκύψουν οι ανάλογες σχέσεις όπου θα ελέγχουν την λειτουργιά των εξαρτημένων μεταβλητών ΑΝΕΜΙΣΤΗΡΑ (FANSPEED) και του ΑΦΥΓΡΑΝΤΗΡΑ (DEHUMIDIFIER). Οι κανόνες θα τεθούν για τις input variables και οι output variables θα λάβουν τις ανάλογες τιμές τους.

Οι κανόνες φαίνονται στην κατωθι εικόνα (ΕΙΚΟΝΑ 18).

44


RULES AND STATEMENTS OF AIRCONTIRION OPERATION (ΚΑΝΟΝΕΣ ΛΕΙΤΟΥΡΓΙΕΣ ΤΟΥ AIRCONDITION) ΕΙΚΟΝΑ 18.

45


INPUT VARIABLES

TEMPERATURE [T] [Extremly Cold (EC), Very Cold (VC), Cold (C), Normal(N), Hot (H), Very Hot(VH), Extremly Hot (EH)] HUMIDITY [H] [Very Dry (VD), Dry (D), Normal(N), Hot (H), Moist (M),VeryMoist (VM)]

OUTPUT VARIABLES

FAN SPEED [FS] [Low(L), Medium (M), High (H)] DEHUMIDIFIER (DH) [OFF(OFF), Low (L), High (H)]

ΕΝΤΟΛΕΣ- ΚΑΝΟΝΕΣ (19 ΚΑΝΟΝΕΣ) IF TEMPERATURE=EC AND HUMIDITY=VD THEN FS=HIGH AND DEHUMIDIFIER=OFF IF TEMPERATURE=EC AND HUMIDITY=D THEN FS=HIGH AND DEHUMIDIFIER=OFF IF TEMPERATURE=EC AND HUMIDITY=N THEN FS=HIGH AND DEHUMIDIFIER=OFF IF TEMPERATURE=EC AND HUMIDITY=M THEN FS=HIGH AND DEHUMIDIFIER=LOW IF TEMPERATURE=EC AND HUMIDITY=VM THEN FS=HIGH AND DEHUMIDIFIER=HIGH

IF TEMPERATURE=VC AND HUMIDITY=VD THEN FS=HIGH AND DEHUMIDIFIER=OFF IF TEMPERATURE=VC AND HUMIDITY=D THEN FS=HIGH AND DEHUMIDIFIER=OFF IF TEMPERATURE=VC AND HUMIDITY=N THEN FS=HIGH AND DEHUMIDIFIER=OFF IF TEMPERATURE=VC AND HUMIDITY=M THEN FS=HIGH AND DEHUMIDIFIER=LOW IF TEMPERATURE=VC AND HUMIDITY=VM THEN FS=HIGH AND DEHUMIDIFIER=HIGH

IF TEMPERATURE=C AND HUMIDITY=VD THEN FS=MEDIUM AND DEHUMIDIFIER=OFF IF TEMPERATURE=C AND HUMIDITY=D THEN FS= MEDIUM AND DEHUMIDIFIER=OFF IF TEMPERATURE=C AND HUMIDITY=N THEN FS= MEDIUM AND DEHUMIDIFIER=OFF IF TEMPERATURE=C AND HUMIDITY=M THEN FS= MEDIUM AND DEHUMIDIFIER=LOW IF TEMPERATURE=C AND HUMIDITY=VM THEN FS= MEDIUM AND DEHUMIDIFIER=HIGH

46


IF TEMPERATURE=N THEN FS=LOW AND DEHUMIDIFIER=OFF IF TEMPERATURE=H THEN FS=MEDIUM AND DEHUMIDIFIER=OFF IF TEMPERATURE=VH THEN FS=HIGH AND DEHUMIDIFIER=OFF IF TEMPERATURE=EH THEN FS=HIGH AND DEHUMIDIFIER=OFF

Συνοπτικά οι παραπάνω εντολές εκτελούν τα εξής για τις ανεξάρτητες μεταβλητές ΑΝΕΜΙΣΤΗΡΑΣ (FANSPEED) και ΑΦΥΓΡΑΝΤΗΡΑΣ (DEHUMIDIFIER). Ο ΑΦΥΓΡΑΝΤΗΡΑΣ (DEHUMIDIFIER) απενεργοποιείται (OFF), όταν η ΥΓΡΑΣΙΑ (HUMIDITY) είναι VERYDRY/ DRY/NORMAL και λειτούργει μόνο όταν υπάρχει ένδειξη ΥΓΡΑΣΙΑΣ (MOIST/ VERY MOIST). Ο ΑΝΕΜΙΣΤΗΡΑΣ (FANSPEED) λειτούργει σε κλίμακες (LOW/ MEDIUM. HIGH), αναλόγως την ΘΕΡΜΟΚΡΑΣΙΑ (TEMPERATURE). Σε κανονικές ή υψηλές θερμοκρασίες (TEMPERATURE= NORMAL/ HOT/VERY HOT/ EXTREMELY HOT), υποθέτουμε ότι δεν υπάρχει ένδειξη ΥΓΡΑΣΙΑΣ (HUMIDITY), άρα η αντίστοιχη

μεταβλητή

δεν

λαμβάνεται

υπόψη

στους

κανόνες,

οπότε

ο

ΑΦΥΓΡΑΝΤΗΡΑΣ (DEHUMIDIFIER) είναι μονίμως απενεργοποιημένος (OFF) Αν TEMPERATURE(T)=EXTREMLY COLD(EC) και HUMIDITY(H)= VERY DRY(VD)/ DRY(D)/ NORMAL(N) FANSPEED (FS)= HIGH και DEHUMIDIFIER(DH)=OFF Αν TEMPERATURE(T)=EXTREMLY COLD(EC) και HUMIDITY(H)= MOIST(M)FAN SPEED (FS)=HIGH και DEHUMIDIFIER(DH)=LOW Αν TEMPERATURE(T)=EXTREMLY COLD(EC) και HUMIDITY(H)= VERY MOIST(VM)FAN SPEED(FS)=HIGH και DEHUMIDIFIER(DH)=HIGH Αν TEMPERATURE(T)= VERY COLD(VC) και HUMIDITY(H)= VERY DRY(VD) / DRY(D)/ NORMAL(N)  FAN SPEED(FS)=HIGH και DEHUMIDIFIER(DH)=OFF Αν TEMPERATURE(T)=COLD(C) και HUMIDITY(H)= VERY DRY(VD) / DRY(D)/ NORMAL(N)  FAN SPEED(FS)=MEDIUM και DEHUMIDIFIER(DH)=OFF Αν TEMPERATURE(T)= NORMAL(N)  FAN SPEED(FS)=LOW και DEHUMIDIFIER(DH)=OFF Αν TEMPERATURE(T)= ΗΟΤ(Η)  FAN SPEED (FS)=MEDIUM και DEHUMIDIFIER(DH)=OFF

47


Αν

TEMPERATURE(T)=

ΗΟΤ(VΗ)

VERY

FAN

SPEED(FS)=HIGH

και

DEHUMIDIFIER(DH)=OFF Αν

TEMPERATURE(T)=

EXTREMELY

ΗΟΤ(EΗ)

FAN

SPEED(FS)=HIGH

και

DEHUMIDIFIER(DH)=OFF

Τα βήματα μιας υποτυπώδους λειτουργιάς ενός aircondition, εχουν πλέον ολοκληρωθεί και εν συνεχεία θα πρέπει να ελεγθεί η λειτουργία του μοντέλου μας. Το επόμενο βήμα είναι να εισάγουμε διάφορες τιμές για τις ανεξάρτητες μεταβλητές (ΘΕΡΜΟΚΡΑΣΙΑ, ΥΓΡΑΣΙΑ) και να διαπιστώσουμε αν για τις τιμές εισόδου θα προκύψουν οι ανάλογες τιμές εξόδου, βασιζόμενοι πάντα στους κανόνες που έχουμε θέσει για τις εξαρτημένες μεταβλητές (ΑΝΕΜΙΣΤΗΡΑΣ, ΑΦΥΓΡΑΝΤΗΡΑΣ).

----------------- BHMA 4. Στα προηγούμενα βήματα έχει ολοκληρωθεί ο σχεδιασμός του ασαφούς συστήματος, ορίζοντας τα εξης: 1) Τις μεταβλητές εισόδου (input variables) ΘΕΡΜΟΚΡΑΣΙΑ και ΥΓΡΑΣΙΑ. 2) Το εύρος τιμών των μεταβλητών εισόδου. 3) Τις συναρτήσεις συμμετοχής των μεταβλητών εισόδου (membership functions of input variables). 4)

Τις

μεταβλητές

εξόδου

(output

variables)

ΑΝΕΜΙΣΤΗΡΑΣ

και

ΑΦΥΓΡΑΝΤΗΡΑΣ. 5) Το εύρος τιμών των μεταβλητών εξόδου. 6) Τις συναρτήσεις συμμετοχής των μεταβλητών εξόδου (membership functions of output variables). 7) Τους κανόνες που σχετίζουν τις μεταβλητές εισόδου με τις μεταβλητές εξοδου (rules and statements).

48


Στο τελευταίο βήμα της διαδικασίας πραγματοποιείται ο έλεγχος των αποτελεσμάτων που εξάγει το σύστημα, ώστε να προβούμε σε διορθώσεις σε περίπτωση που δεν συνάδουν με το σχεδιασμό μας. Για να επιτύχουμε τούτο το σκοπό, θα χρησιμοποιήσουμε τον RulerView της εργαλειοθήκης FuzzyLogic. Το RulerView παρέχει την δυνατότητα εισαγωγής τιμών για τις ανεξάρτητες μεταβλητές και αποδίδει τις αντίστοιχες εξαρτημένες μεταβλητές βασιζόμενο στους κανόνες και τις εντολές που έχει αποδώσει ο σχεδιαστής. Για να ανοίξουμε το RulerView, κατευθυνόμαστε από την αρχική οθόνη του Ασαφούς Μοντέλου ως εξής (βλ. παρακάτω εικόνες) Επιλεγούμε από το VIEWRULES (EIKONA 19) και έπειτα στην νέα οθόνη θέτουμε τιμές για τις μεταβλητές εισόδου στο πεδίο input (ΕΙΚΟΝΑ 20)

49


ΕΙΚΟΝΑ 19.

50


ΕΙΚΟΝΑ 20.

51


Υπενθυμίζουμε ότι για τις ανεξάρτητες μεταβλητές ισχύουν τα εξής ΑΝΕΜΙΣΤΗΡΑΣ (FANSPEED/ FS) FS: LOW (1,2) // MEDIUM (2,3) // HIGH (3,4) ΑΦΥΓΡΑΝΤΗΡΑΣ (DEHUMIDIFIER/ DH) DH: OFF (0,1) // LOW (1,2) // HIGH (2,3)

Θέτοντας τιμές στις μεταβλητές TEMPERATURE και HUMIDITY, μεταβάλλονται ανάλογα οι εξαρτημένες μεταβλητές FANSPEED και DEHUMIDIFIER

ΣΥΜΠΕΡΑΣΜΑΤΑ. Η Ασαφής Λογική είναι μια τεχνική, η οποία χρησιμοποιείται ευρέως σε ένα πλήθος επιστήμων και εφαρμογών. Τα θεμέλιά της εντοπίζονται σε μαθηματικές και λογικές δομές και ο μαθηματικός LotfiZadeh ήταν ο πρώτος που καθιέρωσε τον ορό ασαφές σύνολο και ασαφής λογική το 1965. Τεχνικές της Ασαφούς Λογικής χρησιμοποιούνται σε εφαρμογές και κλάδους όπως η μηχανική, οικονομικά, ηλεκτρολογία, χημεία, φυσική, αεροναυπηγική, νευρωνικά δίκτυα, υπολογιστές, κινηματογράφο κτλ. Στην εργασία μας παρουσιάσαμε ένα βασικό μοντέλο λειτουργιάς ενός aircondition με δυο μεταβλητές εισόδου (Θερμοκρασία και Υγρασία) και δυο μεταβλητές εξόδου (Ανεμιστήρας και Αφυγραντηρας). Σκοπός μας ήταν να γίνουν κατανοητές η βασική θεωρία και οι δομές που στηρίζεται η Ασαφής Λογική καθώς και η ανάπτυξη του μοντέλου με το λογισμικό Matlab. Αναπτύχθηκαν έννοιες όπως 1) Ασαφές Σύνολο (fuzzy set) 2) Γλωσσικές Μεταβλητές (linguistic variables) 3) Συναρτήσεις Συμμετοχής (membership functions) 4) Ασαφείς Κανόνες και Προτάσεις (fuzzy rules and statements). Τούτα αποτελούν τα θεμέλια ώστε να μπορεί ο αναγνώστης να κατανοήσει πιο πολύπλοκες έννοιες και θεωρίες καθώς και πιο προχωρημένα μοντέλα. Το Matlab είναι ένα πρόγραμμα το οποίο έχει πραγματικά πολλές δυνατότητες και αξίζει η ενασχόληση και εκμάθηση του τρόπου λειτουργιάς του. Για κάποιον που θα ασχοληθεί για πρώτη φορά, συστήνουμε να ξεκινήσει με το manual του Matlab 52


καθώς και με τα παραδείγματα και τις έτοιμες εφαρμογές που διαθέτει, ώστε να γίνει κατανοητός ο τρόπος λειτουργιάς του. Επειδή διαθέτει ένα μεγάλο πλήθος εφαρμογών και εργαλείων, καλό θα ήταν η αρχή να γίνει πάνω σε ένα αντικείμενο που ο αναγνώστης γνωρίζει ή είναι εξοικειωμένος με αυτό. Προτείνουμε για κάποιον που λειτούργει πρώτη φορά το Matlab και επιθυμεί να εξοικειωθεί, να αρχίσει με τα εξής toolboxes και τις εφαρμογές τους 1) Statistics and Machine Learning Toolbox 2) Curve Fitting Toolbox 3) OptimizationToolbox 4) Symbolic Math Toolbox. Τουτα τα toolboxes αντιστοιχούν σε εφαρμογές μαθηματικών και στατιστικής, αντικείμενα που είναι γνωστά είτε από το λύκειο είτε από κάποια ανώτερη σχολή. Για όσους ασχολούνται με οικονομικές επιστήμες ή συναφή αντικείμενα (χρηματοοικονομικά, επενδύσεις, τραπεζικά, χρηματιστηριακά κτλ) τα επόμενα toolboxes θα φάνουν πολύ χρήσιμα 1) Econometrics Toolbox 2) FinancialToolbox 3) Financial Instruments Toolbox 4) Trading Toolbox 5) Risk Management Toolbox. Τελειώνοντας, ένα πολύ καλό εργαλείο που διαθέτει το Matlab είναι το Simulink (Simulation and Model-Base Design), όπου ο ερευνητής έχει την δυνατότητα να αναπτύξει το δικό του μοντέλο ή σύστημα, να το τρέξει, ελέγξει, διορθώσει οποιαδήποτε προβλήματα προκύψουν και έπειτα να το ‘’πακετάρει’’ ως ολοκληρωμένο πρόγραμμα το οποίο θα βγει στην αγορά για χρήση. Πολυεθνικές εταιρίες και ερευνητικά κέντρα (π.χ. Fujitsu, NASA, Huawei) χρησιμοποιούν το Matlab και το Simulink, προτού προωθήσουν το προϊόν ή την υπηρεσία για χρήση.

53


ΒΙΒΛΙΟΓΡΑΦΙΑ- ΑΝΑΦΟΡΕΣ [1] Εισαγωγή στην Ασαφή Λογική. (Θεοδώρου Α. Γιάννης. Εκδόσεις Τζιολα- 2000) [2] Μαθηματική λογική. Θεωρία και πράξη (Τουρλακης Γεώργιος. Πανεπιστημιακές εκδόσεις Κρήτης- 2011) [3] Scientific theories and the computational theory of perceptions-A structuralis view including fuzzy sets (Rudolf Seising-2007) [4] Fuzzy Logic, knowledge and natural language (Gaetano Licata- 2012) [5] Fuzzy sets, fuzzy logic and fuzzy systems (Lotfi A. Zadeh- 1996) [6] Fuzzy sets, fuzzy logic, fuzzy methods with applications. (Hans Bandemer, Siegfried Gottwald- 1995) [7] Advances in the linguistic synthesis of fuzzy controllers (Ebrahim Mamdani1976) [8] Structure identification of fuzzy model (Michio Sugeno, Geuntaek Kang- 1988) [9] A fuzzy logic based approach to qualitative modeling (Michio Sugeno and Takahiro Yasukawa- 1993) [10] Twenty years of fuzzy control experiences gained and lessons learnt Ebrahim Mamdani- 1993) [11] Fuzzy sets and fuzzy logic. Theory and applications (George J. Klir, Bo Yuan1995) [12] Fuzzy description logics from a mathematical fuzzy logic point of view (Marco Cerami- 2012) [13] Matlab 2013 manual [14] Matlab Fuzzy Logic Toolbox manual

54


Turn static files into dynamic content formats.

Create a flipbook
Issuu converts static files into: digital portfolios, online yearbooks, online catalogs, digital photo albums and more. Sign up and create your flipbook.