12
XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy logikával kapcsolatos elemeket: fuzzy tagsági függvények, fuzzy halmazmveletek, fuzzy következtet rendszerek felépítése, defuzzifikációs eljárások, a fuzzy szabályok kitöltése, valamint a MATLAB függvényeit használva elsajátítani a fuzzy következtet rendszerek tervezésével kapcsolatos fontosabb tudnivalókat. Elméleti alapfogalmak A fuzzy logika nem más, mint a bináris logika általánosított formája. A fuzzy logika egy multivalens logikai rendszer. Míg a bináris logika lehetséges értékei 0 vagy 1, addig egy fuzzy rendszer esetében a lehetséges érték elvileg végtelen is lehet. A klasszikus logika szerint egy elem halmazba tartozása egyértelmen megállapítható, egy tetszleges elemrl el tudjuk dönteni, hogy eleme-e az adott halmaznak vagy sem. Tehát az, hogy { aU} {0,1}, egyértelmen eldönthet. Ha hozzá tartozik, akkor egy logikai igaz, ha nem, azt egy logikai hamis értékkel jellemeztük. Egyszerség kedvéért jelöljük a logikai igaz értéket 1-gyel, a hamis értéket 0-val. Ekkor az, hogy egy elem beletartozik-e U-ba jellemezhet vagy egy 0-val, vagy egy 1-gyel. A multivalens rendszerben az elem értelmezését így írhatjuk fel: a logikai érték {aU} [0,1] . A fuzzy logika abban hoz újat, hogy a halmazba tartozás 0, illetve 1 értékei nem ennyire meghatározottak, hanem köztes értékek is léteznek, amelyek megmutatják, hogy egy adott elem mennyire tartozik bele a halmazba: nagyon, kissé, kevésbé, vagy egyáltalán nem. Így minden U halmazbeli elemhez hozzárendelünk egy számot, általában 0 és 1 közötti értéket, mely jellemzi az elem halmazba tartozásának mértékét. Tehát a különbség a bivalens és multivalens rendszer között a logikai kifejezések értékkészletében van. A bivalens rendszer esetében a {0,1} halmaz két elemet tartalmaz, míg a multivalens rendszer a [0,1] intervallumban végtelen sokat. Szükség van egy rendszerre, amely megadja a logikai értéket a [0,1] intervallumból. Példa: Legyen egy A halmazunk, amely az emberek cm-ben kifejezett testmagassága, és vegyük csak az egész értékeket: A = {130,131,…,183,…,250} A klasszikus halmazelmélet szerint, ha meg akarunk határozni két részhalmazt, M jelölje a magas emberek halmazát, L az alacsony emberekét, akkor élesen kell találjunk egy elemet (például 170 cm), amelynél magasabb emberek az M = {170,171,…,250} halmazba tartoznak, míg az alacsonyabbak az L = {130,131,…,169} halmazba. A két részhalmaz, L, M, nem kell feltétlen diszjunkt legyen. Az életben viszont ilyen éles határokat gyakran nem szabhatunk, azt mondjuk valakire, hogy „a körülbelül 155 cm magas illet nagyjából alacsonynak mondható”. Tehát az állításban van egyfajta bizonytalansági tényez, „körülbelül”, illetve „nagyjából”. Az egyes elemekhez rendelt értékek éppen ezt a bizonytalanságot hivatottak kezelni. Azt mondjuk, hogy az egyes részhalmazok elemeihez hozzárendelünk egy-egy számot. Például: 5 L = {130(1),140(1),150(0)160(0.8),170(0.5),180(0.1),190(0)} M = {130(0),140(0),150(0),160(0.1),170(0.4),180(0.9),190(1),250(1)} A két halmazban lehetnek teljesen különböz elemek is, és az elemekhez rendelt számok között, sem halmazon belül, sem két halmaz között semmilyen összefüggés nincs elírva, leszámítva azt, hogy szemantikai jelentéssel bíró adatoknak kell lenniük. Ha

XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

Embed Size (px)

Citation preview

Page 1: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

XII. LABOR - Fuzzy logika

59

XII. LABOR - Fuzzy logika

A gyakorlat célja elsajátítani a fuzzy logikával kapcsolatos elemeket: fuzzy tagsági függvények, fuzzy halmazm�veletek, fuzzy következtet� rendszerek felépítése, defuzzifikációs eljárások, a fuzzy szabályok kitöltése, valamint a MATLAB függvényeit használva elsajátítani a fuzzy következtet� rendszerek tervezésével kapcsolatos fontosabb tudnivalókat.

