24.10.2014 Views

Hoofdstuk 1 Basisbegrippen

Hoofdstuk 1 Basisbegrippen

Hoofdstuk 1 Basisbegrippen

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>Hoofdstuk</strong> 1<br />

<strong>Basisbegrippen</strong><br />

1.1 De fuzzy-set<br />

Het begrip 'fuzzy'<br />

In de klassieke verzamelingenleer behoort een element wel of niet tot een verzameling. De vage<br />

logica daarentegen gaat er van uit dat een element ook ten delen tot een verzameling kan horen. Zo<br />

krijgen we een 'vage' omlijning van het beschouwde begrip of de beschouwde verzameling.<br />

Neem als voorbeeld het begrip of de definitie 'jong'. Iemand is 'jong' indien hij of zij niet oud is dan<br />

20 jaar. Dit is een scherp omlijnde definitie. Ofwel is deze definitie van toepassing ofwel niet. Een<br />

persoon die 20 jaar en 1 dag oud is, is bijgevolg niet meer jong. Twee dagen geleden was hij of zij<br />

wel nog jong. Deze plotse overgang van jong naar niet jong is eigenlijk in strijd met de menselijk<br />

denkwijze. Als mens gaan we het begrip 'jong' ruimer zien en minder afgelijnd. 25 jaar is ook nog<br />

jong maar niet in dezelfde mate als 20 jaar. Laten we daarom jong definiëren met de curve uit figuur<br />

1.1. Voor elke ouderdom wordt aangegeven in welke mate de betreffende ouderdom 'jong' is. Voor<br />

leeftijden kleiner dan 20 jaar is de uitspraak 'deze leeftijd is jong' voor 100% waar. Leeftijden groter<br />

dan 40 jaar zijn niet meer 'jong'. Tussen deze twee leeftijdsgrenzen in neemt de waarheidsgraad<br />

geleidelijk af.<br />

1<br />

Waarheidsgraad<br />

0.5<br />

0<br />

20 40 Leeftijd<br />

Figuur 1.1: Definitie van het begrip jong.<br />

De linguïstische variabele<br />

In de fuzzy-set theorie wordt gewerkt met begrippen als variabelen. Een mogelijk begrip is "de<br />

betreffende temperatuur is warm" of kortweg "warm". Wat juist verstaan wordt onder "warm", is<br />

afhankelijk van de beschouwde situatie en moet gedefinieerd worden. Voor elke temperatuur wordt<br />

aangegeven in welke mate deze temperatuur warm is. Dit kan gebeuren via de lidmaatschapsfunctie<br />

of het waarheidsgehalte zoals aangegeven in figuur 1.1 voor de variabele "jong".<br />

Baeten J.<br />

- 1.1 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

De lidmaatschapsgraad en de lidmaatschapsfunctie<br />

De lidmaatschapsgraad (of de waarheidsgraad) geeft het waarheidsgehalte aan van een bewering of<br />

geeft aan in welke mate het beschouwde element tot de verzameling behoort. Een functie of een<br />

curve die deze waarheidsgraden weergeeft voor alle mogelijke elementen is de lidmaatschapsfunctie<br />

of -curve. De verzameling van alle beschouwde elementen is de populatie of het universum,<br />

aangeduid met de hoofdletter U. Een willekeurig element uit die populatie wordt dan aangeduid met<br />

u. Het symbool voor de waarheidsgraad is µ.<br />

Neem als voorbeeld het begrip "lange mannen". Een man met een lengte van 180 cm behoort met<br />

een waarheidsgehalte van 90% tot de verzameling van lange mannen. Een man van twee meter<br />

behoort met een waarheidsgehalte van 100% tot de verzameling van lange mannen. Een man van<br />

210 cm is weliswaar lang maar heeft een waarheidsgehalte van 70%. In de categorie van 'extreem'<br />

lange mensen scoort hij echter met 100%.<br />

Er bestaat geen eenduidige werkwijze die aangeeft hoe de lidmaatschapsfuncties bepaald moeten<br />

worden. In feite moet de lidmaatschapsfunctie een weerspiegeling zijn van de menselijke ervaring<br />

of van het intuïtief aanvoelen van het begrip. Dit is dan ook de enige regel.<br />

Lidmaatschapsfuncties kunnen in een formule of grafisch weergegeven worden. Bij de grafische<br />

voorstelling geeft de horizontale as de elementen uit de populatie en de verticale as de<br />

waarheidsgraad µ voor elk van de elementen voor de beschouwde linguïstische variabele. Figuur<br />

1.2.a geeft een voorbeeld. Het geheel van waarheidsgraden voor een populatie betreffende een<br />

linguïstische variabele wordt een fuzzy-set genoemd.<br />

µ , Waarheidsgraad of lidmaatschapsgraad<br />

1<br />

Lidmaatschapscurve<br />

1<br />

Verzameling "lange mannen"<br />

0.5<br />

Linguïstische variabele =<br />

"Lange mannen"<br />

0<br />

0<br />

180 200 U = lengte van de man (in cm)<br />

Universum of populatie<br />

a) b)<br />

Figuur 1.2: a) De fuzzy-set vergeleken met b) een 'crisp'-set.<br />

180 220<br />

De fuzzy-set staat in tegenstelling tot de 'crisp'-set uit de binaire logica waar de verzameling perfect<br />

afgelijnd is zoals weergegeven in figuur 1.2.b.<br />

Baeten J.<br />

- 1.2 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

Het formalisme<br />

Voor alle elementen u van het universum U wordt de fuzzy-set A voorgesteld door:<br />

A = {[u, µ A (u)] ∀u ∈ U} met 0 ≤ µ A (u) ≤ 1<br />

Een fuzzy-set is in feite een geheel van geordende elementen. Hierbij spelen twee grootheden een<br />

rol: de plaats of de waarde van het element in de populatie en de bijbehorende waarheidsgraad.<br />

Bij een discreet opgebouwde populatie wordt de set A voorgesteld door<br />

A = µ A (u 1 )/u 1 + µ A (u 2 )/u 2 + ...<br />

+ µ A (u n )/u n<br />

waarin u 1 , u 2 , ..., u n elementen zijn van het universum of de populatie U.<br />

