Opgaver i Regelbaserede Ekspertsystemer Opgave 1 Herunder er fire forskellige årsager til ”ondt i halsen”, halsbetændelse, forkølelse, influenza og kyssesyge. Udled en række produktionsregler der kan afgøre hvad grunden til ”ondt i halsen” kan være1. Første produktionsregel skal således være halsbetændelse forkølelse influenza kyssesyge o ondt(halsen) (Hvis man har halsbetændelse eller er forkølet eller har influenza eller har kyssesyge så (kan det) medfører ondt i halsen)
Det er klart at den viden der er samlet i teksterne er vanskelig at ræsonnere over fordi symptomerne ligner hinanden. Der er dog forskel hvis man har alle/flere af symptomerne til en enkelt sygdom. Ekspertsystemet vil derfor på baggrund af de oplysninger der gives af brugeren kunne udvælge en eller flere muligheder. Lad os antage at brugeren har svaret ”ja” til at have synkesmerter så kan det kun være halsbetændelse (ifølge denne lille vidensbase) der er årsagen til ”ondt i halsen”, mens det hvis der er svaret ”ja” til at have feber ikke kan afgøres om det er halsbetændelse, influenza eller kyssesyge der er årsagen. Der vil her skulle mere viden fra brugeren til for at kunne differentiere mellem disse tre sygdomme. Alternativt må svaret være alle mulighederne. Dette betyder, hvis vi anskuer problemet som en graf, at der er tale om multipel nedarvning, altså at en knude kan have mere end én forælder. Det gælder fx at feber o halsbetændelse influenza kyssesyge og vil derfor, hvis det eneste faktum der gives er feber, give følgende inferenskæde feber o halsbetændelse influenza kyssesyge o ondt(hals) og ekspertsystemet vil ikke kunne indkredse årsagen til symptomerne (feber) til en enkelt sygdom, men udlede at der kan være tale om sygdommene halsbetændelse, influenza eller kyssesyge som årsag til ondt i halsen.
1
Teksterne er taget fra www.netdoktor.dk, men de er redigeret lidt for at passe til disse opgaver.
Opgave 2 Konverter produktionsreglerne fra opgave 1 til en graf, svarende til opgaven med ”bilen kan ikke starte”-vidensbasen fra øvelsesgangen om regelbaserede ekspertsystemer. (Husk igen at der er multipel nedarvning, hvilket betyder at et symptom kan lede til flere sygdomme)
Opgave 3 Opret en database efter samme model som i ”bilen kan ikke starte”–opgaven og afprøv systemet med en inferensmaskine. (det vil sige: opret en tabel med samme attributter og indsæt knuderne fra grafen i opgave 2. Dette kræver naturligvis at I har fået et brugernavn og password af
[email protected], så i har en databasebruger hvor i kan oprette og slette database objekter) Der skal dog rettes i modellen for at acceptere den multiple nedarvning. Denne ændring er at relationen fra Node til sig selv nu skal være en mange-til-mange i stedet for en en-til-mange. PARENT ID
RECOMMENDATION
DESCRIPTION
Node
QUESTION PRIORITY
PARENT ID
RECOMMENDATION
DESCRIPTION
Node
QUESTION PRIORITY
Der er til hver sygdom tilføjet en beskrivelse af hvad man selv kan gøre for at afhjælpe symptomerne. Disse beskrivelser er tænkt som mulig anbefaling hvis/når ekspertsystemet har fundet en mulig sygdom. Det største problem er at den inferensmaskine der blev udviklet til de tidligere opgaver (”bilen kan ikke starte”) ikke kan håndtere denne model. Knuderne der indeholder symptomer kan pege på flere forældre og derfor ikke entydigt bestemme årsagen. Derfor er det nødvendigt også at kunne behandle denne nye type knuder. Et besøg på en knude, ville i det tidligere system enten afvise muligheden, og derfor betyde at der skulle søges videre efter andre årsager, eller være løsningen og derfor afslutte inferenskæden. En knude der kun har en forælder skal stadig behandles på samme måde, mens knuder med flere forældre skal fortsætte gennemsøgningen uanset svaret fra brugeren, fordi enten afvises muligheden eller også er det endnu ikke sikkert at dette er det fulde svar. Fx
feber o halsbetændelse influenza kyssesyge kan senere, hvis der svares ”ja” til hovedpine, yderligere indkredse problemløsningen, fordi hovedpine o forkølelse influenza kyssesyge betyder at det så kun er fællesmængden mellem mængderne {halsbetændelse, influenza, kyssesyge} {forkølelse, influenza, kyssesyge} = {influenza, kyssesyge} der kan være årsagen, fordi dette vil være de eneste sygdomme der kan have begge symptomer. Denne måde at ræsonnere på kan ikke håndteres af det ”gamle” ekspertsystem. Implementer et ekspertsystem (tag naturligvis udgangspunkt i det ”gamle”) der kan ræsonnere over denne nye viden (og faktisk også den gamle, som jo blot vil være et specialtilfælde, hvor der ikke findes nogen knuder med flere forældre). Vi ved godt at denne opgave er vanskelig, men det samtidig netop den del af ”kunsten at programmere” vi gerne vil styrke i dette kursus, nemlig skridtet fra abstrakt problembeskrivelse til konkret problemløsning :-).
Beskrivelse af viden Halsbetændelse Hvordan føles halsbetændelse? x
Synkesmerter.
x
Smerterne i ørerne.
x
Rødme i halsen.
x
Hævede mandler.
x
Mandler med belægninger.
x
Feber.
x
Hævede lymfeknuder på halsen.
Hvad kan man selv gøre mod halsbetændelse? Ved tegn på halsbetændelse med feber og generel sygdomsfornemmelse er det en god idé at søge læge. Synkesmerter lindres med varme drikke og blød kost. Drik meget væske.
Forkølelse Hvordan føles forkølelse? x
Nyseanfald.
x
Næsen løber.
x
Næseslimhinden hæver.
x
Smerter i ørerne.
x
Hovedpine.
x
Hoste.
Hvad kan man gøre for at undgå forkølelse? Hvis du ikke fejler andet end forkølelse, og forkølelsen forsvinder i løbet af én-to uger, er der ikke grund til at søge læge. Næsemidler til at dæmpe hævelse af næseslimhinden kan lette vejrtrækningen. Sov med hovedet højt. Undgå rygning, det generer næseslimhinden. Smid engangslommetørklædet ud efter brug, det begrænser smitterisikoen.
Influenza Hvordan føles influenza? x
hovedpine
x
feber
x
smerter i muskler
x
ømme led
x
brystsmerter
x
mangel på appetit
x
træthed
x
svaghedsfølelse
Hvad kan man selv gøre? Drik mest muligt, da man taber væske under feber. Man skal holde sig i ro og gerne i sengen. Sov meget. Undgå at ryge og drikke alkohol, da dette kan forlænge sygdomsperioden. Man kan eventuelt tage hostemedicin, hvis man hoster. Man sover bedst, hvis søvnen er uforstyrret
af hoste. Tag eventuelt febernedsættende og smertestillende medicin. Man bør blive inden døre og forkæle sig selv, indtil sygdommen er overstået Søg læge, hvis symptomerne ikke aftager efter en uge.
Kyssesyge Hvordan føles kyssesyge? Op til sygdomsudbrud kan der være en periode på en til to uger, hvor det føles som om, man har influenza. Man har influenzalignende symptomer. x
Feber
x
Udtalt træthed
x
Muskelsmerter
x
Hovedpine
x
Svedtendens
x
Hævede lymfeknuder på halsen, under armhuler eller i lysken
Hvad kan man selv gøre? Ondt i halsen kan lindres med varme drikke. Drik rigeligt med væske, når du har feber. Hvil dig, når du er træt eller har feber. Genoptag fysisk aktivitet langsomt. Vent med kraftige fysiske anstrengelser til fire uger efter sygdoms ophør.
Opgaver i Fuzzy Logik Opgave 1 En fuzzy mængde ”Omkring 25” er defineret med følgende medlemskabsfunktion:
Grad
omkring 25
1.0 0.6 0 0
20
25
30
Alder
Spørgsmål 1 Giv et bud på funktioner (tegn disse) der definerer: a) ”Mere end 25” b) ”Helst i 30’erne, dog mindst 25” c) ”Præcis 25” d) ”Gammel” Spørgsmål 2 a) Giv et bud på en modifikatorer (hedges) der kan bruges til at modificere ”gammel” til ”meget gammel” og til ”en lille-bitte smule gammel”. Personer på 25 skal være medlemmer af den sidste til en grad > 0. b) tegn den modificerede medlemskabsfunktion. Spørgsmål 3 Tegn medlemsfunktioner der udtrykker a) ”Ikke omkring 25” b) ”Omkring 25 og en lille-bitte smule gammel” c) ”Omkring 25 eller en lille-bitte smule gammel”
Opgave 2 Givet følgende fuzzy mængder over et endeligt domæne E af elever. a) Dygtig = 1/peter + 1/kirsten + 0.9/allan + 0.4/ulla b) Flink = 1/kirsten + 0.8/karsten + 0.3/peter + 0.1/kurt c) Arbejdssom = 1/allan + 1/peter + 0.8 kirsten + 0.1/kurt Spørgsmål 1 Opskriv følgende fuzzy mængder a) Dygtig og Flink og Arbejdsom b) Dygtig eller Flink eller Arbejdsom c) Enten Dygtig eller også Flink og Arbejdsom d) Ikke Dygtig
Spørgsmål 2 Hvis vi definerer en modifikator ”Lidt” ved a) Lidt Dygtig b) Lidt Lidt Dygtig
X hvad omfattes så af følgende mængder: