HØit Nr. 1-97
Previous article Next article TOC: Nr. 1, 1997 Previous Issue Next Issue About HØit

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:
Figur 1.
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.
Figur 2.
Figur 3.
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.

Previous article Next article TOC: Nr. 1, 1997 Previous Issue Next Issue About HØit
HØit Nr. 1-97


Copyright: 1996, Høgskolen i Østfold. Last Update: 28.06.97, Thomas Malt.