Representatie Zoeken College 5 Productieregel systemen Definitie Varianten

  • Slides: 21
Download presentation
Representatie & Zoeken College 5: Productie-regel systemen èDefinitie èVarianten èVoorbeelden èGeneralisatie: Blackboards Leeswijzer: Hoofdstuk

Representatie & Zoeken College 5: Productie-regel systemen èDefinitie èVarianten èVoorbeelden èGeneralisatie: Blackboards Leeswijzer: Hoofdstuk 6. 2 -6. 3 + 8. 2 RZ 5 1

Productie-regel systemen: 3 onderdelen • Verzameling productie-regels • Werkgeheugen • Reken-cyclus • Meest gebruikte

Productie-regel systemen: 3 onderdelen • Verzameling productie-regels • Werkgeheugen • Reken-cyclus • Meest gebruikte type systeem in huidige AI industrie RZ 5 2

Productie-regels (1) • ALS <conditie> DAN <actie> • <conditie> = test op huidige toestand

Productie-regels (1) • ALS <conditie> DAN <actie> • <conditie> = test op huidige toestand van de wereld Vb: <atribuut>(<object>, <waarde>) symptoom(patient 112, koorts) risico(spaarrekening, laag) risico(aandelen, hoog) • <actie> = operatie op huidige toestand van de wereld Vb: ADD ziekte(patient 112, griep) DEL advies(client 57, aandelen) RZ 5 3

