ismeretalapú rendszerek alaptechnikái i

45
Ismeretalapú rendszerek alaptechnikái I. Szabályalapú rendszerek

Upload: kalila

Post on 14-Jan-2016

33 views

Category:

Documents


1 download

DESCRIPTION

Ismeretalapú rendszerek alaptechnikái I. Szabályalapú rendszerek. Miről lesz szó?. Alapvető következtetési technikák Produkciós rendszerek Szabályalapú rendszerek előrefelé haladó következtetés visszafelé haladó következtetés Rete algoritmus strukturált szabályalapú rendszerek - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Ismeretalapú rendszerek alaptechnikái I

Ismeretalapú rendszerek alaptechnikái I.

Szabályalapú rendszerek

Page 2: Ismeretalapú rendszerek alaptechnikái I

Miről lesz szó?

Alapvető következtetési technikák Produkciós rendszerek Szabályalapú rendszerek

előrefelé haladó következtetés visszafelé haladó következtetés Rete algoritmus strukturált szabályalapú rendszerek előnyök/ hátrányok

Page 3: Ismeretalapú rendszerek alaptechnikái I

Ismeretalapú rendszerek alaptechnikáitudásreprezentációs módszerek és következtetési/ keresési

stratégiák számítógéppel megvalósított változatai

Alapvető következtetési technikák: induktív technikák (gépi tanulás) szabályalapú technikák

vezérlési stratégia iránya szerint: adatvezérelt/ célvezérelt TB szabályainak szerkezete szerint: egyszerű/ strukturált

hibrid technikák szimbólum-manipulációs technikák modell-alapú következtetési technikák kvalitatív technikák eset-alapú technikák temporális következtetési technikák

Page 4: Ismeretalapú rendszerek alaptechnikái I

Produkciós rendszerek

MI legáltalánosabb problémamegoldó szemlélete az emberi problémamegoldás modellezésére

produkciós szabályok (hosszútávú memória) globális adatbázis (rövidtávú memória) vezérlési stratégia és szabályinterpreter

(következtető gondolkodás)

Page 5: Ismeretalapú rendszerek alaptechnikái I

Produkciós szabály HA <feltétel> AKKOR <tevékenység>tudásmorzsa (chunk of knowledge) reprezentálása feltétel: szabályalkalmazás feltételeit megadó tényállítás

vagy ezek és/ vagy kapcsolata következmény: szabályalkalmazás egy vagy több

következménye akciók (globális DB tartalmának módosítása) eljáráshívások (információcsere biztosítása) beavatkozások (rsz. által vezérelt folyamatba) információkérés (felhasználótól)

Page 6: Ismeretalapú rendszerek alaptechnikái I

terminálási feltétel bekövetkeztének figyelése

Globális adatbázis feladat kiinduló adatai, közbülső eredmények

vezérlési stratégia és szabályinterpreter

fő tevékenységei: mintaillesztés

alkalmazható szabályok megkeresése tüzelőképes szabályok konfliktushalmazba

szabály kiválasztása (beépített vezérlési stratégia) szabály alkalmazása (következmény végrehajtása)

Vezérlő komponens

Page 7: Ismeretalapú rendszerek alaptechnikái I

Szabályalapú rendszerekA szabályalapú rendszerek tudásbázisának elemei: tényállítások (predikátumok)

deklaratív ismeretek a konkrét problémáról igaz (vagy hamis) értékű állítások értékük változhat a következtetés során (időben)

szabályok meta-szabályok

Page 8: Ismeretalapú rendszerek alaptechnikái I

Szabályalapú rendszerekA szabályalapú rendszerek tudásbázisának elemei: tényállítások (predikátumok) szabályok (feltételes állítások)

HA <feltétel> AKKOR <következmény>

AKKOR <következmény> HA <feltétel> heurisztika vagy „ökölszabályok” reprezentálása

köznapi gondolkodás modellezésére szakértői tapasztalatok (heurisztikák) leírására adott szituációkban végrehajtandó akciók specifikálására

tárgyköri tudásunk általánosan érvényes része működtetés: következtető gép

meta-szabályok (szabályok szabályok használatáról)

Page 9: Ismeretalapú rendszerek alaptechnikái I

ha A akkor B A: feltételrész (előtag) B: következmény rész (utótag) A, B:

állításokállítások és/ vagy kapcsolataprocedurális elemek (végrehajtandó tevékenységek)

Szabályok

Page 10: Ismeretalapú rendszerek alaptechnikái I

Ha x<y és y<z akkor x<zfeltétel és következmény rész: állítás

xyz x<y y<z x<z Ha az üres mező egyik szomszédja az n-nel számozott lapocskát