De lidmaatschapsfunctie ligt hier vervat in de set van waarheidsgraden µ A<br />

(u 1<br />

), ... , µ A<br />

(u n<br />

).<br />

Het deelteken en het sommatieteken slaan niet op de respectievelijke wiskundige bewerkingen.<br />

Bij een continu opgebouwde populatie wordt de fuzzy-set weergegeven door:<br />

A = ∫ A<br />

µ A (u)/u<br />

Neem als voorbeeld het begrip: "ongeveer gelijk aan 10". Deze set kan gedefinieerd worden door de<br />

uitdrukking:<br />

A = ∫ ≅10<br />

1<br />

1 + [u − 10] 2 /u<br />

met lidmaatschapsfunctie<br />

µ A (u) =<br />

1<br />

1 + [u − 10] 2<br />

Voor u = 0 is µ A<br />

(0) = 1/101 , voor u = 1 is µ A<br />

(1) = 1/82 , ... voor u = 10 is µ A<br />

(10) = 1 enz. ...<br />

Figuur 1.3 geeft de gedefinieerde fuzzy-set grafisch weer.<br />

1<br />

0.9<br />

Waarheidsgraad µ<br />

0.8<br />

0.7<br />

0.6<br />

0.5<br />

0.4<br />

0.3<br />

0.2<br />

0.1<br />

0<br />

0 5 1 0 1 5 2 0<br />

Figuur 1.3: Grafische voorstelling van de fuzzy-set "ongeveer gelijk aan 10".<br />

Getallen<br />

Baeten J.<br />

- 1.3 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

Vormen van lidmaatschapsfuncties<br />

Zoals eerder vermeld moet in elke specifieke toepassing de aard, de grootte en de vorm van de<br />

lidmaatschapscurve door de gebruiker zelf gekozen worden.<br />

De lidmaatschapsfunctie kan zeer uiteenlopende vormen aannemen. Figuur 1.4 geeft de meest<br />

voorkomende basisvormen.<br />

1<br />

µ(u)<br />

1<br />

µ(u)<br />

1<br />

µ(u)<br />

1<br />

µ(u)<br />

0.5<br />

0.5<br />

0.5<br />

0.5<br />

s z z s<br />

0<br />

u<br />

0<br />

Z-vorm S-vorm Klok-vorm (Gauss-curve)<br />

u<br />

0<br />

u<br />

0<br />

u<br />

Inverse klokvorm<br />

Figuur 1.4: Basisvormen van lidmaatschapsfuncties.<br />

De basisvormen uit figuur 1.4 kunnen vergeleken worden van een laagdoorlaat-, hoogdoorlaat,<br />

band- en bandsperfilter. Alle vier vormen kunnen afgeleid worden uit de algemene S-vorm uitfiguur<br />

1.5.<br />

1<br />

S(a,b,c)<br />

µ(u)<br />

b = (a + c) /2<br />

0,5<br />

0<br />

a b c<br />

u<br />

Figuur 1.5: Algemene S-vorm.<br />

Deze algemene S-vorm stemt met de volgende formules overeen:<br />

S(u)=0 u ∈ [−∞, a]<br />

S(u)=2(u − a) 2 /(c − a) 2 u ∈ [a, b]<br />

S(u)=1 − 2(u − c) 2 /(c − a) 2 u ∈ [b, c]<br />

S(u)=1 u ∈ [c, ∞]<br />

De continu verlopende lidmaatschapscurves hebben het nadeel dat ze meestal voorgesteld worden<br />

door redelijk lange (of ingewikkelde) formules. Dit zal de rekentijd van het fuzzy algoritme nadelig<br />

beïnvloeden. Daarom worden meestal zeer eenvoudige fuzzy sets gekozen, zoals weergegeven in<br />

figuur 1.6.<br />

De vereenvoudigde functies zijn samengesteld uit rechte stukken, zodat er een (deelsgewijs) lineair<br />

verband bestaat tussen het element uit de populatie en de waarheidsgraad voor dit element.<br />

Baeten J.<br />

- 1.4 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

µ(u) µ(u) µ(u) µ(u)<br />

Z-vorm S-vorm<br />

-vorm Π -vorm<br />

1 1 1 1<br />

0<br />

0 0 0<br />

u u u u<br />

Figuur 1.6: Vereenvoudigde basisvormen.<br />

Zoals later uit de rekenvoorbeelden zal blijken, leveren deze vereenvoudigde lidmaatschapsfuncties<br />

evenzeer goede resultaten.<br />

1.2 Basisbewerkingen<br />

Unie<br />

De unie van de sets A en B (universum U) wordt symbolisch voorgesteld door:<br />

A ∪ B<br />

Zij komt overeen met de 'OR'-functie. Met behulp van de unie worden uit reeds gedefinieerde<br />

begrippen zoals bijvoorbeeld "groot" en "zeer groot" de definitie bepaald voor het begrip "groot OF<br />

zeer groot". Het waarheidsgehalte van de uitspraak "groot of zeer groot" is gelijk aan het maximum<br />

van de waarheidsgehaltes overeenstemmend "groot" en "zeer groot":<br />

µ A∪B (u) = max [µ A (u), µ B (u)]<br />

Neem als voorbeeld de lidmaatschapsfuncties voor "groot" en "zeer groot" zoals gedefinieerd in<br />

figuur 1.7.a. Indien we voor elk element het maximum nemen van de twee gegeven curven,<br />

bekomen figuur 1.7.b. Dit is de lidmaatschapsfunctie voor "groot of zeer groot".<br />

1<br />

µ(u)<br />

Groot<br />

Zeer groot<br />

Unie<br />

1<br />

µ(u)<br />

Groot of zeer groot<br />

0,5<br />

0<br />

180 200 220<br />

u<br />

MAX<br />

" OF "<br />

a) b)<br />

0,5<br />

0<br />

180 200 220<br />

u<br />

Figuur 1.7: Toepassing van de unie voor de definitie "groot of zeer groot".<br />

Baeten J.<br />

- 1.5 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

Volgend voorbeeld illustreert de unie bij definities over een discrete populatie. We definiëren:<br />

"groot" = 0/170 + 0/180 + .5/190 + 1/200 + .5/210 + 0/220<br />

