fuzzy logika. Učíme „elektronické mozgy“ myslieť ako človek. Základy teórie fuzzy množín a fuzzy logiky

  • 01.09.2019

fuzzy logika (fuzzy logika) vznikol ako najpohodlnejší spôsob budovania zložitých technologických procesov a našiel uplatnenie aj v spotrebnej elektronike, diagnostických a iných expertných systémoch. Matematický aparát fuzzy logiky bol prvýkrát vyvinutý v USA v polovici 60. rokov minulého storočia a aktívny rozvoj tejto metódy sa začal v Európe.

Klasická logika sa rozvíjala od staroveku. Aristoteles je považovaný za jeho zakladateľa. Logika je nám známa ako rigorózna veda, ktorá má mnoho aplikácií: napríklad princíp fungovania všetkých moderných počítačov je založený na ustanoveniach klasickej (booleovskej) logiky. Klasická logika má zároveň jednu významnú nevýhodu - s jej pomocou nie je možné primerane opísať asociatívne myslenie človeka. Klasická logika pracuje iba s dvoma pojmami: TRUE a FALSE (logická 1 alebo 0) a bez akýchkoľvek medziľahlých hodnôt. To všetko je dobré pre počítače, no skúste si celý svet okolo seba predstaviť len čiernobielo, navyše z jazyka vylúčte akékoľvek odpovede na iné otázky ako ÁNO a NIE. V takejto situácii môžete len sympatizovať.

Tradičná matematika so svojimi presnými a jednoznačnými formuláciami zákonitostí vychádza aj z klasickej logiky. A keďže je to zasa matematika, je to univerzálny nástroj na popis javov okolitého sveta vo všetkých prírodných vedách (fyzika, chémia, biológia atď.) a ich aplikáciách (napríklad teória merania, teória riadenia, atď.) .), nie je prekvapujúce, že všetky tieto vedy pracujú s matematicky presnými údajmi, ako napríklad: "priemerná rýchlosť auta na 62 km dlhom úseku cesty bola 93 km/h." Ale naozaj človek rozmýšľa v takýchto kategóriách? Predstavte si, že rýchlomer vo vašom aute je nefunkčný. Znamená to, že odteraz ste zbavení schopnosti odhadnúť rýchlosť svojho pohybu a nie ste schopní odpovedať na otázky typu „dostali ste sa včera rýchlo domov?“. Samozrejme, že nie. S najväčšou pravdepodobnosťou v reakcii na niečo, čo zadáte, poviete: „Áno, celkom rýchlo.“ V skutočnosti pravdepodobne odpoviete rovnakým spôsobom, aj keď bol rýchlomer vášho auta v úplnom poriadku, pretože keď cestujete, nemáte vo zvyku neustále sledovať jeho hodnoty v reálnom čase. To znamená, že v našom prirodzenom myslení vo vzťahu k rýchlosti máme tendenciu nepracovať s presnými hodnotami v km/h alebo m/s, ale s približnými odhadmi ako: „pomaly“, „stredne“, „rýchlo“ a nespočetné poltóny a medziodhady: „ťahal ako korytnačka“, „kotúľal sa pomaly“, „nedostal sa z prúdu“, „jazdil dosť rýchlo“, „rútil sa ako blázon“ atď.

Ak sa pokúsime vyjadriť naše intuitívne predstavy o rýchlosti graficky, dostaneme niečo ako obrázok nižšie.

Tu po osi X hodnoty rýchlosti sú vykreslené v tradičnom prísnom matematickom zápise a pozdĺž osi Y- tzv. členská funkcia (zmení sa z 0 na 1) presná hodnota rýchlosti do fuzzy množina , označené jednou alebo druhou hodnotou jazyková premenná „rýchlosť“: veľmi nízka, nízka, stredná, vysoká a veľmi vysoká. Tieto gradácie (granule) môžu byť menšie alebo väčšie. Čím väčšia je zrnitosť fuzzy informácie, tým viac sa približuje k matematicky presnému odhadu (nezabúdajme, že informácia o meraní vyjadrená v tradičnej forme má vždy nejakú chybu, a preto je v určitom zmysle aj fuzzy). Tak napríklad hodnota rýchlosti 105 km/h patrí do fuzzy množiny „vysoká“ s hodnotou funkcie príslušnosti 0,8 a do množiny „veľmi vysoká“ s hodnotou 0,5.

Ďalším príkladom je odhadovanie veku človeka. Často nemáme absolútne presné informácie o veku tej či onej osoby, ktorú poznáme, a preto pri odpovedi na zodpovedajúcu otázku sme nútení poskytnúť nejasné hodnotenie typu: „má 30 rokov“ alebo „má sa dobre“. nad 60“ atď. Hodnoty lingvistickej premennej „vek“ ako: „mladý“, „stredný vek“, „starý“ atď. Obrázok nižšie ukazuje graficky možný pohľad na fuzzy množinu „vek = mladý" (samozrejme z pohľadu človeka, ktorý nemá viac ako 20 rokov ;)

Fuzzy čísla získané ako výsledok „nie celkom presných meraní“ sú v mnohých ohľadoch podobné (ale nie identické! Pozri príklad s dvoma fľaškami) distribúciám teórie pravdepodobnosti, ale nemajú nevýhody, ktoré sú s tým spojené: malý počet distribučných funkcií vhodných na analýzu, potreba ich vynútenej normalizácie, súlad s požiadavkami na aditívnosť, náročnosť zdôvodnenia primeranosti matematickej abstrakcie na popis správania skutočných hodnôt. V porovnaní s exaktnými a najmä pravdepodobnostnými metódami môžu fuzzy metódy merania a riadenia drasticky znížiť množstvo vykonávaných výpočtov, čo následne vedie k zvýšeniu rýchlosti fuzzy systémov.

Ako už bolo uvedené, príslušnosť každej presnej hodnoty k jednej z hodnôt jazykovej premennej sa určuje pomocou funkcie členstva. Jeho vzhľad môže byť úplne ľubovoľný. Teraz sa vytvoril koncept takzvaných štandardných funkcií členstva (pozri obrázok nižšie).

Štandardné funkcie členstva sú ľahko použiteľné pri riešení väčšiny problémov. Ak však musíte riešiť konkrétny problém, môžete si zvoliť vhodnejšiu formu členskej funkcie a dosiahnuť tak lepší výkon systému ako pri použití funkcií štandardného formulára.

Nazýva sa proces konštrukcie (grafickej alebo analytickej) funkcie príslušnosti presných hodnôt k fuzzy množine fuzzifikácia údajov.

2.1 Základné pojmy fuzzy logiky

Ako bolo spomenuté v predchádzajúcich kapitolách, klasická logika pracuje iba s dvoma pojmami: „pravda“ a „nepravda“ a vylučuje akékoľvek medzihodnoty. Podobne booleovská logika nepozná nič iné ako 1 a 0.