tartalmazza, akkor húzd ezt a lapocskát az üres helyre. (szabály-séma)feltételrész: állítás

következmény rész: végrehajtandó tevékenység

pl. üres mező jobbra

i, j: 1…4

m[i,j]: 0…15

ha j3 és m[i,j]=0

akkor m[i,j]:=m[i,j+1] és m[i,j+1]:=0

Page 11: Ismeretalapú rendszerek alaptechnikái I

Akkor lesz jó a lágytojás

ha sót teszel a hideg vízbe

és a vizet felforralod

és beleteszed a tojást

és 4 percig főzöd

és hideg vizet engedsz rá.

feltételrész: tevékenységek

következmény rész: állítás (célállítás)

Tényekfeltétel nélküli állításokpl. hőmérséklet > 50oC

4x4-es játék „állása”

Page 12: Ismeretalapú rendszerek alaptechnikái I

Szabályalapú következtetés

cél: célállítás teljesülésének belátása célállapot elérése

feladat: tények és célállítások között egy szabályok láncolatából

álló megoldási út keresése következtetés eszköze:

szabályalkalmazás/ illesztés modus ponens

AA BB

Reasoning

Fact-base New fact-base Newer fact-base

Rules

Reasoning . . .

. . .

Page 13: Ismeretalapú rendszerek alaptechnikái I

MP alkalmazása szerint két különböző következtetési forma: adatvezérelt (előrefelé haladó) következtetés

cél: egy célállapot elérése vagy megkonstruálása a kezdőállapotból új következtetések előállítása MP alkalmazásával következtetés a terminálási feltétel eléréséig vagy az összes következmény előállításáig (nincs több

alkalmazható szabály) célvezérelt (visszafelé haladó) következtetés

cél: egy feltételezett célállapot érvényességének igazolása kezdetben érvényes tényekre támaszkodva új részcélok előállítása MP alkalmazásával következtetés az összes részcél igazolásáig vagy amíg nincs több igazolható részcél (nincs több

alkalmazható szabály)

Kétféle következtetési módszer:

Page 14: Ismeretalapú rendszerek alaptechnikái I

MP alkalmazása: A és A B B

TB-hoz új tény (adat következményei) illesztés

szabály feltételi része/ tények konfliktusfeloldás

konfliktusfeloldó stratégiák szabályalkalmazás

következmény rész végrehajtása

Adatvezérelt következtetés

Page 15: Ismeretalapú rendszerek alaptechnikái I
Page 16: Ismeretalapú rendszerek alaptechnikái I

the problems of forward reasoning: forward reasoning with defined goal

given: the initial state of fact-base, the rule-base, the goal state(s) of fact-base question: is goal state a consequence of initial state? can goal state be derived

from initial state by the rules? decision problem: the whole search tree must be traversed in the worst case NP-complete (the size of the tree increases the number of computational steps

exponentially)

forward reasoning (without defined goal) given: the initial state of fact-base, the rule-base compute: all the possible consequences of initial state search problem: the whole search tree must be traversed NP-complete (follows from the problem specification)

Page 17: Ismeretalapú rendszerek alaptechnikái I

Reasoning and search

reasoning problems are solved by search in the state space

(r1): p1=t p2=t(r2): p2=t p3=t(r3): p3=u p1=u

initial state: {p1=t, p2=f, p3=u}, (a0)

a0

a2a1

a4

r3r1

r3

a3

r2p1

p2

p3f

t

t

tu

u

u

a0

a1

a2a3

a4

r1

r2

r3

r3

states: {p1=u, p2=f, p3=u}, (a1){p1=t, p2=t, p3=u}, (a2){p1=t, p2=t, p3=t}, (a3){p1=u, p2=t, p3=u}, (a4)

Page 18: Ismeretalapú rendszerek alaptechnikái I

MP alkalmazása: cél B bizonyításaAB -ból B-re lehet következtetni, ha A igaz

új cél: A bizonyítása illesztés

szabály köv. része, tények/ cél(ok), részcél(ok) konfliktusfeloldás

első alkalmazható szabály szabályalkalmazás

szabály feltételi része: új részcél(ok) zsákutca visszalépés (backtrack)

Célvezérelt következtetés

Page 19: Ismeretalapú rendszerek alaptechnikái I
Page 20: Ismeretalapú rendszerek alaptechnikái I

the problems of backward reasoning: backward reasoning with defined state

given: the goal state of fact-base, the rule-base, one or more given states („s”) of fact-base

question: can „s” be a reason of the goal state? (can goal state be derived from „s” by the rules?)