Elméleti alapfogalmak A fuzzy logika nem más, mint a bináris logika általánosított formája. A fuzzy

logika egy multivalens logikai rendszer. Míg a bináris logika lehetséges értékei 0 vagy 1, addig egy fuzzy rendszer esetében a lehetséges érték elvileg végtelen is lehet.

A klasszikus logika szerint egy elem halmazba tartozása egyértelm�en megállapítható, egy tetsz�leges elemr�l el tudjuk dönteni, hogy eleme-e az adott halmaznak vagy sem. Tehát az, hogy { a∈U} →{0,1}, egyértelm�en eldönthet�. Ha hozzá tartozik, akkor egy logikai igaz, ha nem, azt egy logikai hamis értékkel jellemeztük. Egyszer�ség kedvéért jelöljük a logikai igaz értéket 1-gyel, a hamis értéket 0-val. Ekkor az, hogy egy elem beletartozik-e U-ba jellemezhet� vagy egy 0-val, vagy egy 1-gyel.

A multivalens rendszerben az elem értelmezését így írhatjuk fel: a logikai érték {a∈U} → [0,1] . A fuzzy logika abban hoz újat, hogy a halmazba tartozás 0, illetve 1 értékei nem ennyire meghatározottak, hanem köztes értékek is léteznek, amelyek megmutatják, hogy egy adott elem mennyire tartozik bele a halmazba: nagyon, kissé, kevésbé, vagy egyáltalán nem. Így minden U halmazbeli elemhez hozzárendelünk egy számot, általában 0 és 1 közötti értéket, mely jellemzi az elem halmazba tartozásának mértékét.

Tehát a különbség a bivalens és multivalens rendszer között a logikai kifejezések értékkészletében van. A bivalens rendszer esetében a {0,1} halmaz két elemet tartalmaz, míg a multivalens rendszer a [0,1] intervallumban végtelen sokat. Szükség van egy rendszerre, amely megadja a logikai értéket a [0,1] intervallumból.

Példa: Legyen egy A halmazunk, amely az emberek cm-ben kifejezett testmagassága, és

vegyük csak az egész értékeket: A = {130,131,…,183,…,250} A klasszikus halmazelmélet szerint, ha meg akarunk határozni két részhalmazt, M

jelölje a magas emberek halmazát, L az alacsony emberekét, akkor élesen kell találjunk egy elemet (például 170 cm), amelynél magasabb emberek az M = {170,171,…,250} halmazba tartoznak, míg az alacsonyabbak az L = {130,131,…,169} halmazba. A két részhalmaz, L, M, nem kell feltétlen diszjunkt legyen. Az életben viszont ilyen éles határokat gyakran nem szabhatunk, azt mondjuk valakire, hogy „a körülbelül 155 cm magas illet� nagyjából alacsonynak mondható”. Tehát az állításban van egyfajta bizonytalansági tényez�, „körülbelül”, illetve „nagyjából”. Az egyes elemekhez rendelt értékek éppen ezt a bizonytalanságot hivatottak kezelni. Azt mondjuk, hogy az egyes részhalmazok elemeihez hozzárendelünk egy-egy számot. Például: 5

L = {130(1),140(1),150(0)160(0.8),170(0.5),180(0.1),190(0)} M = {130(0),140(0),150(0),160(0.1),170(0.4),180(0.9),190(1),250(1)} A két halmazban lehetnek teljesen különböz� elemek is, és az elemekhez rendelt

számok között, sem halmazon belül, sem két halmaz között semmilyen összefüggés nincs el�írva, leszámítva azt, hogy szemantikai jelentéssel bíró adatoknak kell lenniük. Ha

Page 2: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

Mesterséges Intelligencia Labor

60

mindezt a hozzárendelést függvényben jelenítem meg, tehát a halmaz elemeihez hozzárendelve ábrázoljuk a tagsági beletartozást jelöl� számokat, akkor a tagsági függvényt kapjuk a következ� ábrán.

Meghatározás Legyen A az U univerzum fuzzy részhalmaza (A⊂U) és legyen µ:Α→[0 1]

tagsági függvény, akkor az A fuzzy halmazt az U univerzumból a következ�képpen írjuk le:

� � ���� ����� � � • x–egy tulajdonságérték • µ( x) tagsági függvény: a tulajdonság-értékhez hozzárendeli a

halmazhoz tartozás mértékét [0,1] Diszkrét esetben a fuzzy halmazt a következ�képpen írjuk le:

� � ������� � ������� ��� ������� �������������

Folytonos esetben pedig az alábbi képlet alapján határozzuk meg: � � � ������

A tagsági függvények formája dönt� a fuzzy halmazok leírásában. Az alábbi ábrán

láthatjuk a fontosabb tagsági függvényformákat:

��� � � ������ � ���� ��� �� ������ ! � � ��"������ # ��$

��� � � "����� � ��� ���� �� ������ ! � � ��������� # ��$

x

a2 a1

x

µ(x)

a1 a2

Page 3: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

XII. LABOR - Fuzzy logika

61

��� �%&'&( "����� � ��� ���� �� ������ ! � � ���) ��) �� ������ ! � � ��"����� # ��

$

��� �%&&'&&(

"����� � ��� ���� �� ������ ! � � ���������� ! � � �)�* ��* �) �����) ! � � �*"����� # �*$

��� � +,��,-.�/.

��� � �� � 0� 1� 0�-

Fuzzy halmazm�veletek. Hasonlóan a bináris halmazelméletben alkalmazott

halmazm�veletekhez (keresztmetszet, egyesítés, komplementer), a fuzzy logikában is meghatározhatjuk az említett m�veleteket.

Két fuzzy halmaz keresztmetszete (T-norma) ��23�� � 456������ �3�� vagy ��23�� � �����3�� Két fuzzy halmaz egyesítése (T-konorma vagy S norma) ��23�� � 4 �������� �3�� vagy

��23�� � ���� � �3�� �����3�� Az A fuzzy halmaz komplementer halmaza ���� � � ����

x

µ(x)

a1

x

µ(x)

x

µ(x)

c

x

µ(x)

a2 a1 a4 a3

a2 a1 a3

x

µ(x)

Page 4: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

Mesterséges Intelligencia Labor

62

A fuzzy szabályozás A fuzzy szabályozó egyszer� felépítés�. Egy bemeneti, egy kiértékel� és egy

kimeneti szakaszból áll. A bemeneti rész letapogatja az érzékel�ket vagy más bemeneteket és leképezi �ket a megfelel� tagsági függvényekre és igazság-értékekre. A kiértékel� szakasz meghatározza a szabályok értékeit és azok kombinációit. Végül, a kimeneti szakasz visszaalakítja a kombinációk értékeit a meghatározott kimeneti szabályzó értékére.

Egy fuzzy szabályozó rendszernek négy f� komponensét különböztetjük meg:

a) fuzzy szabályok adatbázisa: ez a f� komponens, és ha.....akkor szabályok formájában tartalmazza azokat a fuzzy halmazokra épül� ismereteket, amelyekre a szabályozás logikája épül

b) következtet� rendszer: ennek a komponensnek a teljesítményét�l is függ a szabályozó rendszer hatékonysága

c) a fuzzyfikáció: ez nem más, mint a bemenet olyan módosítása, hogy a fuzzy rendszer használhassa

d) a konklúziónak a rendszer számára használható alakra hozását a defuzzyfikáló rendszer végzi A kiértékel� szakasz egy logikai szabály gy�jteményen alapszik, melynek elemei

HA-AKKOR (IF-THEN) mondatok. A HA részt antecedensnek és az AKKOR részt consequensnek (következtetésnek) nevezik. A szabályozási felhasználásokban az antecedens általában egy érzékel� hibája vagy hiba változási sebessége. A következtetés egy szabályzó parancskimenet. A fuzzy szabályozási rendszerek tipikusan több tucat szabállyal rendelkeznek.

Fuzzyfikálás A fuzzy logikát a valós világ nyelvének használata teszi igazán hatékony eszközzé. A nyelvi változók alkalmazása kulcsfontosságú a fuzzy szakért�i rendszerek és a fuzzy kontroll-rendszerek területén. A nyelvi változók értékei szavak, mondatok, vagyis hétköznapi nyelvi elemek lehetnek. A legtöbb valós helyzetben egy precíz válasz nem feltétlenül jelent optimális megoldást a problémára. A fuzzy logika kiterjeszti a szigorú igaz/hamis osztályozást olyan értékekkel, mint például a nagyjából igaz és a teljesen rossz. Ezeket a kifejezéseket nyelvi változóknak, magát a folyamatot fuzzyfikálásnak hívjuk.