"zeer groot" = 0/170 + 0/180 + 0/190 + 0/200 + .5/210 + 1/220<br />

De unie geeft dan:<br />

"groot of zeer groot" = 0/170 + 0/180 + .5/190 + 1/200 + .5/210 + 1/220<br />

Merk op dat max-operator ook werkt bij de binaire logica. De uitgang van een OF-poort is gelijk<br />

aan de maximale ingang (enkel binaire signalen zijn toegelaten). Tabel 1.1 geeft de uitgang van een<br />

OF-poort met twee ingangen.<br />

1e ing. 2e ing. "OF" uitg.<br />

1 1 = 1<br />

1 0 max 1<br />

0 1 nemen 1<br />

0 0 0<br />

Tabel 1.1: OF-poort = max-operator.<br />

Doorsnede<br />

De doorsnede van de sets A en B (universum U) wordt symbolisch voorgesteld door:<br />

A ∩ B<br />

Zij komt overeen met de 'AND'-functie. De lidmaatschapsfunctie is:<br />

µ A∩B (u) = min [µ A (u), µ B (u)]<br />

Een element uit de doorsnede maakt deel uit van de verzameling A en van B. Als voorbeeld nemen<br />

we de reeds gedefinieerde begrippen "groot" en "zeer groot". Figuur 1.8 geeft dan de<br />

lidmaatschapsfunctie voor "groot en zeer groot".<br />

µ(u)<br />

µ(u)<br />

1<br />

Groot<br />

Zeer groot<br />

Doorsnede<br />

1<br />

0,5<br />

MIN<br />

0,5<br />

Groot en zeer groot<br />

0<br />

180 200 220<br />

u<br />

" EN "<br />

0<br />

180 200 220<br />

u<br />

Figuur 1.8: Toepassing van de doorsnede voor de definitie "groot en zeer groot".<br />

Voor de eerder gegeven discrete populatie vinden we:<br />

"groot en zeer groot" = 0/170 + 0/180 + 0/190 + 0/200 + .5/210 + 0/220<br />

Baeten J.<br />

- 1.6 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

Ook hier kunnen we de vergelijking maken met de binaire EN-poort. De uitgang van de EN-poort is<br />

gelijk aan het minimum van de aangelegde ingangen zoals tabel 1.2 aangeeft voor twee ingangen.<br />

1e ing. 2e ing. "EN" uitg.<br />

1 1 = 1<br />

1 0 min 0<br />

0 1 nemen 0<br />

0 0 0<br />

Tabel 1.2: EN-poort = min-operator.<br />

Complement<br />

Het complement van een fuzzy-set A wordt symbolisch voorgesteld door:<br />

¬ A<br />

De lidmaatschapsfunctie wordt gedefinieerd als:<br />

µ ¬ A(u) = 1 − µ A (u)<br />

Het complement van een fuzzy-set correspondeert met de gekende 'NOT'-functie of negatie.<br />

De lidmaatschapsfunctie voor "niet groot" wordt dan bijvoorbeeld:<br />

"niet groot" = 1/170 + 1/180 + .5/190 + 0/200 + .5/210 + 1/220<br />

of grafisch zoals weergegeven in figuur 1.9.<br />

1<br />

µ(u)<br />

Groot<br />

Complement<br />

1<br />

µ(u)<br />

Niet groot<br />

0,5<br />

1 - µ<br />

0,5<br />

0<br />

180 200 220<br />

u<br />

" NIET "<br />

0<br />

180 200 220<br />

u<br />

Figuur 1.9: Toepassing van de negatie voor de definitie "niet groot".<br />

Ook het complement of de negatie stemt overeen met de binaire logica. Tabel 1.3 geeft een<br />

voorbeeld.<br />

ing. "NIET" uitg.<br />

1 = 0<br />

0 1 - bin. waarde 1<br />

Tabel 1.3: 'NIET'-poort = 1 - ingang.<br />

Baeten J.<br />

- 1.7 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

Versterking<br />

Voor een fuzzy-set kan ook een versterkende graad gedefinieerd worden. Indien A een gegeven set<br />

is, dan wordt "zeer A" of "echt A" gedefinieerd als:<br />

ZEER A = ∫ A<br />

µ A 2 (u)/u<br />

Het versterken van het gegeven begrip komt dus overeen met het kwadrateren van de afzonderlijke<br />

toebehoringsgraden µ.<br />

Neem bijvoorbeeld<br />

"klein" = 1/1 + .7/2 + .2/3 + 0/4 + 0/5<br />

dan is<br />

"zeer klein" = 1/1 + .49/2 + .04/3 + 0/4 + 0/5<br />

Figuur 1.10 geeft nog een tweede voorbeeld.<br />

µ(u)<br />

µ(u)<br />

1<br />

Goed<br />

Versterking<br />

1<br />

Echt goed<br />

0,5<br />

µ²<br />

0,5<br />

0<br />

-1 0<br />

1<br />

u<br />

0<br />

-1 0 1<br />

u<br />

Figuur 1.10: Toepassing van de versterking voor de definitie van "echt goed".<br />

Toepassing<br />

Reken voor de hierboven gegeven definities de lidmaatschapsfuncties uit voor:<br />

"Klein, maar niet echt klein" bij een discrete populatie (elementen 1 tot 5)<br />

"Goed of niet zeer goed" bij een continue populatie van -1 tot 1<br />

"Niet Goed, maar zeer goed"<br />

Oplossing zie figuur 1.11.<br />

1<br />

µ(u)<br />

Goed of niet zeer goed<br />

1<br />

µ(u)<br />

Niet goed en zeer goed<br />

0,5<br />

0,5<br />

0<br />

-1 0<br />

1<br />

u<br />

0<br />

-1 0 1<br />

u<br />

Figuur 1.11: Toepassing - voorbeeld<br />

"Klein, maar niet echt klein" = 0/1 + .51/2 + .2/3 + 0/4 + 0/5.<br />

Baeten J.<br />

- 1.8 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

Opmerkingen<br />

1) Niet alle Booleaanse wetten zijn van toepassing in de fuzzy-set theorie. Zo is er bijvoorbeeld<br />

geen wet van het uitgesloten derde en geen wet van de contradictie. In de Booleaanse algebra geldt<br />