Fuzzy logika je založená na použití obratov prirodzeného jazyka. Osoba sama určí požadovaný počet termínov a každému z nich priradí určitú hodnotu opísanej fyzikálnej veličiny. Pre túto hodnotu bude stupeň príslušnosti fyzikálnej veličiny k termínu (slovu prirodzeného jazyka, ktoré charakterizuje premennú) rovný jednej a pre všetky ostatné hodnoty v závislosti od zvolenej funkcie príslušnosti.

Pomocou fuzzy množín je možné formálne definovať nepresné a nejednoznačné pojmy, ako napríklad „vysoká teplota“, „mladý muž“, „stredná výška“ alebo „veľké mesto“. Pred formulovaním definície fuzzy množiny je potrebné definovať takzvaný vesmír diskurzu. V prípade nejednoznačného pojmu „veľa peňazí“ bude jedna suma uznaná ako veľká, ak sa obmedzíme na rozsah, a úplne iná v rozsahu.

Lingvistické premenné:

Lingvistická premenná je premenná, ktorá používa jazykové hodnoty, ktoré vyjadrujú kvalitatívne hodnotenia, alebo fuzzy čísla. Príkladom lingvistickej premennej môže byť rýchlosť alebo teplota, príkladom lingvistickej hodnoty je charakteristika: veľká, stredná, malá, príkladom fuzzy čísla je hodnota: asi 5, asi 0.

Lingvistický termínový súbor je súbor všetkých jazykových hodnôt používaných na definovanie nejakej jazykovej premennej. Rozsah premennej je množina všetkých číselných hodnôt, ktoré môže nadobudnúť určitý parameter skúmaného systému, alebo množina hodnôt, ktoré sú významné z hľadiska riešeného problému.

Fuzzy sady:

Nech je to univerzálny súbor, je prvkom a je nejaký majetok. Pravidelná (jasná) podmnožina univerzálna sada , ktorého prvky uspokojujú vlastnosť , sú definované ako množina usporiadaných párov
,kde
je charakteristická funkcia, ktorá nadobúda hodnotu 1, ak spĺňa danú vlastnosť, a 0 v opačnom prípade.

Fuzzy podmnožina sa líši od bežnej podmnožiny prvkov od neexistuje žiadna definitívna odpoveď áno-nie týkajúca sa nehnuteľnosti. V tomto ohľade fuzzy podmnožina univerzálnej množiny definované ako množina usporiadaných párov
, kde
je charakteristická funkcia členstva, ktorá nadobúda hodnoty v nejakej usporiadanej množine (napr.
). Funkcia členstva udáva stupeň príslušnosti prvku veľa . Veľa
nazývaný súbor príslušenstva. Ak
, potom možno fuzzy množinu považovať za obyčajnú sviežu množinu.

Veľa vesmírnych prvkov
, pre ktoré
, sa nazýva nositeľ fuzzy množiny a označené supp A:

Fuzzy nastavená výška definovaný ako

fuzzy množina sa nazýva normálne vtedy a len vtedy
. Ak je fuzzy množina nie je normálne, potom ho možno normalizovať pomocou transformácie

,

kde
je výška tejto sady.

fuzzy množina
, je konvexný práve vtedy, ak pre ľubovoľný
A
kondícia

2.1.1 Operácie na fuzzy množinách

Začlenenie. Nechať byť A ‒ fuzzy množiny na univerzálnej množine . To hovoria obsiahnuté v , ak

Rovnosť. a rovný ak

Doplnenie. Nechať byť
,A sú fuzzy množiny definované na .A dopĺňajú sa ak

križovatka.
je najväčšia fuzzy podmnožina súčasne obsiahnutá v A :

únie.
je najväčšia fuzzy podmnožina obsahujúca všetky prvky z A :

Rozdiel.
‒ podmnožina s funkciou členstva:

2.1.2 Fuzzy vzťahy

Nechať byť
je priamym produktom univerzálnych súprav a
- nejaká súprava príslušenstva. Fuzzy n-árny vzťah je definovaný ako fuzzy podmnožina na , ktorá preberá svoje hodnoty v
. Kedy
A
fuzzy postoj medzi sadami
A
funkcia sa zavolá
, ktorý mapuje každú dvojicu prvkov
hodnotu
.

Nechať byť ‒ neostrý postoj
medzi
A , A fuzzy vzťah
medzi A . Fuzzy vzťah medzi
A , označené
, definované prostredníctvom A výraz sa nazýva skladba vzťahov A .

Fuzzy implikácia.

Fuzzy implikácia je pravidlo v tvare: IF
POTOM
,kde
je podmienkou, a
- záver a A ‒ fuzzy množiny definované ich funkciami príslušnosti
,
a domény
,resp. Implikácia je označená ako
.

Rozdiel medzi klasickou a fuzzy implikáciou je v tom, že v prípade klasickej implikácie môžu byť podmienka a záver buď absolútne pravdivé alebo absolútne nepravdivé, zatiaľ čo pre fuzzy implikáciu môžu byť čiastočne pravdivé s hodnotou patriacou do intervalu . Tento prístup má množstvo výhod, pretože v praxi sa zriedkavo vyskytujú situácie, keď sú podmienky pravidiel úplne splnené, a preto nemožno predpokladať, že záver je absolútne pravdivý.

Vo fuzzy logike existuje veľa rôznych implikačných operátorov. Všetky dávajú rôzne výsledky, ktorých miera účinnosti závisí najmä od modelovaného systému. Jedným z najbežnejších implikačných operátorov je Mamdaniho operátor, ktorý vychádza z predpokladu, že stupeň pravdivosti záveru
nemôže byť vyššia ako miera splnenia podmienky
:

2.2 Budovanie fuzzy systému

Z vývoja umelej inteligencie získali expertné systémy stabilné uznanie ako systémy na podporu rozhodovania. Sú schopní akumulovať vedomosti získané osobou v rôznych oblastiach činnosti. Pomocou expertných systémov je možné riešiť mnohé moderné problémy, vrátane problémov manažmentu. Jednou z hlavných metód reprezentácie znalostí v expertných systémoch sú produkčné pravidlá, ktoré umožňujú priblížiť sa štýlu ľudského myslenia. Obvykle sa produkčné pravidlo zapisuje takto: „AK (predpoklad) (odkaz) (predpoklad) ... (predpoklad) POTOM (záver).“ V pravidle môže byť niekoľko premis, v takom prípade sa kombinujú pomocou logické spojky „A“, „ALEBO“ .

Fuzzy systémy (NS) sú tiež založené na pravidlách typu produkcie, avšak lingvistické premenné sa používajú ako predpoklad a záver v pravidle, čo umožňuje vyhnúť sa obmedzeniam, ktoré sú vlastné klasickým pravidlám produkcie.

Fuzzy systém je teda systém, ktorého charakteristika popisu je:

fuzzy špecifikácia parametrov;

fuzzy popis vstupných a výstupných premenných systému;

fuzzy popis fungovania systému na základe produkčných pravidiel „AK...POTOM...“.

Najdôležitejšou triedou fuzzy systémov sú fuzzy riadiace systémy (FCS).Jednou z najdôležitejších súčastí FCS je báza znalostí, čo je súbor fuzzy pravidiel „AK-POTOM“, ktoré určujú vzťah medzi vstupmi a výstupmi skúmaný systém. Existujú rôzne typy fuzzy pravidiel: lingvistické, relačné, model Takagi-Sugeno atď.

