Logika rozmyta

Transkrypt

Logika rozmyta
W ramach zajęć proszę wykonać sprawozdanie z logiki rozmytej.
Sprawozdanie powinno realizować zadanie wnioskowania rozmytego.
Cel projektu:
Student projektuje bazę wiedzy wnioskowania rozmytego (kilka, kilkanaście reguł pozwalających
zamodelować rzeczywistość opisywaną przez reguły składające się z dwóch zmiennych lingwistycznych w
części warunkowej reguł i jednej zmiennej lingwistycznej w części decyzyjnej.
W Excelu bądź podobnym narzędziu student zapisuje reguły (formuły logiczne) projektując odpowiednie
funkcje rozróżnialności dla zdefiniowanych zbiorów rozmytych. Implementuje co najmniej dowolne dwie
różne metody defuzyfikacji. Następnie dla dowolnych nowych danych (wystarczy jeden zestaw danych) w
formie sprawozdania krok po kroku omawia proces wnioskowania rozmytego dla stworzonej bazy wiedzy.
Wymogi dotyczące sprawozdania:
Bardzo proszę by ująć w sprawozdaniu:
- definicję (formalną oraz wykresową) zmiennych wejściowych i wyjściowej
- zapisane w języku naturalnym (if…then…) reguły wszystkie
- omówienie procesu wnioskowania dla dowolnych nowych danych z pokazaniem krok po kroku
wnioskowania przy dotrzymaniu warunku o użyciu przynajmniej dwóch różnych metod defuzyfikacji
spośród poznanych na wykładzie.
Przykłady:
Przykład nr 1
Poziom ryzyka – nowy projekt z inżynierii oprogramowania
Należy oszacować poziom ryzyka (w skali 0-10) związanego z nowym projektem w
dziedzinie inżynierii oprogramowania. Dla uproszczenia założyć, że rozpatrywane są wyłącznie
dwa wejścia: finansowanie projektu (oceniane w skali 0-100) oraz wymagana liczba osób do
wykonania projektu (oceniane w skali 0-20).
#zdefiniowanie zmiennej finansowanie i jej wartości, jako zbiorów rozmytych
zm.finansowanie
niewyst = fuzzy trapezoid
gset(corners = c(0,0.1,20,40), universe=U1),
srednie = fuzzy triangular
gset(corners = c(20,50,80), universe=U1),
odpowiednie = fuzzy trapezoid
gset(corners = c(60,80,99.9,100), universe=U1))
zm.l.osob
mala = fuzzy trapezoid
gset(corners = c(0,0.1,6,13), universe=U2),
duza = fuzzy trapezoid
gset(corners = c(7,12,19.9,20), universe=U2))
zm.ryzyko
niskie = fuzzy trapezoid
gset(corners = c(0,0.1,2,4), universe=U3),
normalne = fuzzy triangular
gset(corners = c(2,5,8), universe=U3),
wysokie = fuzzy trapezoid
gset(corners = c(6,8,9.9,10), universe=U3))
# reguły
# R1: JEŻELI finansowanie jest odpowiednie LUB wymagana liczbna osób jest mała TO
ryzyko jest niskie.
# R2: JEŻELI finansowanie jest srednie I wymagana liczba osób jest duża TO ryzyko jest
normalne.
# R3: JEŻELI finansowanie jest niewystarczające TO ryzyko jest wysokie.
# wnioskowanie dla określonych wartości zmiennych
ocena.finansowania - 60
ocena.l.osob - 9
Przykład nr 2
Symulacja FLC
Prześledźmy działanie regulatora FLC na przykładzie zadania podjęcia decyzji o wartości przyspieszenia
samochodu w sytuacji dojeżdżania do skrzyżowania, na którym światło zmieniło się z zielonego na żółte.
Wielkościami wpływającymi na decyzję będą: aktualna prędkość samochodu i odległość od skrzyżowania.
Pomierzone wartości tych wielkości są następnie poddawane rozmywaniu: są zamieniane na ich jakościowe
odpowiedniki - „mały”, „średni” i „duży” (Formalnie rzecz ujmując, dla każdej wielkości wejściowej
definiujemy trzy funkcje zdaniowe, odpowiadające wymienionym terminom lingwistycznym). Wartości
funkcji zdaniowych dla wartości lingwistycznych obu wielkości wejściowych są przedstawione na poniższych
rysunkach.
Rozważmy trzy przypadki wielkości wejściowych:
odległość
prędkość
30
50
odległość
prędkość
100
50
odległość
prędkość
30
65
Następuje faza wnioskowania. W naszym przykładzie, wnioskowanie odbywa się zgodnie z zestawem reguł
zamieszczonym poniżej.
odległość
prędkość
przyspieszenie
mała
Mała
duże-
średnia
Mała
małe-
duża
Mała
małe-
mała
Średnia
duże+
średnia
Średnia
małe-
duża
Średnia
małe-
mała
Duża
małe+
średnia
Duża
duże-
duża
Duża
małe-
Przechodzimy do wyostrzania. Załóżmy funkcje przynależności dla zmiennej wyjściowej jak na poniższym
rysunku.
W wyniku wnioskowania, dla każdego z rozważanych trzech przypadków, otrzymamy inne kształty funkcji
przynależności, zobrazowane na rysunkach. W celu wyznaczenia wartości liczbowej przyspieszenia
zastosujemy metodę środka ciężkości (CoA).

Podobne dokumenty