steeds:<br />

en<br />

A∪ ¬ A = U<br />

A∩ ¬ A =∅<br />

(De unie van A met het complement van A geeft het volledige universum).<br />

(De doorsnede van A met het complement van A is de lege verzameling).<br />

In de fuzzy-set theorie krijgen we afwijkende resultaten. Stel A(u) = 0.7.<br />

en<br />

A(u)∪ ¬ A(u)=max(0.7, 0.3)=0.7 < 1<br />

A(u)∩ ¬ A(u)=min(0.7, 0.3)=0.3 > 0<br />

Figuur 1.12 geeft dezelfde vaststelling grafisch weer. De toebehoringsfunctie van<br />

niet steeds 1 of 100% en de waarheidsgehalte van A(u)∩ ¬ A(u) is niet steeds 0%.<br />

A(u)∪ ¬ A(u)<br />

is<br />

1<br />

µ(u)<br />

'Goed en niet goed' cte 0 %<br />

1<br />

µ(u)<br />

'Goed of niet goed' cte 100 %<br />

0,5<br />

0,5<br />

0<br />

-1 0<br />

1<br />

u<br />

0<br />

-1 0 1<br />

u<br />

Figuur 1.12: Voorstelling van "goed en niet goed" en "goed of niet goed".<br />

2) In de literatuur worden nog andere mogelijke operatoren voorgesteld voor de unie en de<br />

doorsnede van twee fuzzy sets. (Algemeen wordt hierbij de unie-operator een s-norm genoemd, de<br />

doorsnede-operator een t-norm). We vermelden enkele mogelijke sets van operatoren:<br />

Waarschijnlijkheidsoperatoren<br />

µ A∩B (u)=µ A (u).µ B (u)<br />

µ A∪B (u)=µ A (u)+µ B (u) − µ A (u).µ B (u)<br />

(algebraïsch product)<br />

(algebraïsche som)<br />

Operatoren van Giles<br />

µ A∩B (u)=max {0, µ A (u)+µ B (u) − 1}<br />

µ A∪B (u)=min {1, µ A (u)+µ B (u)}<br />

(begrensd verschil)<br />

(begrensde som)<br />

Voor verdere mogelijk operatoren wordt naar de literatuur verwezen. In wat volgt zullen we enkel<br />

de minimum- en maximum operatoren gebruiken omdat deze het eenvoudigst zijn.<br />

Baeten J.<br />

- 1.9 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

1.3 Fuzzy relaties<br />

In deze paragraaf wordt een methode aangegeven om relaties tussen ingangsinformatie en uitgangsinformatie<br />

bij een fuzzy systeem voor te stellen. Hierbij hebben ingang en uitgang meestal een<br />

verschillende dimensie. In de relatie zit de kennis vervat over de te ondernemen regelactie.<br />

Neem een fuzzy-set A in het universum U en een fuzzy-set B in het universum V. Om A met B te<br />

verbinden gebruiken we de regel:<br />

"Indien A, dan B."<br />

Bovenstaande regel veronderstelt een relatie die wordt aangeduid door R = A*B. Indien A slechts<br />

voor 50 % waar is, dan zal actie B ook slechts voor 50 % toegepast worden. Zulk een relatie kan<br />

ook weergegeven worden in matrixvorm.<br />

Bijvoorbeeld: de relatie "Indien ingang groot, dan uitgang groot" is weergegeven in de volgende<br />

matrix, waarbij de linguïstische variabelen "ingang groot" en "uitgang groot" respectievelijk op een<br />

rij en een kolom slaan.<br />

Groot<br />

1<br />

0 0<br />

Middel<br />

0<br />

0<br />

0<br />

Klein<br />

0 0 0<br />

Groot Middel Klein<br />

Linguïstische variabelen<br />

voor de ingang.<br />

Linguïstische variabelen<br />

voor de uitgang<br />

In principe volstaat deze matrixvoorstelling of het eenvoudig opsommen van de "indien-dan"-<br />

regels, om alle regelacties te specifiëren. De volgende paragrafen beschrijven niettemin deze relatie<br />

iets meer in detail.<br />

Gedetailleerde uitwerking bij continue populaties<br />

Neem voor de definitie van A "ingang groot" en B "uitgang groot" de fuzzy-sets uit figuur 1.13.<br />

µ<br />

1<br />

"Ingang is groot"<br />

1<br />

µ<br />

"Uitgang is groot"<br />

.5<br />

0.5<br />

0<br />

Ingang<br />

Figuur 1.13: Definitie van "ingang groot" en "uitgang groot".<br />

0<br />

Uitgang<br />

Baeten J.<br />

- 1.10 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

De juiste wiskundige weergave van de relatie tussen deze continu verlopende populaties is:<br />

R = A ∗ B = ∫ uv<br />

µ A (u) ∩ µ B (v) /(u, v)<br />

De bovenvermelde matrixvoorstelling breidt dan uit naar een driedimensionale figuur waarbij de<br />

x-as de ingangspopulatie weergeeft, de y-as de uitgangspopulatie en de z-as de toebehoringsgraad.<br />

Figuur 1.14 geeft een voorbeeld.<br />

µ<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

20<br />

30<br />

10<br />

20<br />

10<br />

0 0<br />

Ingang<br />

Uitgang<br />

Figuur 1.14: Voorstelling van de relatie "indien ingang groot, dan uitgang groot".<br />

"Ingang is groot"<br />

Ingang<br />

25<br />

20<br />

15<br />

10<br />

µ = 0.9<br />

µ = 0.7<br />

µ = 0.5<br />

µ = 0.3<br />

µ = 0.1<br />

"Indien ingang groot, dan uitgang groot"<br />

5<br />

1<br />

.5<br />

5 10 15 20 25 30<br />

µ<br />

0<br />

1<br />

0.5<br />

µ<br />

"Uitgang is groot"<br />

0<br />

Figuur 1.15: Voortselling van de relatie R met hoogtelijen.<br />

Uitgang<br />

We kunnen figuur 1.14 ook tweedimensionaal beschouwen en de waarheidsgraden voor de relatie<br />

voorstellen met behulp van 'hoogtelijnen' of lijnen van constante waarheid over de beschouwde<br />

Baeten J.<br />

- 1.11 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

universums U en V, zoals figuur 1.15 aangeeft. In de marge van de figuur worden ook de vormen<br />

van de lidmaatschapsfuncties voor "ingang groot" en "uitgang groot" gegeven.<br />

Gedetailleerde uitwerking bij discrete populaties<br />

Bij discrete sets over een eindige populatie wordt de relatie:<br />

µ R (u, v) = µ A∗B (u, v)=min [µ A (u), µ B (v)] ∀u ∈ U, v ∈ V<br />

Deze relatie kan geschreven worden in matrixvorm.<br />

⎡<br />

⎢<br />

A ∗ B =<br />

⎢<br />

⎣<br />

min [µ A (u 1 ), µ B (v 1 )] ...<br />

min [µ A (u 1 ), µ B (v m )]<br />

.. . ...<br />

...<br />

min [µ A (u n ), µ B (v 1 )] .. . min [µ A (u n ), µ B (v m )]<br />

⎤<br />

⎥<br />

⎥<br />

⎦<br />

Neem als voorbeeld de regel "Indien te snel, dan remmen". We definiëren te snel en remmen als<br />

volgt:<br />

"Te snel" = 0/20 + 0/40 + 0.1/60 / + 0.6/90 + 1/ 120 (met u = de snelheid in km/h)<br />

"Remmen" = 0 /ND + 0.5/LD + 1/HD (met ND, LD, HD resp. niet, lichtjes en hard de rem indrukken)<br />

In dit voorbeeld is A = het begrip "te snel" en B = het begrip "remmen".<br />

De fuzzy relatie R (Indien A dan B) wordt hier weergegeven door:<br />

R =<br />

0<br />

0<br />

0.1<br />

0.6<br />

1<br />

↑<br />

A, B →<br />

⎡ 0 0 0 ⎤<br />

⎢<br />

0 0 0<br />

⎥<br />

⎢<br />

0 0.1 0.1<br />

⎢<br />

⎥<br />

0 0.5 0.6<br />

⎥<br />

⎢ ⎥<br />

⎣ 0 0.5 1 ⎦<br />

0 0.5 1<br />

Uitbreiding<br />

Voor de regel "Indien A, dan B, dan C" wordt de fuzzy relatie R gegeven door:<br />

of<br />

A ∗ B ∗ C = ∫ u,v,w<br />

µ A (u)∩µ B (v)∩µ C (w) /(u, v, w)<br />

A ∗ B ∗ C = Σ u,v,w<br />

µ A (u)∩µ B (v)∩µ C (w) /(u, v, w)<br />

met universums U, V, W.<br />

Baeten J.<br />

- 1.12 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

1.4 Samenstellingsregels<br />

Bij de efficiënte controle van complexe processen zijn vaak veel gedragsregels nodig. Toch is het<br />

onmogelijk regels te voorzien voor alle mogelijke situaties die zich kunnen voordoen. Juist daarom<br />

is het nodig de samenstellings- of inferentieregel te gebruiken.<br />

Neem bijvoorbeeld de regel "Indien veel te snel, dan hard remmen". Als de voorwaarde "veel te<br />

snel" maar voor 50% voldaan is , dan zullen we ook maar voor 50% "hard remmen". Dit is een<br />

vorm van inferentie (afleiden). De volledige set van regels zou kunnen zijn:<br />

"Indien veel te snel, dan hard remmen"<br />

"Indien te snel, dan lichtjes remmen"<br />

"Indien goed, dan niets doen"<br />

"Indien te traag, dan gas bijgeven"<br />

(veel te snel = VTS, hard remmen = HR)<br />

(te snel = TS, lichtjes remmen = LR)<br />

(goed = G, niets doen = ND)<br />

(te traag = TT, gas bijgeven = GB)<br />

We kunnen al deze regels samenvoegen in een regelmatrix.<br />

VTS<br />

TS<br />

R =<br />

G<br />

TT<br />

1 0 0 0<br />

0<br />

0<br />

0<br />

1<br />

0<br />

0<br />

0<br />

1<br />

0<br />

0<br />

0<br />

1<br />

HR LR ND GB<br />

Als de werkelijke snelheid gekend is, kan bepaald worden in welke mate VTS, TS, G, en TT waar<br />

zijn. Neem bijvoorbeeld:<br />

"Werkelijke snelheid" = 0/VTS + 0.4/TS + 0.6/G + 0/TT<br />

Volgens de inferentieregel zal dan LR voor 40% en ND voor 60% van toepassing zijn zodat:<br />

"Werkelijke actie" = 0/HR + 0.4/LR + 0.6/ND + 0/GB<br />

In bovenstaand voorbeeld is "de werkelijke snelheid" een fuzzy-set over de linguïstische<br />

ingangsvariabele. "De werkelijke actie", het resultaat van de inferentieregel, is een fuzzy-set over de<br />

linguïstische uitgangsvariabelen. Algemeen geldt:<br />

Gegeven een set A' en een relatie R, dan wordt de overeenkomstige uitgangsset B':<br />

B = A R = A A ∗ B<br />

waarbij de relatie R overeenstemt met "Indien A dan B".<br />

Baeten J.<br />

- 1.13 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

De operator ° stelt het maximum-minimum produkt voor. De lidmaatschapsfunctie van de<br />

uitgangsset B' wordt gegeven door:<br />

µ B (v) = max min [µ A (u), µ R (u, v)]<br />

We nemen eerst het minimum over de ingangsvariabelen u en vervolgens het maximum over de<br />

kolommen in de (resterende) matrix. Laten we dit verduidelijken met het bovenstaand voorbeeld.<br />

Het verband min [µ A (u), µ R (u, v)] wordt:<br />

min(0,1) min(0,0) min(0,0) min(0,0)<br />

min(.4,0) min(.4,1) min(.4,0) min(.4,0)<br />

= =<br />

min(.6,0) min(.6,0) min(.6,1) min(.6,0)<br />

min(0,0) min(0,0) min(0,0) min(0,1)<br />

0 0 0 0<br />

0 .4 0 0<br />

0 0 .6 0<br />

0 0 0 0<br />

HR LR ND GB<br />

VTS<br />

TS<br />

G<br />

TT<br />

en<br />

µ B (v) = max min [µ A (u), µ R (u, v)]<br />

wordt:<br />

µ (v) =<br />

B'<br />

0 0 0 0<br />

0 .4 0 0<br />

max max max max = 0/HR + 0.4/LR + 0.6/ND + 0/GB<br />

0 0 .6 0<br />

0 0 0 0<br />

In dit voorbeeld is het resultaat van het max-min produkt evident. Nemen we daarom eens een iets<br />

uitgebreidere regelmatrix opgebouwd uit de sets A en B:<br />

zodat<br />

A = 0/1 + .2/2 + .5/3 + 1/4<br />

B = 1/a + .8/b + .4/c + 0/d<br />

R =<br />

0 0 0 0<br />

.2<br />

.5<br />

1<br />

.2<br />

.5<br />

.8<br />

.2<br />

.4<br />

.4<br />

0<br />

0<br />

0<br />

a b c d<br />

1<br />

2<br />

3<br />

4<br />

Neem als set A' = 0/1 + .3/2 + .6/3 + .7/4<br />

Baeten J.<br />

- 1.14 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

Het verband min [µ A (u), µ R (u, v)] wordt:<br />

min(0,0) min(0,0) min(0,0) min(0,0)<br />

min(.3,.2) min(.3,.2) min(.3,..2) min(.3,0)<br />

= =<br />

min(.6,.5) min(.6,.5) min(.6,.4) min(.6,0)<br />

min(.7,1) min(.7,.8) min(.7,.4) min(.7,0)<br />

0 0 0 0<br />

.2 .2 .2 0<br />

.5 .5 .4 0<br />

.7 .7 .4 0<br />

µ B (v) = max min [µ A (u), µ R (u, v)]<br />

wordt hier<br />

µ (v) =<br />

B'<br />

0 0 0 0<br />

.2 .2 .2 0<br />

max max max max = .7/a + .7/b + 0.4/c + 0/d<br />

.5 .5 .4 0<br />

.7 .7 .4 0<br />

Merk op dat de bovenstaande regelmatrix of regel "indien A dan B" nooit van toepassing zal zijn<br />

voor de waarde '1' en bijgevolg nooit de waarde 'd' zal aansturen. Dit komt ook tot uiting bij de regel<br />

"indien warm, dan verwarming dicht". Deze regel vertelt niets over de actie die ondernomen moet<br />

worden indien het koud zou zijn. Wel kunnen we uit deze regel door inferentie bepalen wat we<br />

zouden ondernemen indien het niet echt warm is, maar slechts een beetje warm, laten we zeggen<br />

voor 30% warm. In dit geval zegt de inferentieregel dat we de verwarming voor 30% dicht moeten<br />

zetten. Deze redenering komt overeen met de minimum-operator. Indien er nog een tweede regel<br />

van toepassing zou zijn op de uitgang "dicht" en deze regel zou voor 50% waar zijn. Dan moeten we<br />

kiezen tussen 30% of 50% als regelwaarde voor "dicht". We zullen de sterkste actie weerhouden, dit<br />

wil zeggen dat de regel die het meest van toepassing is, toegepast wordt. We nemen bijgevolg het<br />

maximum van de twee aangeboden waarden voor eenzelfde uitgang. De combinatie van de twee<br />

redeneringen resulteert in max-min operator. Het uitgebreid voorbeeld uit hoofdstuk 2 verduidelijkt<br />

nog de algemene werkwijze.<br />

Sommige programma's werken niet rechtstreeks met de regelmatrix als weerspiegeling van de<br />

opgestelde regels. De verschillende regels worden alleen gebundeld in één enkele regel (met EN- en<br />

OF-operatoren) per mogelijke (linguïstische) variabele. Bijvoorbeeld:<br />

Indien (A en B) of (C en D) of (A en niet D), dan actie 1.<br />

De EN-operator stemt overeen met een minimum, de OF-operator met het maximum. Zo krijgen we<br />

weer het max-min-produkt.<br />

Baeten J.<br />

- 1.15 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

1.5 Het fuzzy regelalgoritme<br />

Het geheel van logische stuurregels is het fuzzy-regelalgoritme. Het algoritme bepaalt het gedrag<br />

van de fuzzy-regelaar.<br />

Een fuzzy-regelaar moet een niet-fuzzy ingang kunnen verwerken en omvormen tot een fuzzy-set.<br />

Dit gebeurt in de fuzzyficatiestap. Een fuzzy-regelaar moet tevens een niet-fuzzy uitgang kunnen<br />

afleveren. Dit gebeurt bij de defuzzyficatiestap. Het hart van de fuzzy-regelaar vormt de schakel<br />

tussen de fuzzy ingangsset en de fuzzy uitgangsset en bestaat uit een opsomming van de regels of<br />

uit een regelmatrix. In het eerste geval dienen de regels iteratief toegepast te worden waarbij 'en' en<br />

'of' overeenstemmen met het minimum en het maximum van de betreffende waarheidsgraden. In<br />

het tweede geval wordt de inferentieregel toegepast om de uitgangsset te bekomen volgens het<br />

max-min produkt beschreven in de vorige paragraaf.<br />

De fuzzy-regelaar bestaat dus uit drie onderdelen zoals weergegeven in figuur 1.16.<br />

Ingang<br />

Fuzzyficatie<br />

Regelmatrix R<br />

of<br />

Opsomming van regels<br />

Indien ... dan ...<br />

Indien ... dan ...<br />

Defuzzyficatie<br />

Uitgang<br />

Figuur 1.16: Blokschema vam de fuzzy-regelaar.<br />

De fuzzyficatiestap<br />

Elk meetresultaat wordt vergeleken met een vooraf gedefinieerde fuzzy ingangssetverzameling. De<br />

meting dient zich als een 'singleton' aan. Voor elke linguïstische variabele wordt nagegaan wat de<br />

lidmaatschapsgraad is voor de gegeven meting of ingangsvariabele.<br />

µ<br />

100<br />

NL NM NS ZO PS PM PL<br />

ijskoud koud koel goed warm heet zeer heet<br />

80<br />

60<br />

40<br />

20<br />

0<br />

5 10 15 20 25 30 35 40 45 50 55<br />