Pre mnohé aplikácie súvisiace s riadením procesov je potrebné zostaviť model posudzovaného procesu. Znalosť modelu vám umožňuje vybrať vhodný ovládač (riadiaci modul). Zostaviť správny model je však často zložitý problém, ktorý si niekedy vyžaduje zavedenie rôznych zjednodušení. Aplikácia teórie fuzzy množín na riadenie procesov neznamená znalosť modelov týchto procesov. Je len potrebné formulovať pravidlá správania vo forme fuzzy podmienených výrokov typu „AK-POTOM“.

Obrázok 2.1 -. Štruktúra fuzzy riadiaceho systému

Proces riadenia systému priamo súvisí s výstupnou premennou fuzzy riadiaceho systému, ale výsledok fuzzy inferencie je fuzzy a fyzikálny pohon nie je schopný prijať takýto príkaz. Na to, aby bolo možné prejsť od fuzzy hodnôt veličín k dobre definovaným, sú potrebné špeciálne matematické metódy. Vo všeobecnosti možno celý proces fuzzy riadenia rozdeliť do niekoľkých etáp: fuzzifikácia, vývoj fuzzy pravidiel a defuzzifikácia.

Fuzzifikácia znamená prechod k neostrosti. V tejto fáze sa presné hodnoty vstupných premenných konvertujú na hodnoty jazykových premenných použitím niektorých ustanovení teórie fuzzy množín, konkrétne pomocou určitých funkcií príslušnosti.

Vo fuzzy logike nie sú hodnoty akejkoľvek veličiny reprezentované číslami, ale slovami prirodzeného jazyka a nazývajú sa „termíny“. Hodnota lingvistickej premennej „Vzdialenosť“ sú teda výrazy „Ďaleko“, „Zavrieť“ atď. Na implementáciu lingvistickej premennej je potrebné určiť presné fyzikálne hodnoty jej pojmov. Povedzme, že premenná „Vzdialenosť“ môže nadobúdať ľubovoľnú hodnotu z rozsahu od 0 do 60 metrov. Podľa teórie fuzzy množín možno každej hodnote vzdialenosti z rozsahu 60 metrov priradiť určité číslo, od nuly po jednotku, ktoré určuje mieru príslušnosti danej hodnoty fyzickej vzdialenosti (povedzme 10 metrov) k jednej resp. iný výraz jazykovej premennej „Vzdialenosť“ . Potom je možné vzdialenosti 50 metrov priradiť stupeň príslušnosti k pojmu "Ďaleko", rovný 0,85 a k pojmu "Close" - 0,15. Pri otázke, koľko výrazov v premennej je potrebných na primerane presnú reprezentáciu fyzikálnej veličiny, sa všeobecne uznáva, že pre väčšinu aplikácií postačuje 3 až 7 výrazov na premennú. Väčšina aplikácií je dosť obmedzená na použitie minimálneho počtu výrazov. Takáto definícia obsahuje dve extrémne hodnoty (minimum a maximum) a priemer. Pokiaľ ide o maximálny počet termínov, nie je obmedzený a závisí výlučne od aplikácie a požadovanej presnosti popisu systému. Číslo 7 má na svedomí kapacita krátkodobej pamäte človeka, v ktorej je možné podľa moderných koncepcií uložiť až sedem jednotiek informácií.

Príslušnosť každej presnej hodnoty k jednému z členov lingvistickej premennej sa určuje pomocou funkcie príslušnosti. Jeho forma môže byť absolútne ľubovoľná, no sformoval sa koncept takzvaných štandardných členských funkcií

Obrázok 2.2 - Štandardné funkcie členstva

Štandardné funkcie členstva sú ľahko použiteľné pri riešení väčšiny problémov. Ak však musíte riešiť konkrétny problém, môžete si zvoliť vhodnejšiu formu členskej funkcie a dosiahnuť tak lepší výkon systému ako pri použití funkcií štandardného formulára.

Ďalšou fázou je fáza vývoja fuzzy pravidiel.

Definuje produkčné pravidlá spájajúce lingvistické premenné. Väčšina fuzzy systémov používa produkčné pravidlá na opis závislostí medzi lingvistickými premennými. Typické produkčné pravidlo pozostáva z predchodcu (časť IF...) a následku (časť THEN...). Predchodca môže obsahovať viac ako jeden predpoklad. V tomto prípade sú kombinované pomocou logických spojok "AND" alebo "ALEBO".

Proces výpočtu fuzzy pravidla sa nazýva fuzzy inferencia a delí sa na dve fázy: zovšeobecnenie a záver.

Nech platí nasledujúce pravidlo:

AK "Vzdialenosť" = stredná A "Uhol" = malý, POTOM "Výkon" = stredný.

V prvom kroku dedukcie je potrebné určiť stupeň príslušnosti celého predchodcu pravidla. Na tento účel sú vo fuzzy logike dva operátory: Min(...) a Max(...). Prvý počíta minimálnu hodnotu stupňa členstva a druhý počíta maximálnu hodnotu. Kedy použiť ten či onen operátor, závisí od toho, s akým prepojením sú parcely v pravidle spojené. Ak sa použije prepojenie „AND“, použije sa operátor Min(...). Ak sú balíky spojené s odkazom „Alebo“, je potrebné použiť operátor Max(...). No, ak je v pravidle len jeden predpoklad, operátori nie sú vôbec potrební.

Ďalším krokom je skutočný záver alebo záver. Podobne sa hodnota následku vypočíta pomocou operátorov Min/Max. Počiatočné údaje sú hodnoty stupňov členstva predchodcov pravidiel vypočítané v predchádzajúcom kroku.

Po dokončení všetkých krokov fuzzy inferencie nájdeme fuzzy hodnotu riadiacej premennej. Aby výkonné zariadenie dokázalo spracovať prijatý príkaz, je potrebný riadiaci stupeň, pri ktorom sa zbavíme neostrosti a ktorý sa nazýva defuzzifikácia.

Vo fáze defuzzifikácie sa uskutočňuje prechod od fuzzy hodnôt veličín k určitým fyzikálnym parametrom, ktoré môžu slúžiť ako príkazy aktuátoru.

Výsledok fuzzy inferencie bude, samozrejme, fuzzy. Napríklad, ak hovoríme o ovládaní mechanizmu a príkaz pre elektromotor bude reprezentovaný pojmom „Average“ (výkon), potom to pre pohon neznamená absolútne nič. V teórii fuzzy množín je postup defuzzifikácie podobný ako hľadanie polohových charakteristík (matematické očakávanie, mód, medián) náhodných premenných v teórii pravdepodobnosti. Najjednoduchším spôsobom vykonania procedúry defuzzifikácie je výber jasného čísla zodpovedajúceho maximu funkcie príslušnosti. Vhodnosť tejto metódy je však limitovaná len extrémnymi funkciami príslušnosti. Na odstránenie neostrosti konečného výsledku existuje niekoľko metód: metóda maximálneho stredu, metóda maximálnej hodnoty, metóda ťažiska a iné. Pri multiextrémnych funkciách príslušnosti sa najčastejšie využíva defuzzifikácia nájdením ťažiska plochého útvaru ohraničeného súradnicovými osami a funkciou príslušnosti.