decision problem: the whole search tree must be traversed in the worst case

NP-complete (the size of the tree increases the number of computational steps exponentially)

backward reasoning (without defined state) given: the goal state of fact-base, the rule-base compute: all the possible reasons of the goal state

search problem: the whole search tree must be traversed

NP-complete (follows from the problem specification)

Page 21: Ismeretalapú rendszerek alaptechnikái I

4x4 kirakós játék cselekvési terv generálás diagnosztikai feladatok matematikai tételbizonyítás misszionáriusok/ kannibálok probléma N királynő probléma

Melyik irányú következtetést használjuk?

Page 22: Ismeretalapú rendszerek alaptechnikái I

lehetséges kezdő- és célállapotok számaútvonaltervezés, szimbolikus integrálás

melyik irányban nagyobb az elágazási tényezőtételbizonyítás

szükség van-e magyarázatadásraorvosi szakértő rendszer

bevált megfigyelés:kérdésre válaszadás esetén: visszafelé haladó következtetés

ha új tények, állapotok elérése a cél: előrefelé haladó következtetés

kétirányú keresés

Prolog, MYCIN, M.1, CLIPS, GoldWorks, G2

A módszer kiválasztását befolyásoló tényezők:

Page 23: Ismeretalapú rendszerek alaptechnikái I

problems where neither forward nor backward chaining is efficient, but they operate efficiently at an early stage

combination of backward and forward techniques bidirectional reasoning the goal state can be reached from two directions at same time terminates when the reasoning bridge is built up

Bidirectional reasoning

Facts

Goals

Forward Backward

Page 24: Ismeretalapú rendszerek alaptechnikái I

Példa célvezérelt rendszer működésére

SebességKép-

nyomtatásMinőség

Karakter-készlet

Ár Nyomtató

kicsi nem levél fix alacsony daisy-wheel-type-1 1

kicsi igen vázlat változtatható közepes dot-matrix-type-1 2

közepes igen vázlat fix alacsony dot-matrix-type-1 2

közepes igen közel-levél változtatható közepes dual-dot-matrix 3

nagy igen * változtatható magas laser-printer 4

nagy igen közel-levél változtatható közepes dot-matrix-type-2 5

nagy nem levél fix közepes daisy-wheel-type-2 6

kicsi igen közel-levél változtatható magas dual-dot-matrix 3

* nem levél fix közepes daisy-wheel-type-2 6

Page 25: Ismeretalapú rendszerek alaptechnikái I

Szabályok készítése: minden márix-sor egy szabály gyors prototípus

szab-1:

if sebesség=kicsi and

képnyomtatás=nem and

minőség=levél and

karakterkészlet=fix and

ár=alacsony

then nyomtató=daisy-wheel-type-1 cf 80.

SebességKép-

nyomtatásMinőség

Karakter-készlet

Ár Nyomtató

kicsi nem levél fix alacsony daisy-wheel-type-1 1

Page 26: Ismeretalapú rendszerek alaptechnikái I

/* cél */

goal=nyomtató.

/* következtetési szabályok */

szab-5:

if sebesség=nagy and képnyomtatás=igen and

karakterkészlet=változtatható and ár=magas

then nyomtató=laser-printer cf 100.

szab-1:

if sebesség=kicsi and képnyomtatás=nem and

minőség=levél and karakterkészlet=fix and

ár=alacsony

then nyomtató=daisy-wheel-type-1 cf 80.

szab-6:

If sebesség=nagy and képnyomtatás=igen and

minőség=közel-levél and karakterkészlet=változtatható

and ár=közepes

then nyomtató=dot-matrix-type-2 cf 100.

szab-2:

If sebesség=kicsi and képnyomtatás=igen and

minőség=vázlat and karakterkészlet=változtatható and

ár=közepes

then nyomtató=dot-matrix-type-1 cf 75.

szab-7:

if sebesség=nagy and képnyomtatás=nem and

minőség=levél and karakterkészlet=fix and

ár=közepes

then nyomtató=daisy-wheel-type-2 cf 75.

szab-3:

if sebesség=közepes and képnyomtatás=igen and

minőség=vázlat and karakterkészlet=fix and

ár=alacsony

then nyomtató=dot-matrix-type-1 cf 50.

szab-8:

if sebesség=kicsi and képnyomtatás=igen and

minőség=közel-levél and karakterkészlet=változtatható

and ár=magas

then nyomtató=dual-dot-matrix-1 cf 60.

szab-4:

if sebesség=közepes and képnyomtatás=igen and

minőség=közel-levél and karakterkészlet=változtatható

and ár=közepes

then nyomtató=dual-dot-matrix-1 cf 90.