Ingang<br />

Temperatuur in °c<br />

Figuur 1.17: Voorbeeld fuzzyficatie.<br />

Figuur 1.17 geeft een voorbeeld van de fuzzyficatiestap. Een temperatuur van 15°C is voor 20%<br />

koel en voor 70% koud, de overige waarheidsgraden zijn 0.<br />

Baeten J.<br />

15°C = .7/koud + .2/koel<br />

- 1.16 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

Figuur 1.17 geeft ook de standaard afkortingen gebruikt bij de fuzzyficatiecurven voor het<br />

foutsignaal. Deze zijn:<br />

NL Negative Large NG Negatief Groot<br />

NM Negative Medium NM Negatief Middelgroot<br />

NS Negative Small NK Negatief Klein<br />

ZO Zero of ON Ongeveer Nul<br />

PS Positive Small PK Positief Klein<br />

PM Positive Medium PM Positief Middelgroot<br />

PL Positive Large PG Positief Groot<br />

Bijvoorbeeld: Een temperatuur van 36°C geeft:<br />

36°C = 0/NL + 0/NM + 0/NS + .87/ZO + .12/PS + 0/PM + 0/PL<br />

De lidmaatschapsfuncties hoeven niet symmetrisch te zijn en worden zelfs vaak scheef genomen.<br />

Zie figuur 1.18. Wel wordt er best gezorgd voor een overlapping waarbij bij een bepaalde ingang<br />

maximaal 2 en minimaal 1 fuzzyficatiecurve(s) een waarde opleveren verschillend van 0. Figuur<br />

1.19 geeft enkele foutieve lidmaatschapsfuncties.<br />

µ<br />

1<br />

NG NM NK ON PK PM PG<br />

0<br />

Figuur 1.18: Scheve lidmaatschapsfuncties.<br />

Onvoldoende werking<br />

Instabiele werking<br />

Figuur 1.19: Foutieve lidmaatschapsfuncties.<br />

De verschillende lidmaatschapsfuncties zijn met behulp van vergelijkingen in het procesbeheerssysteem<br />

opgenomen. Door de substitutie van de waarde van de ingangsvariabele (meting) in deze<br />

vergelijkingen wordt bepaald wat de lidmaatschapsgraad of het waarheidsgehalte is.<br />

De vereenvoudigde vormen van lidmaatschapskrommes maken het mogelijk ook in kleinere<br />

automatiseringssystemen met voldoende snelheid de fuzzyficatieberekeningen uit te voeren. Wil<br />

men gebruik maken van moeilijkere lidmaatschapskrommes dan moet speciale hard- en software<br />

voorhanden zijn. De programma's worden dan in Pascal of C geschreven en later gecompileerd.<br />

Baeten J.<br />

- 1.17 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

De regels<br />

Zoals eerder vermeld hangen de regels af van de toepassing en steunen ze vooral op ervaringsgegevens.<br />

De regels zijn van de vorm<br />

"Indien ..... , dan ...."<br />

"Indien ..... , dan ...."<br />

...<br />

Om de uitgang te vinden, wordt het max-min produkt toegepast op de regelmatrix of de minimumen<br />

maximum-operatoren volgens de EN en OF voorwaardenstructuur uit de regels.<br />

Tabel 1.4 geeft een voorbeeld van het relatieschema met twee ingangen en een uitgang. De ingangen<br />

zijn het foutsignaal e en de verandering van het foutsignaal de. De uitgang is u.<br />

Niet alle vakjes moeten opgevuld worden. Indien men bij een bepaalde combinatie van ingangen<br />

geen actie wens te ondernemen, kan het betreffende vakje open gelaten worden.<br />

de \ e NG NM NK NU PK PM PG<br />

NG UNG UNG UNG UNG UNM UNK UNU<br />

NM UNG UNG UNG UNM UNK UNU UPK<br />

NK UNG UNG UNM UNK UNU UPK UPM<br />

NU UNG UNM UNK UNU UPK UPM UPG<br />

PK UNM UNK UNU UPK UPM UPG UPG<br />

PM UNK UNU UPK UPM UPG UPG UPG<br />

PG UNU UPK UPM UPG UPG UPG UPG<br />

Tabel 1.4: Relatieschema overeenstemmend met een PD-regelaar.<br />

Enkele mogelijke regels uit tabel 1.4 zijn hieronder uitgeschreven.<br />

"Indien e = PG en de = NU, dan u = UPG.<br />

"Indien e = PM en de = NU, dan u = UPM.<br />

"Indien e = NU en de = PG, dan u = UPG.<br />

"Indien e = NU en de = NU, dan u = UNU.<br />

"Indien e = NG en de = PG, dan u = UNU.<br />

enz...<br />

Waarbij bijvoorbeeld UPG betekent "Uitgang Positief Groot"<br />

Is men overtuigd van de juistheid van sommige regels en twijfelt men aan andere regels dan is het<br />

mogelijk om de uitkomst van de ene regel t.o.v. de andere regel met een vermenigvuldigingsfactor<br />

op te waarderen. Dit gebeurt door het toekennen van gewichtsfactoren aan de regels. (Dit zal verder<br />

niet worden toegepast).<br />

Baeten J.<br />

- 1.18 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

De defuzzyficatiestap<br />

In de vorige paragraaf zijn de regels behandeld waarin de ervaringen en het gewenst regelgedrag<br />

zijn vastgelegd. Op basis van de momentele waarden van de verschillende ingangsvariabelen volgt<br />

na bewerking van deze regels per regel een waarheidsgehalte voor de linguïstische<br />

uitgangsvariabele. De defuzzyficatie is de berekening van een concreet uitgangssignaal op basis van<br />

de verschillende waarheidsgehaltes.<br />

µ<br />

100<br />

NG NK ON PK PG<br />

80<br />

60<br />

40<br />

20<br />

0<br />

-100 -40 0 40 100<br />

Uitgang<br />

Figuur 1.20: Lidmaatschapsfucnties voor de uitgang van de regelaar.<br />

De waarheidsgehaltes voor de uitgangsset kunnen op verschillende manieren in de lidmaatschapskrommes<br />

van de uitgangsvariabelen worden verwerkt. Men spreekt hierbij van inferentie<br />

