[trace] ?- go. Call: (7) go ? creep ^ Call: (8) retractall(wrong(_G342)) ? creep ^ Exit: (8) retractall(wrong(_G342)) ? creep ^ Call: (8) retractall(fact(_G344)) ? creep ^ Exit: (8) retractall(fact(_G344)) ? creep Call: (8) writeln('welkom bij dokter doolittle diagnose systeem') ? creep welkom bij dokter doolittle diagnose systeem Exit: (8) writeln('welkom bij dokter doolittle diagnose systeem') ? creep Call: (8) writeln('vult aub alle symptomen in die u heeft met een . erachter') ? creep vult aub alle symptomen in die u heeft met een . erachter Exit: (8) writeln('vult aub alle symptomen in die u heeft met een . erachter') ? creep Call: (8) writeln('bijvoorbeeld: klierzwellingen.') ? creep bijvoorbeeld: klierzwellingen. Exit: (8) writeln('bijvoorbeeld: klierzwellingen.') ? creep Call: (8) writeln('vul q. in als u klaar bent') ? creep vul q. in als u klaar bent Exit: (8) writeln('vul q. in als u klaar bent') ? creep Call: (8) readsymptoms ? creep Call: (9) read(_L223) ? creep --------------- Initiele fase, gebruiker wordt om invoer gevraagd. |: jeuk. Exit: (9) read(jeuk) ? creep Call: (9) string_length(jeuk, 1) ? creep Fail: (9) string_length(jeuk, 1) ? creep ^ Call: (9) assert(fact(symptoom(jeuk))) ? creep ^ Exit: (9) assert(fact(symptoom(jeuk))) ? creep Call: (9) writeln('vult aub het volgende symptoom in: ') ? creep vult aub het volgende symptoom in: Exit: (9) writeln('vult aub het volgende symptoom in: ') ? creep Call: (9) readsymptoms ? creep Call: (10) read(_L239) ? creep |: q. -------------- Gebruiker heeft input gegeven systeem gaat zoeken Exit: (10) read(q) ? creep Call: (10) string_length(q, 1) ? creep Exit: (10) string_length(q, 1) ? creep Exit: (9) readsymptoms ? creep Exit: (8) readsymptoms ? creep Call: (8) valuefacts ? creep ^ Call: (9) retractall(numberscor(_G350, _G351, _G352, _G353, _G354)) ? creep ^ Exit: (9) retractall(numberscor(_G350, _G351, _G352, _G353, _G354)) ? creep Call: (9) if _G356 then _G357 ? creep Exit: (9) if symptoom(hoofdpijn)and symptoom('hoofdpijn achter ogen')and symptoom(spierpijn)and symptoom(gewrichtspijn)then ziekte(dengue) ? creep Call: (9) numbercor(symptoom(hoofdpijn)and symptoom('hoofdpijn achter ogen')and symptoom(spierpijn)and symptoom(gewrichtspijn), _L232, _L233, _L234) ? creep Call: (10) fact(symptoom(hoofdpijn)and symptoom('hoofdpijn achter ogen')and symptoom(spierpijn)and symptoom(gewrichtspijn)) ? creep Fail: (10) fact(symptoom(hoofdpijn)and symptoom('hoofdpijn achter ogen')and symptoom(spierpijn)and symptoom(gewrichtspijn)) ? creep Redo: (9) numbercor(symptoom(hoofdpijn)and symptoom('hoofdpijn achter ogen')and symptoom(spierpijn)and symptoom(gewrichtspijn), _L232, _L233, _L234) ? creep Call: (10) numbercor(symptoom(hoofdpijn), _L280, _L281, _L282) ? creep Call: (11) fact(symptoom(hoofdpijn)) ? creep Fail: (11) fact(symptoom(hoofdpijn)) ? creep Redo: (10) numbercor(symptoom(hoofdpijn), _L280, _L281, _L282) ? creep Call: (11) wrong(symptoom(hoofdpijn)) ? creep Fail: (11) wrong(symptoom(hoofdpijn)) ? creep ... Exit: (13) findmax([0^numberscor(symptoom('onregelmatige koorts')and symptoom('afwijking diverse organen'), 0, 2, 0, ziekte('Kala azar')), 0^numberscor(symptoom('onregel matige koorts')and symptoom(hoofdpijn)and symptoom(rugpijn)and symptoom(gewrichtspijn), 0, 4, 0, ziekte('Brucellose')), 0^numberscor(symptoom(koorts)and symptoom(huiduitsla g)and symptoom(lymfeklierpijn), 0, 3, 0, ziekte('Tick-typhus')), 0^numberscor(sexe(man)and symptoom('Etterige afscheiding in uretha/pisbuis'), 0, 2, 0, ziekte('Gonorroe')), 0^numberscor(sexe(...)and symptoom(...), 0, 2, 0, ziekte('Gonorroe')), 0^numberscor(symptoom(...), 0, 1, 0, ziekte(...)), 0^numberscor(..., ..., ..., ..., ...), ... ^...|. ..], 0^foo, 1^numberscor(symptoom(jeuk)and symptoom(huiduitslag), 1, 1, 0, ziekte('luizen en vlooien'))) ? creep Exit: (12) findmax([0^numberscor(symptoom('onregelmatige koorts')and symptoom(hartafwijkingen), 0, 2, 0, ziekte('ziekte van chagas')), 0^numberscor(symptoom('onregelmati ge koorts')and symptoom('afwijking diverse organen'), 0, 2, 0, ziekte('Kala azar')), 0^numberscor(symptoom('onregelmatige koorts')and symptoom(hoofdpijn)and symptoom(...)an d symptoom(...), 0, 4, 0, ziekte('Brucellose')), 0^numberscor(symptoom(koorts)and symptoom(...)and symptoom(...), 0, 3, 0, ziekte('Tick-typhus')), 0^numberscor(sexe(...)and symptoom(...), 0, 2, 0, ziekte('Gonorroe')), 0^numberscor(...and..., 0, 2, 0, ziekte(...)), 0^numberscor(..., ..., ..., ..., ...), ... ^...|...], 0^foo, 1^numberscor(sympt oom(jeuk)and symptoom(huiduitslag), 1, 1, 0, ziekte('luizen en vlooien'))) ? creep Exit: (11) findmax([0^numberscor(symptoom('onregelmatige koorts')and symptoom(klierzwellingen)and symptoom(huidafwijkingen)and symptoom('psychische veranderingen'), 0, 4 , 0, ziekte('afrikaanse slaapziekte')), 0^numberscor(symptoom('onregelmatige koorts')and symptoom(hartafwijkingen), 0, 2, 0, ziekte('ziekte van chagas')), 0^numberscor(symp toom('onregelmatige koorts')and symptoom('afwijking diverse organen'), 0, 2, 0, ziekte('Kala azar')), 0^numberscor(symptoom('onregelmatige koorts')and symptoom(...)and...an d..., 0, 4, 0, ziekte('Brucellose')), 0^numberscor(symptoom(...)and...and..., 0, 3, 0, ziekte('Tick-typhus')), 0^numberscor(...and..., 0, 2, 0, ziekte(...)), 0^numberscor(. .., ..., ..., ..., ...), ... ^...|...], 0^foo, 1^numberscor(symptoom(jeuk)and symptoom(huiduitslag), 1, 1, 0, ziekte('luizen en vlooien'))) ? creep Exit: (10) findmax([0^numberscor(symptoom(hoofdpijn)and symptoom('hoofdpijn achter ogen')and symptoom(spierpijn)and symptoom(gewrichtspijn), 0, 4, 0, ziekte(dengue)), 0^ numberscor(symptoom('onregelmatige koorts')and symptoom(klierzwellingen)and symptoom(huidafwijkingen)and symptoom('psychische veranderingen'), 0, 4, 0, ziekte('afrikaanse s laapziekte')), 0^numberscor(symptoom('onregelmatige koorts')and symptoom(hartafwijkingen), 0, 2, 0, ziekte('ziekte van chagas')), 0^numberscor(symptoom('onregelmatige koort s')and symptoom('afwijking diverse organen'), 0, 2, 0, ziekte('Kala azar')), 0^numberscor(symptoom(...)and...and..., 0, 4, 0, ziekte('Brucellose')), 0^numberscor(...and..., 0, 3, 0, ziekte(...)), 0^numberscor(..., ..., ..., ..., ...), ... ^...|...], 0^foo, 1^numberscor(symptoom(jeuk)and symptoom(huiduitslag), 1, 1, 0, ziekte('luizen en vlooie n'))) ? creep Call: (10) checkR(1, numberscor(symptoom(jeuk)and symptoom(huiduitslag), 1, 1, 0, ziekte('luizen en vlooien'))) ? creep Call: (11) getnumscor(numberscor(symptoom(jeuk)and symptoom(huiduitslag), 1, 1, 0, ziekte('luizen en vlooien')), _L1078, 1, _L1060, _L1081, _L1061) ? creep Exit: (11) getnumscor(numberscor(symptoom(jeuk)and symptoom(huiduitslag), 1, 1, 0, ziekte('luizen en vlooien')), symptoom(jeuk)and symptoom(huiduitslag), 1, 1, 0, ziekte ('luizen en vlooien')) ? creep ^ Call: (11) 1>=4 ? creep ^ Fail: (11) 1>=4 ? creep Redo: (10) checkR(1, numberscor(symptoom(jeuk)and symptoom(huiduitslag), 1, 1, 0, ziekte('luizen en vlooien'))) ? creep Exit: (10) checkR(1, numberscor(symptoom(jeuk)and symptoom(huiduitslag), 1, 1, 0, ziekte('luizen en vlooien'))) ? creep Exit: (9) returnhighestfact(numberscor(symptoom(jeuk)and symptoom(huiduitslag), 1, 1, 0, ziekte('luizen en vlooien'))) ? creep Call: (9) writeln(symptoom(jeuk)and symptoom(huiduitslag)-ziekte('luizen en vlooien')) ? creep symptoom(jeuk)and symptoom(huiduitslag)-ziekte(luizen en vlooien) Exit: (9) writeln(symptoom(jeuk)and symptoom(huiduitslag)-ziekte('luizen en vlooien')) ? creep Call: (9) ask_question(symptoom(jeuk)and symptoom(huiduitslag)) ? creep Call: (10) findunknown(symptoom(jeuk)and symptoom(huiduitslag), _L252) ? creep Call: (11) findunknown(symptoom(jeuk), _L252) ? creep Call: (12) fact(symptoom(jeuk)) ? creep Exit: (12) fact(symptoom(jeuk)) ? creep Call: (12) fail ? creep Fail: (12) fail ? creep ---------------- Er wordt in de facts gezocht zodat de asserts matchen in the if-then rules. Fail: (11) findunknown(symptoom(jeuk), _L252) ? creep Call: (11) findunknown(symptoom(huiduitslag), _L252) ? creep Call: (12) fact(symptoom(huiduitslag)) ? creep Fail: (12) fact(symptoom(huiduitslag)) ? creep Redo: (11) findunknown(symptoom(huiduitslag), _L252) ? creep Call: (12) wrong(symptoom(huiduitslag)) ? creep Fail: (12) wrong(symptoom(huiduitslag)) ? creep Redo: (11) findunknown(symptoom(huiduitslag), _L252) ? creep Exit: (11) findunknown(symptoom(huiduitslag), symptoom(huiduitslag)) ? creep Exit: (10) findunknown(symptoom(jeuk)and symptoom(huiduitslag), symptoom(huiduitslag)) ? creep Call: (10) write('onze vraag: ') ? creep onze vraag: Exit: (10) write('onze vraag: ') ? creep Call: (10) question(symptoom(huiduitslag)) ? creep Call: (11) write('heeft u het symptoom: ') ? creep heeft u het symptoom: Exit: (11) write('heeft u het symptoom: ') ? creep Call: (11) writeln(huiduitslag) ? creep huiduitslag Exit: (11) writeln(huiduitslag) ? creep Call: (11) read(_L296) ? creep |: ---------------- Nieuwe vraag aan een gebruiker |: ja. Exit: (11) read(ja) ? creep Call: (11) procesquestion(symptoom(huiduitslag), ja) ? creep Call: (12) shortcut(ja, ja) ? creep Exit: (12) shortcut(ja, ja) ? creep ^ Call: (12) assert(fact(symptoom(huiduitslag))) ? creep ^ Exit: (12) assert(fact(symptoom(huiduitslag))) ? creep Call: (12) writeln(adding_fact(symptoom(huiduitslag))) ? creep adding_fact(symptoom(huiduitslag)) Exit: (12) writeln(adding_fact(symptoom(huiduitslag))) ? creep Exit: (11) procesquestion(symptoom(huiduitslag), ja) ? creep Exit: (10) question(symptoom(huiduitslag)) ? creep Call: (10) valuefacts ? creep ---------------- Weer zoeken in de database ... ---------------- Na het zoeken zijn er geen verdere mogelijkheden meer te vinden, en dus hebben we een match gevonden Exit: (12) findmax([0^numberscor(symptoom(hoofdpijn)and symptoom('hoofdpijn achter ogen')and symptoom(spierpijn)and symptoom(gewrichtspijn), 0, 4, 0, ziekte(dengue)), 0^numberscor(symptoom('onregelmatige koorts')and symptoom(klierzwellingen)and symptoom(huidafwijkingen)and symptoom('psychische veranderingen'), 0, 4, 0, ziekte('afrikaanse slaapziekte')), 0^numberscor(symptoom('onregelmatige koorts')and symptoom(hartafwijkingen), 0, 2, 0, ziekte('ziekte van chagas')), 0^numberscor(symptoom('onregelmatige koorts')and symptoom('afwijking diverse organen'), 0, 2, 0, ziekte('Kala azar')), 0^numberscor(symptoom(...)and...and..., 0, 4, 0, ziekte('Brucellose')), 1^numberscor(...and..., 1, 2, 0, ziekte(...)), 0^numberscor(..., ..., ..., ..., ...), ... ^...|...], 0^foo, 2^numberscor(symptoom(jeuk)and symptoom(huiduitslag), 2, 0, 0, ziekte('luizen en vlooien'))) ? creep Call: (12) checkR(2, numberscor(symptoom(jeuk)and symptoom(huiduitslag), 2, 0, 0, ziekte('luizen en vlooien'))) ? creep Call: (13) getnumscor(numberscor(symptoom(jeuk)and symptoom(huiduitslag), 2, 0, 0, ziekte('luizen en vlooien')), _L1170, 2, _L1152, _L1173, _L1153) ? creep Exit: (13) getnumscor(numberscor(symptoom(jeuk)and symptoom(huiduitslag), 2, 0, 0, ziekte('luizen en vlooien')), symptoom(jeuk)and symptoom(huiduitslag), 2, 0, 0, ziekte('luizen en vlooien')) ? creep ^ Call: (13) 2>=4 ? creep ^ Fail: (13) 2>=4 ? creep Redo: (12) checkR(2, numberscor(symptoom(jeuk)and symptoom(huiduitslag), 2, 0, 0, ziekte('luizen en vlooien'))) ? creep Exit: (12) checkR(2, numberscor(symptoom(jeuk)and symptoom(huiduitslag), 2, 0, 0, ziekte('luizen en vlooien'))) ? creep Exit: (11) returnhighestfact(numberscor(symptoom(jeuk)and symptoom(huiduitslag), 2, 0, 0, ziekte('luizen en vlooien'))) ? creep Call: (11) writeln(symptoom(jeuk)and symptoom(huiduitslag)-ziekte('luizen en vlooien')) ? creep symptoom(jeuk)and symptoom(huiduitslag)-ziekte(luizen en vlooien) Exit: (11) writeln(symptoom(jeuk)and symptoom(huiduitslag)-ziekte('luizen en vlooien')) ? creep Call: (11) ask_question(symptoom(jeuk)and symptoom(huiduitslag)) ? creep Call: (12) findunknown(symptoom(jeuk)and symptoom(huiduitslag), _L351) ? creep Call: (13) findunknown(symptoom(jeuk), _L351) ? creep Call: (14) fact(symptoom(jeuk)) ? creep Exit: (14) fact(symptoom(jeuk)) ? creep Call: (14) fail ? creep Fail: (14) fail ? creep Fail: (13) findunknown(symptoom(jeuk), _L351) ? creep Call: (13) findunknown(symptoom(huiduitslag), _L351) ? creep Call: (14) fact(symptoom(huiduitslag)) ? creep Exit: (14) fact(symptoom(huiduitslag)) ? creep Call: (14) fail ? creep Fail: (14) fail ? creep Fail: (13) findunknown(symptoom(huiduitslag), _L351) ? creep Call: (13) fail ? creep Fail: (13) fail ? creep Fail: (12) findunknown(symptoom(jeuk)and symptoom(huiduitslag), _L351) ? creep Fail: (11) ask_question(symptoom(jeuk)and symptoom(huiduitslag)) ? creep Fail: (10) valuefacts ? creep Redo: (11) procesquestion(symptoom(huiduitslag), ja) ? creep Call: (12) shortcut(ja, nee) ? creep Fail: (12) shortcut(ja, nee) ? creep Fail: (10) question(symptoom(huiduitslag)) ? creep Call: (11) fail ? creep Fail: (11) fail ? creep Fail: (10) findunknown(symptoom(jeuk)and symptoom(huiduitslag), _L252) ? creep Fail: (9) ask_question(symptoom(jeuk)and symptoom(huiduitslag)) ? creep Fail: (8) valuefacts ? creep Call: (8) writeln('einde van het programma') ? creep einde van het programma Exit: (8) writeln('einde van het programma') ? creep Exit: (7) go ? creep Yes