Fuzzy logika a vezérlőrendszerekben
Fuzzification (átmenet fuzziness)
A bemeneti változók pontos értékeit a nyelvi változók értékekké konvertálják a fuzzy halmazok elméletének egyes rendelkezései alkalmazásával, nevezetesen bizonyos tagsági funkciók használatával.
Tekintsük ezt a szakaszt részletesebben. Először is bemutatjuk a "nyelvi változó" és a "tagsági funkció" fogalmát.
A fuzzy logikában bármely mennyiség értékét nem ábrázolják számok, hanem természetes nyelv szavak és THERM-ek. Így a DISTANCE nyelvi változó értéke a FAR, CLOSE, stb.
Természetesen egy nyelvi változó megvalósításához meg kell határozni feltételeinek pontos fizikai értékeit. Tegyük például, hogy a REMOTE változó 0 és 60 méter között bármilyen értéket vehet fel. Hogyan kell eljárnunk? Értelmében a az elmélet a fuzzy készletek, mindegyik távolság értéket a tartományban a 60 méter lehet társítva bizonyos számú nulla és egy közötti, amely meghatározza a mértékét tagság egy adott fizikai távolság értéket (például, 10 méter), hogy egy adott kifejezést a nyelvi változtatható távolság. Ebben az esetben a távolság 50 méter, akkor adja meg a mértékét hovatartozást távú FAR 0,85, valamint a költségek közel - 0,15. A hozzátartozás mértéke konkrét meghatározása csak akkor lehetséges, ha szakértőkkel dolgozik. A nyelvi változó feltételeinek megvitatásakor érdekes becslést adni arra vonatkozóan, hogy egy változó hány kifejezése szükséges a fizikai mennyiség kellően pontos ábrázolásához. Jelenleg úgy vélem, hogy a legtöbb alkalmazás esetében 3-7 különböző változó esetén elegendő. A kifejezések számának minimális értéke teljesen indokolt: egy ilyen definíció két szélsőséget (minimum és maximum) és középértéket tartalmaz. A legtöbb alkalmazásnál ez elég. Ami a maximális számú feltételt illeti, ez nem korlátozott, és teljes mértékben attól függ, hogy milyen alkalmazás és a rendszer pontos leírása szükséges. A 7-es szám a rövid távú emberi emlékezet kapacitásának köszönhető, amelyben a modern ötletek szerint legfeljebb hét információ tárolható.
Összefoglalva, két tippet adunk, amelyek segítenek meghatározni a kifejezések számát:
n Kezdjük a feladattal és a leírás szükséges pontosságával, ne feledjük, hogy a legtöbb alkalmazásnál elegendő, ha a változóban három kifejezés szerepel;
n a rendszer működőképes szabályainak összeállításához egyértelműnek kell lennie, nem kell jelentős nehézségeket tapasztalnia fejlődésük során; egyébként, ha nincs elég szókincs, akkor növelje a számukat.
Amint már említettük, minden egyes pontos értéknek a nyelvi változó egyik feltételhez való kötődését a tagsági függvény határozza meg. Megjelenése teljesen önkényes lehet. Most már az úgynevezett szabványos tagsági funkciók képződtek (lásd a 3. ábrát).