szab-9:

if képnyomtatás=nem and minőség=levél and

karakterkészlet=fix and ár=közepes

then nyomtató=daisy-wheel-type-2 cf 90.

Page 27: Ismeretalapú rendszerek alaptechnikái I

/* metadeklarációk a felhasználói párbeszéd támogatására */

question(sebesség)=„Milyen legyen a sebesség?”.

legalvals(sebesség)=[kicsi, közepes, nagy].

question(képnyomtatás)=„Legyen-e képnyomtatás?”.

legalvals(képnyomtatás)=[igen, nem].

question(minőség)=„Milyen legyen a minőség?”.

legalvals(minőség)=[levél, vázlat, közel-levél].

question(karakterkészlet)=„Milyen legyen a karakterkészlet?”.

legalvals(karakterkészlet)=[fix, változtatható].

question(ár)=„Milyen legyen az ár?”.

legalvals(ár)=[alacsony, közepes, magas].

Page 28: Ismeretalapú rendszerek alaptechnikái I

cél (kérdés) szabályok meta-deklarációk (párbeszéd támogatására)

felhasználása mintaillesztéssel:kiírandó kérdést megkeresi, kiírjaattribútum megengedett értékeit megkeresi, kiírja felhasználói

menüként adatok

Tudásbázis részei:

Page 29: Ismeretalapú rendszerek alaptechnikái I

goal=nyomtató. szab-5:if sebesség=nagy and képnyomtatás=igen and karakterkészlet=változtatható and ár=magasthen nyomtató=laser-printer.

szab-1:if sebesség=kicsi and képnyomtatás=nem and minőség=levél and karakterkészlet=fix and ár=alacsonythen nyomtató=daisy-wheel-type-1.

szab-10:if éjszakai-batch-nyomtatás=igen and rövid-levél-nyomtatások=igenthen sebesség=kicsi.

Page 30: Ismeretalapú rendszerek alaptechnikái I

Példa adatvezérelt rendszer működésére(előző példa adatvezérelt módon)

Tudásbázis részei: adatok szabályok meta-deklarációk

Eltérés a célvezérelt esettől: problémamegoldás iránya végrehajtást a kezdeti adatok indítják

Page 31: Ismeretalapú rendszerek alaptechnikái I

szab-1:if sebesség=kicsi and képnyomtatás=nem and minőség=levél and karakterkészlet=fix and ár=alacsonythen nyomtató=daisy-wheel-type-1.

szab-5:if sebesség=nagy and képnyomtatás=igen and karakterkészlet=változtatható and ár=magasthen nyomtató=laser-printer.

szab-10:if éjszakai-batch-nyomtatás=igen and rövid-levél-nyomtatások=igenthen sebesség=kicsi.

Page 32: Ismeretalapú rendszerek alaptechnikái I

Adatvezérelt rendszerek általános felépítése

Page 33: Ismeretalapú rendszerek alaptechnikái I

1 Illesztés szabálykiválasztó minden szabály feltételi része/ MM adatai tüzelőképes szabály példány konfliktushalmaz

2 Konfliktusfeloldás szabálykiválasztó szabálypéldány kiválasztása, tüzelésre kijelölése (stratégia)

3 Végrehajtás szabályinterpreter MM tartalma általában módosul ha nincs kiválasztott szabály vagy halt utasítás leállás

4 Ciklus újrakezdése (konfliktushalmaz törlése)

Adatvezérelt KG “tölts és tüzelj” (recognize-act) ciklusa:

Page 34: Ismeretalapú rendszerek alaptechnikái I

1 kombinatorikus robbanáspl. s=150 szabály

p=4 elem a feltételrészben szabályonként

t=20 adat a MM-ban

s*tp=150*204=24.000.000 illesztés lehet ciklusonként!

3 MM tartalma általában csak kicsit módosul egy tüzelőképes szabály általában tüzelőképes marad,

mégis újraillesztődik a következő ciklusban!

Problémák az adatvezérelt következtetési

lépések során:

Page 35: Ismeretalapú rendszerek alaptechnikái I

Rete algoritmus

OPS-5 produkciós rsz. illesztési módszere előrefelé haladó következtetés mintaillesztési

feladatának elvégzéséreaz illesztés állapotinformációit átmenti az előre

következtetés egyes fázisai között, csak a MM változásaival végzi el az illesztést

kiaknázza a szabályok feltételrészeinek strukturális hasonlóságában rejlő lehetőségeket

Page 36: Ismeretalapú rendszerek alaptechnikái I

szabálymemória:A(x) B(x) C(y) D(x) (D hozzáadása)

