530 likes | 663 Views
Kennisacquisitie en - modellering Rogier van Eijk. college 2 Modelleren van analysetaken. Vorige keer : Kennisidentificatie. OM-1: Probleem OM-2: Proces OM-3: Taken OM-4: Kennis OM-5: Project TM-1: Taak in detail TM-2: Kennis in detail AM: Betrokkenen OTA: Veranderingstraject.
E N D
Kennisacquisitie en -modelleringRogier van Eijk college 2 Modelleren van analysetaken
Vorigekeer: Kennisidentificatie • OM-1: Probleem • OM-2: Proces • OM-3: Taken • OM-4: Kennis • OM-5: Project • TM-1: Taak in detail • TM-2: Kennis in detail • AM: Betrokkenen • OTA: Veranderingstraject
Leerdoel • begrijpen en kunnen hanteren van de taakmethoden voor analysetaken modelleren / herkennen Concrete taakbeschrijving taakmodel illustreren / toepassen aanpassen / combineren
Diagnose Diagnose betreft het bepalen van de fout waarom een systeem niet naar behoren functioneert.
Taakmethode while new-solution cover(complaint -> hypothesis) do differential := hypothesis add differential; end while repeat select(differential -> hypothesis); specify(hypothesis -> observable); obtain(observable -> finding); evidence := finding add evidence; for eachhypothesis in differential do verify(hypothesis + evidence -> result); if result == false then differential := differential subtract hypothesis until size differential =< 1 or “no more observables left” faults := differential;
Taakbeschrijving • “De auto doet het niet. Ik voorzie op dit moment twee voor de hand liggende oorzaken: De benzine is op of de accu is leeg. Als de benzine op is dan zou de benzinemeter op nul moeten staan. Als de accu leeg is dan zou het acculampje op het dashboard moeten branden. Of de auto zou met behulp van een startkabel weer aan de praat gebracht moeten kunnen worden. Een lege accu komt veel vaker voor dan een lege benzinetank. Ik kijk op het dashboard, maar het acculampje brandt niet. Dan probeer ik de auto via een startkabel aan de gang te krijgen. Dat lukt!”
Taakmethode in CML REPEAT cover(complaint -> hypothesis); predict(hypothesis -> expected-finding); obtain(expected-finding -> actual-finding); evidence := evidence ADD actual-finding; compare(expected-finding + actual-finding -> result); UNTIL"result = equal or no more solutions of over"; END REPEAT IF result == equal THEN fault-category := hypothesis; ELSE "no solution found"; END IF
AlternatieveTaakmethode while new-solution cover(complaint -> hypothesis) do differential := hypothesis add differential; end while repeat select(differential -> hypothesis); specify(hypothesis -> observable); obtain(observable -> finding); evidence := finding add evidence; foreach hypothesis in differential do verify(hypothesis + evidence -> result); if result == false then differential := differential subtract hypothesis until size differential =< 1 or “no more observables left” faults := differential;
Wat kenmerkt monitoring? • input: nieuw gegeven • output: discrepantie • is er niet noodzakelijk, alleen in abnormale situaties
Monitoring: method control receive(new-finding); select(new-finding -> parameter); specify(parameter -> norm); compare(norm + finding -> difference); classify(difference + historical-data -> discrepancy); historical-data := finding add historical-data;
Monitoring • selectie van parameter • specificatie van norm • vergelijking met norm • levertverschil (‘difference’) • classificatie van verschil • levertdiscrepantie (‘discrepancy’)
Classificatie betreft de beslissing tot welke klasse(n) een bepaald object behoort.
Taakbeschrijving • “Om de soort van een specifieke vogel tebepalenga ik als volgt te werk. In het begin zijn alle vogelsoorten nog mogelijk. Dan neem ik een eigenschap, zoals de kleur van de veren of de grootte van de snavel. Dan ga ik alle mogelijke soorten af; als de eigenschap van deze specifieke vogel niet overeenkomt met de eigenschap van de soort, dan valt die soort af als mogelijkheid. Hiermee ga ik net zolang door tot er geen eigenschappen meer zijn om mee te vergelijken, of tot ik nog maar één mogelijke vogelsoort over heb.”
Classificatie: methode • generatie kandidaatsklassen • langslopen eigenschappen • meten • vergelijken • afstrepen
1. Generatie kandidaten while new-solution generate(object -> candidate) do candidate-classes := candidate ADD candidate-classes;
2. Langslopen eigenschappen while new-solutionspecify(candidate-classes -> attribute) and length candidate-classes > 1 do
3. Meten obtain(attribute -> new-feature); current-feature-set := new-feature ADD current-feature-set;
4. Vergelijken for-each candidate in candidate-classes do match(candidate + current-feature-set -> truth-value);
5. Afstrepen if truth-value = false; then candidate-classes := candidate-classes subtract candidate;
Inferentiestructuur Let op: Plaatje geeft niet de controle (ifthen, while do …) van de taakmethode weer
Assessment • Assessment betreft de bepaling of een systeem aan de normen voldoet.
Assessment: vb. • de situatie • een sollicitant • een vacature • de vraag • is de sollicitant geschikt voor de vacature? • de methode • selectie, evaluatie en beslissen via normen
[more abstractions] abstract specify norms [no more abstractions] [match fails [match succeeds: no decision] decision found] select norm evaluate match norm decision Assessment in UML notation
Opdracht • Bestudeer het volgende plaatje • Is dit assessment?
Opdracht • Bestudeer het volgende plaatje • Is dit assessment?
Leerdoel • begrijpen en kunnen hanteren van de taakmethoden voor analysetaken modelleren / herkennen Concrete taakbeschrijving taakmodel illustreren / toepassen aanpassen / combineren
Voorbeeldopdracht • Vergelijk assessment en classifatie • wat zijn de overeenkomsten? • wat zijn de verschillen?
Voorbeeldopdracht • Bedenk een combinatie van • diagnose en monitoring • diagnose en classificatie • assessment en classificatie • …
Geef het onderscheidaantussen • taak • taaktype • taakmethode • taaktemplate • taakdecompositie • (en in practicum: taakcomponent)