A szabványos tagsági funkciók könnyen alkalmazhatók a legtöbb probléma megoldására. Ha azonban meg kell oldania egy adott problémát, kiválaszthatja a tagsági funkció megfelelőbb formáját, miközben jobb rendszerszintű teljesítményt érhet el, mint a normál nézetben.
Lássuk össze a fuzzifikáció színpadát, és adjunk egyfajta algoritmust a probléma formalizálására a fuzzy logika tekintetében.
1. lépés: A megszerzett nyelvi változó minden egyes kifejezéséhez keresse meg a kifejezés legjobban leírható számértéket vagy értéktartományt. Mivel ez az érték vagy értékek a kifejezésünk "prototípusai", a tagsági funkció egyetlen értékét választjuk ki számukra.
2. lépés: Miután meghatározta az értékeket egy tagsággal, meg kell határoznia a paraméter értékét a "0" tagsággal. Ezt az értéket az "1" tagság értékeként lehet kiválasztani egy másik kifejezésre a korábban meghatározott számtól.
3. lépés: A szélső értékek meghatározása után meg kell határoznia a köztes értékeket. Számukra az n- vagy az A-funkciókat a standard tagsági funkciók közül választják ki.
4. lépés: A paraméter szélső értékeinek megfelelő értékek kiválasztása esetén az S- vagy Z-tagsági funkciók kerülnek kiválasztásra.
Ha sikerül leírnod ezt a feladatot előtte, akkor már a fuzziness világába merülsz. Most szükséged van valamire, ami segít megtalálni a megfelelő utat ebben a labirintusban. Ez az útmutató talán a fuzzy szabályok alapja. Az összeállításuk módszereit az alábbiakban ismertetjük.
A fuzzy szabályok kidolgozása
Ebben a szakaszban meghatározzák a nyelvi változókat összekapcsoló termelési szabályokat. Az ilyen szabályok egy csoportja leírja az ebben a feladatban alkalmazott ellenőrzési stratégiát.
A legtöbb fuzzy rendszer a termelési szabályokat használja a nyelvi változók közötti függőségek leírására. Egy tipikus gyártási szabály előzmény (rész IF ...) és következménye (részének TO ...). Az előzmény több parcellát is tartalmazhat. Ebben az esetben a logikai AND és OR kapcsolatok kombinálják őket.
A fuzzy szabály kiszámításának folyamatát fuzzy logikai következtetésnek nevezik, és két szakaszra oszlik: általánosság és következtetés.
Tegyük fel, hogy van a következő szabály:
HA REMOTE = KÖZEPES ÉS
ANGLE = kicsi. THEN POWER = átlag.
Utalva a példa a konténer daru és megvizsgálja a helyzetet, amikor a távolság a platform 20 méter, a hajlásszöge és a tartályt a daru kötél egyenlő négy fok. Miután fuzzification megkapjuk az eredeti adatokat, a mértéke a távolság 20 méter tartozó kifejezés egy nyelvi változó távolságra MEDIUM 0,9 és mértékét tagság a szög 4 fok a kifejezés egy nyelvi változó CORNER KIS 0.8.
A következtetés első lépéseként meg kell határozni a szabály előzményeihez való tartozás mértékét. Ehhez két operátor van a fuzzy logikában: MIN (...) és MAX (...). Az első számítja ki a tartozás mértékének minimális értékét, a második pedig a maximális értéket. Mikor alkalmazza ezt vagy az üzemeltetőt, attól függ, hogy mely csomagban vannak a parcellák a szabályban. Ha az AND-ot használja, használja a MIN (...) operátort. Ha a parcellákat egy VAGY karaktersorozat egyesíti, használnia kell a MAX operátort (...). Nos, ha csak egy előfeltétel található a szabályban, az üzemeltetőknek egyáltalán nincs szükségük. Példánk esetében a MIN (...) operátort alkalmazzuk, mivel az I. kapcsolatot használjuk. Az alábbiakat kapjuk:
Következésképpen az ilyen szabály előzményeihez való tartozás mértéke egyenlő 0,8-mal. A fent leírt műveleteket mindegyik szabályra feldolgozzuk a fuzzy szabályok alapján.
A következő lépés a tényleges következtetés vagy következtetés. Hasonlóképpen, a MIN / MAX operátorok segítségével számítják ki az ennek következményeit. A kezdeti adatok az előző lépésben számított szabályok előzményeihez való tartozás mértékének értékei.
Miután végrehajtotta a fuzzy kimenet összes lépését, megtaláljuk a szabályzó változó fuzzy értékét. Annak érdekében, hogy a végrehajtó eszköz ki tudja dolgozni a kapott parancsot, szükség van egy vezérlési fázisra, amelyen megszabadulunk a fuzzinesstől, és amelyet defuzzifikációnak nevezünk.
Defuzzatio (a homályosság megszüntetése)
Ebben a szakaszban az értékek fuzzy értékéről bizonyos fizikai paraméterekre történő áttérés, amelyek a végrehajtó eszközhöz parancsokként szolgálhatnak.
A fuzzy következtetés eredménye természetesen fuzzy lesz. A daru példájánál a daru villamos motorjának parancsát a MID (teljesítmény) fogalmazza meg, de a végrehajtó eszközön semmit sem jelent.
A végeredmény homályosságának kiküszöbölésére számos módszer létezik. Nézzük meg néhányat. A rövidítés, amely a módszer neve után áll, az angol megfelelője rövidítéséből származik.