(gevolgtrekking). De meest gebruikte methoden zijn de minimum-inferentie en de produktinferentie<br />

methoden. Bij minimum-inferentie wordt de lidmaatschapskromme begrensd (afgeknot)<br />

op de minimumwaarde zoals figuur 1.21.a aangeeft.<br />

set = 0.8/klein + 0.4/medium + 0/groot<br />

µ<br />

µ<br />

100<br />

Klein Medium Groot<br />

100<br />

Klein Medium Groot<br />

80<br />

80<br />

60<br />

60<br />

40<br />

40<br />

20<br />

20<br />

0<br />

0<br />

Uitgang<br />

a) b)<br />

Figuur 1.21: Voorbeelden van a) minimum-inferentie en b) produkt-inferentie.<br />

Uitgang<br />

Bij produkt inferentie wordt de lidmaatschapskromme begrensd op de waarde die volgt uit het<br />

produkt van de waarheidsgraad en de oorspronkelijke lidmaatschapsfunctie. Figuur 1.21.b geeft een<br />

voorbeeld.<br />

Stel dat de uitgangsset overeenkomstig de krommes uit figuur 1.20 gelijk is aan:<br />

u = 0/NG + /NK + .2/ON + .8/PK + .4/PG<br />

Volgens de minimum-inferentie regel geeft dit het resultaat uit figuur 1.22.<br />

Baeten J.<br />

- 1.19 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

µ<br />

100<br />

NG NK ON PK PG<br />

80<br />

60<br />

40<br />

20<br />

0<br />

-100 -40 0 40 100<br />

Uitgang<br />

Figuur 1.22: Voorbeeld: bepaling van de uitgang van de regelaar.<br />

Figuur 1.22 geeft weer dat een "kleine positieve" uitgang de hoogste waarheidsgraad kent. Een<br />

logische gevolgtrekking kan dus zijn dat de uitgang ongeveer gelijk moet zijn aan 40. Maar ook<br />

niets doen (ON) en sterk aansturen (PG) scoren. Deze waarden moeten in de berekening van de<br />

effectieve uitgang meegenomen worden.<br />

In feite is het totaal gearceerde oppervlak maatgevend voor de regelaarsuitgang. De meest gebruikte<br />

methode is dan ook de zwaartelijn- of de zwaartepuntmethode. De ligging van de zwaartelijn of het<br />

zwaartepunt van het totaal gearceerd oppervlak is de gezochte (enkelvoudige) uitgang.<br />

Nochtans, bij het toepassen van de zwaartepuntmethode ontstaan problemen aan de boven- en<br />

ondergrens van de uitgangsvariabele. Neem als voorbeeld de driehoeksvorm voor PG uit figuur<br />

1.22. Stel dat de lidmaatschapsgraad voor PG 100% is. Het zwaartepunt van de driehoek ligt dan<br />

echter niet in 100 maar rond 80. Nochtans waren alle andere lidmaatschapsgraden gelijk aan 0. Zie<br />

figuur 1.23.a.<br />

µ<br />

100<br />

PG<br />

µ<br />

100<br />

PG<br />

80<br />

80<br />

60<br />

60<br />

40<br />

40<br />

20<br />

20<br />

0<br />

40 100 Uitgang<br />

a) b)<br />

0<br />

40<br />

100<br />

140<br />

Uitgang<br />

Figuur 1.23: a) maximale uitgang is niet berijkbaar en b) correctie volgens uitgebreide zwaartelijnmethode.<br />

Dit wil zeggen dat de maximale uitgang (100) nooit bereikt kan worden. De uitgebreide zwaartepuntmethode<br />

corrigeert dit door de lidmaatschapskrommes die uiterst links en rechts liggen bij de<br />

zwaartelijnberekening te spiegelen. Zie figuur 1.23.b. Het zwaartepunt in figuur 1.23.b ligt nu wel<br />

in 100.<br />

De defuzzyficatie vergt veel rekentijd. Daarom is gezocht naar vereenvoudigingen die het<br />

regelresultaat nauwelijks beïnvloeden maar de berekeningen sneller laten verlopen. Bij de<br />

Baeten J.<br />

- 1.20 -


Automatisering: Fuzzy-regeltechniek<br />

<strong>Hoofdstuk</strong> 1: <strong>Basisbegrippen</strong><br />

zwaartelijn bepaling moet het oppervlak worden bepaald van de omhullende kromme van alle<br />

lidmaatschapscurves van de uitgangsvariabele. Dit oppervlak kent overlappingen. Door uit te gaan<br />

van de afzonderlijke figuren bij de berekening van het totaal oppervlak worden deze overlappingen<br />

dubbel gerekend. De berekening zelf is echter eenvoudiger en wordt de vereenvoudigde zwaartelijn<br />

methode genoemd.<br />

Een derde vereenvoudiging of aanpassing kan erin bestaan de lidmaatschapsfuncties voor de<br />

linguïstische uitgangsvariabelen te definiëren als singletons. De uitgang wordt dan bekomen door<br />

het gewogen gemiddelde te nemen van de fuzzy uitgangsset:<br />

uitgang = Σ i v i µ(v i )<br />

Σ i µ(v i )<br />

We noemen dit de singletonmethode.<br />

Nemen we terug het voorbeeld uit figuur 1.22. We herdefiniëren de uitgangsbegrippen als<br />

singletons. Zie figuur 1.24.<br />

µ<br />

100<br />

fuzzy set = 0/NG + 0/NK + .4/ON + .8/PK + .2/PG<br />

NG NK ON PK PG<br />

80<br />

60<br />

40<br />

20<br />

0<br />

-100 -40 0 40 100<br />

Figuur 1.24: Voorbeeld - Singletonmethode.<br />

Uitgang<br />

De uitgangswaarde of het zwaartepunt is hier dan:<br />

40 ∗ 0 + 80 ∗ 40 + 20 ∗ 100<br />

40 + 80 + 20<br />

= 37, 14%<br />

Het volgend hoofdstuk geeft een uitgewerkt voorbeeld waarbij de verschillende stappen van de<br />

fuzzy-regelaar uitvoerig aan bod komen.<br />

Baeten J.<br />

- 1.21 -

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!