HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
2006-10-12
Fuzzy Logic and Fish Extinction
Vulnerability Estimation
Erik Prytz
[email protected]
850301-8916
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
Sammanfattning
I detta arbete handlar om en logik som kallas för fuzzy logic. Fuzzy logic är en logik med
multipla sanningsvärden. A behöver inte vara helt sant, eller helt falskt, till skillnad från
klassisk, tvåvärd logik. Mängden operationer som kan utföras inom fuzzy logik är till stor del
samma som kan göras i den traditionella logiken. Tack vare att man kan representera olika
sanningsvärden lämpar sig fuzzy logic väl för att representera naturligt språk. Detta gör det
till en användbar metod inom till exempel expertsystem och kontrollsystem. Expertsystemet
som skrevs av Cheung et al (2005) använder sig av just fuzzy logic och presterar bättre än
liknande system som är baserade på klassisk logik.
1
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
Innehållsförteckning
Sammanfattning ......................................................................................................................... 1
Innehållsförteckning................................................................................................................... 2
1.1 Inledning............................................................................................................................... 3
1.2 Syfte ................................................................................................................................. 3
1.3 Källor................................................................................................................................ 3
2.1 Historien bakom fuzzy logic ................................................................................................ 4
2.2 Hur fungerar Fuzzy Logic? .............................................................................................. 4
2.3 Fuzzy Set Theory ......................................................................................................... 4
2.4 Beräkningar inom Fuzzy Set ............................................................................................ 6
2.5 Medlemsskapsfunktion..................................................................................................... 7
3.1 Fuzzy Logic.......................................................................................................................... 8
3.2 Logiska Operatorer........................................................................................................... 8
3.3 Naturligt Språk och Hedges ............................................................................................. 8
3.4 If - Then............................................................................................................................ 9
4.1 Expertsystem ...................................................................................................................... 10
4.2 Systemet ......................................................................................................................... 10
4.3 Tekniska Specifikationer................................................................................................ 11
4.2 Sammanfattning ............................................................................................................. 12
5.1 Diskussion .......................................................................................................................... 13
Källhänvisning ......................................................................................................................... 14
2
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
1.1 Inledning
I detta arbete kommer jag att avhandla ämnet fuzzy logic, främst med inriktning på detta
ämnes användning inom artificiell intelligens. Först kommer jag att förklara en del kring vad
som skiljer fuzzy logic (FL) från vanlig logik, och sedan en del historia och bakgrund till
varför denna typ av logik uppkom.
Därefter kommer ett särskilt expertsystem, avsett att bedöma graden av hot om utrotning för
fiskar, att granskas för att visa på ett praktiskt exempel av FL.
1.2 Syfte
Syftet med denna rapport är att granska vad som skiljer fuzzy logic från andra typer av logik.
Detta kommer främst att göras med avseende på syftet och meningen bakom fuzzy logic,
vilket även inkluderar en studie av ett expertsystem som använder sig av denna logik.
Fuzzy logic används inom många andra områden, till exempel kontrollsystem, men dessa
kommer inte att behandlas i den här rapporten.
1.3 Källor
De källor som främst använts är en mängd böcker inom ämnet samt en rapport om ett
expertsystem som kan bedöma graden av hot om utrotning hos fiskar (”A fuzzy logic expert
system to estimate intrinsic extinction vulnerabilities of marine fishes to fishing”).
3
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
2.1 Historien bakom fuzzy logic
”If we consider all animals that have ever lived instead of just modern
animals, such words as ’human’ and ’bird’ become just as blurred and
unclear at the edges as words like ‘tall’ and ‘fat’.” (Dawkins 1991, s. 262)
Ordet ”fuzzy” får en osökt att tänka på den svenska översättningen, som närmast är ”luddig”.
Att kombinera orden logik och luddig verkar närmast omöjligt. Logik är absolut sanning,
logik är bevis på bevis för att visa att något antingen är sant eller falskt.
Det är emellertid just detta som fuzzy logic vill råda bot på. Fuzzy logic skapades av Lotfi
Zadeh på 60-talet som ett verktyg för att representera vår värld i logisk form.
Det fanns då ett problem som vanlig förstaorderslogik hade svårt att hantera, nämligen att allt
i vår verkliga reella värld inte går att representera i termer av sant eller falskt. En lampa till
exempel behöver inte vara tänd eller släckt. Man kan ha en dimmer och ställa in lampan att
lysa mer eller mindre i ett kontinuerligt spektra. Vi människor kan enkelt uttrycka en sådan
sak i att ”lampan lyser ganska lite”, ”lampan lyser starkt” eller ”lampan lyser hyfsat o-starkt”.
Det hela började med Zadeh’s rapport 1965 (Baldwin, 1996), som handlade om Fuzzy Sets.
Efter att detta arbete publicerats arbetade Zadeh vidare och utvecklade det som är känt som
fuzzy logic.
Fuzzy logic blev till en början inte vidare spritt, men ibland annat Japan upptäcktes hur man
kunde använda fuzzy control theory, en slags kontrollsystem för olika system, i kommersiellt
syfte. I och med detta började även fler länder intressera sig för fuzzy logic. (Baldwin 1996)
2.2 Hur fungerar Fuzzy Logic?
2.3 Fuzzy Set Theory
För att förstå fuzzy logic måste man först förstå det som kallas fuzzy set theory.
Ett vanligt missförstånd är att fuzzy logic inte innehåller något som är sant eller falskt. Detta
stämmer inte, och kommer förmodligen från ett av de mer grundläggande dragen inom fuzzy
set theory; nämligen att man tilldelar ett objekt ett värde mellan 0 X 1. Värdet anger till
vilken grad X tillhör ett särskilt mängd A, alltså till vilken grad X har egenskapen (S. Russel,
2003). Noll representerar då falskt, och ett representerar sant. Alla grader däremellan är alltså
ett varierande sanningsvärde. Ett klassiskt exempel är gamla människor: Om personen Nils är
58 år, är han då gammal (alltså tillhör mängden A som är ”gamla människor”)? I normal
förstaordnings logik skulle vi behöva ett fast definierat värde, till exempel 60. Enligt alla
konstens regler skulle logiken säga 58 < 60, alltså är inte Nils gammal. I fuzzy logic däremot
kan vi tilldela Nils värdet 0,75 vilket kan utläsas som att han är gammal till tre fjärdedelar,
eller tillhör mängden gamla människor till 75 %.
4
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
För att visa detta grafiskt kan man göra en enkel graf. Vi väljer att sätta åldern 1-25 år som
ung (0-1 års ålder räknas man som spädbarn), och att man därefter blir äldre (eller mindre
ung):
Ungdomlighet
1
0,9
0,8
0,7
0,6
0,5
0,4
0,3
0,2
0,1
0
Ålder
0
5
10
15
20
25
30
35
40
45
50
55
60
Nu är det inte alltid som man lätt kan hugga ett värde mellan 0 och 1 ur luften.
Det finns ett antal sätt att få fram detta sanningsvärde, här är några exempel;
1. Att använda sig av sin egen subjektiva uppfattning. Detta må vara ett väldigt enkelt
sätt att mata in sanningsvärden i ett system, men kanske inte alltid det snabbaste eller
mest konsekventa då det är baserade på en eller flera människors egna åsikter.
2. Omvandlade sannolikhetstabeller/sannolikheter kan användas för att tilldela olika
sanningsvärden. Det behöver nödvändigtvis inte vara en rak av omvandling mellan
P(x) till sanningsvärdet.
3. Faktiska värden. Det kan vara uppmätta eller insamlade data. Insamlade data är sällan
i en lämplig form, ofta finns en mängd värden som ska användas och vardagliga
termer på dessa. Man säger att värdena är i intervallet [0, ]. När = 1 säger man att
man har normal fuzzy logic. För att göra detta måste man normalisera värdena, detta
kan enkelt göras genom att dela samtliga värden i en mängd med mängdens
supremum. Supremum är det högsta av samtliga tal i mängden, och detta ger värden
mellan 0 X 1. Man kan matematiskt uttrycka normaliseringen på detta sätt;
sup µ A( ) = 1
X
Där A är en mängd objekt i universumet X, och är sanningsvärdet.
Ett annat exempeluttryck från Cai (1996) är följande;
5
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
Där universum A består av åldrarna [0,100] och vi definierar åldersgruppen ung som
alla värden som tillhör intervallet 0-25. Dessa får sanningsvärdet 1, då de är unga. När
vi sedan ska bestämma i vilken grad övriga åldrar är använder beräknar vi detta. För
att återgå till mitt förra exempel med Nils som är 58 år gammal (eller ung beroende på
synsätt) kan vi räkna på ((((58-25)/5)²)+1)-1 = 0,022. Man kan då sluta sig till att Nils
är väldigt lite ung.
(Kantrowitz et al 1997; Kartalopoulos 1996; Cai 1996; Ralescu et al 1997)
Ett annat vanligt missförstånd är att det är fuzzy logic som oprecist försöker beskriva vår
värld, medan det i själva verket är tvärtom; Fuzzy logic är ett väldigt exakt verktyg för att
beskriva vår luddiga (fuzzy) värld. Som tidigare visats finns det många olika beräkningar att
göra med fuzzy sets (och fuzzy logic som jag kommer visa i ett senare kapitel).
2.4 Beräkningar inom Fuzzy Set
Det finns många olika typer av beräkningar man kan göra med hjälp av fuzzy sets. I princip
allt man kan räkna på vanliga mängder kan även användas för fuzzy sets, om än i lite annan
form.
Cai (1996) ger i Introduction to Fuzzy Reliability några exempel på hur vanlig mängdlära kan
överföras till fuzzy sets;
”A is empty, denoted by A = Ø, if its support if empty” (Cai 1996)
Det betyder att i ett universum U, om alla element i mängden A har värdet 0 så är A tom.
Vidare visas komplementet till A, union, snitt och produkt i följande formler;
Union, snitt och komplement kan med fördel representeras i dessa grafer:
1
0,9
0,8
0,7
0,6
A
0,5
B
0,4
0,3
0,2
0,1
0
1
2
3
4
5
6
7
A i union med B är området
under de tjocka linjerna.
6
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
Området mellan de två tunnare
linjerna är A snitt B (Pedrycz & Gomide 1998).
Detta är ett enkelt sätt att förstå hur union och snitt i fuzzy set theory hänger ihop, kopplingen
till Venn-diagram är väldigt tydlig.
1
0,9
0,8
0,7
0,6
A
0,5
Icke-A
0,4
0,3
0,2
0,1
0
1
2
3
4
5
6
7
8
9
10 11
Komplementet till A (Fullér 2000).
2.5 Medlemsskapsfunktion
Graferna som tidigare visats var varit enkla, räta funktioner. Ett sanningsvärde behöver dock
inte ha en rät linje mellan falskt/sant, utan kan egentligen se ut lite hur som helst. Det finns
dock ett antal standardgrafer som är de mest vanligt förekommande, några av dem kommer vi
även att se under kapitlet om expertsystemet. Grafen över komplementet till A är en typisk så
kallade triangulär funktion. En annan mycket vanlig graf är den trapeziodala funktionen:
S- Funktion
Trapez iodal Funktion
1
1
0,9
0,9
0,8
0,8
0,7
0,7
0,6
0,6
0,5
0,5
0,4
0,4
0,3
0,3
0,2
0,2
0,1
0,1
0
1
2
3
4
5
6
Trapeziodal funktion.
7
8
9
10
11
12
13
14
15
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
S-funktion
Den så kallade S-funktionen är ett exempel på en graf där linjen inte går i en rät funktion. Det
finns även exponentiella funktioner, som aldrig når värdet noll och som därför inte kan sägas
vara helt falska vid något givet tillfälle.
7
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
3.1 Fuzzy Logic
Booleansk logik, tvåvärd logik, hanterar enbart två sanningsvärden, sant eller falskt. Då fuzzy
logic kan anta dessa två värden, och oändligt många fler, kan man se det som att booleansk
logik är en del av fuzzy logic. Att fuzzy logic är något mer, som innefattar även den mer
traditionella logiken.
”For the extreme case, where the distribution is of ‘zero’ width, the membership function
is reduced to singularities; in other words, the fuzzy logic reduces to a crisp logic. If the
singularities are of two possibilities, we then have binary logic.” (Kartalopoulos 1996
s122)
“Any logical system can be fuzzified.” (Fullér, 2000, s V)
3.2 Logiska Operatorer
Medan normal logik använder sig av operatorerna AND och OR (konjunktion och
disjunktion) samt NOT på följande sätt;
AND (konjunktion): X och Y ska båda vara sanna för att X ^ Y = True.
OR (disjunktion): Antingen X eller Y är sann för X v Y = True.
NOT ( ): Negerar X.
AND samt OR är ekvivalent med union respektive snitt, NOT är ekvivalent med komplement,
(Kartalopoulos 1996) och i fuzzy logic används en annan metod för att visa på dessa
operatorer. Vi låter A och B vara två fuzzy mängder och kan då visa att;
AND: min(A( ),B( ))
OR: max(A( ),B( ))
NOT: 1 – A( )
(Pedrycz & Gomide 1998)
Den grafiska representationen är densamma som för konjunktion, disjunktion och
komplement.
3.3 Naturligt Språk och Hedges
När vi i dagligt tal pratar om i princip vad som helst använder vi oss gärna av ord som
förstärker det vi vill få fram. Jag kanske inte uttrycker mig som ”Nils är gammal”, utan istället
uttrycker det kraftigare i form av ”Nils är verkligen riktigt jättegammal!”. Då fuzzy logic vill
kunna ta in så mycket som möjligt av det naturliga talet används något som kallas för hedges.
Man kan dela upp en mening, till exempel ”Nils är väldigt gammal och inte ung” i tre olika
beståndsdelar (Pedrycz & Gomide 1998):
8
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
1. Primära termer.
2. Hedges.
3. Negationer och konjunktioner.
Där de primära termerna i föregående exempel skulle vara ”gammal” och ”ung”. Hedges
skulle vara ”väldigt” och ”och” samt ”inte” skulle vara negationer och konjunktioner.
För att bära med oss denna förändring i värde som ”väldigt” har på begreppet ”gammal”, kan
man se ”väldigt” som en operator som påverkar sanningsvärdet för ”gammal”.
Hur detta går till rent matematiskt beror helt på hur man vill röra sig på skalan. Ett starkt
uttryck kanske man vill ge en större effekt på ett uttryckt en ett svagare adverb/adjektiv.
Exempel på operationer som ger större effekt är att upphöja sanningsvärdet i två och mindre
effekter kan uppnås genom plus eller minus.
3.4 If - Then
När fuzzy logic implementeras i expertsystem eller kontrollsystem sker detta oftast genom en
mängd If/Then-regler (Kartalopoulos 1996; Pedrycz & Gomide 1998; Fullér 2000).
Dessa kan typiskt se ut på följande sätt (Kartalopoulos 1996);
IF A1 AND/OR B1 THEN H11, else
IF A2 AND/OR B1 THEN H21, else
IF A1 AND/OR B2 THEN H12, else
IF A2 AND/OR B2 THEN H22
Dessa if-satser använder sig oftast av den lingvistiska expertkunskap som systemet har
tillgång till. Systemen kan även ha olika många inputs och outputs. Till exempel kan vi välja
att definiera ett multi-input-multi-output (MIMO) eller ett multi-input-single-output (MISO)
system. Ett exempel från Fullér (2000) på ett MISO-system ser ut som följande;
R1: if x is A1 and y is B1 then z is C1
also
R2: if x is A2 and y is B2 then z is C2
also
…
also
Rn: if x is An and y is Bn then z is Cn
Det finns även sätt att bryta ned if-satserna till mindre genom att ta uttryck likt
if Ai and Bj and Ck, then Hijk, else
och bryta ned till följande
if Ai and Bj, then Hij
If Hij and Ck, then Hijk
Man kan säga att Hij är en mellanvariabel (intermediate variable) (Kartalopoulos 1996).
9
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
4.1 Expertsystem
Ett expertsystem som använder sig av fuzzy logic är det system som utvecklades av William
W. L. Cheung, Tony J. Pitcher samt Daniel Pauly, som beräknar till vilken grad en fiskart är
utrotningshotad. Genomgången av systemet är baserat på deras rapport som publicerades i
Biological Conservation 123 (2005) 97-111 s. 97 med titeln ”A fuzzy logic expert system to
estimate intrinsic extinction vulnerabilites of marine fishes to fishing”.
4.2 Systemet
Motiveringen till att de började arbeta på detta system var att en ökad mängd bevis på att fler
och fler fiskarter, globalt sett, är i riskzonen för utrotning. Detta framförallt med avseende på
kommersiellt fiske som direkt eller indirekt ökar graden av utrotningshot. Då vanlig
bedömning, utförd av människor, kräver en djup förståelse av populationslära och i vissa
delar av världen inte går att utföra på grund av brist på pengar och eller mänskliga resurser var
tanken att ett expertsystem skulle med hjälp av stora databaser lösa problemet istället.
Detta skulle göras med hjälp av ett antal utvalda fakta om given fiskart, där den fakta man
använder sig av är relevant för graden av utrotningshot. Detta skulle alltså fungera som en
slags heuristik för att systemet skulle kunna göra en bedömning om graden av utrotningshot
på en skala mellan 0 till 100, med fuzzy mängder av lingvistiska termer. Systemet skulle
alltså ta en större mängd inputs och ge upphov till ett tillhörighetsvärde på följande graf:
De variabler som matades
inkluderade; max längd, ålder vid
könsmognad, levnadstid, von
Bertalanffys växtparameter K
(VBGF), naturlig dödlighetsnivå,
fruktsamhet, styrkan hos det spatiala
beteendet samt geografisk spridning.
Dessa var variabler som via
publicerad litteratur kunde knytas till
sårbarheten för fiske.
Därefter utförde systemet en mängd
beräkningar som placerade fisken
någonstans längs grafen till höger.
För de olika in-parametrarna valde
de att först lägga lika stor vikt vid
samtliga, och lägga ett tröskelvärde
för när en heuristik skulle börja gälla. De satte denna tröskel till 0,2, vilket innebar att
systemet betraktade de premisser som fanns som falska tills sanningsvärdet nådde 0,2. Detta
för att sortera ut de premisser som antog väldigt låga sanningsvärden.
Detta tröskelvärde togs fram genom att variera värdet och sedan se hur slutresultatet blev.
En intressant detalj är att Cheung et al (2005) även konstruerade ett expertsystem som byggde
på traditionell logik, men med samma regler och attribut. Den största skillnad detta medförde
10
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
var att en fisk inte längre kunde anses vara två attribut samtidigt. Till exempel kunde inte en
fisk av en viss längd vara till 0,8 i Large och 0,2 Medium.
När sedan systemet (det fuzzy logic-baserade) uppskattade utrotningshotet med utgångspunkt
från de ekologiska parametrarna och fiskarternas specifikationer visade det sig att den var
signifikant relaterad till dem kategori av utrotningshot som IUCN (the World Conservation
Union) tilldelat fiskarten.
Däremot gällde samma korrelation inte då metoden med klassisk logik provades.
Den slutsats som Cheung et al (2005) kom fram till var att deras studie visade dels på att
fuzzy logic i ett expertsystem ger ett bättre resultat än klassisk logik. Dessutom noterade de
att;
”Comparisons with empirical population abundance trends showed that a fuzzy system
could be used to predict the intrinsic vulnerability of marine fishes.” Cheung et al (2005)
Detta betyder alltså att ett system kan användas i syftet att kontrollera olika fiskarters
känslighet. Tyngdpunkten låg alltså på systemets förmåga att ge en varning i förväg om att en
art är hotad.
4.3 Tekniska Specifikationer
Systemet utvecklades med hjälp av Microsoft Excel samt Visual Basic for Applications.
De samband mellan livshistoria och ekologiska faktorer som kunde knytas till graden av
utrotningshot formulerades som en mängd ”if-then”-regler. Några exempel är;
Attribut
1
1
1
1
2
2
2
2
3
3
3
3
Regel
1
2
3
4
5
6
7
8
9
10
11
12
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
IF
Premiss
Maximum lenght is very large
Maximum lenght is large
Maximum lenght is medium
Maximum lenght is small
Age at first maturity (Tm) is very high
Age at first maturity (Tm) is high
Age at first maturity (Tm) is medium
Age at first maturity (Tm) is low
Maximum age (T max) is very high
Maximum age (T max) is high
Maximum age (T max) is medium
Maximum age (T max) is low
THEN
THEN
THEN
THEN
THEN
THEN
THEN
THEN
THEN
THEN
THEN
THEN
Konsekvens
Vulnerability is very high
Vulnerability is high
Vulnerability is moderate
Vulnerability is low
Vulnerability is very high
Vulnerability is high
Vulnerability is moderate
Vulnerability is low
Vulnerability is very high
Vulnerability is high
Vulnerability is moderate
Vulnerability is low
Utdrag från Table 1 från ”A fuzzy logic expert system to estimate intrinsic extinction
vulnerabilites of marine fishes to fishing”. (Cheung et al, 2005)
Trapezoida och triangulära funktioner valdes för både in-värden och slutresultatet, i formen av
trapezoiderna i vardera ände av X-skalan, med ett antal triangulära funktioner däremellan.
Dessa överlappade varandra en hel del, vilket också var meningen.
För att sedan räkna ut hur olika regler skulle vägas mot varandra när det kom till slutresultatet
vägdes samtliga med en vikt på 0,5. I andra ord; en factor på 0,5 ”means we have 50% of
belief to the validity of the rule.” (Cheung et al, 2005)
11
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
Formeln som användes var:
Membershipconclusion = Membershippremise * CF
Där CF representerar viktningen.
En annan viktig detalj när systemet skulle designas var de lingvistiska termer som fanns i de
databaser som användes. Cheung et al (2005) valde att använda sig av en metod som gav ett
basvärde och som därefter multiplicerade med en faktor beroende på vilken term som
användes. Detta är enligt mig ett typiskt exempel på en variant av hedges. Den faktor som de
granskade var framförallt hur fiskarten rör sig genom livet, på engelska spatial behaviour.
Linguistic Descriptions
Multiplication
Usually solitary/pair
-40%
Occasionally/sometimes/alternately/may/probably/loose/small
-40%
Sometimes solitary/pair
-20%
Presumably/apparently
-20%
Frequently/often
20%
Commonly/usually/large/dense
40%
Table A.1 från ”A fuzzy logic expert system to estimate intrinsic extinction vulnerabilities of
marine fishes to fishing”. (Cheung et al, 2005)
Genom att kombinera dessa faktorer i formeln:
S = B * (1 + A1 + A2 + ... + An)
Där S är den totala styrkan hos det spatiala beteendet och n är antalet lingvistiska termer. Ett
exempel från rapporten ser ut så här:
”Callionymus limiceps (round-headed dragonet) is described as ‘usually in small
aggregations’ in FishBase. The baseline spatial behaviour strength for ‘aggregation’ is 40,
the multiplication factors for ‘usually’ and ‘small’ are 40% and -40%, respectively.
Therefore, the spatial behaviour strength is calculated as:
S = 1/1 * (1 + 40% - 40%) * 40 = 40.”
Genom att kombinera de olika medlemskapen efter viktningen nåddes en slutlig konklusion.
Cheung et al (2005) använde sig av metoden:
Membershipe = Membershipe-1 + Membershipi * (1 – Membershipe-1)
För att sammanfoga resultaten från reglerna. Membershipe är det slutliga sanningsvärdet efter
att ha kombinerat e regler, och Membershipi är sanningsvärdet för konklusionen av regel i.
4.2 Sammanfattning
Cheung’s et al (2005) expertsystem använder sig av fuzzy logic och kunde i tester bevisa sig
bättre än samma system byggt på traditionell logik.
12
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
Det visar även på att fuzzy logic har en mängd användningsområden och att expertsystem
fortfarande är aktuella och intressanta forskningsobjekt. Till exempel kan systemet som tagits
upp under 4.1 användas med fördel för att övervaka fiskbestånd i olika delar av världen. En
klar fördel med fuzzy-logic baserade system är att kunskapen ligger lätt abstraherad i form av
IF-THEN satser som kan ändras efter behov.
5.1 Diskussion
Fuzzy logic har utvecklats mycket sedan det först dök upp i mitten på 60-talet. Många olika
användningsområden har utvecklats, förfallit och återuppstått. Zadeh själv sa i en intervju
(Blair, 1994) att;
“I expected people in the social sciences-economics, psychology, philosophy, linguistics,
politics, sociology, religion and numerous other areas to pick up on it. It'
s been
somewhat of a mystery to me why even to this day, so few social scientists have
discovered how useful it could be. Instead, Fuzzy Logic was first embraced by engineers
and used in industrial process controls and in "smart" consumer products such as handheld camcorders that cancel out jittering and microwaves that cook your food perfectly at
the touch of a single button. I didn'
t expect it to play out this way back in 1965.” Zadeh
(1994)
Det kanske ligger något i vad Lotfi här get uttryck för; att fuzzy logic skulle kunna
tillämpas inom så mycket mer än expertsystem eller kontrollsystem.
Just kontrollsystemen är annars något som fuzzy logic används flitigt inom.
Många av våra dagliga hushållsapparater, till exempel tvättmaskiner, använder sig av
kontrollsystem som baseras på fuzzy logic. Det är framförallt i Japan som Fuzzy control
systems används i stor skala, då detta land snabbt tog till sig tekniken med fuzzy logic och
såg att den kunde utvecklas och användas kommersiellt.
Mina egna åsikter efter att jag har studerat ämnet djupare är att fuzzy logic är en bra metod
att använda inom många områden, där expertsystem är ett typiskt exempel. Några
nackdelar finns dock. En av dessa är att dess tolkningar av naturligt språk kan vara väldigt
kontextberoende. Om Lisa, 150 cm lång, uttrycker att Pelle är lång får det en helt annan
betydelse än om Jimmy, 210 cm lång, uttrycker samma mening.
Däremot anser jag det bra att man kan spegla (oändligt) många sanningsvärden i en logik.
För att kunna representera vår värld är det enligt mig nödvändigt, trots tidigare nämnda
problem med tolkningar. Ett klassiskt exempel på hur fuzzy logic kan hantera vissa
situationer bättre än klassisk logik är en höstack. Om jag tar och lägger ett strå i taget på ett
golv, när är det tillräckligt många strån för att det ska vara en höstack? Istället för att sätta
en gräns på 1 853 569 stycken strån (eller annat lämpligt nummer) för att göra en stack som
man skulle bli tvungen att göra med klassisk logik kan man se det som att denna mängd
strån rör sig mot ett större tillhörandevärde för mängden ”stackar”.
13
HKGBB0 Artificiell Intelligens
Fördjupningsarbete HT 06
Erik Prytz
eripr541
Källhänvisning
1
S. Kartalopoulos (1996), Understanding Neural Networks and Fuzzy Logic,
Institute of electrical and Electronics Engineers, Inc.
2
Lotfi A. Zadeh (2001), AI Magazine, A new direction in AI –Toward the
computational theory of perceptions vol. 22 no. 1 spring s. 73-84.
3
William W.L. Cheung, Tony J. Pitcher & Daniel Pauly (2005), A fuzzy logic
expert system to estimate intrinsic extinction vulnerabilities of marine fishes
to fishing, Biological Conservation 124 (2005) 97-11, s. 97-111.
4
Stuart Russel och Peter Norvig (2003), Artificial Intelligence –A modern
Approach, Second Edition.
5
Mark Kantrowitz, Erik Horstkotte och Cliff Joslyn (1997), FAQ Fuzzy Logic
and Fuzzy Expert Systems,
http://www.cs.cmu.edu/Groups/AI/html/faqs/ai/fuzzy/part1/faq-doc-9.html
6
Kai-Yuan Cai (1996), Introduction to Fuzzy Reliability, Kluwer Academic
Publishers Group.
7
Robert Fullér (2000), Advances in Soft Computing –Introduction to NeuroFuzzy Systems, Physica-Verlag Heidelberg.
8
Witold Pedrycz och Fernando Gomide (1998), An Introduction to Fuzzy Sets
–Analysis and Design, Massachusetts Institute of Technology.
9
Richard Dawkins (1991), The Blind Watchmaker, Penguin Group.
10
IUCN, The World Conservation Union, http://www.iucn.org/
11
Betty Blair, Interview with Lotfi Zadeh –Creator of Fuzzy Logic,
http://www.azer.com/aiweb/categories/magazine/24_folder/24_articles/24_f
uzzylogic.html
12
J. F. Baldwin (1996), Fuzzy Logic, John Wiley & Sons Ltd.
13
Anca L. Ralescu, James G. Shanahan (Eds.) (1997), Fuzzy Logic in Artificial
Intelligence, Springer-Verlag Berlin Heidelberg
14