Fuzzy-logikk er en utvidelse av boolsk algebra. Mens en vanlig logisk størrelse bare kan være enten sann eller usann, opererer man i fuzzy-logikken med grader av sannhet. Sannhetsgraden betegnes gjerne med et tall i området 0–1, slik at 0 er usann og 1 er helt sann. En verdi på 0,5 vil da tilsvare halvt sann.
fuzzy-logikk
Fuzzy-sett
En analog variabel, som for eksempel kan representere en fysisk størrelse, kan tilordnes en lingvistisk variabel med en tilhørighetsfunksjon som definerer i hvilken grad forskjellige verdier av den analoge variabelen oppfyller betingelsen for tilhørighet til den lingvistiske variabelen.
En annen betegnelse på en lingvistisk variabel med tilhørighetsfunksjon er fuzzy-sett. For eksempel kan vi for en variabel som angir en persons alder, definere en lingvistisk variabel ung med en tilhørighetsfunksjon som har verdien 1 for alder under 20 år og verdien 0 for alder over 40 år, med en gradvis overgang fra 1 til 0 mellom disse aldrene. En gitt alder vil da ha en grad av tilhørighet til den lingvistiske variabelen ung, eller grad av «unghet», definert av tilhørighetsfunksjonen. Alderen 25 år vil for eksempel ha en grad av tilhørighet til den lingvistiske variabelen ung lik 0,75. En annen måte å si det samme på er at sannhetsgraden for ung er 0,75, når alderen er 25 år.
Man kan gjerne definere flere lingvistiske variabler for samme variabel, for eksempel kunne man til personalderen også definere de lingvistiske variablene middelaldrende og gammel med sine tilhørighetsfunksjoner.
Man kan definere tilsvarende logiske operasjoner for lingvistiske variable som for vanlige logiske variable, det vil si IKKE, OG og ELLER. Det er flere alternative måter å definere disse operasjonene på.
Vanlige operasjoner
IKKE x = 1–x. Dette er å forstå slik at dersom en lingvistisk variabel har sannhetsgraden x, har den lingvistiske variabelen sannhetsgraden 1–x når vi utfører operasjonen IKKE på den. Hvis for eksempel Ola er 25 år, har «Ola er ung» sannhetsgraden 0,75, mens «Ola er IKKE ung» har sannhetsgraden 0,25. Tilsvarende vil «Ola er IKKE gammel» ha sannhetsgraden 1.
x ELLER y = MAKS(x,y). Dette er å forstå slik at dersom en lingvistisk variabel har sannhetsgraden x mens en annen har sannhetsgraden y, så har den ene ELLER andre lingvistiske variabelen sannhetsgraden lik den største av verdiene x og y. Dersom Ola er 25 år og er 1,70 høy, har «Ola er ung ELLER høy» sannhetsgraden 0,75 fordi «Ola er ung» har sannhetsgraden 0,75 mens «Ola er høy» har sannhetsgraden 0,5, og 0,75 er den største av disse. «Ola er høy ELLER gammel» har tilsvarende sannhetsgraden 0,5.
x OG y = MIN(x,y). Dette er å forstå slik at dersom en lingvistisk variabel har sannhetsgraden x mens en annen har sannhetsgraden y, så har det ene OG den andre lingvistiske variabelen sannhetsgraden lik den minste av verdiene x og y. Dersom Ola er 25 år og er 1,70 høy, har «Ola er ung OG høy» sannhetsgraden 0,5 fordi «Ola er ung» har sannhetsgraden 0,75 mens «Ola er høy» har sannhetsgraden 0,5, og 0,5 er den minste av disse. «Ola er høy OG gammel» har sannhetsgraden 0.
Anvendelse
Fuzzy-logikk benyttes først og fremst i ekspertsystemer og fuzzy-regulering.
Kommentarer
Kommentarer til artikkelen blir synlig for alle. Ikke skriv inn sensitive opplysninger, for eksempel helseopplysninger. Fagansvarlig eller redaktør svarer når de kan. Det kan ta tid før du får svar.
Du må være logget inn for å kommentere.