2.3. Fuzzy inferenčné modely

Fuzzy logická inferencia je aproximáciou závislosti „vstup-výstup“ na základe lingvistických výrokov ako „AK-POTOM“ a operácií na fuzzy množinách. Fuzzy model obsahuje nasledujúce bloky:

‒ fuzzifier, ktorý transformuje fixný vektor ovplyvňujúcich faktorov X na vektor fuzzy množín potrebné na vykonanie fuzzy inferencie;

‒ fuzzy báza znalostí obsahujúca informácie o závislosti
vo forme jazykových pravidiel typu „AK-POTOM“;

‒ fuzzy inferenčný stroj, ktorý na základe pravidiel znalostnej bázy určuje hodnotu výstupnej premennej vo forme fuzzy množiny zodpovedajúce fuzzy hodnotám vstupných premenných ;

‒ defuzzifier, ktorý transformuje výstupnú fuzzy množinu do jasného čísla Y.

Obrázok 2.3 - Štruktúra fuzzy modelu.

2.3.1 Fuzzy model typu Mamdani

Tento algoritmus popisuje niekoľko po sebe nasledujúcich etáp. V tomto prípade každý nasledujúci stupeň dostane ako vstup hodnoty získané v predchádzajúcom kroku.

Obrázok 2.4 - Schéma aktivity procesu fuzzy inferencie

Algoritmus je pozoruhodný tým, že funguje na princípe „čiernej skrinky“. Kvantitatívne hodnoty prichádzajú na vstupe, sú rovnaké na výstupe. V medzistupňoch sa využíva aparát fuzzy logiky a teória fuzzy množín. Toto je elegancia používania fuzzy systémov. Môžete manipulovať so známymi numerickými údajmi, no zároveň využívať flexibilitu, ktorú poskytujú fuzzy inferenčné systémy.

V modeli typu Mamdani je vzťah medzi vstupmi X = (x 1 , x 2 ,…, x n) a výstupom y určený fuzzy bázou znalostí v nasledujúcom formáte:

,

kde
- lingvistický výraz, ktorý hodnotí premennú x i v riadku s číslovkou
;
), kde - počet reťazcov-konjunkcií, v ktorých je výstup hodnotené lingvistickým termínom ;
- počet termínov použitých na lingvistické vyhodnotenie výstupnej premennej .

Pomocou operácií ∪(OR) a ∩(AND) možno fuzzy bázu znalostí prepísať do kompaktnejšej podoby:

(1)

Všetky lingvistické termíny v znalostnej báze (1) sú reprezentované ako fuzzy množiny definované príslušnými funkciami príslušnosti.

Fuzzy znalostnú bázu (1) možno interpretovať ako nejaké rozdelenie priestoru ovplyvňujúcich faktorov na subdomény s fuzzy hranicami, z ktorých každá funkcia odozvy nadobúda hodnotu špecifikovanú príslušnou fuzzy množinou. Pravidlom v znalostnej báze je „informačný zhluk“, ktorý odráža jednu z čŕt závislosti „vstup-výstup“. Takéto "bohaté informačné zhluky" alebo "znalostné granule" možno považovať za analogické s verbálnym kódovaním, ktoré psychológovia zistili v ľudskom mozgu počas učenia. Zdá sa teda, že vytvorenie fuzzy vedomostnej základne v konkrétnej oblasti nie je pre odborníka spravidla ťažké.

Predstavme si nasledujúci zápis:

- vstupná funkcia členstva fuzzy termín
,
tie

- funkcia príslušnosti výstupu y k fuzzy členu
, t.j.

Stupeň členstva vstupného vektora
fuzzy termíny z bázy znalostí (1) je určený nasledujúcim systémom fuzzy logických rovníc:

Najčastejšie sa používajú tieto implementácie: pre operáciu OR - nájdenie maxima, pre operáciu AND - nájdenie minima.

Fuzzy množina zodpovedajúca vstupnému vektoru X * je definovaná takto:

kde imp je implikácia, zvyčajne implementovaná ako operácia minimálneho zistenia; agg - agregácia fuzzy množín, ktorá sa najčastejšie realizuje operáciou hľadania maxima.

Vymazať výstupnú hodnotu , zodpovedajúci vstupnému vektoru
, je určený ako výsledok defuzzifikácie fuzzy množiny . Najčastejšie používaná defuzzifikácia je metóda ťažiska:

Modely typu Mamdani a typu Sugeno budú identické, keď sú závery pravidiel dané pevnými číslami, t. j. ak:

1) pojmy d j výstupnej premennej v modeli typu Mamdani sú dané jednotkami - fuzzy analógmi ostrých čísel. V tomto prípade sa stupne členstva pre všetky prvky univerzálneho súboru rovnajú nule, okrem jedného so stupňom členstva rovným jednej;

2) závery pravidiel v znalostnej báze modelu Sugeno typu sú dané funkciami, v ktorých sú všetky koeficienty vstupných premenných rovné nule.

2.3.2 Fuzzy model typu Sugeno

K dnešnému dňu existuje niekoľko modelov fuzzy riadenia, jedným z nich je model Takagi-Sugeno.

Model Takagi-Sugeno-Kang sa niekedy označuje ako Takagi-Sugeno-Kang. Dôvodom je, že tento typ fuzzy modelu pôvodne navrhli Takagi a Sugeno. Kang a Sugeno však odviedli vynikajúcu prácu na identifikácii fuzzy modelov. Odtiaľ pochádza aj názov modelu.

V modeli typu Sugeno vzťah medzi vstupmi
a výstup y je daný fuzzy bázou znalostí vo forme:

kde - nejaké čísla.

Znalostná báza (3) je podobná ako (1), s výnimkou záverov pravidiel , ktoré nie sú dané fuzzy členmi, ale lineárnou funkciou vstupov:

,

Znalostná báza v modeli typu Sugeno je teda hybridná – jej pravidlá obsahujú premisy vo forme fuzzy množín a závery vo forme jasnej lineárnej funkcie. Znalostnú bázu (3) možno interpretovať ako nejaké rozdelenie priestoru ovplyvňujúcich faktorov na fuzzy subdomény, v každej z nich je hodnota funkcie odozvy vypočítaná ako lineárna kombinácia vstupov. Pravidlá sú akýmsi prepínačom z jedného lineárneho „vstupno-výstupného“ zákona na iný, tiež lineárny. Hranice subdomén sú rozmazané, preto môže byť súčasne splnených niekoľko lineárnych zákonov, ale s rôznou váhou. Výsledná výstupná hodnota definovaný ako superpozícia lineárnych závislostí vykonaných v danom bode
n-rozmerný faktorový priestor. Môže ísť o vážený priemer

,

alebo vážená suma

.

