|
|
Anvendelse av Fuzzy Logikk
Trond Løvereide
Ved avdelingen har vi en spesialisering som kalles "Soft Computing" og
en av byggestenene i denne spesialiseringen er Fuzzy Logikk. Dette
begrepet trenger kanskje en liten forklaring, og ikke minst kan det
være behov for å rettferdiggjøre at emnet er tatt med i
spesialiseringen. I en tidligere utgave av HØIT (2/94) har Åge Eide
gitt en innføring i Fuzzy Logikk, men en kort oppsummering kan vel
allikevel være på sin plass.
Begrepet Fuzzy Logikk har i visse kretser møtt endel motstand,
bl.a. har navnet muligens vært noe uheldig siden "Fuzzy" jo betyr
"ullen", "uklar" eller "utydlig". Dette sammen med logikk, som av
mange regnes som langt fra "uklart" og "ullent", brakte tidligere noen
sinn i kok. I tillegg var det endel som mente at Fuzzy Logikk ikke
innførte noe nytt, at det var bare en variant av Bayesiansk
statistikk. Begge disse synspunktene har vel igrunn blitt skjøvet i
bakgrunnen etterhvert, særlig etter som konkrete anvendelser og
produkter med Fuzzy Logikk har dukket opp.
Hva er så Fuzzy Logikk ?
Vi kan begynne med å trekke en sammenlikning med tradisjonell
logikk. I "vanlig" logikk, dvs. logikk med SANT/USANT eller
TRUE/FALSE opererer man med kun 2 mulige verdier. Ofte representerer
man disse verdiene med 0 (null) for USANT og 1 (en) for SANT. Fuzzy
Logikk utvider dette ved å si at et utsagn kan ha en varierende grad
av "sannhet". Det betyr f.eks. at testen
IF TEMPERATUR=KALDT THEN VARMEEFFEKT=HØY
kan ha varierende grad av tilslag, avhengig av tallverdien til
variabelen TEMPERATUR. Som regel graderes tilslaget med
en verdi fra 0 til 1 hvor 0 betyr "helt feil" og 1 betyr "helt
riktig". Denne "graden av tilslag" av temperaturen i mengden
KALDT brukes så til å tilordne en bestemt verdi til
variabelen VARMEEFFEKT. Vi får altså en gradvis overgang
fra å definere en temperatur som kald til å være "ikke-kald". Vi
trenger da en måte å definere når en temperatur er "KALDT". Dette
gjøres ved å definere en rekke adjektiver til variablene. Til
variablen TEMPERATUR kan vi f.eks. definere adjektivene
KALDT, MILDT og VARMT og
illustrere disse grafisk slik:
Det betyr at ved en temperatur 16 grader har vi en tilhørighet på 0.0
i mengden KALDTMILDT og 0.8
i mengden VARMT. En slik representasjon av et adjektiv
kalles en Fuzzy mengde.
Hva kan så dette brukes til?
De første og fremdeles dominerende anvendelsene av Fuzzy Logikk er
kontroll og styringsoppgaver. Man starter med å definere inputvariable
og adjektiver for disse. Som inputvariable kan brukes forskjellige
målbare størrelser, f.eks. temperaturer, posisjoner, vekt, hastighet
osv. Alt som kan måles med sensorer kan i prinisppet brukes som
input. Deretter definerer man et sett med outputvariable og
tilsvarende sett med adjektiver som ved input. Også her må hvert
adjektiv beskrives av en fuzzy mengde slik som i figuren
over. Tilslutt definerer man et regelverk som kobler input til
output. Regelverket er bygd opp av IF-THEN -tester som i
eksemplet over. Outputvariablene gir da verdier til det som skal
styres, f.eks. styring av hastighet, effekt, åpning av ventiler, osv.
For at man skal få spesifikke verdier som output brukes en prosess som
kalles defuzzyfisering. Det er ikke noe annet enn en matematisk formel
for å beregne verdier på output på grunnlag av resultatene fra testene
i regelverket. Det finnes mange slike formler, hver med sine spesielle
finesser. Så kan man jo lure på hva man kan oppnå med dette i forhold
til tradisjonelle PID-kontrollere. Det første er enkelthet. Det finnes
eksempler på Fuzzy styringssystemer av store komplekse systemer som
styres med et regelverk på mindre enn 20 regler. Andre fordeler er
oversiktlighet og kort utviklingstid. Ofte krever et Fuzzy
styringssystem kun en "intuitiv" forståelse av problemet for at man
skal kunne sette opp regelverket, f.eks. "hvis det er varmt så slå ned
varmeeffekten". Ganske innlysende regler som både er enkle å sette opp
og vedlikeholde i kontrollsystemet.
En helt annen type anvendelse er i informasjonssøk. Vi kan tenke oss
et eksempel; en eiendomsmegler med en database over hus til salgs. En
kunde ber om et hus som er LITE og
BILLIG. Et søk i meglerens database kan da benytte seg av
Fuzzy Logikk og beregne en gradert "treff" til kundens ønske. Vi
definerer to variable STØRRELSE og PRIS med
tilhørende adjektiver som i figuren under.
Søket består da i hente fram tallverdiene for STØRRELSE
og PRIS i meglerens database og beregne den Fuzzy
"treffverdien" til testen
STØRRELSE=LITE AND PRIS=BILLIG
Vi får her et nytt problem, nemlig innføring av "Fuzzy
AND" og "Fuzzy OR". Det problemet løses
imidlertid enkelt ved å definere
A=B AND C=D => min(A=B,C=D)
A=B OR C=D => max(A=B,C=D)
Med disse definisjonene kan så megleren få opp en liste over hus som
passer mer eller mindre til kundens ønske. Et slikt Fuzzy søk kan
tenkes utvidet til mange andre databasesøk, f.eks. søk etter en billig
og ny bil hos en bilforhandler, en ung og flink student i et
studentregister, en lønnsom og sikker bedrift i et
bedriftsregister. Fordelen med slike søk er at man slipper å sette
skarpe grenser for hva som søkes etter, man kan finne mer eller mindre
gode treff.
Disse to hovedgruppene av anvendelser representerer idag det man kan
finne å kjøpe. I tillegg finnes mange andre mer spesielle anvendelse
som man kan vente kommer mer i fremtiden. To særlig lovende felt er
kunstig intelligens (AI) og kunnskapsbaserte systemer (KBS). En av
egenskapene til Fuzzy systemer er at data blir mer eller mindre
klassifisert som det ene eller andre, man unngår å sette skarpe
grenser. I systemer med AI eller KBS kan en forvente at nettopp denne
egenskapen vil bli utnyttet fullt ut.
Hva finnes av Fuzzy produkter idag?
I Norge idag finnes ikke mange produkter med Fuzzy Logikk på
markedet. Vi kan finne enkelte husholdningsprodukter som f.eks
mikrobølgeovner, vaskemaskiner og støvsugere. Det som er felles for
disse produktene er at de måler forskjellige verdier i systemet og
forsøker å styre etter disse ved hjelp av Fuzzy Logikk. Som eksempel
kan nevnes mikrobølgeovnen som måler temperatur, luftfuktighet og
mengden mat i ovnen og beregner effekt og tilberedningstid utfra
dette. Vaskemaskinen måler tøymengde og "graden av skittenhet" og
doserer vaskepulver og beregner vasketid fra dette. Målet er at mer
av styringen skal overlates til maskinene og mindre til brukeren. I
prinsippet kan man konstruere en vaskemaskin med kun en kontroll til
brukeren, nemlig av/på.
I Japan derimot, som er "Fuzzy systemers hjemland" kan man finne Fuzzy
Logikk i nesten alle typer produkter, bl.a. husholdningsapparater,
biler, heiser, TV, videokamera (autofokus, blenderåpning), ...og mye
mer. Et særlig godt eksempel på et felt hvor Fuzzy Logikk er brukt er
i biler. Her er markedet stort, ideene mange og det er mange
delsystemer som alle er potensielle anvendelser av Fuzzy
Logikk. Pr. idag brukes Fuzzy Logikk ihvertfall til ABS-bremser
(Nissan), reduksjon av drivstoff-forbruk ved styring av
drivstoffinnsprøytning og tenningstidspunkt (Hitachi, Mazda, Nissan),
aircondition (Hitachi, Matsusita, Mitsubishi, Sharp), cruise-controll
(Isuzu, Nissan, Mitsubishi) og automatgear (Honda, Nissan,
Subaru). Felles for alle disse produktene er at de bruker Fuzzy Logikk
til styring og kontroll og at dette gjør produketene enklere å
utvikle og bruke og som regel mer effektive.
Copyright: 1996, Høgskolen i
Østfold. Last Update: 28.06.97,
Thomas Malt.
|