home our vendors about us contacts knowledge base english


Fuzzy logic - egyszerűen

Füle Sándor, 2001.06.20.


Gyakran halljuk emlegetni a "fuzzy logic" kifejezést, de sokak számára nem teljesen világos, mit is takar ez a fogalom.

Előre kell bocsájtanom, hogy a fuzzy logic semmit nem szabályoz, nem állít be, hanem egyszerűen egy matematikai eszköz, amit egy matematikus, Lotfi Zadeh 1965-ös publikációjában vezetett be. A módszer a bináris algebrát bővíti ki a való élet bizonytalanságainak kezelése céljából. Zadeh kifejtette az alapelveket, és levezette az alapvető szabályokat. Ennyi. Az elmélet magyar neve: Minősítő halmazelmélet.

Nincsen magyar disztribútora... Az elv:
A magamfajta egyszerű elméjű embernek legkönnyebb, ha mondanivalóját egy példán keresztül mutatja be. Vegyünk például egy nyomáskapcsolót (jele: PS1), ami 0...4 bar között szakadást, 4....8 bar között rövidzárat, 8 bar fölött megint szakadást ad. Igazándiból ez két db sorbakötött nyomáskapcsoló közös tokban. Van ilyen mechanikusban és elektronikusban is. (Hölgytársaságban ezt csakis ablak-komparátornak nevezzük, mert olyan tudományosan hangzik, hogy még profitálhatunk belőle :o)


Vegyünk még egy ilyen kapcsolót (jele: PS2), de ez 9...12 bar között adjon rövidzárat. A két kapcsolót kössük párhuzamosan! Az eredő kimeneti jelalak a baloldalon látható.


Tisztában kell lennünk azzal, hogy egy 9 bar-ra beállított nyomáskapcsoló nem mindig (vagy talán soha nem) pontosan 9 bar-nál kapcsol. A való élet tele van ilyen bizonytalansággal. Ezt kellene leképezni a matematikában is. A Boole algebra csak két állapotot ismer (igen-nem), ezért bináris aggyal gondolkodva a két nyomáskapcsolónk soha nem fog egyidőben bekapcsolni. Ugye milyen soxor nem is készítjük fel a berendezésünket arra az esetre ha mégis...

Zadeh mester az igen-nem elemkészletet kibővíti az "esetleg" kategóriával. Nézzük meg az ő szemével a 2. ábránkat! A vízszintes tengelyen a nyomás, a függőlegesen a kapcsoló bekapcsolt állapotának valószinűsége legyen.
Hoppá! van egy nyomástartomány (kék kitöltés), ahol mindkettő be LEHET kapcsolva!


Fuzzy fogalmak:

Tagság:
Azt dönti el, hogy egy érték tagja-e egy fuzzy "halmaznak". Boole esetben a tagság egyszerű volt: 4 < PS1 < 8 vagy 9 < PS2 < 12 azaz egy érték vagy eleme a halmaznak vagy nem.
Fuzzy szemlétettel bonyolultabb a helyzet: Vannak nyomásértékek melyek:
- nem tagjai PS1-nek (Amelyekre biztosan nem kapcsol be)
- részleges tagjai PS1-nek (Amelyekre talán bekapcsol)
- teljes tagjai PS1-nek (Amelyekre biztosan bekapcsol)

Tagsági fok (µ):
Értéke 0...1 között lehet:
- Ha µ=0, az adott érték nem tagja PS1 halmaznak
- Ha µ=1, az adott érték teljes tagja PS1 halmaznak
- Ha 0 < µ < 1, az adott érték részleges tagja PS1 halmaznak.

Innentől kezdve sok párhuzamot találunk a halmazművelekkel:
Klasszikus FUZZY
halmaz eleme
halmazok uniója
halmaz negáltja
minimum
maximum
negált


Hogyan használjuk ?
Egy fuzzy algoritmus felépítése négy lépcsőből áll:
- Fuzzyfikálás: (Bocsánat, nem tudok magyar megfelelőt.) Meghatározzuk az egyes input paraméterek tagsági fokát.
- Következtetés: Minden egyes kimenetre bemenetenként fel kell írni azokat a szabályokat melyek azt a fuzzyifikált bemenetek egyes értékeinek megfelelően létrehozzák.
- Összeépítés: Az egyes kimenetek esetében egy halmazba össze kell fogni az összes szabályt, mely hat rá.
- Visszaalakítás: A kapott matematikai eredményt vissza kell alakítani analóg vagy kétállapotú jelekké.

A fuzzy logic felhasználható akár PID, modell, vagy neurális háló jellegű algoritmusok létrehozására. A szabályozást tehát nem a fuzzy logic elv végzi, csak a működési szabályok leírására használjuk azt.

A Yahoo keresőjébe beütve a "fuzzy logic" kifejezést óriási listát kapunk. Meglepő lehet, hogy a világban milyen sok ember teljes munkaidejét minősítő logikán alapuló megoldások fejlesztésével, kereskedelmével, alkalmazásával tölti. Mielőtt ön bármilyen fuzzy logic fejlesztésbe fogna, alaposan nézzen szét a net-en, mert erre fokozottan igaz:

"Ami nekünk forradalmi ötlet, azt már legalább ketten megcsinálták és féláron árulják a Neten."