Defuzzyfikálás A fuzzy szabályok kiértékelésével kapott eredmény szintén fuzzy, ezen értékek

valós értékekké való visszafordítását nevezzük defuzzyfikálásnak. Különböz� eljárások állnak rendelkezésünkre. Mivel egyidej�leg több kifejezés is érvényes lehet, ezért a defuzzyfikálási eljárás feladata, hogy ezek együttes figyelembevételével hozza meg a döntését. A három legáltalánosabban elterjedt eljárás a Center-of-Maximum (COM), a Center-of-Area (COA) és a Mean-of-Maximum (MOM). A COM módszer esetén a tagsági függvények maximumhelyének súlyozott átlagaként számolja ki a kimeneti értéket, ahol a súlyok a megfelel� szabályok kimeneti értékei.

A legelterjedtebb tagsági függvényforma a háromszög, de a trapéz és harang görbék is használatosak. A függvény formájánál fontosabb az elhelyezett függvények száma és helyzete. Háromtól hét függvényig általában elegend� a bemenet a szükséges tartomány lefedéséhez.

A ki és bemenetek kiválasztása. Úgy építjük fel a rendszert, mint egy jó szakember tenné. A szakember megmondja, hogy milyen bemeneteket használna a rendszer kézbentartására. Az els� lépés az, hogy a szabályozónak milyen információ áll

Page 5: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

XII. LABOR - Fuzzy logika

63

rendelkezésére. Ugyanakkor jó, ha nem csak a bemen� jel, hanem annak a deriváltja (változási sebessége) is rendelkezésünkre áll.

Szabályozási ismeretek szabályokba ágyazása A szakember szabályozási ismereteinek lingvisztikus leírását keressük. Ismernünk

kell a ki és bemenetek univerzumát és ezen univerzumoknak megfelel� fuzzy halmazok pontos jelentését. Példa: egy bemenet lehet h�mérséklet, ennek megfelel egy h�mérséklettartomány, és ezt az univerzumot lefedjük fuzzy halmazokkal („nagyon alacsony”, „alacsony”, „közepes”, „magas”, „nagyon magas”). Hasonló módon járunk el minden ki és bemeneti változóval. Nagyon fontos hogy helyesen megbecsüljük a bemen� jelek alsó és fels� korlátjait.

Legyen két bemeneti és egy kimeneti fuzzy szabályzó. A bemen� változó A és B, míg a kimen� változó C. A változók univerzumának lefedése (fuzzy halmazok):

A szabályoknak megfelel� tudásbázist a következ� táblázat tartalmazza

\A Ba Ma a Ma Ba

Bb

Mb

bb Mc Mc

Mb c c

Bb Nem kötelez� minden kombinációra épül� szabály használata, mert nagyon

korlátozza a feldolgozási sebességet. A szabályokat a teljes dinamikájában kell átgondolni. Nagyon fontos, hogy olyan szabályaink is legyenek, amelyek „beindítják” és „leállítják” a szabályzó rendszert, ugyanakkor a be és kimeneti jelek id�beni változatosságát is figyelembe kell venni. A rendszer dinamikájának követése benne kell legyen a tudásbázisban. Ez azt jelenti, hogy nem tölthetjük ki sablonosan a szabálytáblázatot.

c1 c2 c6 c7 c3 c4 c5 c8

NMc NBc Zc PMc PBc

b1 b2 b6 b7 b3 b4 b5 b8

NMb NBb Zb PM PBb

a1 a2 a3 a4 a5

NMa NBa Za PMa PBa

Page 6: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

Mesterséges Intelligencia Labor

64

Számoljuk ki a rendszer kimenetelét, ha a két bemen� érték a=ax1 és b=bx1. A táblázatnak megfelel�en a következ� tagsági függvények aktívak a bemeneti

(a,b) értékpárra: • ax1∈[a2, a4] tehát a Za tagsági függvény adja az [a2, a4] halmazhoz való

hozzátartozási értéket, • ax1∈[a1, a3] tehát a NMa tagsági függvény adja az [a1, a3] halmazhoz való

hozzátartozási értéket, • bx1∈[b5, b8] - tehát a PMb tagsági függvény adja a [b5, b8] halmazhoz való