hodnoty
sú vypočítané ako pre model Mamdaniho typu, t.j. podľa vzorca (2) Všimnite si, že v modeli Sugeno sa pravdepodobnostné OR a násobenie zvyčajne používajú ako operácie ˄ a ˅. Fuzzy model typu Sugeno možno v tomto prípade považovať za špeciálnu triedu viacvrstvových neurónových sietí priameho šírenia signálu, ktorých štruktúra je izomorfná s bázou znalostí. Takéto siete sa nazývajú neuro-fuzzy.

Štandardný článok o fuzzy logike zvyčajne zlyhá dvoma spôsobmi:

  1. V 99% prípadov sa článok zaoberá výlučne využitím fuzzy logiky v kontexte fuzzy množín, resp. fuzzy inferencií, presnejšie Mamdaniho algoritmu. Človek má dojem, že fuzzy logiku možno použiť iba týmto spôsobom, ale nie je to tak.
  2. Takmer vždy je článok napísaný v matematickom jazyku. Skvelé, ale programátori používajú iný jazyk s inou notáciou. Preto sa ukazuje, že článok je jednoducho nepochopiteľný pre tých, ktorí, ako sa zdá, by mali byť užitočné.
To všetko je smutné, pretože fuzzy logika je jedným z najväčších výdobytkov matematiky 20. storočia, ak za kritérium berieme praktickú užitočnosť. V tomto článku sa pokúsim ukázať, aký jednoduchý a výkonný programovací nástroj je – rovnako jednoduchý, no oveľa výkonnejší ako systém bežných logických operácií.

Najpozoruhodnejším faktom o fuzzy logike je, že je to primárne logiky. Od počiatkov mat-logiky je známe, že akákoľvek logická funkcia môže byť reprezentovaná disjunktívnou alebo konjunktívnou normálnou formou, čo znamená, že na implementáciu výrokového počtu stačia iba tri operácie: spojka (&&), disjunkcia (||) a negácia (!). V klasickej logike je každá z týchto operácií daná pravdivostnou tabuľkou:

A b || a b && a ! -------- -------- ---- 0 0 0 0 0 0 0 1 0 1 1 0 1 0 1 0 1 0 1 1 0 0 1 1 1 1 1 1
Vo fuzzy logike, na rozdiel od klasickej, namiesto veličín pravda A Nepravdivé používa sa hodnota stupeň pravdy, ktorý nadobúda akúkoľvek hodnotu z nekonečnej množiny od 0 do 1 vrátane. Logické operácie preto už nemôžu byť reprezentované v tabuľke. Vo fuzzy logike sú dané funkciami.

Existujú dva spôsoby implementácie disjunkcie a spojenia:

#Maximálny prístup: a || b => max(a, b) a && b => min(a, b) #Kolorimetrický prístup: a || b => a + b - a * b a && b => a * b
Negácia je daná jedinečným spôsobom (nie je ťažké uhádnuť):

A => 1 - a
Je ľahké skontrolovať, že pre extrémne prípady - keď sú hodnoty premenných výlučne 1 alebo 0 - vyššie uvedené funkcie dávajú pravdivostné tabuľky klasických logických operácií. Pripravený! Teraz máme pokročilú logiku, ktorá je neuveriteľne výkonná, jednoduchá a v extrémnych prípadoch plne kompatibilná s klasickou logikou. Takže kdekoľvek my [programátori] používame logické výrazy, môžeme použiť výrazy fuzzy logiky? Nie naozaj.

Faktom je, že všetci operátori programovacích jazykov vyžadujú jasné podmienky, takže v určitom okamihu musíte vždy získať jasné spúšťacie kritérium z nejasného stupňa pravdy. Je to podobné tomu, čo sa deje v kvantovom svete: pokiaľ sa systém vyvíja v súlade so Schrödingerovou rovnicou, jeho kvantový stav sa deterministicky a nepretržite mení, no akonáhle sa systému dotkneme, dôjde ku kvantovému skoku a systém padne. do jedného z diskrétnych stavov. Vo fuzzy logike sa to nazýva defuzzifikácia. Príroda jednoducho zmení kvantový stav na pravdepodobnosť a hodí kockou, ale vo všeobecnosti sú metódy defuzzifikácie odlišné. Nebudem sa púšťať do tejto témy, pretože jej objem čerpá na samostatný článok. Spomeniem len, že metódu defuzzifikácie je potrebné zvoliť s prihliadnutím na sémantiku problému.

Predstavte si napríklad systém riadenia rakiet, ktorý využíva fuzzy logiku na vyhýbanie sa prekážkam. Predstavme si, že raketa letí presne do kopca a riadiaci systém vypočíta riešenie: let doprava - 0,5, let doľava - 0,5. Ak použijete metódu defuzzifikácie metódou ťažiska, potom riadiaci systém vydá príkaz letieť priamo. Bum! Je zrejmé, že v tomto prípade je správnym rozhodnutím hodiť kockou a dostať príkaz „vľavo“ alebo „vpravo“ s pravdepodobnosťou 50%.

V najjednoduchšom prípade, keď sa potrebujete rozhodnúť na základe miery pravdy, môžete množinu rozdeliť na intervaly a použiť if-else-if.

Ak sa fuzzy logika používa na vyhľadávanie podľa fuzzy kritéria, potom defuzzifikácia nemusí byť vôbec potrebná. Porovnaním získame určitú hodnotu stupňa rovnosti pre každý prvok vyhľadávacieho priestoru. Môžeme definovať nejaký minimálny stupeň rovnosti, pod ktorý nás nezaujíma; pre zostávajúce prvky bude stupeň rovnosti relevantnosťou, v zostupnom poradí zoradíme výsledky a necháme používateľa, aby rozhodol, ktorý výsledok je správny.

Ako príklad uvediem využitie fuzzy logiky na vyriešenie problému, na ktorom som sa v inštitúte zabával – ide o úlohu nájsť na obrázku čínsky znak.

Okamžite som zavrhol myšlienku rozpoznania akéhokoľvek čmáranice nakreslenej používateľom na obrazovke (vtedy to bola obrazovka PDA). Namiesto toho program ponúkol výber typu ťahu z približne 23 definovaných pravidlami japonskej kaligrafie. Výberom typu ťahu používateľ nakreslil obdĺžnik, do ktorého sa ťah zmestil. V skutočnosti bol znak – zadaný aj uložený v slovníku – reprezentovaný ako množina obdĺžnikov, pre ktoré bol určený typ.

Ako určiť rovnosť hieroglyfov v takomto znázornení? Na začiatok sformulujeme kritérium jasným vyhlásením:

Znaky A a B sú rovnaké vtedy a len vtedy, ak pre každý ťah v A je rovnaký ťah v B a pre každý ťah v B je rovnaký ťah v A.

Implicitne sa predpokladá, že hieroglyfy neobsahujú duplicitné znaky, to znamená, že ak sa určitý znak zhoduje s znakom v inom hieroglyfe, nemôže sa zhodovať so žiadnym iným znakom v tom istom hieroglyfe.

Rovnosť vlastností možno definovať takto:

Prvky sú rovnaké vtedy a len vtedy, ak sú rovnakého typu a ich obdĺžniky zaberajú rovnakú plochu.

Tieto dve definície nám poskytujú systém tvrdení, ktorý je dostatočný na implementáciu vyhľadávacieho algoritmu.

Najprv zostrojíme maticu E takto:

Pre i v 1..n pre j v 1..n E = A[i] == B[j] end end #A a B sú hieroglyfy; A[i] a B[j] sú ich vlastnosti a operátor "==" vypočítava ich fuzzy rovnosť. #Predpokladá sa, že oba hieroglyfy majú rovnaký počet ťahov - n.
Potom túto maticu uzavrieme do vektora M[n]:

Pre i v 1..n M[i] = E.max_in_row(i) end #Metóda max_in_row vypočíta maximálnu hodnotu v riadku matice.
Používam maximalínový prístup, pretože v praxi kolorimetria dáva príliš malé hodnoty pre konjunkcie. Ak si pamätáme, že max je disjunkcia, tak sa ukáže, že vypočítame tvrdenie, že i-tý takt A sa rovná prvému taktu B alebo druhému či tretiemu atď. M je teda vektor zhody medzi znakmi A a znakmi B.

#Len nejasná konjunkcia. e = M.min #Alebo takto: e = M.sum / M.length #(pomer súčtu prvkov k dĺžke vektora).
Obidve metódy fungujú, ale rôznymi spôsobmi a druhá metóda funguje, aj keď sú vlastnosti jasne porovnávané. Ktorá z nich je správnejšia, je filozofická otázka.

O porovnaní vlastností by sa malo povedať ešte niekoľko slov. Podľa definície je znaková rovnosť spojením dvoch podmienok: rovnosti typov a rovnosti obdĺžnikov. Vlastnosti niektorých typov sú veľmi podobné. Pri zadávaní si ich používateľ môže ľahko pomýliť, preto sa oplatí mať tabuľku podobnosti, ktorej hodnoty budú odrážať, nakoľko podobná je čiara i s čiarou j (samozrejme, na hlavnej uhlopriečke budú jedny) . Ako stupeň rovnosti obdĺžnikov môžete vziať pomer plochy ich priesečníka k ploche väčšieho z obdĺžnikov.

Vo všeobecnosti je rozsah fuzzy logiky veľmi rozsiahly. V akomkoľvek algoritme, v akomkoľvek systéme pravidiel sa snažte nahradiť pravdu a nepravdu mierou pravdy a možno tento systém pravidiel alebo algoritmus bude presnejšie odrážať realitu. Koniec koncov, žijeme vo svete, ktorý je v podstate nejasný.

Základy teórie fuzzy množín a fuzzy logiky

Jednou z metód na štúdium množín bez určenia ich hraníc je teória fuzzy množín, ktorú v roku 1965 navrhol profesor Lotfi Zadeh z Kalifornskej univerzity. Pôvodne bol vyvinutý ako nástroj na modelovanie neurčitosti prirodzeného jazyka. Následne sa však okruh problémov riešených pomocou aparátu fuzzy množiny výrazne rozšíril a v súčasnosti zahŕňa také oblasti ako analýza dát, rozpoznávanie, operačný výskum, modelovanie zložitých systémov, podpora rozhodovania atď.

Často pri definovaní a popise charakteristík objektov operujú nielen s kvantitatívnymi, ale aj kvalitatívnymi hodnotami. Najmä výšku osoby je možné kvantitatívne merať v centimetroch alebo ju opísať pomocou kvalitatívnych hodnôt: trpaslík, nízky, stredný, vysoký alebo obrí. Interpretácia kvalitatívnych hodnôt je subjektívna, t.j. môžu byť rôznymi ľuďmi (subjektmi) interpretované rôzne. V dôsledku neostrosti (rozmazanosti) kvalitatívnych hodnôt, ak je potrebné prejsť od nich ku kvantitatívnym hodnotám, vznikajú určité ťažkosti.

V systémoch vybudovaných na báze fuzzy množín sa používajú pravidlá tvaru „AK A TAK B“ (A ® B), v ktorých A (podmienka, predpoklad) aj B (výsledok, hypotéza) môžu obsahovať kvalitatívne hodnoty. Napríklad "AK výška = 'vysoká' TAK Šport = 'basketbal'".

Premenná, ktorej hodnota je určená súborom kvalitatívnych hodnôt nejakej vlastnosti, sa v teórii fuzzy množín nazýva lingvistické. Vzorové pravidlo používa dve jazykové premenné: Výška a Šport.

Každá hodnota lingvistickej premennej je definovaná prostredníctvom takzvanej fuzzy množiny. fuzzy množina definované v zmysle nejakej základnej stupnice X a funkcia členstva (charakteristická funkcia) m( X), kde X Î X. Navyše, ak v klasickej Cantorovej množine prvok patrí do množiny (m( X) = 1), alebo nepatrí do (m( X) = 0), potom v teórii fuzzy množín m( X) môže nadobudnúť akúkoľvek hodnotu v intervale . Na fuzzy množinách možno vykonávať štandardné operácie: sčítanie (negácia), zjednotenie, prienik, rozdiel atď. (obr. 33).

Pre fuzzy množiny existuje aj množstvo špeciálnych operácií: sčítanie, násobenie, koncentrácia, expanzia atď.

Pri špecifikácii lingvistickej premennej musia jej hodnoty, teda fuzzy množiny, spĺňať určité požiadavky (obr. 34).

1. Poriadok. Fuzzy sady by sa mali objednať (umiestnené na základnej stupnici) v súlade s poradím, v ktorom sú špecifikované kvalitatívne hodnoty pre lingvistickú premennú.

2. Obmedzené. Oblasť definície lingvistickej premennej musí byť jasne označená (určia sa minimálne a maximálne hodnoty lingvistickej premennej na základnej stupnici). Na hraniciach univerzálnej množiny, kde je definovaná lingvistická premenná, musia byť hodnoty funkcií príslušnosti jej minimálnych a maximálnych fuzzy množín jediné. Na obrázku má T 1 nesprávnu funkciu členstva a T 6 správnu.

3. Dôslednosť. Treba dodržať prirodzený rozdiel medzi pojmami (hodnotami jazykovej premennej), keď ten istý bod univerzálnej množiny nemôže súčasne patriť do m( X) = 1 až dve alebo viac fuzzy množín (požiadavka je porušená dvojicou Т 2 – Т 3).

4. Úplnosť. Každá hodnota z oblasti definície lingvistickej premennej musí byť opísaná aspoň jednou fuzzy množinou (medzi dvojicou T 3 - T 4 je porušená požiadavka).

5. Normálnosť. Každý pojem v lingvistickej premennej musí mať aspoň jeden referenčný alebo typický objekt, t.j. v určitom bode musí byť funkcia príslušnosti fuzzy množiny jednotná (požiadavka je porušená T 5).

X

Fuzzy set "nízky rast" m н ( X)

0 20 40 60 80 100 110 120 140 160 X

Fuzzy set "vysoký rast" m in ( X)

0 20 40 60 80 100 110 120 140 160 X