A(x) B(y) D(x) E(x) (E hozzáadása)

A(x) B(x) E(x) A(x) (A törlése)

munkamemória:{A(1), A(2), B(2), B(3), B(4), C(5)}

Rete algoritmus:1 szabálymemória lefordítása Rete hálóvá

szabálymemória:A(x) B(x) C(y) D(x) (D hozzáadása)

A(x) B(y) D(x) E(x) (E hozzáadása)

A(x) B(x) E(x) A(x) (A törlése)

munkamemória:{A(1), A(2), B(2), B(3), B(4), C(5)}

Rete algoritmus:1 szabálymemória lefordítása Rete hálóvá2 munkamemória elemek lekérdezése

szabálymemória:A(x) B(x) C(y) D(x) (D hozzáadása)

A(x) B(y) D(x) E(x) (E hozzáadása)

A(x) B(x) E(x) A(x) (A törlése)

munkamemória:{A(1), A(2), B(2), B(3), B(4), C(5)}

Rete algoritmus:1 szabálymemória lefordítása Rete hálóvá2 munkamemória elemek lekérdezése3 egyesítések, cselekedetek elvégzése (MM módosítása), Rete háló

módosítása

Page 37: Ismeretalapú rendszerek alaptechnikái I

megszünteti a szabályok közti átfedéseket (így egyazon ciklusban a szabályok illesztésénél minden MM-beli adattal egy illesztést kell elvégezni)

megszünteti az időbeli ismétlődéseket (csak a módosításokat veszi figyelembe a törlések és hozzáadások után)

Rete algoritmus előnye:

Page 38: Ismeretalapú rendszerek alaptechnikái I

Konfliktusfeloldó stratégiák újrafelhasználhatóság

vezérlés ciklusmentesítése pl. egy szabálypéldány csak egyszer tüzelhet vagy a rákövetkező ciklusban nem

hajtható végre

frissesség MM elemeihez időcímkék rendelése friss időcímkéjű adatok előnyben részesítése

specifikusság több feltételt tartalmazó szabályok előnyben részesítése

prioritásos rangsorolás

Több stratégia támogatása választás

Page 39: Ismeretalapú rendszerek alaptechnikái I

Struktúrált szabályalapú rendszerek sok szabály célszerű modulokra bontani

“oszd meg és uralkodj” elv

modulok (kontextusok) kontextusfa megoldásszerkezet szerinti hierarchikus csoportosítás hierachikus áttekintést tesz lehetővé

feladatmegoldás kontextusfüggő KG az aktuális kontextushoz tartozó szabályokhoz fér hozzá átkapcsolás a kontextusok között kontextusváltás

Page 40: Ismeretalapú rendszerek alaptechnikái I

Példa: borkiválasztó szakértő rendszer tudásbázisának modularizálása

Page 41: Ismeretalapú rendszerek alaptechnikái I

rendszer viselkedésének könnyebb áttekinthetősége (könnyebb tesztelés, módosítás, karbantartás)

ugyanannak a szabályhalmaznak többszörös aktivizálása lehetséges statikus kód redukálása

célvezérelt/ adatvezérelt szabályok elkülönített kezelése kiválóan megoldható

Szabályok strukturálásának előnyei:

Page 42: Ismeretalapú rendszerek alaptechnikái I

Statikus kontextusfaa szabályok végrehajtás előtti struktúrája

Dinamikus kontextusfaa feladat végrehajtása közben felépülő kontextusfaKG építi fel és bontja lemindig a fa valamely csúcsa van a figyelem

középpontjában (az ahhoz rendelt szabályok esélyesek a végrehajtásra)

Kontextusfák:

Page 43: Ismeretalapú rendszerek alaptechnikái I

a végrehajtás alatt álló szabály (programozott kontextusváltás)

a feladatmegoldás lépéseinek előjegyzését tartalmazó komponens: agenda (automatikus kontextusváltás)

A kontextusváltás kezdeményezője lehet:

Page 44: Ismeretalapú rendszerek alaptechnikái I

Szabályalapú rendszerek előnyei

modularitás univerzális megjelenítés természetesség bizonytalanságkezelési lehetőségekkel

könnyen kiegészíthető

Page 45: Ismeretalapú rendszerek alaptechnikái I

Szabályalapú rendszerek hátrányai

végtelen láncolás új, a korábbiakkal ellentmondó ismeret beépítése szabályok módosítása során ellentmondás szabályok/ meta-szabályok formailag nem

különböznek, a kétféle ismeret keveredik zavaró, jól strukturáltságot rontja

nincs szabványosítva a szabályok nyelve más rendszerre átvinni nehéz