hozzátartozási értéket, • bx1∈[b3, b6] tehát a Zb tagsági függvény adja a [b3, b6] halmazhoz való

hozzátartozási értéket. Látható, hogy mindkét bemenetre két tagsági függvény aktiválódik, ax1-re a Za és

NMa a bx1 –re pedig a Zb és PMb ami összesen négy szabályt jelent, ezek a szabályok a következ�ek: Ha a=NMa és b=Zb akkor c=NMc Ha a=NMa és b=PMb akkor c=Zc Ha a=Za és b=Zb akkor c=PMc Ha a=Za és b=PMb akkor c=Zc Az alábbi négy rajzon a négy szabály azonosítható. Minden rajzon látható az a és b

bemenet, valamint a c kimenet, de minden univerzumra csak egy, a szabálynak megfelel� tagsági függvény van feltüntetve.

Amint látható, a szabályokba a két bemenet között és m�veletet kell elvégezni. A bemeneti érték alapján mindkét tagsági függvényre kiszámoljuk a tagsági értékeket µNMa és µZb és a kimeneti univerzumban a szabálynak megfelel� tagsági függvényen elvégzünk min(µNMa, µZb) értékkel egy alfa vágást. Ezeket a m�veleteket megismételjük mind a négy szabályra.

Ha a=NMa és b=Zb akkor c=NMc

a1 a2 a3 b6 b7 b5 b8 c3 c4 c5 c6

NMa PM Zc

a1 a2 a3 b6 b3 b4 b5 c1 c2 c3 c4

NMa Zb NMc

Page 7: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

XII. LABOR - Fuzzy logika

65

A négy szabály közül bármelyik érvényes lehet, tehát a kimeneti univerzum tagsági

függvényein elvégezett alfa vágatból származó részhalmazok egyesítéséb�l kapjuk, amint az alábbi ábrán látható, majd valamelyik típusú defuzzyfikálási algoritmust alkalmazva kiszámoljuk a kimenetet.

Deffuzyfikáló eljárások A súlypont módszer:

A kimen� értéket, a kapott fuzzy választerületeket, mint tömeget tekintve, kiszámítjuk a megfelel� er�k párhuzamos összetevéséb�l származó ered� er�t, amelynek a támadáspontjának c értéke a keresett defuzzyfikált érték.

Az alábbi ábrán látható egy példa.

Felez� módszer:

Annak a vertikális elválasztó vonalnak az ordináta pontját jelöli, mely vonal a fuzzy válasz idomot két egyenl� terület� részre osztja, mint ahogyan az az alábbi ábrán is látható.

c 78999 � 7�999 � 7�999 7�999 7�999

c1 c2 c6 c7 c3 c4 c5 c8

NMc NBc Zc PM PBc

a2 a3 a4 b6 b7 b5 b8 c3 c4 c5 c6

PMZa Zc

a2 a3 a4 b6 b3 b4 b5 c6 c7 c5 c8

Zb Za PMc

Page 8: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

Mesterséges Intelligencia Labor

66

Maximumok : Middle of Maximum[MOM], Smallest of Maximum[SOM], Largest

of Maximum [LOM] ezek az értékek néha egybe is eshetnek, de a következ� ábrán, mivel a maximum ténylegesen egy kompakt vízszintes határ, ezért a MOM, SOM és LOM különböz� értéket fog felvenni.

A maximum közepe (Center of Maximum COM):

VII. A Fuzzy Logic Toolbox rövid ismertetése A Matlab parancsablakába fuzzy utasítás beírása után megjelenik egy grafikus

felület, amely a fis változóban tárolt fuzzy szabályozó tulajdonságait mutatja:

Mint látható, a szabályozónak két bemenete és egy kimenete van, az ÉS operátort, valamint az implikációt a szorzás (prod), a VAGY operátort a maximum, a részkonklúziók egyesítését az összeadás (sum) m�veletekkel végezzük, a defuzzifikálást pedig a mean of maxima (maximumok középértéke) eljárással.

c

µc

COM

CMOM

c

µc

CSOCLO

cF

c

µc

Page 9: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

XII. LABOR - Fuzzy logika

67

A File menü parancsainak segítségével lehet betölteni ill. elmenteni egy fuzzy szabályozót, úgy lemezre, mint a Matlab változói közé. Innen indítható egy teljesen új szabályozó szerkesztése is.