Productie-regels (2) • Regels bevatten variabelen • Vb: ALS symptoom($Patient, koorts) DAN ADD ziekte($Patient,

Productie-regels (2) • Regels bevatten variabelen • Vb: ALS symptoom($Patient, koorts) DAN ADD ziekte($Patient, infectie) DEL ziekte($Patient, vergiftiging) • Vb: ALS diagnose($Patient, $Ziekte) EN ernst($Ziekte, hoog) DAN ADD opname($Patient, urgent) RZ 5 4

Werkgeheugen • Verzameling patronen die de huidige toestand van de wereld beschrijven • Vb:

Werkgeheugen • Verzameling patronen die de huidige toestand van de wereld beschrijven • Vb: doel(klant 512, snellewinst) doel(klant 412, pensioen) • NB: geen variabelen RZ 5 5

Rekencyclus Match conditie-deel van regels tegen WM ðconflict-set Selecteer een regel uit de conflict

Rekencyclus Match conditie-deel van regels tegen WM ðconflict-set Selecteer een regel uit de conflict set = conflict resolutie Executeer actie-gedeelte van de geselecteerde regel Stopconditie: • Als geen regel meer matched, of • Als gewenst element aanwezig in WM RZ 5 6

Voorbeeld: dubbele letter puzzel • Gegeven een rij van letters uit {A, B, C,

Voorbeeld: dubbele letter puzzel • Gegeven een rij van letters uit {A, B, C, D, E} • Vervang dubbele letters door hun cyclisch-alfabetische voorganger of opvolger • Reduceer de rij tot één letter • Start: AACCDC ï WM • Doel: enkele letter • Regels: 1. AA ® B 6. 2. BB ® C 7. 3. CC ® D 8. 4. DD ® E 9. 5. EE ® A 10. RZ 5 AA ® E BB ® A CC ® B DD ® C EE ® D 7

Voorbeeld: dubbele letter puzzel Regels: Iteratie 0 1 2 3 4 5 RZ 5

Voorbeeld: dubbele letter puzzel Regels: Iteratie 0 1 2 3 4 5 RZ 5 1. 2. 3. 4. 5. AA ® B BB ® C CC ® D DD ® E EE ® A 6. 7. 8. 9. 10. WM Conflict set AACCDC 1, 3, 6, 8 BCCDC 3, 8 BDDC 4, 9 BCC 3, 8 BB 2, 7 ¾ C AA ® E BB ® A CC ® B DD ® C EE ® D Gevuurde regel 1 3 9 8 2 ¾ 8

Zoekbesturing • Met of zonder backtracking? • Voorwaards of achterwaards? • Conflict resolutie strategie

Zoekbesturing • Met of zonder backtracking? • Voorwaards of achterwaards? • Conflict resolutie strategie RZ 5 9

Backtracking • doodlopende berekening = lege conflict-set, maar oplossing nog niet in WM •

Backtracking • doodlopende berekening = lege conflict-set, maar oplossing nog niet in WM • backtracking = bij doodlopende berekening, keer terug naar eerdere positie, en kies anders WM Iteratie Conflict set Gevuurde regel 0 AACCDC 1, 3, 6, 8 1 1 BCCDC 3, 8 3 4 9 2 BDDC 4, 9 ¾ 3 a BEC 3 b BCC 3, 8 8 4 BB 2, 7 2 ¾ ¾ 5 C RZ 5 10

Voorwaards of achterwaards • Voorwaards: match conditie-deel met WM, (zie eerder) • Achterwaards: Œ

Voorwaards of achterwaards • Voorwaards: match conditie-deel met WM, (zie eerder) • Achterwaards: Œ match actie-deel met gewenste doel kies regel met juiste actie-deel bekijk conditie-delen van regel als conditie-deel in WM dan OK als conditie-deel niet in WM dan conditie-deel wordt gewenste doel RZ 5 11

Conflict resolutie strategie • Refractie: geen regel 2´ achter elkaar op het zelfde patroon

Conflict resolutie strategie • Refractie: geen regel 2´ achter elkaar op het zelfde patroon laten vuren • Recency: prefereer matches met nieuwe WM elementen • Specificity: prefereer regels met meer condities • Wegingsfactoren: kies regel met hoogste gewicht • Meta-redeneren: bouw tweede systeem dat conflict-resolutie doet RZ 5 12

Gebruik van de begrippen over zoekruimtes: • Wat is de zoekruimte van een productieregelssysteem?

Gebruik van de begrippen over zoekruimtes: • Wat is de zoekruimte van een productieregelssysteem? – wat is de begin toestand – wat is de eind toestand – wat zijn de tussen toestanden – wat zijn de toegestane overgangen • Forward/backward zoeken • Wat is de branching factor? • Wat is een oneindige tak? RZ 5 13

Eigenschappen van productie-regel systemen • Scheiding van – algemene kennis (regels) – geval-specifieke kennis

Eigenschappen van productie-regel systemen • Scheiding van – algemene kennis (regels) – geval-specifieke kennis (WM) • Vb: algemene kennis = ziekten + symptomen • • geval-specifiek = observaties bij een patient Uitleg door “tracing” Model voor menselijk probleem-oplossen (? ) Modulariteit van regels (? ) Algemeen computationeel model ðMeest gebruikte middel voor kennis-systeem toepassingen in de praktijk RZ 5 14

Voorbeeld • (start) ® del 1, add task(choose-guitar) • task(choose-guitar) & music(blues, 60 s)

Voorbeeld • (start) ® del 1, add task(choose-guitar) • task(choose-guitar) & music(blues, 60 s) ® add guitar(fender, stratocaster, 0. 8) • task(choose-guitar) & music(blues, 70 s) ® add guitar(gibson, les-paul, 0. 8) ¼ • task(choose-guitar) & guitar($Brand, $Type, $CF) ® del 1, del 2, add task(choose-amp), add guitar($Brand, $Type) • task(choose-amp) & guitar(fender, --) ® add amp(vox, ac 30) • task(choose-amp) & guitar(gibson, --) ® add amp(marshall, jtm-45) ¼ RZ 5 • task(choose-amp) & amp(--, --) ® del 1 15

Voorbeeld (planning): acties & toestand Vind acties die doel bereiken vanuit huidige toestand B

Voorbeeld (planning): acties & toestand Vind acties die doel bereiken vanuit huidige toestand B A Acties (vb) Pakop(X), Zet. Neer(X), Zet. Op(X, Y), Haal. Af(X, Y) RZ 5 C E D Toestand (o. a. ) In. Hand(C) Op. Tafel(A) Staat. Op(E, D) Is. Vrij(B) & &16. . .

Voorbeeld (planning): acties als regels Actie = Preconditie + add list + del list

Voorbeeld (planning): acties als regels Actie = Preconditie + add list + del list Vb: Zet. Neer(X) In. Hand(X) ® del In. Hand(X) & add In. Hand(niets) & add Op. Tafel(X) RZ 5 Vb: Pakop(X) In. Hand(niets) & Vrij(X) ® add In. Hand(X) del In. Hand(niets) del Vrij(X) del Op. Tafel(X) del Staat. Op(X, Y) 17 & &

Efficientie van productie-regel systemen • • w r n c = = aantal elementen

Efficientie van productie-regel systemen • • w r n c = = aantal elementen in WM regels condities per regel cycles » w×r×n×c matches nodig RZ 5 100 200 5 1000 » 100 milioen 18

RETE Algorithme • A(x) & B(x) & C(y) ® add D(x) • A(x) &

RETE Algorithme • A(x) & B(x) & C(y) ® add D(x) • A(x) & B(y) & D(x) ® add E(x) • A(x) & B(x) & E(x) ® del A(x) • WM = {A(1), A(2), B(3), B(4), C(5)} D A=D add E A B A=B C add D A(1) A(2) B(3) B(4) A(2) B(2) C(5) D(5) RZ 5 E E=B del A 19

Veralgemenisering van productie-regels Productie-regel systeem » Regel 1 Regel 2 WM Generalisatie: Regeln Regel

Veralgemenisering van productie-regels Productie-regel systeem » Regel 1 Regel 2 WM Generalisatie: Regeln Regel = Willekeurig programma (KS) WM = Willekeurige data-structuur (BB) Regel-conditie = “trigger” patroon KS 1 BB Besturing: Œ Match trigger patronen met BB ð Actieve KS Selecteer een actieve KS Executeer geselecteerde KS RZ 5 KS 2 KSn 20

Volgende keer Kennis-systemen & Redeneren met onzekerheid RZ 5 21

Volgende keer Kennis-systemen & Redeneren met onzekerheid RZ 5 21