D = N: Doplnenie fuzzy množiny „nízky rast“

m d ( X) = 1 – m n ( X)

0 20 40 60 80 100 110 120 140 160 X

N È V: Únia fuzzy množín „nízky rast“ a „vysoký rast“

m nv ( X) = max(m n ( X), m in ( X))

0 20 40 60 80 100 110 120 140 160 X

N Ç V: Priesečník fuzzy množín „nízky rast“ a „vysoký rast“

m nv ( X) = min(m n ( X), m in ( X))

Ryža. 33. Operácie na fuzzy množinách

m( X) T 1 T 2 T 3 T 4 T 5 T 6

Ryža. 34. Príklad špecifikácie fuzzy množín pre lingvistickú premennú s porušením požiadaviek

Požiadavky 2–4 možno nahradiť jednou univerzálnou – súčtom funkcií príslušnosti m( X) vo všetkých fuzzy množinách v každom bode domény definície premennej sa musí rovnať 1.

Pri spracovaní pravidiel s lingvistickými premennými (fuzzy pravidlá) sa na výpočet pravdivosti hypotézy používajú pravidlá fuzzy logiky. fuzzy logika- druh nepretržitej logiky, v ktorej môžu premisy, hypotézy a samotné logické vzorce nadobudnúť pravdivé hodnoty s určitým stupňom pravdepodobnosti.

Hlavné ustanovenia fuzzy logiky:

· pravdivosť premisy, hypotézy alebo vzorca leží v intervale ;

Ak sú dve premisy (E 1 a E 2) spojené u (logické AND), pravdivosť hypotézy H sa vypočíta podľa vzorca t(H) = MIN(t(E 1), t(E 2)) ;

Ak sú dve premisy (E 1 a E 2) spojené Ú (logické OR), potom pravdivosť hypotézy H vypočítame podľa vzorca t(H) = MAX(t(E 1), t(E 2)) ;

Ak má pravidlo (P) svoje vlastné hodnotenie pravdivosti, potom sa konečná pravdivosť hypotézy N total opraví s prihliadnutím na pravdivosť pravidla t(N total) = MIN(t(N), t(P)) .

S.D. Shtovba "Úvod do teórie fuzzy množín a fuzzy logiky"

1.7. fuzzy logika

Fuzzy logika je zovšeobecnením tradičnej aristotelovskej logiky na prípad, keď sa pravda považuje za lingvistickú premennú, ktorá nadobúda hodnoty ako: "veľmi pravdivé", "viac-menej pravdivé", "nie veľmi nepravdivé" atď. Uvedené lingvistické hodnoty predstavujú fuzzy množiny.

1.7.1. Lingvistické premenné

Pripomeňme, že premenná sa nazýva lingvistická, ak preberá hodnoty zo súboru slov alebo fráz nejakého prirodzeného alebo umelého jazyka. Množina prípustných hodnôt lingvistickej premennej sa nazýva množina termínov. Stanovenie hodnoty premennej slovami, bez použitia čísel, je pre človeka prirodzenejšie. Každý deň sa rozhodujeme na základe jazykových informácií, ako napríklad: „veľmi vysoká teplota“; "dlhý výlet"; "rýchla odozva"; "krásna kytica"; „harmonická chuť“ atď. Psychológovia zistili, že v ľudskom mozgu sú takmer všetky číselné informácie verbálne zakódované a uložené ako lingvistické pojmy. Koncept lingvistickej premennej hrá dôležitú úlohu pri fuzzy inferencii a pri rozhodovaní založenom na približnom uvažovaní. Formálne je lingvistická premenná definovaná nasledovne.

Definícia 44.jazyková premenná je dané piatimi, kde -; názov premennej; - ; term-množina, ktorej každý prvok (termín) je reprezentovaný ako fuzzy množina na univerzálnej množine; - ; syntaktické pravidlá, často vo forme gramatiky, ktoré generujú názvy termínov; - ; sémantické pravidlá definujúce funkcie príslušnosti fuzzy termínov generované syntaktickými pravidlami .

Príklad 9. Zvážte lingvistickú premennú s názvom „izbová teplota“. Potom môže byť zostávajúca štvorica definovaná takto:

Tabuľka 4 – Pravidlá pre výpočet členských funkcií

Grafy členských funkcií pojmov „studený“, „nie veľmi studený“, „pohodlný“, „viac-menej pohodlný“, „horúci“ a „veľmi horúci“ jazykovej premennej „izbová teplota“ sú na obr. 13.

Obrázok 13 - Lingvistická premenná "izbová teplota"

1.7.2. nejasná pravda

Osobitné miesto vo fuzzy logike zaujíma jazyková premenná „pravda“. V klasickej logike môže mať pravda iba dve hodnoty: pravdivú a nepravdivú. Vo fuzzy logike je pravda „fuzzy“. Fuzzy pravda je definovaná axiomaticky a rôzni autori to robia odlišne. Interval sa používa ako univerzálna množina na nastavenie lingvistickej premennej „pravda“. Obyčajnú, jasnú pravdu môžu reprezentovať fuzzy singletonové množiny. V tomto prípade bude členskej funkcii zodpovedať jasný pojem true a jasný koncept je nepravdivý - ; , .

Na stanovenie nejasnej pravdy Zade navrhol nasledujúce funkcie členstva pre výrazy „pravda“ a „nepravda“:

;

kde - ; parameter, ktorý určuje nositeľov fuzzy množín „true“ a „false“. Pre fuzzy množinu "true" bude nosnou frekvenciou interval , a pre fuzzy množinu nepravda" - ; .

Funkcie príslušnosti fuzzy výrazov „pravda“ a „nepravda“ sú znázornené na obr. 14. Sú zostavené s hodnotou parametra . Ako vidíte, grafy funkcií členstva výrazov „pravda“ a „nepravda“ sú zrkadlovým obrazom.

Obrázok 14 – Jazyková premenná „pravda“ podľa Zadeha

Na nastavenie fuzzy pravdy Baldwin navrhol nasledujúce funkcie členstva fuzzy „pravda“ a „nepravda“:

Kvantifikátory „viac alebo menej“ a „veľmi“ sa často používajú na fuzzy množiny „pravda“ a „nepravda“, čím sa získajú výrazy „veľmi nepravdivé“, „viac-menej nepravdivé“, „viac-menej pravdivé“, „veľmi nepravdivé“. pravdivé", "veľmi, veľmi pravdivé", "veľmi, veľmi nepravdivé" atď. Členské funkcie nových pojmov sa získavajú vykonávaním operácií koncentrácie a rozťahovania fuzzy množín „pravda“ a „nepravda“. Operácia koncentrácie zodpovedá kvadratúre funkcie členstva a operácia napínania zodpovedá zvýšeniu na ½. Preto funkcie členstva výrazov „veľmi, veľmi nepravdivé“, „veľmi nepravdivé“, „viac-menej nepravdivé“, „viac-menej pravdivé“, „pravdivé“, „veľmi pravdivé“ a „veľmi, veľmi pravdivé“ sú uvedené nasledovne:

Grafy členských funkcií týchto pojmov sú znázornené na obr. 15.

Obrázok 15 – Jazyková premenná „pravda“ podľa Baldwina

1.7.3. Fuzzy booleovské operácie

Najprv si stručne pripomeňte hlavné ustanovenia bežnej (booleovskej) logiky. Uvažujme o dvoch tvrdeniach A a B, z ktorých každé môže byť pravdivé alebo nepravdivé, t.j. mať hodnoty "1" alebo "0". Pre tieto dva výroky sú celkom rôzne logické operácie, z ktorých iba päť je zmysluplne interpretovaných: AND (), OR (), výlučné OR (), implikácia () a ekvivalencia (). Pravdivé tabuľky pre tieto operácie sú uvedené v tabuľke. päť.

Tabuľka 5 – Pravdivé tabuľky booleovskej logiky

Predpokladajme, že logické tvrdenie môže mať nie dve pravdivostné hodnoty, ale tri, napríklad: „pravda“, „nepravda“ a „neurčité“. V tomto prípade sa nebudeme zaoberať dvojhodnotovou, ale trojhodnotovou logikou. Celkový počet binárnych operácií a následne pravdivostných tabuliek v trojhodnotovej logike je . Fuzzy logika je druh viachodnotovej logiky, v ktorej sú pravdivostné hodnoty dané jazykovými premennými alebo pojmami jazykovej premennej „pravda“. Pravidlá pre vykonávanie fuzzy logických operácií sa získavajú z booleovských logických operácií pomocou princípu zovšeobecnenia.

Definícia 45. Označme fuzzy logické premenné prostredníctvom a a funkcie členstva, ktoré definujú pravdivostné hodnoty týchto premenných prostredníctvom a , . Fuzzy booleovské operácie A (), ALEBO (),
NOT () a implikácia () sa vykonávajú podľa nasledujúcich pravidiel:

;

Vo viachodnotovej logike môžu byť logické operácie špecifikované pravdivostnými tabuľkami. Vo fuzzy logike môže byť počet možných pravdivostných hodnôt nekonečný, preto vo všeobecnosti nie je možné tabuľkové znázornenie logických operácií. V tabuľkovej forme je však možné prezentovať fuzzy logické operácie pre obmedzený počet pravdivostných hodnôt, napríklad pre množinu termínov ("pravda", "veľmi pravdivá", "nepravda", "viac-menej nepravda" , "nepravda"). Pre trojhodnotovú logiku s fuzzy pravdivostnými hodnotami T - ; "pravda", F -; „nepravda“ a T+F – „neznámy“ L Zadeh navrhol nasledujúce tabuľky jazykovej pravdy:

Aplikovaním pravidiel na vykonávanie fuzzy logických operácií z definície 45 je možné pravdivostné tabuľky rozšíriť o ďalšie pojmy. Ako to urobiť, zvážte nasledujúci príklad.

Príklad 10 Sú uvedené nasledujúce hodnoty fuzzy pravdivosti:

Aplikovaním pravidla z definície 45 nájdeme nejasnú pravdivosť výrazu „takmer pravdivé ALEBO pravdivé“:

Porovnajme výslednú fuzzy množinu s „viac-menej pravdivou“ fuzzy množinou. Sú takmer rovnaké, čo znamená:

V dôsledku vykonávania logických operácií sa často získa fuzzy množina, ktorá nie je ekvivalentná žiadnej z predtým zavedených fuzzy pravdivostných hodnôt. V tomto prípade je potrebné medzi fuzzy pravdivostnými hodnotami nájsť takú, ktorá v maximálnej miere zodpovedá výsledku vykonania fuzzy logickej operácie. Inými slovami, je potrebné vykonať tzv jazyková aproximácia, ktorú možno považovať za obdobu aproximácie empirického štatistického rozdelenia pomocou štandardných distribučných funkcií náhodných veličín. Ako príklad uvádzame tabuľky jazykovej pravdy navrhnuté Baldwinom pre tie, ktoré sú zobrazené na obr. 15 fuzzy pravdivostných hodnôt:

na dobu neurčitú

na dobu neurčitú

na dobu neurčitú

na dobu neurčitú

na dobu neurčitú

na dobu neurčitú

na dobu neurčitú

na dobu neurčitú

veľmi pravdivé

veľmi pravdivé

viac-menej pravdivé

viac-menej pravdivé

1.7.3. Fuzzy vedomostná základňa

Definícia 46.Fuzzy vedomostná základňa je súbor fuzzy pravidiel „Ak – potom“, ktoré určujú vzťah medzi vstupmi a výstupmi skúmaného objektu. Zovšeobecnený formát fuzzy pravidiel je nasledujúci:

Akpravidlo odoslania,potompravidlo záver.

Predpokladom pravidla alebo predchodcu je výrok ako „x je nízke“, kde „nízke“ je termín (jazyková hodnota) definovaný fuzzy množinou na univerzálnej množine jazykovej premennej x. Kvantifikátory „veľmi“, „viac či menej“, „nie“, „takmer“ atď. možno použiť na úpravu predchádzajúcich výrazov.

Záverom alebo dôsledkom pravidla je výrok ako „y je d“, v ktorom možno zadať hodnotu výstupnej premennej (d):

  1. fuzzy výraz: "y je vysoké";
  2. trieda rozhodovania: "y má bronchitídu"
  3. jasná konštanta: "y=5";
  4. jasná funkcia vstupných premenných: "y=5+4*x".

Ak je hodnota výstupnej premennej v pravidle daná fuzzy množinou, potom môže byť pravidlo reprezentované fuzzy vzťahom. Pre fuzzy pravidlo "Ak x je , potom y je" je fuzzy vzťah daný na karteziánsky súčin , kde - ; univerzálna množina vstupných (výstupných) premenných. Na výpočet fuzzy pomeru môžete použiť fuzzy implikáciu a t-normu. Pri použití operácie nájdenia minima ako t-normy sa fuzzy pomer vypočíta takto:

Príklad 11. Nasledujúca fuzzy báza znalostí popisuje vzťah medzi vekom vodiča (x) a možnosťou dopravnej nehody (y):

Akx = mladý,potomy = vysoké;

Akx = stredné,potomy = nízke;

Akx = veľmi starý,potomy = vysoká.

Nech majú členské funkcie pojmov tvar znázornený na obr. 16. Potom budú fuzzy vzťahy zodpovedajúce pravidlám bázy znalostí rovnaké ako na obr. 17.

Obrázok 16 – Členské funkcie pojmov

Obrázok 17 - Fuzzy vzťahy zodpovedajúce pravidlám znalostnej bázy z príkladu 11

Na špecifikáciu viacrozmerných závislostí "vstupy-výstupy" sa používajú fuzzy logické operácie AND a OR. Pravidlá je vhodné formulovať tak, že v rámci každého pravidla sa premenné kombinujú logickou operáciou AND a pravidlá v znalostnej báze sa spájajú operáciou OR. V tomto prípade fuzzy báza znalostí spája vstupy s výstupom , môžu byť reprezentované v nasledujúcej forme.