Az Edit menü alatti utasításokkal adhatunk a szabályozónak további bemeneteket, illetve kimeneteket, és a fenti grafikus felületen kijelölt bemeneti vagy kimeneti változókat eltávolíthatjuk.

A View menüpont alatti parancsok lehet�séget nyújtanak 1. az egyes be/kimeneti változókhoz rendelt tagsági függvények szerkesztésére 2. a szabálybázis szerkesztésére 3. a szabályozó viselkedésének grafikus megjelenítésére különböz� bemeneti

értékek esetében 4. a bemenet-kimenet függvény hiperfelületének megjelenítésére Az alábbiakban ezek rövid részletezése következik: 1. Membership Function Editor

Az Edit menüpont parancsai szolgálnak új tagsági függvények hozzárendelésére,

illetve tagsági függvények eltávolítására. A „FIS Variables” felirat alatt a megfelel� változóra kattintva megjelennek az ahhoz rendelt tagsági függvények, illetve (a „Current variable” ablakrészben) a változó értelmezési tartománya. Egy tagsági függvény grafikonjára kattintva pedig a „Current membership function” ablakrész mutatja annak tulajdonságait. (Pl. „trimf”: háromszög-alakú tagsági függvény)

2. Rule Editor

Page 10: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

Mesterséges Intelligencia Labor

68

3. Rule Viewer

Ebben az ablakban látható a három szabály, az egyes szabályok premisszáinak

teljesülési értékei (körülbelül) az „Input” mez�ben megadható bemenet esetén, a részkonklúziók, azok egyesítése, végül pedig a kimeneti érték.

Surface Viewer

Itt látható a szabályozó kimenete a bemeneteinek függvényében. A felület

fromájából következtetni lehet arra, hogy a megírt szabályok helyesek-e vagy nem. Feladat

1) Tervezzünk egy fuzzy szabályzót, amely egy terem h�mérsékletét szabályozza. A rendszernek a két bemenete a h�mérséklet és a h�mérséklet-változás. A terem h�mérsékletét 0 és 30 fok között szeretnénk szabályozni. A rendelkezésünkre álló h�mér� egy folytonos feszültséget ad. 0 fokra az érzékel� 0 V-os feszültséget, míg 30 fokra 5 V-os feszültséget ad.

A végrehajtó egység egy szervomotor, amelynek segítségével szabályozzuk a h�cserél� kaloriferbe beáramló meleg víz hozamát.

• tervezzük meg a két bemeneti és kimeneti univerzumra a tagsági függvényeket • írjuk fel a szabálytáblázatot

Page 11: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy

XII. LABOR - Fuzzy logika

69

• különböz� bemeneti elempárokra különböz� típusú defuzzyifikáló eljárást alkalmazva számoljuk ki a szabályozó kimenetét

• milyen lehet�ségek vannak a szabályzó hangolására?

2) A rendelkezésünkre áll egy mérlegkar, amelynek két végén két egyenáramú motorral vezérelt propeller található. Egy interfészen keresztül a PC-r�l MATLAB programból szabályozni lehet a két motor fordulatszámát és mérni tudjuk a karnak a vízszintessel bezárt szögét. A feladat az lenne, hogy egy fuzzy szabályzó segítségével a kart egy el�írt szögre szabályozzuk. A szög beolvasására és a vezérl�jelek kiküldésére rendelkezésre áll egy adatgy�jt� kártya. Az adatgy�jt� kártya két analóg kimenetén vezéreljük az egyenáramú motorok fordulatszámát, és egy analóg bemeneti csatornán beolvassuk a kar állását. A rendszer inicializálásához és az adatcséréhez szükséges MATLAB függvények egy példaprogramban érhet�ek el.

Használva a MATLAB fuzzy következtet� rendszerének vizuális tervez�felületét, készítsünk el egy fuzzy szabályzót, amely a kart egy el�írt értékre szabályozza.

Mi kell legyen a szabályzó bemenete, ha egy követ� szabályzót szeretnénk megtervezni?

Ábrázoljuk grafikusan a rendszer válaszát.

Page 12: XII. LABOR - Fuzzy logikaprimeranks.net/yeti/University/III ev/II felev/Mesterseges...XII. LABOR - Fuzzy logika 59 XII. LABOR - Fuzzy logika A gyakorlat célja elsajátítani a fuzzy