Professional Documents
Culture Documents
Ανάπτυξη
εφαρμογής της λειτουργιάς ενός 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.
2
ΕΙΣΑΓΩΓΗ- ΙΣΤΟΡΙΚΗ ΑΝΑΔΡΟΜΗ
Η Ασαφής Λογική (Fuzzy Logic), είναι ένας κλάδος των μαθηματικών και ειδικότερα
του κλάδου της μαθηματικής λογικής (mathematical logic) που εμπίπτει στα θέματα
του προτασιακού λογισμού/ λογικής (propositional calculus/ logic).
Η προτασιακή λογική μελετά τις λογικές προτάσεις οι οποίες σχηματίζονται από
άλλες προτάσεις με την χρήση λογικών συνδέσμων (logical connectives).
Λογικοί σύνδεσμοι είναι σύμβολα ή συναρτήσεις που χρησιμοποιούνται για να
συνδέουν λογικές προτάσεις.
Τα πιο γνωστά λογικά σύμβολα/ συναρτήσεις που μπορεί να έχουμε συναντήσει (είτε
από τις σχολικές αίθουσες, είτε σε ανώτερες σχολές) είναι τα κάτωθι
3
Οι πρώτες προσπάθειες για την βάση και οι αρχικές δομές της Ασαφούς Λογικής
επετεύχθηκαν κατά την δεκαετία του 1920 από τον Jan Lukasiewicz (1878-1956), ο
οποίος ήταν επιστήμων της λογικής και φιλόσοφος, και τον Alfred Tarski (1901-
1983), ο οποίος ήταν μαθηματικός.
Αργότερα, γύρω στο 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).
ΠΑΡΑΔΕΙΓΜΑ
Ο Η/Υ και η λειτουργία του βασίζεται στην Boolean Logic, καθώς τα ηλεκτρικά
κυκλώματα λειτουργούν με βάση αν διοχετεύεται ρεύμα (τιμή 1) ή όχι (τιμή 0) και
αναλόγως εκτελούνται οι εντολές του Η/Υ.
Αντιθέτως, το κλιματιστικό (aircondition), βασίζεται σε εφαρμογή Fuzzy Logic. Ο
προγραμματισμός του κλιματιστικού λειτουργεί περίπου ως εξής. Έστω ότι έχει ζέστη
και ρυθμίζουμε την θερμοκρασία του κλιματιστικού στους 25 oC.
Οι προγραμματισμένες εντολές για την ρύθμιση της θερμοκρασίας μπορεί να είναι οι
εξής.
Α) Αν θερμοκρασία δωματίου >35oC και διαφορά θερμοκρασίας δωματίου με
ρύθμιση θερμοκρασίας >10oC τότε λειτουργία ανεμιστήρα στο ΔΥΝΑΤΟ.
Β) Αν θερμοκρασία δωματίου μεταξύ 30oC και 35oC και διαφορά θερμοκρασίας
δωματίου με ρύθμιση θερμοκρασίας <10oC τότε λειτουργία ανεμιστήρα στο
ΜΕΣΑΙΟ.
Γ) Αν θερμοκρασία δωματίου μεταξύ 25oC και 30oC και διαφορά θερμοκρασίας
δωματίου με ρύθμιση θερμοκρασίας <5oC τότε λειτουργία ανεμιστήρα στο
ΧΑΜΗΛΟ.
Δ) Αν θερμοκρασία δωματίου μεταξύ 25 oC και 30oC και διαφορά θερμοκρασίας
δωματίου με ρύθμιση θερμοκρασίας <2oC τότελειτουργία ανεμιστήρα σε
ΑΝΑΜΟΝΗ.
5
Με ορούς προγραμματισμού, η παραπάνω σχέσεις δηλώνονται ως εξής
ΕΦΑΡΜΟΓΕΣ FUZZYLOGIC
Στην καθημερινότητά μας, η έννοια της Ασαφούς Λογικής είναι ίσως άγνωστη,
ωστόσο οι εφαρμογές της είναι ποικίλες και τις χρησιμοποιούμε συχνά. Μερικά
πεδίαεφαρμογής είναι τα εξής
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
Επιπλέον σε περιπτώσεις όπου α) Ένα πρόβλημα δύναται να λυθεί με άλλες τεχνικές
β) Υπάρχουν ευκολότερες τεχνικές για την εύρεση λύσης γ) Υπάρχουν ήδη
εναλλακτικές τεχνικές οι οποίες έχουν εφαρμοστεί για την λύση ενός προβλήματος
και είναι αποτελεσματικές, τότε η χρήση της Ασαφούς Λογικής είναι περιττή.
Οι τεχνικές της ΑσαφούςΛογικής δεν είναι πάντοτε οι βέλτιστες και πολλές φόρες
προκύπτουν προβλήματα, όπου με την χρήση διαφορετικών μεθόδων θα
αποφεύγονταν. Γενικά, καλο θα είναι να ζυγίζονται τα πλεονέκτημα και τα
μειονεκτήματα της χρήσης της Ασαφούς Λογικής έναντι εναλλακτικών τεχνικών για
την λύσης ενός προβλήματος και έπειτα να καταλήγουμε στην επιλογή μας.
Από τις αρχικές έννοιες που θα συναντήσουμε στην ΑσαφήΛογική, είναι η έννοια
τους Ασαφούς Συνόλου (Fuzzy Set).
Στην κλασική θεωρία των συνόλων, ένα σύνολο αποτελείται από ένα πεπερασμένο ή
άπειρο αριθμό στοιχείων και μπορεί να αναπαρασταθεί από την απαρίθμηση των
στοιχείων του ως εξής:
Τα στοιχεία όλων των υπό μελέτη συνόλων ανήκουν σε ένα υπερσύνολο αναφοράς
(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
FUZZY SET
0 𝑥 ∉ 𝑈 (𝑛𝑜 𝑚𝑒𝑚𝑏𝑒𝑟)
𝜇𝛢 (𝑥) � 0 < 𝜇𝛢 (𝑥) < 1 𝑥 𝑓𝑢𝑧𝑧𝑦 𝑚𝑒𝑚𝑏𝑒𝑟𝑜𝑓𝑈
1 𝑥 ∈ 𝑈 (𝑓𝑢𝑙𝑙 𝑚𝑒𝑚𝑏𝑒𝑟)
Στο παρακάτω σχήμα (ΕΙΚΟΝΑ 1), παρατηρούμε μια συνάρτηση συμμετοχής ενός
κλασσικού συνόλου (crisp set) και ενός ασαφές συνόλου (fuzzy set)
9
ΕΙΚΟΝΑ 1.
Παραθέτουμε ένα παράδειγμα για να γίνει πιο κατανοητή η έννοια των crispsets και
fuzzysets.
A) CRISPSETS.
Οι μέρες της εβδομάδας (Δευτέρα, Τρίτη…… Κυριακή), ανήκουν σε ένα
σύνολοcrispset το οποίοονομάζουμε ‘’ΕΒΔΟΜΑΔΑ’’. Οποιαδήποτε άλλη έννοια δεν
ανήκει στο crispset ‘’ΕΒΔΟΜΑΔΑ’’. Τα crisp sets, είναι σαφώς ορισμένα και με
καθορισμένα όρια.
B) FUZZYSET.
Λαμβάνοντας υπόψη το παραπάνω παράδειγμα με τις ημέρες της εβδομάδας, θα
ορίσουμε ένα σύνολο fuzzy set, το οποίο είναι το Σαββατοκύριακο.
Με την έννοια του crispset, το Σαββατοκύριακο αποτελείται από το Σάββατο και την
Κυριακή. Το crispset είναι ένα αυστηρό σύνολο και δεν χωράει καμία ανοχή στον
ορισμό της έννοιας ‘’Σαββατοκύριακο’’.
10
Ωστόσο, ένα fuzzyset, έχει ανεκτικότητα σε αυτές τις περιπτώσεις, καθώς όπως
έχουμε προαναφέρει, η Ασαφής Λογική, προσπαθεί να προσομοιάσει την ανθρώπινη
επικοινωνία και σκέψη. Έτσι λοιπόν, ένα ασαφές σύνολο, θα μπορούσε να
περιλαμβάνει και την Παρασκευή ως μέρος του Σαββατοκύριακου.
Ωστόσο, γεννάται το ερώτημα: Κατά πόσο η ημέρα ‘’Παρασκευή’’ ανήκει στο
σύνολο ‘’Σαββατοκύριακο’’;
ΕΙΚΟΝΑ 2.
CRISPSET(ΑΡΙΣΤΕΡΑ) και FUZZYSET (ΔΕΞΙΑ) ΓΙΑ ΤΟ ΣΥΝΟΛΟ ‘’ΣΑΒΒΑΤΟΚΥΡΙΑΚΟ
Στο αριστερόσχέδιο , όλες οι ήμερες πλην του Σαββάτου και της Κυριακής έχουν
τιμή μηδέν (0), ενώ το Σάββατο και η Κυριακή έχουν τιμή ένα (1). Στο δεξιό σχέδιο
οι ήμερες Πέμπτη και Δευτέρα σταθμίζονται με έναν μικρό συντελεστή, ενώ η
Παρασκευή με έναν μεγαλύτερο συντελεστή, δηλαδή οι ήμερες Πέμπτη και Δευτέρα
ανήκουν λίγο στην έννοια του ασαφές συνόλου ‘’Σαββατοκύριακο’’, ενώ η
Παρασκευή ανήκει περισσότερο.
11
ΕΙΚΟΝΑ 3.
Παράδειγμα Συνάρτησης Συμμετοχής. (Membership Function).
12
2) ΑΣΑΦΕΙΣ ΚΑΝΟΝΕΣ ΚΑΙ ΠΡΟΤΑΣΕΙΣ
(FUZZY RULES AND STATEMENTS)
BOOLEANΤΕΛΕΣΤΗΣ‘’AND’’ΜΕΤΑΤΡΕΠΕΤΑΙΣΕFUZZYΤΕΛΕΣΤΗ‘’MIN’’
13
BOOLEAN ΤΕΛΕΣΤΗΣ ‘’OR’’ ΜΕΤΑΤΡΕΠΕΤΑΙΣΕ FUZZY ΤΕΛΕΣΤΗ ‘’MAX’’
ΕΙΚΟΝΑ 4.
14
Ο κανόνας IF-THEN-ELSE, λειτουργεί τόσο στην Boolean Logic όσο και στην
Fuzzy Logic, με τον ίδιοτρόπο. Η μόνη διάφορα είναι ότι στην Fuzzy Logic, το
αποτέλεσμα (output) είναι ένα συγκεκριμένο ασαφές σύνολο (fuzzy set).
Παράδειγμα
IFx=ATHENy=B
Η πρόταση A, είναι μια γλωσσική μεταβλητηπου ορίζεται από ένα ασαφές σύνολο
και αποτελεί την προϋπόθεση (premise) του κανόνα, ενώ η πρόταση B είναι επίσης
γλωσσική μεταβλητή και αποτελεί το συμπέρασμα (conclusion) του κανόνα. Η
πρόταση B, αποτελεί επίσης ένα ασαφές σύνολο.
Μια από της βασικές έννοιες που θα συναντήσουμε, είναι η έννοια της γλωσσικής
μεταβλητής (linguistic variable). Όπως προαναφέραμε, η Ασαφής Λογική προσπαθεί
να προσομοιάσει την ανθρωπινή επικοινωνία, έτσι λοιπόν θα πρέπει να
χρησιμοποιηθούν κάποιες μεταβλητές για να γίνει κατανοητή η ανθρωπινή
επικοινωνία στον Η/Υ. Οι μεταβλητές αυτές ονομάζονται γλωσσικές μεταβλητές.
15
Οι γλωσσικές μεταβλητές χαρακτηρίζονται από πέντε παραμέτρους.
16
ΠΑΡΑΔΕΙΓΜΑ
17
ΕΙΚΟΝΑ5.
Η συνάρτηση συμμετοχής (MF), σταθμίζει τις τιμές του συνόλου αναφοράς (universe
of discourse), ώστε να υπάρχει μια ‘’ιεραρχία’’, δηλαδή αν θέλουμε να ορίσουμε το
ΚΡΥΟ στο εύροςτιμών [5,10], τότε η τιμή 6 είναι πιο κοντά στην τιμή 5, ενώ η τιμή 9
απέχει περισσότερο.
18
Υποθέτουμε λοιπόν, όσο αφόρα την τιμή ΚΡΥΟ, ότι η στάθμιση για την τιμή 6 θα
είναι μεγαλύτερη από την τιμή 9, δηλαδή π.χ. η τιμή 6 σταθμίζεται με συντελεστή 0.5
ενώ η τιμή 9 με συντελεστή 0.07, (Οι τιμές είναι ενδεικτικές, ωστόσο οι σταθμίσεις
για την παράμετρο MF θα πρέπει να λαμβάνουντιμές στο διάστημα [0,1])
4) ΣΥΝΑΡΗΤΣΕΙΣ ΣΥΜΜΕΤΟΧΗΣ
(MEMBERSHIPFUNCTIONS)
Το πρόγραμμα που έχει χρησιμοποιηθεί για την σχεδίαση των συναρτήσεων είναι το
MATLAB R2013a, καθώς οι συναρτήσεις είναι τυποποιημένες.
Αρκετές από τις άνω συναρτήσεις είναι γνώριμες, καθώς έχουν αναλυθεί και σε
βιβλία Στατιστικής.. Στην στατιστική, οι συνεχείς κατανομές συναντώνται με την
ονομασία ‘’Συνάρτηση Πυκνότητας Πιθανότητας- Probability Density Function
(PDF)’’, ενώ στην Ασαφή Λογική ονομάζονται ‘’Συνάρτηση Συμμετοχής-
Membership Function’’. Το τυπολόγιο και τα χαρακτηριστικά των συναρτήσεων δεν
αλλάζουν, οι λειτουργίες τους είναι οι ίδιες, εκείνο όμως που αλλάζει είναι η
ερμηνεία τους.
19
Στην Στατιστική η κατανομή πιθανότητας (PDF) εκφράζει τις πιθανότητες εμφάνισης
διαφορετικών αποτελεσμάτων ενός πειράματος, ήτοι εκφράζει την πιθανότητα μια
μεταβλητή να εμπίπτει σε ένα συγκεκριμένο εύρος τιμών.
Στην ΑσαφήΛογική, η συνάρτηση συμμετοχής, εκφράζει τον βαθμό συμμετοχής του
κάθε στοιχείου του υπό εξέταση συνόλου.
20
a) ΤΡΙΓΩΝΙΚΗ ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ
(Triangle ή Triangular MF)
x−a c−x
Triangle (x,[a,b,c])=max [min �b−a , c−b� , 0]
ήεναλλακτικά
0 , x≤a
⎧ ⎫
⎪ x−a ⎪
⎪ (b−a) , a ≤ x ≤ 𝑏⎪
Triangle (x,[a,b,c])=
⎨((c−x)) , b ≤ x ≤ c⎬
⎪ c−b ⎪
⎪ ⎪
⎩ 0 , c≤x ⎭
ΕΙΚΟΝΑ 6.
21
b) ΤΡΑΠΕΖΟΕΙΔΗΣ ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗ
(TrapezoidalMF)
x−a d−x
Trapezoidal(x,[a,b,c,d])=max [min �b−a , 1, d−c� , 0]
ή εναλλακτικά
0 , x≤a
⎧ ⎫
⎪ x−a ⎪
⎪(b−a) , a ≤ x ≤ b⎪
⎪ ⎪
Trapezoidal(x,[a,b,c,d])= 1 , b≤x≤c
⎨ ⎬
⎪ d−x ⎪
⎪(d−c) , c ≤ x ≤ d⎪
⎪ ⎪
⎩ 0 , d≤x ⎭
ΕΙΚΟΝΑ 7.
22
c) ΚΑΜΠΑΝΟΕΙΔΗΣ ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ
(Generalized Bell MF ή GBell MF)
1
GBell(x,[a,b,c])= 𝑥−𝑐 2∗𝑏
1+| |
𝑎
ΕΙΚΟΝΑ 8.
23
d) ΓΚΑΟΥΣΙΑΝΗ ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ
(Gaussian MF)
x−c 2
)
Gaussian(x,[σ,c])=e −( 2∗σ
ΕΙΚΟΝΑ 9.
24
e) S ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ
(S MF)
0 , x≤a
⎧ ⎫
⎪ x−a 2 a+b ⎪
⎪ 2 ∗ (b−a) , a≤x≤ 2 ⎪
S(x,[a,b])=
⎨ x−b a+b ⎬
1 − 2 ∗ (b−a)2 , ≤x≤b
⎪ 2 ⎪
⎪ ⎪
⎩ 1 , x≥b ⎭
EIKONA10.
25
f) Pi ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ
(Pi MF)
0 , x≤a
⎧ ⎫
⎪ x−a 2 a+b ⎪
⎪ 2 ∗ (b−a) , a≤x≤ 2 ⎪
⎪ ⎪
⎪ x−b 2 a+b ⎪
⎪1 − 2 ∗ (b−a) , 2
≤ x ≤ b⎪
⎪ ⎪
Pi(x,[a,b,c,d])= 1 , b≤x≤c
⎨ ⎬
⎪ x−c 2 c+d ⎪
⎪1 − 2 ∗ (d−c) , c≤x≤ 2 ⎪
⎪ ⎪
⎪ x−d c+d ⎪
2 ∗ (d−c)2 , ≤x≤d
⎪ 2 ⎪
⎪ ⎪
⎩ 1 , x≥d ⎭
EIKONA11.
26
g) Z ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ
(Z MF)
1 , x≤a
⎧ ⎫
⎪ x−b 2 a+b ⎪
⎪1 − 2 ∗ (b−a) , a≤x≤ 2 ⎪
Pi(x, [a,b])=
⎨ x−b a+b ⎬
2 ∗ (b−a)2 , ≤x≤b
⎪ 2 ⎪
⎪ ⎪
⎩ 0 , x≥b ⎭
EIKONA12.
27
h) ΣΙΓΜΟΕΙΔΗΣ ΣΥΝΑΡΤΗΣΗ ΣΥΜΜΕΤΟΧΗΣ
(SIGMOIDAL MF)
𝟏
Sigmoid (x,[a,c])= 𝐱−𝐜)
𝟏+𝐞 –𝐚∗(
EIKONA13.
28
Έχοντας ολοκληρώσει την βασική θεωρία που χρειαζόμαστε να είναι κατανοητή, στο
επόμενο βημα θα αναπτυχθεί ένα ασαφές μοντέλο λειτουργίας ενός air condition.
Η λειτουργία του aircodition είναι αρκετά απλή, χωρίς πολλές εντολές, ώστε να γίνει
αντιληπτή η κατασκευή με την χρήση του λογισμικού Matlab.
ΒΗΜΑ 1.
Προσπαθούμε να κατανοήσουμε ποιες θα είναι οι λειτουργίες του, ποιες θα είναι οι
ασαφείς ανεξάρτητες μεταβλητές (inputvariables) και ποιες οι εξαρτημένες
μεταβλητές (output variables).
ΒΗΜΑ 2.
Σχεδιασμός του μοντέλου (σε ‘’χαρτί’’) με ψευδομεταβλητές και ψευδοκώδικα, ώστε
να είναι εύκολα αντιληπτές και διακριτές οι λειτουργίες του.
Κατανόηση των μεταβλητών και των τιμών που λαμβάνουν οι μεταβλητές.
Σχεδίαση των συναρτήσεων συμμετοχής (membership functions) των μεταβλητών.
Κατασκευή των κανόνων (fuzzy rules-statements) που συνδέουν τις μεταβλητές.
ΒΗΜΑ 3.
Υλοποίηση των παραπάνω βημάτων, στο λογισμικό Matlab, λαμβάνοντας παράλληλα
υπόψη και την θεωρία που στηρίζεται το μοντέλο μας.
ΒΗΜΑ 4.
Εξαγωγή των αποτελεσμάτων και έλεγχος αν τα αποτελέσματα συνάδουν με τους
κανόνες που έχουμε θέσει στο μοντέλο μας.Διόρθωση μοντέλου σε περίπτωση
αστοχίας.
29
ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ ΠΡΟΓΡΑΜΜΑΤΟΣ MATLAB.
30
Το γραφικό περιβάλλον είναι αρκετά κατανοητό και προσιτό, χρειάζεται ωστόσο
αρκετή ενασχόληση και αναδρομή στα εγχειρίδια του προγράμματος για την
εκμάθηση. Πρέπει να προσέξουμε επίσης ότι, επειδή το MATLAB είναι γραμμένο
στην γλωσσά C++, οι εντολές/μεταβλητές κτλ είναι ‘’case sensitive’’, δηλαδή,
υπάρχει διάφορα μεταξύ κεφαλαίων και πεζών χαρακτήρων.
Επίσης, σε πολλά toolboxes, υπάρχει η δυνατότητ αγια συμβολικούς υπολογισμούς
(όπως στο Mathematica), δηλαδή την καταχώριση των εντολών όπως θα γράφονταν
στο χαρτί
ΠΡΟΣΟΧΗ!!
(Αρχικά, να επισημάνουμε ότι το λογισμικό MATLAB είναι γραμμένο, στο
μεγαλύτερο μέρος του, στην γλωσσά προγραμματισμού C++. Γι’ αυτό το λόγο ο
αναγνώστης θα πρέπει να δώσει προσοχή ότι η C++ είναι γλωσσά ‘’case sensitive’’
δηλαδή, υπάρχει διάφορα μεταξύ κεφαλαίων και πεζών χαρακτήρων. Τούτο
συνεπάγεται ότι είναι διαφορετικό όταν, λογού χάρη ονομάζουμε μια μεταβλητή
‘’LOW’’ από την μεταβλητή ‘’low’’.
Εφιστούμε την προσοχή του αναγνώστη σε αυτή την μικρή, αλλά βασική
λεπτομέρεια, διότι το πρόγραμμα MATLAB θα διαβάσει τις μεταβλητές/ εντολές
όπως ακριβώς τις έχουμε ορίσει ή είναι ορισμένες/ καταχωρημένες από τις
προεπιλογές του προγράμματος (by default) .
31
Αν έχει οριστεί μια μεταβλητή‘’LOW’’ και έπειτα επιθυμούμε να κάνουμε πράξεις με
την μεταβλητή‘’low’’, το MATLAB θα εμφανίσει σφάλμα ότι δεν αναγνωρίζει την
μεταβλητή ‘’low’’ )
Πρωτού προχωρήσουμε στα βήματα σχεδιασμού της λειτουργίας του 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)
----------------- ΒΗΜΑ 2.
33
--------ΓΛΩΣΣΙΚΗ ΜΕΤΑΒΛΗΤΗ ΘΕΡΜΟΚΡΑΣΙΑ[T]
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)
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)
INPUT VARIABLES
TEMPERATURE=(T, T(L), U(0,40), TRIANGLE)
HUMIDITY=(H, H(L), U(0,100),TRAPEZOID &TRIANGLE)
38
ΕΞΑΡΤΗΜΕΝΕΣΜΕΤΑΒΛΗΤΕΣ- ΜΕΤΑΒΛΗΤΕΣΕΞΟΔΟΥ
(OUTPUT VARIABLES)
39
MEMBERSHIP FUNCTIONSAND VALUES OF FAN SPEED(MATLAB)
ΕΙΚΟΝΑ 16
40
Στο παραπάνω γράφημα παρατηρούμε τα εξήςγια τις γλωσσικές τιμές και το σύνολο
τιμών των γλωσσικών τιμών
41
MEMBERSHIP FUNCTIONSAND VALUES OF DEHUMIDIFIER(MATLAB)
ΕΙΚΟΝΑ 17.
42
Στο παραπάνωγράφη μαπαρατηρούμε τα εξής για τις γλωσσικές τιμές και το σύνολο
τιμών των γλωσσικών τιμών
ΠΑΡΑΤΗΡΗΣΗ: Οι αριθμητικές τιμές που έχουν οριστεί για τις γλωσσικές τιμές
‘’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 θα λάβουν τις
ανάλογες τιμές τους.
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
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
47
Αν TEMPERATURE(T)= VERY ΗΟΤ(VΗ) FAN SPEED(FS)=HIGH και
DEHUMIDIFIER(DH)=OFF
Αν TEMPERATURE(T)= EXTREMELY ΗΟΤ(EΗ) FAN SPEED(FS)=HIGH και
DEHUMIDIFIER(DH)=OFF
----------------- BHMA 4.
48
Στο τελευταίο βήμα της διαδικασίας πραγματοποιείται ο έλεγχος των αποτελεσμάτων
που εξάγει το σύστημα, ώστε να προβούμε σε διορθώσεις σε περίπτωση που δεν
συνάδουν με το σχεδιασμό μας.
49
ΕΙΚΟΝΑ 19.
50
ΕΙΚΟΝΑ 20.
51
Υπενθυμίζουμε ότι για τις ανεξάρτητες μεταβλητές ισχύουν τα εξής
ΣΥΜΠΕΡΑΣΜΑΤΑ.
Η Ασαφής Λογική είναι μια τεχνική, η οποία χρησιμοποιείται ευρέως σε ένα πλήθος
επιστήμων και εφαρμογών. Τα θεμέλιά της εντοπίζονται σε μαθηματικές και λογικές
δομές και ο μαθηματικός 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 Mamdani-
1976)
[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 Yuan-
1995)
[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