UMETNI INTELIGENTNI SISTEMI - LUKS

Transcription

UMETNI INTELIGENTNI SISTEMI - LUKS
UNIVERZA
V
LJUBLJANI
Fakulteta za elektrotehniko
Simon Dobrišek
SKRIPTA PREDAVANJ PRI PREDMETU
UMETNI INTELIGENTNI SISTEMI
UNIVERZITETNI ŠTUDIJSKI PROGRAM II. STOPNJE
ELEKTROTEHNIKA - AVTOMATIKA IN IFORMATIKA
PRVA IZDAJA
Ljubljana, 2013
Predgovor
Skripta predavanj so pomožno študijsko gradivo, ki je na razpolago študentom predmeta
Umetni inteligentni sistemi na podiplomskem drugostopenjskem študijskem programu
Elektrotehnike na Fakulteti za elektrotehniko Univerze v Ljubljani na študijski smeri
Avtomatika in informatika. Vsebujejo preurejene prosojnice predavanja pri tem predmetu.
Cilj predmeta je seznaniti študente z osnovnimi matematičnimi in računalniškimi pristopi v
umetni inteligenci, z zasnovami umetnih inteligentnih sistemov in s primeri izvedb takšnih
sistemov. Predavanja so razdeljena na naslednje vsebinske sklope:
Uvodne teme: roboti in avtonomni agenti, umetno zaznavanje, umetna inteligenca, mehko
računanje, strojno učenje, ambientalna inteligenca.
Inteligentno reševanje problemov: stanja problema in podproblemi, grafska predstavitev
problemov, algoritmi za preiskovanje grafov, izčrpno in hevristično preiskovanje, reševanje
problema z razgradnjo na podprobleme.
Ekspertni sistemi: znanje - proceduralno in deklarativno, proces sklepanja, primerjava
sistemov za obdelavo podatkov (konvencionalni programi) in sistemov za obdelavo znanja,
obrazci za prikaz znanja.
Obrazci za prikaz znanja: predstavitev s pravili (izjave ČE...POTEM), neizrazita logika
(neizrazite izjave ČE...POTEM) semantična omrežja, omrežje KRP.
Mehanizmi sklepanja : sklepanje z veriženjem pravil, izjavni račun, predikatni račun, pravila
logičnega sklepanja, programski jezik Prolog.
Mehko računanje: neizrazito (angl. "fuzzy") računanje, neizrazito sklepanje, genetski
algoritmi, evolucijski programi, učenje regresije in razvrščanja z umetnimi nevronskimi
omrežji.
Več-agentni sistemi: inteligentni agenti, več-agentni sistemi, programski model BDI, večagentna programska ogrodja.
Osnovna literature predmeta
•
N. Pavešić, Razpoznavanje vzorcev, Založba FE in FRI, 2012.
•
I. Kononenko: Strojno učenje, Založba FE in FRI, 2005.
•
S. Russel in P Norvig: Artificial Intelligence, A Modern Approach, Prentice Hall, 2009.
V Ljubljani, oktobra 2013
Simon Dobrišek
Kazalo
Predstavitev predmeta ............................................................................................................................6
Uvodne teme ........................................................................................................................................ 11
Od robotov do avtonomnih agentov ................................................................................................. 12
Umetno zaznavanje ........................................................................................................................... 16
Umetna inteligenca .......................................................................................................................... 21
Mehko računanje .............................................................................................................................. 32
Strojno učenje ................................................................................................................................... 34
Ambientalni inteligentni sistemi ......................................................................................................... 41
Uvod in terminologija ........................................................................................................................ 42
Ambientalna inteligenca (AmI) .......................................................................................................... 45
Podpora obstoječim razvojnim strategijam ...................................................................................... 46
Razvoj gradnikov AmI sistemov ......................................................................................................... 51
Možen scenarij izkušnje z AmI sistemom .......................................................................................... 55
Raziskovalne in razvojne iniciative .................................................................................................... 56
Zadržki ............................................................................................................................................... 56
Inteligentno reševanje problemov ...................................................................................................... 59
Splošno reševanje problemov ........................................................................................................... 60
Grafska predstavitev problemov ....................................................................................................... 64
Primeri enostanjskih problemov ....................................................................................................... 65
Reševanje problemov z iskanjem ...................................................................................................... 72
Algoritmi za preiskovanje drevesa problema .................................................................................... 73
Reševanje problemov z razgradnjo na podprobleme ....................................................................... 88
Ekspertni sistemi .................................................................................................................................. 98
Zgradba ekspertnih sistemov ............................................................................................................ 99
Baza znanja ...................................................................................................................................... 103
Mehanizem sklepanja ...................................................................................................................... 109
Orodja za izgradnjo ekspertnih sistemov ........................................................................................ 114
Predstavitev znanja ........................................................................................................................... 117
Kako predstaviti znanje ................................................................................................................... 118
Razvoj znanja od podatkov do modrosti ......................................................................................... 119
Implicitno in eksplicitno znanje ....................................................................................................... 120
Proceduralno in deklarativno znanje............................................................................................... 122
Obrazci za predstavitev znanja ........................................................................................................ 125
Najnujnejše o Petrijevih omrežjih ...................................................................................................... 130
Definicija Petrijevega omrežja ......................................................................................................... 131
Izvajanje Petrijevega omrežja .......................................................................................................... 138
Metode za analizo Petrijevih omrežij .............................................................................................. 141
Stroji stanja ...................................................................................................................................... 149
Obrazec za prikaz znanja, ki temelji na teoriji Petrijevih omrežij ..................................................... 151
Obrazec za prikaz znanja KRP .......................................................................................................... 152
Osnovne operacije v obrazcu za prikaz znanja KRP ......................................................................... 157
Hierarhične lastnosti obrazca za predstavitev znanja KRP .............................................................. 161
Postopki sklepanja v obrazcu za predstavitev znanja KRP .............................................................. 164
Najnujnejše o matematični logiki ...................................................................................................... 185
Izjavni račun..................................................................................................................................... 186
Logično sklepanje ............................................................................................................................ 189
Predikatni račun .............................................................................................................................. 191
Logične povezave ............................................................................................................................ 193
Kvantifikator .................................................................................................................................... 194
Funkcije............................................................................................................................................ 195
Pravila sklepanja .............................................................................................................................. 195
Najnujnejše iz Prologa ........................................................................................................................ 200
Sintaksa Prologa .............................................................................................................................. 205
Seznami in nizi ................................................................................................................................ 216
Prilaganjanje ................................................................................................................................... 220
Pravila izvajanja Prologovega tolmača ............................................................................................ 226
Osnovni principi programiranja v Prologu....................................................................................... 231
Najnujnejše o končnih neizrazitih množicah in neizraziti logiki........................................................ 244
Uvod v neizrazite (angl. fuzzy) množice .......................................................................................... 245
Neizraziti jezikovni izrazi.................................................................................................................. 254
Neizrazita pogojna trditev ............................................................................................................... 261
Zgled neizrazitega logičnega sklepanja ........................................................................................... 262
Umetna nevronska omrežja ............................................................................................................... 268
Model nevronskega sistema............................................................................................................ 269
Vrste nevronskih omrežij ................................................................................................................. 272
Predkrmiljeno več-plastno omrežje ................................................................................................ 272
Uporaba umetnih nevronskih omrežij............................................................................................. 275
Zgled hierarhičnega nevronskega modela....................................................................................... 276
Genetski algoritmi .............................................................................................................................. 284
Oponašanje mehanizmov evolucije................................................................................................. 285
Določanja genetskega zapisa kromosomov .................................................................................... 287
Uporaba genetskih algoritmov ........................................................................................................ 289
Primeri uporabe genetskega algoritma ........................................................................................... 289
Več agentni sistemi ............................................................................................................................ 292
Namerni/hoteč sistem ..................................................................................................................... 300
Primer abstraktne zgradbe agentov ................................................................................................ 302
Koristnost agenta ............................................................................................................................ 305
Komunikacija med agenti ............................................................................................................... 309
Agentni model BDI........................................................................................................................... 315
Primeri več-agentnih platform ....................................................................................................... 319
PREDSTAVITEV PREDMETA
VSEBINA
|
Opis predmeta
|
,]SLWQLUHçLP
|
Vsebina predavanja
|
Programski jeziki in orodja
|
/DERUDWRULMVNDXĀLOQLFD/8.6
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
6
OPIS PREDMETA
Osnovni cilji predmeta
6H]QDQLWLåWXGHQWD]RVQRYQLPLPDWHPDWLĀQLPLLQUDĀXQDOQLåNLPL
pristopi v umetni inteligenci, z zasnovami umetnih inteligentnih
sistemov in s primeri izvedb takšnih sistemov.
Predavatelj
doc. dr. Simon Dobrišek – /8.6%[email protected]
Literatura
N. 3DYHåLþ, Razpoznavanje vzorcev=DORçED)(LQ)5,
I. Kononenko: 6WURMQRXĀHQMH=DORçED)(LQ)5,
S. Russel in P. Norvig: Artificial Intelligence: Modern Approach,
Prentice Hall, 2009.
Gradivo, razdeljeno na predavanjih.
Spletna stran
http://luks.fe.uni-lj.si/sl/studij/UIS
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
IZPITNI R(æ,0
Vaje: 5DĀXQDOQLåNHR]LURPDSURJUDPHUVNHQDORJHYRNYLUX
ODERUDWRULMVNLKYDMYXĀLOQLFL/8.6'RVHJDQMHWRĀNSRVSRGQMLWDEHOL
Izpit: 'RVHJDQMHWRĀN]GYHPDQHREYH]QLPDGRPDĀLPDQDORJDPDLQ
ustnim izpitom.
7RĀNRYDQMHL]SLWD
7RĀNH
Ocena
QDMYHĀ
najmanj
0 – 19
ni frekvence
'RPDĀL nalogi
2×
0
20 – 49
Obvezne laboratorijske vaje
3×
7
– 6
Izbirni projekt
60 – 69
7
Pisni izpit
30
70 – 79
8
Ustni izpit
30
80 – 89
9
Skupaj
100
90 – 100
10
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
7
VSEBINA PREDAVANJ (1/2)
|
|
|
|
Uvodne teme: roboti in avtonomni agenti,
XPHWQR]D]QDYDQMHXPHWQDLQWHOLJHQFDPHKNRUDĀXQDQMH
VWURMQRXĀHQMH, ambientalna inteligenca.
Inteligentno reševanje problemov: stanja problema in
podproblemi, grafska predstavitev problemov, algoritmi za
SUHLVNRYDQMHJUDIRYL]ĀUSQRLQKHYULVWLĀQRSUHLVNRYDQMH
Ekspertni sistemi: znanje - proceduralno in
deklarativno, proces sklepanja, primerjava sistemov za
obdelavo podatkov (konvencionalni programi) in sistemov za
obdelavo znanja, obrazci za prikaz znanja.
Obrazci za prikaz znanja: predstavitev s pravili (izjave
ÿ(327(0QHL]UD]LWDORJLNDQHL]UD]LWHL]MDYH
ÿ(327(0VHPDQWLĀQDRPUHçMDRPUHçMH.53
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
VSEBINA PREDAVANJ (2/2)
|
|
|
|
Mehanizmi sklepanja : VNOHSDQMH]YHULçHQMHPSUDYLO
L]MDYQLUDĀXQSUHGLNDWQLUDĀXQSUDYLODORJLĀQHJDVNOHSDQMD
programski jezik Prolog.
0HKNRUDĀXQDQMHgenetski algoritmi, evolucijski
programi, neizrazito (angl. "fuzzyUDĀXQDQMH
Znanje iz eksperimentalnih podatkovXĀHQMHUHJUHVLMH
]YH]QDQDNOMXĀQDVSUHPHQOMLYNDLQUD]YUåĀDQMDGLVNUHWQD
QDNOMXĀQDVSUHPHQOMLYND]XPHWQLPLQHYURQVNLPLRPUHçML
in stroji podpornih vektorjev.
9HĀ-agentni sistemi: LQWHOLJHQWQLDJHQWLYHĀ-agentni
VLVWHPLSURJUDPVNLPRGHO%',YHĀ-agentna programska
ogrodja.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
8
P52*5$06., J(=,., IN ORODJA
|
OpenCV - http://opencv.willowgarage.com/wiki/
|
:(.$- http://www.cs.waikato.ac.nz/ml/weka
|
SWI Prolog - http://www.swi-prolog.org
|
eXpertise2Go - http://www.expertise2go.com
|
CLIPS - http://clipsrules.sourceforge.net/
|
JESS - http://herzberg.ca.sandia.gov
|
JADE - http://jade.tilab.com
|
JASON - http://jason.sourceforge.net/wp
|
Java, NetBeans, GCC, …
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
LABORATORIJ /8.6(1/2)
|
|
Laboratorij za umetno zaznavanje, sisteme in kibernetiko
/8.6MHUD]LVNRYDOQRLQSHGDJRåNRGHMDYHQQDSRGURĀMLK
y
obdelave signalov ter govornih in slikovnih tehnologij
y
razpoznavanja, analize in razumevanja vzorcev,
y
biometrije in ELRPHWULĀQLKYDUQRVWQLKVLVWHPRY
y
umetnih inteligentnih sistemov,
y
teorije informacij in kodiranja.
Sodelavci laboratorija sodelujejo pri izvajanju študijskega
programa druge stopnje predvsem na smeri Avtomatika in
informatika.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
9
LABORATORIJ /8.6(2/2)
|
|
9RNYLUXVYRMLKUD]LVNRYDOQLKSURMHNWRYVHSRVYHĀDMR
izbranim sestavinam inteligentnih sistemov, kot so:
y
samodejno razpoznavanje govora in govorcev,
y
tvorjenje umetnega govora,
y
inteligentni govorni vmesniki,
y
ELRPHWULĀQRrazpoznavanje in preverjanje uporabnikov,
y
podatkovno UXGDUMHQMHYHĀ-predstavnih vsebin.
Te sestavine razvijajo kot samostojne izdelke ali pa z njimi
dopolnjujejo izdelke interdisciplinarnih sistemov, kot so:
y
inteligentni informacijski sistemi,
y
ELRPHWULĀQLvarnostni sistemi,
y
ambientalni inteligentni sistemi,
y
pametni nadzorni sistemi.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
L$%25$725,-6.$ 8ÿ,/1,&$
|
|
9HĀ-PHGLMVNDUDĀXQDOQLåNDXĀLOQLFD]GHORYQLPLPHVWLLQ
PUHçRUDĀXQDOQLNRY]RSHUDFLMVNLPVLVWHPRP/LQX[
8ĀLOQLFDMHYSURVWRUX$1YGUXJHPQDGVWURSMXSUHG
prehodom iz starega v novi del zgradbe fakultete.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
10
UVOD
UVODNE TEME
|
Od robotov do avtonomnih agentov
|
Umetno zaznavanje
|
Umetna inteligenca
|
MHKNRUDĀXQDQMH
|
SWURMQRXĀHQMH
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
11
OD ROBOTOV DO AVTONOMNIH AGENTOV
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ROBOT - DEFINICIJA
|
|
|
SSKJ: “Elektronsko vodena naprava, ki enakomerno
RSUDYOMDYQDSUHMSURJUDPLUDQDSRJRVWRĀORYHNRYHPX
]GUDYMXåNRGOMLYDGHODµ
RIA: “ProgramabilniYHĀ-IXQNFLMVNLmanipulator,
zasnovan za premikanje materiala, delov, orodij ali
posebnih naprav s programiranimi gibi za izvedbo
]DGDQLKQDORJµ
Wikipedia: “Navidezni ali elektro-mehanski
umetni avtonomni agentµ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
12
VRSTE ROBOTOV GLEDE NA UPORABO
|
Industrijski in delovni roboti.
|
'RPDĀLDOLKLåQLURERWL
|
Medicinski roboti.
|
6HUYLVQLLQVWUHçQLURERWL
|
9RMDåNLLQSROLFLMVNLURERWL
|
Zabavni roboti.
|
Raziskovalni roboti.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VRSTE ROBOTOV GLEDE NA KINEMATIKO
|
Stacionarni roboti in robotske roke.
|
Mobilni roboti s kolesi.
|
Mobilni roboti z nogami.
|
Humanoidni roboti.
|
/HWHĀLURERWL
|
3ODYDMRĀLURERWL
|
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
13
AVTONOMNI AGENT - DEFINICIJA
|
Avtonomni agent je sistem:
y
y
y
y
|
NLMHQDPHåĀHQYQHNRRNROMHDOLMHQMHJRYGHO
ki to okolje zaznava,
NLYQMHPGHOXMHLQJDVSUHPLQMDVNR]LĀDV
SULĀHPHUVOHGLQHNHUD]YLMDMRĀHVH]DVWDYOMHQHFLOMH
3ULPHULQHELRORåNLKDYWRQRPQLKDJHQWRYVR
y
y
y
y
y
avtonomni roboti,
programski agenti,
vLUWXDOQLDVLVWHQWL
DJHQWLXPHWQHJDçLYOMHQMD
UDĀXQDOQLåNLYLUXVLLQĀUYL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
OSNOVNI MODEL AVTONOMNEGA AGENTA
agent
modeli
vzorci
þXWLOD
orodja
cilji
akcije
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
aktivatorji
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
14
ÿLOVEK KOT AVTONOMNI AGENT
|
|
ÿORYHNMHQDMYLåML]JOHGDYWRQRPQHJDDJHQWD
=XPHWQLPLDJHQWLSRVNXåDPRSRVQHPDWLLQSUHVHĀL
QDåH]PRçQRVWLSULUHåHYDQMXL]EUDQLKQDORJ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VPRAŠANJA
|
Kako delimo robote glede na uporabo?
|
Kako delimo robote glede na kinematiko?
|
Kako je definiran avtonomni agent?
|
Podajte nekaj primerov avtonomnih agentov.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
15
UMETNO ZAZNAVANJE
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
UMETNO ZAZNAVANJE
|
|
|
|
=D]QDYDQMHMHSURFHVNLDJHQWXPRJRĀLGDVHSUHNRĀXWLO
zaveda prisotnosti predmetov, dogodkov ali drugih
DJHQWRYYRNROMXNLJDRENURçDMR
Zaznavanje je osnova za spoznavanje, ki obsega prevedbo
dobljenih spoznanj o okolju v ustrezne pojme.
=D]QDYDQMXçHSUHMVSR]QDQLKSUHGPHWRYGRJRGNRYLWG
pravimo razpoznavanje
Umetno zaznavanje je posnemanje teh procesov pri izvedbi
umetnih avtonomnih agentov.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
16
UMETNO ZAZNAVANJE Z ANALIZO SLIK
|
3ULUDĀXQDOQLåNHPYLGXMHSURFHV]D]QDYDQMHDQDOL]D
R]LURPDUD]ĀOHQMHYDQMHVOLNQDSRGSRGURĀMD, ki
predstavljajo smiselne celote (predmete, objekte, bitja
itd), ter ugotavljanjem njihovih medsebojnih odnosov
in lastnosti.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ZAZNAVANJE IZ SLIK
|
To, kar ljudje vidimo, ni neka enostavna preslikava
GUDçOMDMHYRĀHVQHPUHçQLFHVOLNHQDPUHçQLFLYVLPEROQR
dojemanje slike.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
17
ZAZNAVANJE IZ SLIK
|
2SWLĀQHLOX]LMHUD]NULYDMRNRPSOHNVQH]QDĀLOQRVWL
ĀORYHNRYHJD]D]QDYDQMDL]VOLN
Zaznavanje obrazov
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ZAZNAVANJE IZ SLIK
|
2SWLĀQHLOX]LMHUD]NULYDMRNRPSOHNVQH]QDĀLOQRVWL
ĀORYHNRYHJD]D]QDYDQMDL]VOLN
Zaznavanje obrazov
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
18
ZAZNAVANJE IZ SLIK
Zaznavanje globine prostora
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ZAZNAVANJE IZ SLIK
Lokalno in globalno zaznavanje
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
19
UMETNO ZAZNAVANJE Z ANALIZO ZVOKA
|
|
|
|
5D]ĀOHQMHYDQMH]YRĀQHJDVLJQDODQDRGVHNHNL
SUHGVWDYOMDMRVPLVHOQHFHORWHLQMLKMHPRJRĀHSRYH]DWL]
SUHGPHWLELWMLSRMDYLLWGYEOLçQMHPRNROMXDJHQWD
3UL]YRĀQHP]D]QDYDQMXMHSRJRVWRVRĀDVQR
SUHNULYDQMHVHåWHYDQMH]YRĀQLKYLURYLQSRWUHEQDMH
njihova prostorska lokalizacija v okolju sistema.
1DSRGURĀMXUD]YRMDXPHWQHLQWHOLJHQFHLPDSRVHEHQ
pomen obravnava zaznavanja in razpoznavanja govora.
*RYRUMHQLMH]LNMHWHPHOMQLL]YRUĀORYHNRYHJDUD]XPDLQ
inteligence.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
R$=ÿ/(1-(9$1-( GOVORNEGA SIGNALA
0
0.5
1
2.5
3
3.5
200
4
300
250
200
150
k
100
50
50
-10
-5
0
log|Y(k)|
5
4.5
x 10
300
250
150
k
100
50
-10
0
-5
log|Y(k)|
5
4
300
100
300
250
200
150
k
100
50
0
300
1
100 0.5200
0
200
300
200
250
1
100 0.5200
0
-10
5
-5
2
300
0
…
1.5
n
1
100 0.5200
150
k
1
0.5
0
100
-1
300
y(n)
1
-10
0
5
log|Y(k)|
-5
…
Spektrogram/fonogram
log|Y(k)|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
20
VPRAŠANJA
|
|
|
|
|
Kaj je umetno zaznavanje?
.DNåQDMHSRYH]DYDPHGXPHWQLP]D]QDYDQMHP
spoznavanjem in razpoznavanjem?
.DNRL]YHGHPRXPHWQR]D]QDYDQMH]UDĀXQDOQLåNR
obdelavo slik?
.DNRL]YHGHPRXPHWQR]D]QDYDQMH]UDĀXQDOQLåNR
obdelavo zvoka?
Zakaj je pri razvoju umetne inteligence obravnava
govorjenega jezika tako pomembna?
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
UMETNA INTELIGENCA
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
21
KAJ JE INTELIGENCA?
|
|
,QWHOLJHQFDMHVSRVREQRVWXĀLQNRYLWHJDUHåHYDQMD
SUREOHPRYQDNUHDWLYHQQDĀLQNLQLYQDSUHM
programiran. – Stephen Jay Gould.
Inteligenca je sposobnost posvajanja in prilagajanja
QDĀLQDUHåHYDQMDSUREOHPRYNLMHRSDçHQSULGUXJLK
za svoje lastne potrebe – Jack Copeland.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
KAJ '2/2ÿ$ INTELIGENCO?
|
6SRVREQRVWSULODJDMDQMDVSUHPHQMHQLPRNROLåĀLQDP
|
Sposobnost pomnjenja znanja in njegove uporabe.
|
6SRVREQRVWVNOHSDQMDLQDEVWUDNWQHJDUD]PLåOMDQMD
|
6SRVREQRVWXĀHQMDLQGRXPHYDQMDUHODFLM
|
6SRVREQRVWRYUHGQRWHQMDLQSUHVRMHRGORĀDQMD
|
Sposobnost tvorjenja izvirnih in ustvarjalnih misli.
|
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
22
KAJ JE UMETNA INTELIGENCA?
Vznemirljiv poskus narediti
UDĀXQDOQLNH]DPLVOHĀHVWURMH
(Haugeland, 1985)
Študij mentalnih funkcij z uporabo
UDĀXQVNLKPRGHORY
(Charniak in McDermont, 1985)
Avtomatizacija aktivnosti, ki jih
äWXGLMDUDĀXQVNLKPRGHORYNL
SRYH]XMHPRVĀORYHNRYLP
RPRJRĀDMR]D]QDYDQMH
UD]PLåOMDQMHPRGORĀDQMHP
razumevanje in delovanje
UHåHYDQMHPSUREOHPRYXĀHQMHP« (Winston, 1992)
(Bellman, 1978)
Umetnost ustvarjanja strojev, ki
izvajajo opravila, ki zahtevajo
LQWHOLJHQFRĀHMLKL]YDMDĀORYHN
(Kurzweil, 1990)
3RGURĀMHNLçHOLUD]ORçLWLLQ
SRVQHPDWLLQWHOLJHQWQRREQDåDQMH
YVPLVOXUDĀXQVNLKSURFHVRY
(Schalkoff, 1990)
5D]YRMVWURMHY]DGHODNLMLKĀORYHN 9HMDUDĀXQDOQLåNH]QDQRVWLNVH
zaenkrat RSUDYOMDåHEROMH
ukvarja z avtomatizacijo
(Rich in Knight, 1990)
LQWHOLJHQWQHJDREQDåDQMD
(Luger in Stubblefield, 1993)
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
KATEGORIZACIJA DEFINICIJ UI
|
Zgornje definicije se ukvarjajo z umovanjem.
|
Spodnje definicije se ukvarjajo z REQDåDQMHP.
|
|
Leve definicije se ukvarjajo s primerjavo s
ĀORYHåNLPL]PRJOMLYRVWPL.
Desne definicije se ukvarjajo s primerjavo z
idealom inteligence, ki mu pravimo racionalnost.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
23
INTELIGENTNO OBNAŠANJE
|
,QWHOLJHQWQRREQDåDQMHQDMELYNOMXĀHYDOR
zaznavanja okolja,
| delovanje v zahtevnih okoljih,
| XĀHQMHLQUD]XPHYDQMHL]SULPHURY
| VNOHSDQMH]DUHåHYDQMHSUREOHPRY
| pridobivanje skritega znanja s sklepanjem,
| XSRUDER]QDQMDYQRYLKRNROLåĀLQDK
| komunikacijo z drugimi in razumevanja jezikov,
| kreativnost, izvirnost, radovednost, …
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
RACIONALNO MIŠLJENJE IN DELOVANJE
|
5DFLRQDOQRPLåOMHQMHMHPLåOMHQMH
v skladu s principi formalne logike
y
|
Pravilne predpostavke morajo pripeljati
k pravilnim sklepom
Racionalno delovanje je delovanje z:
y
jasnimi preferencami (prednostmi),
y
XSRåWHYDQMHPQHJRWRYRVWLSULVYRMLKSULĀDNRYDQMLKLQ
y
L]ELURDNFLMRSHUDFLM]QDMEROMåLPLSULĀDNRYDQLPLL]LGL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
24
KAJ MORAMO RAZUMETI PRI RAZVOJU
UMETNE INTELIGENCE?
|
Kako se znanje pridobi, predstavi in shrani;
|
.DNRVHXVWYDULLQQDXĀLLQWHOLJHQWQHJDREQDåDQMD
|
|
|
|
.DNRVHUD]YLMHMRLQXSRUDELMRSUHSULĀDQMDQDPHUH
çHOMHHPRFLMHLQSUHIHUHQFH
Kako se senzorski signali pretvorijo v simbole;
.DNRVHXSUDYOMDVVLPEROL]DORJLĀQRVNOHSDQMHR
SUHWHNORVWLLQQDĀUWLK]DSULKRGQRVW
Kako se komunicira in razume jezik.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
M2ÿ1$ UMETNA INTELIGENCA
|
|
|
0RĀQDXPHWQDLQWHOLJHQFDVHQDQDåDQDUD]YRM
VWURMHYNLQDMELYFHORWLGRVHJOLDOLSUHVHJOLĀORYHNRYH
razumske in kognitivne sposobnosti.
&LOMPRĀQHXPHWQHLQWHOLJHQFHMHUD]YRMVWURMHYNLMLK
SRLQWHOHNWXDOQLKVSRVREQRVWLKQLPRJRĀHUD]OLNRYDWL
od ljudi.
0RĀQDXPHWQDLQWHOLJHQFDQDMELYVDMGRQHNHPHUH
izkazovala samo-zavedanje.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
25
ŠIBKA UMETNA INTELIGENCA
|
|
äLENDXPHWQDLQWHOLJHQFDVHQDQDåDQDUD]YRM
VWURMHYNL]PRUHMRUHåHYDWLVSHFLILĀQH]DKWHYQH
probleme in umovanje, ki ne zahteva celotne palete
ĀORYHNRYLKUD]XPVNLKLQNRJQLWLYQLKVSRVREQRVWL
=DåLENRXPHWQRLQWHOLJHQFRVHQH]DKWHYD
izkazovanje samo-zavedanje.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
CILJI UMETNE INTELIGENCE
|
Razvoj sistema, ki misli in/ali GHOXMHNRWĀORYHN.
|
Razvoj sistema, ki misli in/ali deluje racionalno.
|
|
|
ĀORYHNXSRGREQR
UDFLRQDOQR
Misli
Kognitivna znanost
Raziskave principov umovanja
Deluje
Turingov pristop
Razvoj racionalnega agenta
Kognitivno znanost zanima predvsem razvoj sistema, ki
dejansko PLVOLNRWĀORYHN.
3ULVWRSV7XULQJRYLPSUHL]NXVRPVHSRVYHĀDUD]YRMX
sistema, ki vsaj navzven GHOXMHNRWĀORYHN
5D]YRMXPHWQHLQWHOLJHQFHSDVHYJODYQHPSRVYHĀD
razvoju sistemov, ki mislijo in/ali delujejo racionalno.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
26
TURINGOV PREIZKUS UMETNE INTELIGENCE
|
Izvedba preizkusa
3RJRYRUĀORYHNDVSULNULWLPVWURMHPQDHQLVWUDQL
WHUĀORYHNRPQDGUXJLVWUDQL
| 3UHL]NXVMHXVSHåHQĀHQHPRUHXJRWRYLWLNDWHUL
RGVRJRYRUQLNRYQLĀORYHN
|
|
=DGUçNLSULWHPSUHL]NXVX
6WURMNLVLPXOLUDĀORYHåNHSRJRYRUQHQDYDGHQL
nujno inteligenten.
| Stroj bi lahko bil nadvse inteligenten, pa vendar
QL]PRçHQGHEDWLUDWLVĀORYHNRP
| 9HOLNRPDQML]REUDçHQLPOMXGHPELVSRGOHWHORQD
tem preizkusu.
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
NAPOVEDI ALANA TURINGA
ZA LETO 2000
|
|
|
Stroji z 10^9 biti (119MB) bodo sposobni
SUHWHQWDWLWUHWMLQRĀORYHåNLKVRGQLNRYPHGSHWminutnim testom.
/MXGMHERGRVSUHMHOLL]UD]´PLVOHĀVWURMµ
8ĀHQMHERSRVWDORNOMXĀQLGHOSULJUDGQML
zmogljivih strojev.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
27
INTELIGENTNI KLEPETALNIKI
|
Obstajajo spletni sistemi, ki se zgledujejo po
Turingovem preizkusu umetne inteligence,
YHQGDUJDGRGDQHVåHQHELSUHVWDOL
ELIZA
http://www-ai.ijs.si/eliza/eliza.html
ALICE
http://alice.pandorabots.com/
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
M2æ1( POSLEDICE RAZVOJA UI
|
Artilekt – QDVOHGQLNĀORYHåNHYUVWH
|
Ali lahko UI definiramo kot novo vrsto?
|
6YRERåĀLQHLQSUDYLFHWHKVLVWHPRY
|
Posebnost in edinost teh sistemov.
|
6WRSQMDYDUQRVWQH]DåĀLWH
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
28
P2'52ÿ-$ UMETNE INTELIGENCE
|
Umetna inteligenca kot znanost:
y
y
|
SRVNXåDrazumeti LQPRGHOLUDWLĀORYHNRYHVSRVREQRVWL
obdelave informacije;
SRVNXåDrazumeti VSORåQHSULQFLSH]DUD]ODJRLQ
UD]XPHYDQMHUD]OLĀQLKLQWHOLJHQWQLKVLVWHPRY
Umetna inteligenca kot LQçHQLUVWYR:
y
y
SRVNXåDrazviti nove stroje, ki zmorejo opravljati dela, ki
so jih pred tem zmogli opravljati le ljudje.
SRVNXåDrazviti LQWHOLJHQWQHVWURMHRNROMDLQXĀQH
SULSRPRĀNHNLSRPDJDMROMXGHPSULELYDQMXLQUHåHYDQMX
problemov.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
P2'32'52ÿ-$ UMETNE INTELIGENCE
|
Delitev glede na vsebino
Umetno zaznavanje
| Obdelava naravnih jezikov
| 8ĀHQMHLQUD]YRM
| 1DĀUWRYDQMHLQUHåHYDQMHSUREOHPRY
| Sklepanje in izpeljevanje
| Robotika
| 9HĀ-agentni sistemi
| Mehanizmi pomnjenja
| Predstavitev znanja
| Razvoj programskih jezikov in orodij
|…
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
29
P2'32'52ÿ-$ UMETNE INTELIGENCE
|
Delitev glede na uporabo
Medicina
| Industrijski in proizvodni sistemi
| 6LVWHPL]DSRPRĀXSRUDEQLNRP
| Robotika
| ,]REUDçHYDQMH
| Informacijski sistemi
| Zabavna industrija
| 3UHSUHĀHYDQMHNULPLQDOD
| Vojska
| Vesoljske raziskave
| Pravni in socialni sistemi
| Marketing in prodaja
| )LQDQĀQLVLVWHPL
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
P2'32'52ÿ-$ UMETNE INTELIGENCE
|
Delitev JOHGHQDUD]LVNRYDOQDSRGURĀMD
.RPELQDWRULĀQRLVNDQMH
| 6WURMQLUDĀXQDOQLåNLYLG
| Ekspertni sistemi
| 0HKNRUDĀXQDQMH
| Predstavitev in prikaz znanja
| 6WURMQRXĀHQMHLQSRGDWNRYQRUXGDUMHQMH
| Razpoznavanje vzorcev
| Obdelava naravnega jezika
| 8PHWQRçLYOMHQMH
| Robotika
| Ambientalna inteligenca in pametni prostori
| Pametni nadzorni sistemi
|…
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
30
MEJNIKI UMETNE INTELIGENCE
|
|
|
1997: IBM Deep Blue åDKRYVNLSURJUDPSUHPDJD
svetovnega prvaka Gary Kasparova.
2005: Avtonomni avtomobil Univerze Stanford
prevozi 132 miles GRFLOMDSRSXåĀDYVNLKFHVWDK
(DARPA Grand Challenge).
2011: 5DĀXQDOQLåNLSURJUDPIBM
Watson premaga ljudi na kvizu Jeopardy.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VPRAŠANJA
|
.DMGRORĀDLQWHOLJHQFR"
|
Kako je definirana umetna inteligenca (UI)?
|
Kaj moramo razumeti pri razvoju UI?
|
.DNåQDMHUD]OLNDPHGPRĀQRLQåLENR8,
|
Katera so SRGSRGURĀMD UI glede na vsebino?
|
Katera so SRGSRGURĀMD UI glede na uporabo?
|
.DWHUDUD]LVNRYDOQDSRGURĀMDVHXEDGDMR]8,"
|
.DNåQHVRPRçQHSRVOHGLFHUD]YRMD8,"
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
31
MEHKO R$ÿ81$1-(
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
MEHKO R$ÿ81$1-(
|
|
|
0HKNRUDĀXQDQMH]DMHPDåLUåHSRGURĀMHUDĀXQDOQLåNLK
PHWRGLQSRVWRSNRY]DPRGHOLUDQMHLQUHåHYDQMHSUREOHPRY
NLVRSUH]DKWHYQL]DNODVLĀQRPDWHPDWLĀQRPRGHOLUDQMH
0HKNRUDĀXQDQMHWHPHOMLQDSULEOLçQHP UDĀXQDQMX
YNOMXĀHYDQMXnegotovosti, ohlapnem sklepanju, delnih
resnicahVĀLPHUVH]JOHGXMHSRĀORYHåNHPQDĀLQXXPRYDQMD
LQRGORĀDQMD
0HKNRUDĀXQDQMH]DMHPD]QDQVWYHQDSRGURĀMDNRWVR
neizrazita („fuzzy“) logika, modeliranje QHYURQVNLKRPUHçLM,
evolucijsko, genetsko in YHUMHWQRVWQRUDĀXQDQMH.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
32
3ULEOLçQR
sklepanje
Verjetnostno
ostno
modeliranje
anje
Neizrazita
logika
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
Funkcijski
SULEOLçNL
/
1DNOMXĀQR
iskanje
Nevronska
RPUHçMD
Evolucijsko
E
vo
programipro
ranje
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VPRAŠANJA
|
|
|
Na NDNåQHPUDĀXQDQMXWHPHOMLPHKNRUDĀXQDQMH"
.DNRVHPHKNRUDĀXQDQMH]JOHGXMHSRĀORYHåNHP
umovanju?
.DWHUD]QDQVWYHQDSRGURĀMDYNOMXĀXMHPHKNR
UDĀXQDQMH"
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
33
STROJNO Uÿ(1-(
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
STROJNO Uÿ(1-(
|
|
|
Veja raziskav umetne inteligence, ki temelji na
modeliranju okolja in pojavov iz podatkov in je
VRURGQDSRGURĀMXVDPRGHMQHJDUD]SR]QDYDQMDY]RUFHY
5D]YRMWHKQLNNLGDMHMRUDĀXQDOQLåNLPVLVWHPRP
VSRVREQRVWÅXĀHQMD´LQLQGXNWLYQHJDYHUMHWQRVWQHJD
sklepanja iz pridobljenih (senzorskih) podatkov.
8ĀHQMHMHSURFHVDGDSWLYQLKVSUHPHPEVLVWHPDNLPX
RPRJRĀLMRGDQDVOHGQMLĀUHåLQDORJRLVWHYUVWHEROM
XĀLQNRYLWR
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
34
VRSTE NARAVNEGA Uÿ(1-$
|
8ĀHQMH]YWLVQMHQMHPQHVSUHPHQOMLYR]QDQMH
|
8ĀHQMHVSRJRMHYDQMHP3DYORY
|
Verjetnostno (BayesovoXĀHQMH
|
8ĀHQMH]zapominjanjem (memoriranjem)
|
8ĀHQMHVSRVNXVLLQQDSDNDPL
|
8ĀHQMHVSRVQHPDQMHP
|
8ĀHQMH]UD]XPHYDQMHPLQYSRJOHGRP
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VRSTE STROJNEGA Uÿ(1-$
|
8ĀHQMH]XĀLWHOMHPQDG]RURYDQRXĀHQMH
|
8ĀHQMHEUH]XĀLWHOMDQHQDG]RURYDQRXĀHQMH
|
'HOQRQDG]RURYDQRXĀHQMH
|
6SRGEXMHYDOQRRNUHSLWYHQRXĀHQMH
|
8ĀHQMHtransdukcije/pretvorbe
|
8ĀHQMHXĀHQMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
35
OSNOVNI PRINCIPI STROJNEGA Uÿ(1-$
|
2VQRYLSRMPLVRSRGDWHNSUHG]QDQMHXĀQLDOJRULWHP
izvajalni algoritem, model znanja (teorija).
apriorno predznanje
SURVWRUPRçQLKPRGHORYLQDOLL]KRGLåĀQLPRGHO
uĀQLSRGDWNL
uĀQLDOJRULWHP
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
model znanja
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
OCENJEVANJE USPEŠNOSTI
|
2FHQMHYDQMHXVSHåQRVWLUHåHYDQMDQRYLKSUREOHPRY
model znanja (teorija)
testni podatki
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
izvajalni
algoritem
oFHQDXVSHåQRVWL
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
36
PRIMER 8ÿ(1-$ Z BAYESOVIM SKLEPANJEM
|
|
|
Predznanje pri Bayesovem sklepanju modeliramo kot
YQDSUHMåQMHSUHSULĀDQMH(zaupanje, negotovost), ki ji
pravimo SULRU
V skladu z Bayesovim WHRUHPRPSUHSULĀDQMHRPRGHOX‫ܯ‬
prilagodimo glede na verjetje modela o pridobljenem
SRGDWNXRĀLWQRVWL ‫ܧ‬.
Prilagojenemu QDNQDGQHPXSUHSULĀDQMX pravimo posterior.
‫ܯ{ א ܯ‬௜ }
ܲ ‫ܯ ܲ= ܧܯ‬
‫ܧ{ א ܧ‬௝ }
ܲ ‫ = ܧ‬෍ ܲ ‫ܯ‬௜ ܲ(‫ܯ|ܧ‬௜ )
ܲ ‫ ܧܯ‬՜ܲ ‫ܯ‬
௜
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
ܲ(‫)ܯ|ܧ‬
ܲ ‫ܧ‬
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMER 8ÿ(1-$ Z BAYESOVIM SKLEPANJEM
|
|
|
Zdravnik obravnava pDFLHQWDNLLPDGRORĀHQHQHRELĀDMQH
simptome.
Zdravnikovo predznanje mu pravi, da ima 70% ljudi s
WDNåQLPLVLPSWRPLEROH]HQ‫ܯ‬ଵ , 20 % bolezen ‫ܯ‬ଶ in 10 %
bolezen ‫ܯ‬ଷ .
9QDSUHMåQMHSUHSULĀDQMH
=GUDYQLNRYRYQDSUHMåQMH
SUHSULĀDQMHREROH]QLMH
WRUHMPRJRĀHSRQD]RULWL
z diagramom
80%
70%
60%
50%
40%
30%
20%
10%
0%
Bolezen M1
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
Bolezen M2
Bolezen M3
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
37
PRIMER 8ÿ(1-$ Z BAYESOVIM SKLEPANJEM
|
|
Zdravnik vzame pacientu vzorec sline in ga v epruveti
]PHåDVSRVHEQRGLDJQRVWLĀQRNHPLNDOLMR
=DNHPLNDOLMRMH]QDQRGDVHREDUYDĀUQRSUL
pacientov z boleznijo ‫ܯ‬ଵ , 90% pacientov z boleznijo ‫ܯ‬ଶ
in 100% pacientov z boleznijo ‫ܯ‬ଷ , torej
ܲ ‫ܯ ܧ‬ଵ = 0,6
|
|
ܲ ‫ܯ ܧ‬ଶ = 0,9
ܲ ‫ܯ ܧ‬ଷ = 1,0
.HPLNDOLMHVHREDUYDĀUQRRĀLWQRVW‫)ܧ‬.
.DNåQRMH]GDM]GUDYQLNRYRSUHSULĀDQMHRPRUHELWQL
bolezni?
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMER 8ÿ(1-$ Z BAYESOVIM SKLEPANJEM
|
Drevo PRçQLKGRJRGNRYVSRGDQLPLYHUMHWQRVWPL
60 %
test pozitiven
40 %
test negativen
90 %
test pozitiven
10 %
test negativen
100 %
test pozitiven
0%
test negativen
Bolezen ‫ܯ‬ଵ
70 %
pacient s
simptomi
20 %
Bolezen ‫ܯ‬ଶ
10 %
Bolezen ‫ܯ‬ଷ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
38
PRIMER 8ÿ(1-$ Z BAYESOVIM SKLEPANJEM
|
Verjetnost, da imam zdravnik opravka s pacientom, ki
ima eno od bolezni in bo test pozitiven je torej
ܲ E, Mଵ = ܲ ‫ܯ‬ଵ ‫ܯ ܧ ܲ ڄ‬ଵ = 0,7 ‫ ڄ‬0,6 = 0,42
ܲ E, Mଶ = ܲ ‫ܯ‬ଶ ‫ܯ ܧ ܲ ڄ‬ଶ = 0,2 ‫ ڄ‬0,9 = 0,18
ܲ E, Mଷ = ܲ ‫ܯ‬ଷ ‫ܯ ܧ ܲ ڄ‬ଷ = 0,1 ‫ ڄ‬1,0 = 0,1
|
=GUDYQLNRYRQDNQDGQRSUHSULĀDQMHSRSR]LWLYQHPWHVWX
se torej spremeni
ܲ ‫ = ܧ‬σ௜ ܲ ‫ܯ‬௜ ܲ(‫ܯ|ܧ‬௜ ) =
= 0,42 + 0,18 + 0,1 = 0,7
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
ܲ ‫ܯ‬ଵ ‫= ܧ‬
଴,ସଶ
଴,ସଶା଴,ଵ଼ା଴,ଵ
= 0,6
ܲ ‫ܯ‬ଶ ‫= ܧ‬
଴,ଵ଼
଴,ସଶା଴,ଵ଼ା଴,ଵ
= 0,257
ܲ ‫ܯ‬ଷ ‫= ܧ‬
଴,ଵ
଴,ସଶା଴,ଵ଼ା଴,ଵ
= 0,143
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMER 8ÿ(1-$ Z BAYESOVIM SKLEPANJEM
|
=GUDYQLNRYRQDNQDGQRSUHSULĀDQMHVHWDNRVSUHPHQL
YHQGDUELVHåHYHGQRRGORĀLOGDLPDSDFLHQWEROH]HQ‫ܯ‬ଵ ,
kljub temu, da je pri vseh bolnikih z boleznijo ‫ܯ‬ଷ test
pozitiven, kar se je zgodilo tudi pri danem pacientu.
9QDSUHMåQMH
SUHSULĀDQMH
Naknadno
SUHSULĀDQMH
80%
70%
60%
50%
40%
30%
20%
10%
0%
Bolezen M1
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
Bolezen M2
Bolezen M3
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
39
VPRAŠANJA
|
.DMMHVWURMQRXĀHQMH"
|
.DNåQHVRYUVWHQDUDYQHJDXĀHQMD"
|
.DNåQHYUVWHVWURMQHJDXĀHQMDSR]QDPR"
|
.DNåQLVRRVQRYQLSULQFLSLVWURMQHJDXĀHQMD"
|
3RGDMWHSULPHUXĀHQMD]Bayesovim sklepanjem.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
40
AMBIENTALNI INTELIGENTNI SISTEMI
VSEBINA
|
Uvod in terminologija
|
Ambientalna inteligenca (AmI)
|
3RGSRUDREVWRMHĀLPUD]YRMQLPVWUDWHJLMDP
|
Razvoj gradnikov AmI sistemov
|
0RçHQVFHQDULML]NXåQMH]AmI sistemom.
|
Raziskovalne in razvojne iniciative
|
=DGUçNL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
41
TERMINOLOGIJA
|
Premik raziskovalnega poudarka iz
y
y
nDWHKQLNRRVUHGRWRĀHQHumetne inteligence,
nDĀORYHNDRVUHGRWRĀHQRambientalno inteligenco.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
TERMINOLOGIJA IN SORODNI POJMI
|
|
Pojem inteligentnih hiš VHMHVĀDVRPD
UD]SUåLOQDYHĀQRYLKSRMPRY
3RVNXåDMRVHXYHOMDYLWLQRYLSRMPLNRWVR
y pDPHWQHKLåHGRPRYLRNROMD
y integrirane KLåHGRPRYLRNROMD
y çLYHLQWHUDNWLYQHKLåHGRPRYLRNROMH
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
42
POJAV VSEPRISOTNEGA 5$ÿ81$/1,.$
|
“Ubiquitous intelligence/computing”
|
“Pervasive intelligence/computing”
|
“Versatile intelligence/computing”
|
“Everyware”
|
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VSEPRISOTNI 5$ÿ81$/1,.
|
,QWHUDNFLMDPHGĀORYHNRPLQUDĀXQDOQLNRPER
VĀDVRPDSUHVHJODGDQHVSUHYODGXMRĀHQDPL]QRGHOR
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
43
IZBOLJŠANA 5(61,ÿ1267
|
.RPELQDFLMDUHVQLĀQLKLQXPHWQRWYRUMHQLKSRGDWNRY
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
AMBIENTALNA INTELIGENCA
|
|
Ambientalna Inteligenca (AmI) je zgled
| vseprisotnega,
| nevsiljivega,
| preglednega in
| inteligentnega
podpornega sistema za uporabnike.
Pri ambientalni inteligenci so uporabniki
RENURçHQL]LQWHOLJHQWQLPLXSRUDEQLåNLPL
vmesniki, ki jih podpira komunikacijsko
RPUHçHQDWHKQRORJLMDYJUDMHQDYRELĀDMQH
predmete in objekte.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
44
AMBIENTALNA INTELIGENCA
|
Informacijsko-NRPXQLNDFLMVNHWHKQRORåNH,.7
NRPSRQHQWHVRVNULWHYR]DGMHSULĀHPHUVR
ljudje postavljeni v ospredje pri nadzoru
L]EROMåDQHJDRNROMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
.ORENINE AMBIENTALNE INTELIGENCE
|
|
|
|
Interne delavnice v podjetju Phillips na temo
scenarijev uporabniku bolj prijazne interakcije z
digitalnimi napravami – 1998.
D. A. Norman, “The invisible computer”, 1999.
“The AmI challenge”UD]SLV(YURSVNH.RPLVLMH
2001.
3RURĀLORHYURSVNHL]YHGHQVNHVNXSLQHIS-TAG,
“Scenarios for Ambient Intelligence in 2010”,
2001
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
45
VIZIJA AMI 2.2/-$
|
AmI RNROMHMHWHKQRORåNRL]EROMåDQRRNROMHNL
y se zaveda prisotnosti ljudi,
y
se prilagaja njihovim potrebam,
y
se inteligentno odziva na govor in geste,
y
je sposobno izvajati inteligentni dialog,
y
MHQHYVLOMLYRLQSRGSLUDVSURåĀHQRLQWHUDNFLMR
y
YNOMXĀXMHinteroperabilnost PHGUD]OLĀQLPLRNROML
(domovi, delovni prostori, vozila, javni prostori, …)
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
UPORABNA VREDNOST ZAMISLI AMI
|
Modernizacija socialnega modela
|
,]EROMåDQMHYDUQRVWLGUçDYOMDQRY
|
1RYHPRçQRVWL]DGHORXĀHQMHLQ]DEDYR
|
Podpora gradnji socialne skupnosti in skupin
|
Nove oblike zdravstvenega in socialnega varstva
|
Spoprijemanje z okoljevarstvenimi problemi
|
,]EROMåDQMHMDYQHJDVHUYLVD
|
3RGSRUDGHPRNUDWLĀQHPXSROLWLĀQHPXSURFHVX
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
46
GRADNJA SOCIALNE 6.831267, IN 6.83,1
|
AmI ODKNRL]EROMåDVRXGHOHçERSRVDPH]QLNRYY
VRFLDOQLKRPUHçMLK]Y]SRVWDYLWYLMRRNROLMNL
SRGSLUDMRUD]YRMVNXSQHJDçLYOMHQMDLQGHMDYQRVWL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ZDRAVSTVENO IN SOCIALNO VARSTVO
AmI RNROMHRPRJRĀDSRVDPH]QLNRPEROMRGJRYRUQR
in aktivno upravljanje s svojim zdravjem.
| AmI RPRJRĀDHQRVWDYQHMåHLQEROMXĀLQNRYLWR
spremljanje zdravstvenega stanja prizadetih.
| AmI RPRJRĀDXĀLQNRYLWRSRGSRURYDUVWYDUDQOMLYLK
VNXSLQNRWVRVWDUHMåLLQRWURFL
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
47
PODPORA '20$ÿ(08 2.2/-8
|
'RPDĀHAmI okolje lahko izpolni in obogati
SRVDPH]QLND]EROMIOHNVLELOQRVRXGHOHçERSULGHOX
XĀHQMX]DEDYLLQGUXçHQMX]GUXJLPLOMXGPL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
UPRAVLJANJE IN JAVNI SERVIS
|
AmI RPRJRĀDvzpostavitev ekonomskega in
socialnega MDYQHJDVHUYLVDNLMHUHVQLĀQR
XSRUDEQLåNRSULMD]HQGRYVHKXSRUDEQLNRY
kjerkoli in kadarkoli.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
48
VARNOST '5æ$9/-$129
|
AmI lahko prispeva k zanesljivi oceni rizikov ter
odkrivanju nevarnosti z daljinskimi zaznavanjem
in nadzorom.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VAROVANJE 2.2/-$
|
AmI SRQXMDQRYHPRçQRVWLSULYDURYDQMXRNROMDLQ
SUHPLNL]RELĀDMQHJDVSUHPOMDQMDVWDQMDRNROMDN
XSUDYOMDQMX]]QDQMHP]DQDSUHGQHMåRSRGSRURSUL
RGORĀDQMX
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
49
MOBILNOST IN TRANSPORT
|
AmI RNROMHODKNRSUHFHML]EROMåDYDUQRVWY
SURPHWXLQVSORåQRXĀLQNRYLWRVWWUDQVSRUWQHJD
sistema.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
RAZVOJ GLAVNIH SESTAVIN AMI
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
50
SESTAVINE ZA AMBIENT (1/4)
| Pametni
materiali, ki
nadzorovano oddajajo svetlobo,
y sRREĀXWOMLYLQDGRWLN
y imajo spomin in obdelujejo podatke,
y jih lahko vgradimo v blago ipd
y
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
SESTAVINE ZA AMBIENT (2/4)
| Mikro
elektro-mehanski sistemi in senzorji
Nizko energijski aktivatorji
y Senzorji za dotiki, zvok, vid, vonj, …
y Integratorji pametnih materialov
y
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
51
SESTAVINE ZA AMBIENT (3/4)
| Vgradni
sistemi
3ULODJRGOMLYLVLVWHPLNLWHĀHMRYVWYDUQHPĀDVX
y 0RçQRVWGLDJQRVWLNHLQSRSUDYLODQDGDOMDYR
y Poudarek na varnosti in zanesljivosti delovanja
y
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
SESTAVINE ZA AMBIENT (4/4)
| Vseprisotne
y
y
y
y
y
y
komunikacije
3LNRUDGLMVNDRPUHçMD]DR]QDĀHYDQMH
Internetna dosegljivost za vse objekte
9VHSULVRWQLåLURNRSDVRYQLGRVHJGRSRGDWNRY
9VHSULVRWQLSURVWRURĀHQJRYRUQLQDG]RU
GUDILĀQLSRUDEQLåNLYPHVQLNLQDSROMXEQLSRYUåLQL
Programska oprema, ki se prilagaja okolju
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
52
SESTAVINE ZA INTELIGENCO (1/5)
| Upravljanje
z vsebinami
Jeziki za predstavitev vsebin
y 2URGMD]DGRVWRSGRVHPDQWLĀQHJDVSOHWD
y Orodja za analizo vsebin
y Samodejno bogatenje vsebin z meta podatki
y
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
SESTAVINE ZA INTELIGENCO (2/5)
| 9HĀ-PRGDOQDQDUDYQDLQWHUDNFLMDNLYNOMXĀXMH
obrazno mimiko,
y geste,
y govor,
y umetni vid.
y
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
53
SESTAVINE ZA INTELIGENCO (3/5)
| 5DĀXQDOQLåNDLQWHOLJHQFD
Interaktivno iskanje vsebin
y Sistemi za dialog
y Vedenjsko modeliranje
y 5HåHYDQMHSUREOHPRYLQQDĀUWRYDQMH
y
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
SESTAVINE ZA INTELIGENCO (4/5)
| Zavedanje
konteksta
Navigacijski sistemi
y Sistemi za lokalizacijo in sledenje
y Samodejno iskanje podpore
y Samodejen nadzor
y
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
54
SESTAVINE ZA INTELIGENCO (5/5)
| 5DĀXQDOQLåNHHPRFLMH
Modeliranje emocionalnih stanj
y Odzivanje na emocionalna stanja uporabnikov
y ,]UDçDQMHHPRFLRQDOQLKVWDQM
y
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMERI SCENARIJEV AMI
KWWSZZZPRMPLNURVLSUH]LYHWLLQBVHYVHSULVRWQLBVOX]DEQLNBYBR]DGMX
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
55
R$=,6.29$/1( INICIATIVE
|
The Aware Home Research Initiative
http://awarehome.imtc.gatech.edu/
|
MIT Project Oxygen
http://oxygen.csail.mit.edu/
|
Philips HomeLab
http://www.research.philips.com/
|
Sony CSL Interaction Laboratory
http://www.sonycsl.co.jp/IL/
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
Z$'5æ.,
|
|
6RFLDOQLSROLWLĀQLLQNXOWXUQL]DGUçNL]DUDGLPRçQRVWL
L]JXEH]DVHEQRVWLLQNRQFHQWUDFLMHSUHYHOLNHPRĀLY
posameznih organizacijah.
0RçQRVWUD]YRMDSUHWLUDQRLQGLYLGXDOL]LUDQHLQ
fragmentirane GUXçEHYNDWHULSRVDPH]QLNLYVYRMHP
hiperrealnem VYHWXQHERGRYHĀORĀLOLPHGVWYDUQLPLQ
navideznim.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
56
VPRAŠANJA
|
|
.DNåHQPLVHOQLSUHPLNQDUHGLPRSULSUHKRGXL]
umetne inteligence v ambientalno inteligenco?
.DMUD]XPHPRSRGSRMPRP´YVHSULVRWQLL]JLQMDMRĀL
UDĀXQDOQLNµ"
|
.DNåQDMHYL]LMDAmI okolja?
|
.DNåQDMHXSRUDEQHYUHGQRVWL]DPLVOLAmI okolja?
|
.DWHUHVRJODYQHYUVWHVHVWDYLQAmI okolja?
|
.DNåQLVR]DGUçNLSULUD]YRMXAmI okolja?
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
R$=,6.29$/1( 6.83,1(
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Alcatel-Lucent Research&Innovation. Ambient Services Group
Autonomous University of Madrid - AmiLab
Carnegie Mellon University. CyLab - Ambient Intelligence Lab
Fraunhofer Institute. Ambient Assisted Living
Fraunhofer Institute. InHaus
.LQJVWRQ8QLYHUVLW\/RQGRQ$PELHQW,QWHOOLJHQFH5HVHDUFK*URXS
MAmI -- Modelling Ambient Intelligence -- UCLM, Spain
MERL. Ambient Intelligence for Better Buildings
MIT Media Lab. Ambient Intelligence group
NTT Research. Ambient Intelligence Research Group
Philips Research. Ambient Intelligence Research in ExperienceLab
University of Reading, Ambient & Pervasive Intelligence Research group
SERENITY Security & Dependability in AmI
6:$0,6DIHJXDUGVLQD:RUOGRI$PELHQW,QWHOOLJHQFH
GECAD - .QRZOHGJH(QJLQHHULQJDQG'HFLVLRQ6XSSRUW5HVHDUFKCenter
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
57
P8%/,.$&,-(
|
|
SAME Series - Semantic Ambient Media Series Workshop
STAMI Series - Space, Time and Ambient Intelligence (STAMI). International
Workshop Series.
|
UCAmI '10 - Symposium of Ubiquitous Computing and Ambient Intelligence
|
HAI'09 - International Workshop on Human Aspects in Ambient Intelligence
|
COSIT-Space-AmI-09 - Workshop on "Spatial and Temporal Reasoning for Ambient
Intelligence Systems"
|
Sensami - a congress on ambient intelligence.
|
AITAmI - Workshop on "Artificial Intelligence Techniques for Ambient Intelligence"
|
IJACI - The International Journal of Ambient Computing and Intelligence
|
JAISE - The International Journal of Ambient Intelligence and Smart Environments.
|
AISE - Book Series on Ambient Intelligence and Smart Environments.
|
I-o-T.org - Internet of Things mainly based on Ambient intelligence
|
IE'09 - Intelligent Environments Conference 2009
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
58
INTELIGENTNO REŠEVANJE PROBLEMOV
VSEBINA
|
Splošno reševanje problemov
|
Grafska predstavitev problemov
|
Primeri enostanjskih problemov
|
Reševanje problemov z iskanjem
|
Algoritmi za preiskovanje drevesa problema
|
Reševanje problemov z razgradnjo na podprobleme.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
59
SPLOŠNO REŠEVANJE PROBLEMOV
|
|
|
|
5HåHYDQMHSUREOHPRYMH]QDĀLOQRVWPQRJLKVLVWHPRYNL
temeljijo na umetni inteligenci.
9UHVQLĀQHPçLYOMHQMXMHPDORSUREOHPRYNLVR
enostavno rešljivi.
Reševanje problemov je proces tvorjenja rešitev iz
pridobljenih podatkov oziroma zaznav.
3UREOHPR]QDĀXMHPQRçLFDciljevPQRçLFDobjektov in
PQRçLFDoperacij na objektih, ki so lahko slabo definirane
in se lahko izboljšujejo tekom reševanja problema.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VRSTE PROBLEMOV
|
'HWHUPLQLVWLĀQLLQYFHORWLRSD]OMLYenostanjski problem).
y
|
Agent v celoti pozna (svoje) trenutno stanje pri reševanju problema,
rešitev je zaporedje operacij.
1HRSD]OMLYskladnostni problem).
| Agent
lahko ne ve kakšno je (njegovo) trenutno stanje pri reševanju
problema in samo predvideva posledice operacij (brez senzorjev);
UHåLWHYĀHREVWDMDMH]DSRUHGMHRSHUDFLM
|
1HGHWHUPLQLVWLĀQL LQDOLGHOQRRSD]OMLYnepredvideni
problem).
y
|
Zaznave podajajo novo informacijo o trenutnem stanju, izmenjevanje
izvajanja iskanja in izvajanja operacij, rešitev je drevo ali pravila
YRGHQMDRGORĀDQMD (politika) .
1HGHWHUPLQLVWLĀQL LQQHRSD]OMLYraziskovalni problem)
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
60
REŠEVANJE ENOSTAVNIH PROBLEMOV
|
|
|
|
(QRVWDYQLSUREOHPLVRQDYDGQRGHWHUPLQLVWLĀQLLQYFHORWQL
opazljivi enostanjski problemi.
$JHQWRYVYHWRNROMHMHSUHGVWDYOMLYRz GLVNUHWQRPQRçLFR
PRçQLKVWDQM
0RçQHDJHQWRYHDNFLMHRSHUDFLMHNLVSUHPLQMDMRQMHJRYVYHW
VRSUHGVWDYOMLYH]GLVNUHWQRPQRçLFRRSHUDWRUMHY
Agentov sYHWMHVWDWLĀHQQHVSUHPHQOMLYLQGHWHUPLQLVWLĀHQ-
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
T,3,ÿ1, PRIMERI REŠEVANJA PROBLEMOV
|
Sestavljanje izdelkov v industrijski proizvodnji.
|
Optimalna razmestitev gradnikov integriranih sistemov.
|
'RORĀLWHYQDMNUDMåHSRWLSULRELVNRYDQMXWRĀNYSURVWRUX
|
3UHXUHMDQMHSURVWRUDYQHNRNRQĀQRçHOHQRVWDQMH
|
'RORĀLWHYQL]DSRWH]NLLJURSULSHOMHGR]PDJH
|
Dokazovanje izrekov v matematiki, logiki itd.
|
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
61
UVEDBA PROSTORA PROBLEMA
|
|
|
Prostor problema je abstraktni prostor.
Prostor problema obsega vsa veljavna stanja problema, ki
MLKMHPRJRĀHWYRULWL]YVHPLPRçQLPLRSHUDWRUMLQDYVHK
NRPELQDFLMDKREMHNWRYNLGRORĀDMRSUREOHP
3URVWRUODKNRYVHEXMHHQRDOLYHĀNRQĀQLKVWDQMNL
predstavljajo rešitev problema.
|
Iskanje rešitve je iskanje v prostoru problema.
|
,VNDQMHVHL]YDMD]UD]OLĀQLPLiskalnimi strategijami.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
N$ÿ5729$1-( REŠEVANJA PROBLEMOV
|
|
|
|
1DWDQĀQDGRORĀLWHYSUREOHPD– GRORĀLWHY]DĀHWQLKYKRGQLKLQ
NRQĀQLKL]KRGQLKRNROLåĀLQNLELODKNRSUHGVWDYOMDOHPRçQH
rešitve.
Analiza problema – GRORĀLWHYnajbolj pomembnih ]QDĀLOQRVWL
problema, ki vplivajo na izbiro strategije iskanja rešitve
'RORĀLWHYLQpredstavitev celotnega znanja, potrebnega za
reševanje problema.
Izbira najboljše metode reševanja problema glede na
predhodne ugotovitve.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
62
FORMALNA DEFINICIJA PROBLEMA
|
3UREOHPGRORĀDMRRVQRYQLHOHPHQWLLQQMLKRYHUHODFLMH
|
)RUPDOQDGHILQLFLMDSUREOHPD]DKWHYDGRORĀLWHY
y
prostor stanj ]YVHPLPRçQLPLVWDQMLSUREOHPDR]LURPD
postavitvami obravnavanih objektov,
y
dRORĀLWHYHQHDOLYHĀVWDQMSUREOHPDR]LURPDSRVWDYLWHY
REMHNWRYNLSUHGVWDYOMDMRPRçQD]DĀHWQDVWDQMD,
y
dRORĀLWHYHQHDOLYHĀVWDQMSUREOHPDR]LURPDSRVWDYLWHY
REMHNWRYNLSUHGVWDYOMDMRPRçQDNRQĀQDVWDQMD oziroma
sprejemljive rešitve problema,
y
dRORĀLWHYPQRçLFHpravil NLRSLVXMHMRPRçQHoperacije v
prostoru stanj in navadno tudi ceno teh operacij.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
REŠEVANJE PROBLEMA
|
|
|
|
|
Problem nato rešujemo z uporabo pravil/operacij v skladu z
neko primerno strategijo premikanja skozi prostor stanj,
dokler ne najdemo poti RG]DĀHWQHJDGRNRQĀQHJDVWDQMD.
Temu procesu pravimo iskanje.
Iskanje je temeljna metoda reševanja problemov, ki niso
rešljivi z neko bolj preprosto neposredno metodo.
V metodo iskanja lahko vedno vgradimo preproste
neposredne metode, ki rešujejo bolj preproste podprobleme.
9HĀLQD8,SUREOHPRYMHGRORĀHQLNRWSUREOHPLLVNDQMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
63
GRAFSKA PREDSTAVITEV PROBLEMA
|
|
|
Prostor problema navadno predstavimo kot usmerjen graf,
kjer YR]OLåĀDSUHGVWDYOMDMRVWDQMH problema in povezave
predstavljajo operatorje, ki stanje problema spremenijo.
Za poenostavitev iskanja pogosto poskušamo predstaviti
prostor problema kot nivojsko drevo.
Predstavitev z drevesom poenostavi iskanje, vendar za ceno
YHĀMHJDREVHJD]DUDGLPRçQRVWLSRQRYLWYHLVWLKYR]OLåĀ
4
A
5
2
C
4
B
2
3
D
2
D
A
B
2
2
5
B
C
3
D
D
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
STRATEGIJA ISKANJA REŠITVE
|
|
|
|
Problem rešujemo s sistematskim iskanjem RG]DĀHWQHJDGR
NRQĀQHJDVWDQMDSUREOHPDYSURVWRUXVWDQM
5D]YLMDPRVSHFLILĀQHstrategije iskanja za dani problem ali
uporabimo splošne strategije iskanja, s katerimi korakoma
]PDQMåXMHPRUD]OLNRPHGWUHQXWQLPVWDQMHPLQNRQĀQLP
ciljnim stanjem problema.
Strategija iskanja MHGRORĀHQD]L]ELURYUVWQHJDUHGDSR
katerem se odpira oz. razširja YR]OLåĀDJUDIDGUHYHVD
Strategije iskanja se ovrednoti glede na njihovo popolnost,
UDĀXQVNR]DKWHYQRVW in optimalnost.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
64
PRIMER FORMULACIJE ENOSTANJSKEGA PROBLEMA
|
|
3UREOHPLVNDQMDRSWLPDOQHSRWLIRUPXOLUDPRYåWLULKWRĀNDK
y
zDĀHWQRVWDQMHQSUǷ‫݆݈ܾ݅݊ܽݑ݆ܮ ݒ‬Dz,
y
funkcija naslednik ܰ(‫)ݔ‬NLGRORĀLQDVOHGQMDVWDQMDL]SUHMåQMHJDVWDQMD
npr. ܰ Ƿ‫݆݈ܾ݅݊ܽݑ݆ܮ ݒ‬Dz = „‫݉݋ܦ ݒ‬ā݈݄ܽܽDz, „‫݄ܽ݀݋ݒ݀݁ܯ ݒ‬Dz, „‫݅ݒ݋ݎܾ݋ܦ ݒ‬Dz, … ,
y
preverjanje cilja, ki je lahko eksplicitno, npr. (x == „‫ݑ݆݈݁ܥ ݒ‬Dz) ali
implicitno, npr. ܰ݅ܵ݉݁‫)ݔ(݅ݐ‬,
y
cene sprememb stanj, npr. ceno spremembe ‫ ݔ‬v ‫ ݕ‬GRORĀDܿ(‫ݔ‬, ܽ, ‫ )ݕ‬pri
ܽ ൒ 0, ter kumulativna cena, npr. skupna razdalja v kilometrih ali
skupno število izvedenih potrebnih operacij RG]DĀHWQHJDGRNRQĀQHJD
stanja
5HåLWHYMH]DSRUHGMHDNFLM]QDMQLçMRNXPXODWLYQRFHQRNL
YRGLRG]DĀHWQHJDGRNRQĀQHJDVWDQMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMERI ENOSTANJSKIH PROBLEMOV
|
|
3UREOHPLSULNDWHULKMHUHåLWHYRSLVSRWLRG]DĀHWQHJDGR
NRQĀQHJDVWDQMD
y
problem sestavljanja izdelka,
y
problem iskanja poti po zemljevidu,
y
SUREOHPVHVWDYOMDQMDVHVWDYOMDQNHDQJOÅpuzzle“),
y
problem Hanojskega stolpa,
y
pUREOHPGYHKYUĀHY]YRGRitd.
3UREOHPLSULNDWHULKMHUHåLWHYVDPRRSLVNRQĀQHJDVWDQMD
y
SRVWDYLWHYHOHPHQWRYLQWHJULUDQDYH]MDLSG),
y
ureditev urnika,
y
postavitev osmih kraljic,
y
igra sodoku itd.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
65
PROBLEM HANOJSKEGA STOLPA
|
|
|
Za igro so potrebne tri palice, na katere natikamo diske
UD]OLĀQLKYHOLNRVWLäWHYLORdiskov je poljubno, vsi pa morajo
ELWLUD]OLĀQHJDpremera.
Igra VH]DĀQHWDNRGDVRvsi diski na prvi levi palici in
urejeni od vrha do tal v vrstnem redu od najmanjšega do
QDMYHĀMHJD.
Cilj igre je premakniti stolp diskov s prve na tretjo palico
NRQĀQLVWROS]QDMPDQMåLPPRçQLPåWHYLORPSRWH]pri
ĀHPHUXSRåWHYDPRQDVOHGQMDSUDYLOD
y
naenkrat lahko premaknemo en sam disk na katero koli drugo
palico in
y
na vrh manjšega diska ne smemo postaviti QDYHĀMLGLVN.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
FORMULACIJA PROBLEMA HANOJSKEGA STOLPA
|
|
|
Problem Hanojskega stolpa rešujemo tako, da uvedemo
prostor stanj problema, kjer vsako stanje predstavlja eno
PRçQRYHOMDYQRUD]PHVWLWHYGLVNRYpo palicah.
=DĀHWQRVWDQMH SUREOHPDSRWHPSUHGVWDYOMD]DĀHWQD
UD]PHVWLWHYVWROSQDSUYLSDOLFLLQNRQĀQRVWDQMH NRQĀQD
UD]PHVWLWHYGLVNRYVWROSQDWUHWMLSDOLFL
Prostor stanj predstavimo kot usmerjen graf, kjer YR]OLåĀD
predstavljajo stanja R]LURPDPRçQRYHOMDYQRUD]PHVWLWHY
diskov po palicah in povezave predstavljajo operatorje
R]LURPDPRçQHSUHPLNHGLVNRYYVNODGXVSUDYLOL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
66
OPERATORJI PROBLEMA HANOJSKEGA STOLPA
|
ࡼ૚૛ Premakni disk s palice ena na palico dve!
Pogoj SDOLFDGYHMHSUD]QDDOLMHSUHPHUGLVNDQDSDOLFLGYHYHĀML
kot je premer diska na palici ena.
|
ࡼ૚૜ Premakni disk s palice ena na palico tri!
Pogoj palica tri je prazna ali je premer diska na SDOLFLWULYHĀML
kot je premer diska na palici ena.
|
ࡼ૛૚ Premakni disk s palice dve na palico ena!
Pogoj palica ena je prazna ali je premer diska na palici ena YHĀML
kot je premer diska na palici dve.
|
ࡼ૛૜ …
|
…
naslednje stanje
stanje
operator
ࡼ૚૛
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PONAZORITEV PROBLEMA HANOJSKEGA STOLPA
|
|
Problema Hanojskega stolpa z dvema diskoma ima devet
PRçQLKVWDQM
3URVWRUVWDQMODKNRSRQD]RULPR]GYRVPHUQLPusmerjenim
grafom.
P12
P13
P23
P21
P31
P32
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
67
DREVESNA PONAZORITEV PROBLEMA
|
Prostor stanj lahko ponazorimo tudi z drevesom ]GRORĀHQR
globino
P12
P13
P23
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PROBLEM HANOJSKEGA STOLPA |
|
|
|
|
3RWR]QDĀHQD]UGHĀR R]QDĀXMHUHåLWHYSUREOHPD
Predstavitev z drevesom vsebuje veliko YHĀYR]OLåĀkot z
grafom.
V drevesu se isto stanje lahko SRMDYLYYHĀYR]OLåĀLK.
'UHYRMHREVHçQHMåHYHQGDURPRJRĀDQMHJRY]DSLVY
implicitni obliki.
,PSOLFLWQDREOLNDRPRJRĀDVSURWQRXVWYDUMDQMHYR]OLåĀmed
LVNDQMHPSRWLRG]DĀHWQHJDGRNRQĀQHJDVWDQMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
68
PROBLEM DVEH 95ÿ(9 Z VODO
|
|
|
1DUD]SRODJRLPDPRGYDYUĀDHGHQ]YROXPQRPtreh in
drugi z volumnom štirih litrov.
9RGRODKNRYYUĀDnatakamo s pipe, pretakamo z enega v
GUXJLYUĀDOLMR]YUĀD]DYUçHPR.
&LOMMHGRVHĀLWRĀQRGYDOLWUD vode v štirilitrskem YUĀX
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
STANJA PROBLEMA DVEH 95ÿ(9 Z VODO
|
|
6WDQMHSUREOHPDWRNUDWGRORĀDNROLĀLQDYRGHYYVDNHPYUĀX
Stanje predstavimo z dvema realnim spremenljivkama ܸଷ in
ܸସ NLR]QDĀXMHWDNROLĀLQRYRGHYHQHPLQGUXJHPYUĀX
0 ൑ ܸଷ ൑ 3 , 0 ൑ ܸସ ൑ 4
|
=DĀHWQRVWDQMH predstavljata vrednosti
ܸଷ = 0 , ܸସ = 0
|
.RQĀQRVWDQMHpa vrednost vrednost ܸଷ ni pomembna)
ܸସ = 2
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
69
OPERATORJI PROBLEMA DVEH 95ÿ(9 Z VODO
|
ࡺ૝ 1DSROQLYUĀܸସ !
Pogojܸସ < 4
|
3RVOHGLFDܸସ = 4
ࢆ૝ =OLMYVRYRGR]YUĀDܸସ po tleh!
Pogojܸସ > 0
|
Posledicaܸସ = 0
ࡼ૝૜ 3UHOLMYRGR]YUĀDܸସ YYUĀܸଷ , dokler ta ni poln!
Pogojܸଷ < 3 ‫ܸ ٿ‬ସ ൒ 3 െ ܸଷ
|
Posledicaܸଷ = 3, ܸସ = 4 െ (3 െ ܸଷ )
ࡼ૝૜ 3UHOLMYRGR]YUĀDܸଷ YYUĀܸସ , dokler ta ni poln!
Pogojܸସ < 4 ‫ܸ ٿ‬ଷ ൒ 4 െ ܸସ
|
3RVOHGLFDܸଷ = ܸଷ െ (4 െ ܸସ ), ܸସ = 4
ࡵ૜૝ ,]SUD]QLYUĀܸଷ WDNRGDJDSUHOLMHåYYUĀܸସ !
Pogojܸଷ + ܸସ < 4 ‫ܸ ٿ‬ଷ > 0
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
Posledicaܸଷ = 0, ܸସ = ܸଷ + ܸସ
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
GRAF PROBLEMA DVEH 95ÿ(9 Z VODO
ܸଷ = 0
ܸସ = 0
ࡺ૝
ࡺ૜
ܸଷ = 0
ܸସ = 4
ܸଷ = 3
ܸସ = 4
‫ڮ‬
ࡺ૜
ࡺ૝
ࡼ૝૜
ܸଷ = 3
ܸସ = 1
‫ڮ‬
ܸଷ = 3
ܸସ = 4
‫ڮ‬
‫ڮ‬
ࢆ૝
ࡵ૜૝
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
ܸଷ = 0
ܸସ = 2
ࡼ૜૝
ܸଷ = 3
ܸସ = 0
ࡺ૜
ࡵ૜૝
ܸଷ = 0
ܸସ = 3
ܸଷ = 3
ܸସ = 3
‫ڮ‬
‫ڮ‬
ܸଷ = 2
ܸସ = 4
‫ڮ‬
ܸଷ = 2
ܸସ = 0
‫ڮ‬
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
70
PROBLEM 8-MESTNE SESTAVLJANKE
Operatorji:
|
|
|
|
/(3UHPLNSORåĀLFHYOHYR
'(3UHPLNSORåĀLFHYGHVQR
*23UHPLNSORåĀLFHQDY]JRU
'23UHPLNSORåĀLFHQDY]GRO
]DĀHWQRVWDQMH
NRQĀQRVWDQMH
LE
DE
DO
LE
GO
DE
DO
GO
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
DE
LE
DO
LE
GO
DE
DO
GO
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRETVORBA USMERJENIH GRAFOV V DREVESA
|
|
0QRçLFRYVHKPRçQLKSRWLv usmerjenem grafu lahko
predstavimo kot drevo.
y
'UHYRMHXVPHUMHQJUDISULNDWHUHPLPDYVDNRYR]OLåĀHQDMYHĀHQR
SUHGKRGQRYR]OLåĀH.
y
Koren drevesa MHYR]OLåĀHNLQLPDSUHGKRGQHJDYR]OLåĀD
y
List drevesa MHYR]OLåĀHNLQLPDQDVOHGQMHJDYR]OLåĀD
y
Vejitveni faktor GUHYHVDMHSRYSUHĀQRåWHYLORQDVOHGQLNRYYR]OLåĀD
8VPHUMHQLJUDISUHWYRULPRYGUHYRVSRGYDMDQMHPYR]OLåĀLQ
SUHNLQLWYLMRNURçQLKSRWLĀHWHREVWDMDMR
4
A
5
2
C
4
B
2
3
D
2
D
A
B
2
2
5
B
C
3
D
D
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3
3 - Univer
Univerza v Ljubljani, Fakulteta za elektrotehniko
71
PRETVORBA USMERJENIH GRAFOV V DREVESA
|
3ULSUHWYRUELL]EHUHPR]DĀHWQRNRUHQVNRYR]OLåĀHLQ
VOHGLPRYVHSRWLGRNRQĀQLKYR]OLåĀOLVWRYR]LURPDYR]OLåĀ
NLVRçHRELVNDQDYSRWL
C
B
A
F
S
D
E
globina 0
S
G
D
E
A
D
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
B
D
E
G
…
globina 1
A
A
F
G
globina 2
C
globina 3
globina 4
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
REŠEVANJE PROBLEMA Z ISKANJEM
|
Problem rešujemo s preiskovanjem drevesa in s tvorjenjem
QDVOHGQLNRYçHUD]LVNDQLKYR]OLåĀWMUD]åLUMDQMHYR]OLåĀ).
function iskanje(problem, strategija) returns rešitev ali neuspeh
inicializiraj iskalno drevo ]XSRUDER]DþHWQHJDVWDQMDproblema
loop do
if iskalno drevo QHYVHEXMHYR]OLãþD]DUD]ãLUMDQMH
then return neuspeh
izberi list v iskalnem drevesu za razširitev v skladu s strategijo
if L]EUDQRYR]OLãþHSUHGVWDYOMDFLOMQRVWDQMH
then return rešitev
else UD]ãLULL]EUDQRYR]OLãþHLQGRGDMQDVOHGQLNHYiskalno drevo
end
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
72
RELACIJA MED STANJI IN 92=/,äÿ,
|
|
|
|
Stanje MHSUHGVWDYLWHYIL]LNDOQHNRQILJXUDFLMHSUREOHPD
9R]OLåĀH je podatkovna struktura ki tvori iskalno drevo in
YNOMXĀXMHLGHQWLWHWRSUHGKRGQHJDYR]OLåĀDYVHKQDVOHGQMLK
YR]OLåĀLKWHUSRGDWHNRJORELQLLQFHQLSRWL
Stanja sama po sebi nimajo predhodnikov, naslednikov,
globine in cene poti.
5D]åLULWHYYR]OLåĀDWYRULQRYDYR]OLåĀD]XVWUH]QLPLSRGDWNL
in uporablja funkcijo naslednik ܰ(‫ )ݔ‬danega problema, ki
tvori naslednje stanje iz prejšnjega stanja.
predhodnik, operacija
D
stanje
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
globina = 6
cena = 6
YR]OLåĀH
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ALGORITMI ZA PREISKOVANJE DREVESA
|
|
|
Enotne strategije iskanja temeljijo na uporabi samo tiste
informacije, ki je del definicije problema.
,VNDQMHMHODKNRL]ĀUSQRSRSROQRLQRSWLPDOQRDOL
KHYULVWLĀQRQLQXMQRSRSROQRLQRSWLPDOQR
2EVWDMDYUVWDSUHGODJDQLKVWUDWHJLMLVNDQMDNRWVR
y
y
y
y
y
y
y
Iskanje v širino;
Iskanje v globino;
Iskanje z enakomerno ceno;
Iskanje z omejeno globino;
Iskanje z iterativnim poglabljanjem;
,VNDQMH]XSRUDERKHYULVWLĀQHIXQNFLMH;
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
73
OVREDNOTENJE STRATEGIJE ISKANJA
|
|
|
|
Strategija iskanja je popolnaĀH]QMR]DJRWRYRQDMGHPR
rešitev v vseh primerih, ko ta formalno obstaja.
Strategija iskanja je optimalnaĀH]QMR]DJRWRYRQDMGHPR
UHåLWHY]QDMQLçMRPRçQRFHQRĀHWDIRUPDOQRREVWDMD
ÿDVRYQD]DKWHYQRVW MHVRUD]PHUQDåWHYLOXYR]OLåĀNLVHPHG
iskanjem tvori oziroma odpre.
Prostorska zahtevnost MHVRUD]PHUQDåWHYLOXYR]OLåĀNLVH
naenkrat hranijo v pomnilniku med iskanjem
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
R$ÿ816.$ ZAHTEVNOST ALGORITMOV
|
|
|
|
|
5DĀXQVNR]DKWHYQRVWVWUDWHJLMHLVNDQMDGRORĀDĀDVRYQD in
prostorska zahtevnost iskalnega algoritma.
7HRUHWLĀQRPHURĀDVRYQHDOLSURVWRUVNH]DKWHYQRVWLGDQHJD
algoritma, ki obdela n SRGDWNLKR]QDĀLPR]O(f(n)).
Zahtevnost O n SRPHQLGDMHĀDVRYQDDOLSURVWRUVND
]DKWHYQRVWVRUD]PHUQDNROLĀLQLYKRGQLSRGDWNRY
ÿDVt, potreben za izvedbo algoritma, je v tem primeru t ‫ ן‬n
oziroma t = ݇n, kjer je ݇ neka nenegativna konstanta.
Podobno je lahko zahtevnost algoritma O nଶ , O 2୬ ,
O log ଶ n , O n log ଶ n itd.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
74
PRIMER MERJENJA 5$ÿ816.( ZAHTEVNOSTI
Ukazi
.
min = a[0][0]
for(i=0 ; i<n ; i++)
for(j=0 ; j<n ; j++)
if(min > a[i][j])
min = a[i][j]
print min
|
|
Št. operacij
1
1 + 2n
n ‫( כ‬1 + 2n)
n‫כ‬n
<n‫כ‬n
1
Skupno število operacij je tako nekje med 3nଶ + 3n + 3 in
4nଶ + 3n + 3.
Konstant navadno ne upoštevamo in ugotovimo, da je zahtevnost
algoritma O nଶ , torej sorazmerna kvadratu dimenzije matrike.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
STRATEGIJA ISKANJA V ŠIRINO
|
|
7HPHOMLQDQDĀHOX– Å3UHLåĀLLQUD]åLULQDMEROMSOLWYRYR]OLåĀH´
Izvedba z uporabo FIFO vrste pri vodenju seznama odprtih
YR]OLåĀWMQDQRYRWYRUMHQLQDVOHGQLNLJUHGRQDNRQHFYUVWH
zaporedje
preiskovanja
globina 0
S
D
E
A
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
F
G
B
F
E
C
globina 2
B
D
G
globina 1
A
C
globina 3
globina 4
globina 5
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
75
LASTNOSTI STRATEGIJE ISKANJA V ŠIRINO
|
Naj b R]QDĀXMHQDMYHĀMLvejitveni faktor drevesa, d globino
NRQĀQHJDYR]OLåĀD]QDMQLçMRFHQRSRWLLQm QDMYHĀMRPRçQR
JORELQRSURVWRUDVWDQMWDMHODKNRWXGLλ).
|
6WUDWHJLMDMHSRSROQDĀHMHb NRQĀHQ
|
ÿDVRYQD]DKWHYQRVWDOJRULWPDMHO bୢାଵ .
|
Prostorska zahtevnost algoritma je prav tako O bୢାଵ .
|
6WUDWHJLMDMHRSWLPDOQDĀHVRFHQHYVHKRSHUDFLMHQDN
|
1DMYHĀMDSRPDQMNOMLYRVWMHSURVWRUVND]DKWHYQRVWDOJRULWPD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
STRATEGIJA ISKANJA V GLOBINO
|
|
7HPHOMLQDQDĀHOX– Å3UHLåĀLLQUD]åLULQDMJOREOMHYR]OLåĀH´
Izvedba z uporabo LIFO vrste pri vodenju seznama odprtih
YR]OLåĀWMQDQRYRWYRUMHQLQDVOHGQLNLJUHGRQD]DĀHWHNYUVWH
zaporedje
oredje
preiskovanja
iskovanja
globina 0
S
D
E
A
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
F
G
B
F
E
C
globina 2
B
D
G
globina 1
A
C
globina 3
globina 4
globina 5
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
76
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
77
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
78
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
79
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
80
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
81
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
SIMULACIJA ISKANJA V GLOBINO
|
Simulacija iskanja s ponazoritvijo preiskovanih,
UD]åLUMHQLKLQ]DSUWLKYR]OLåĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
82
LASTNOSTI STRATEGIJE ISKANJA V GLOBINO
|
Naj b R]QDĀXMHQDMYHĀMLvejitveni faktor drevesa, d globino
FLOMQHJDYR]OLåĀD]QDMQLçMRFHQRSRWLLQm QDMYHĀMRPRçQR
JORELQRSURVWRUDVWDQMWDMHODKNRWXGLλ).
|
6WUDWHJLMDMHSRSROQDĀHMHm NRQĀHQ
|
ÿDVRYQD]DKWHYQRVWDOJRULWPDMHO b୫ .
|
Prostorska zahtevnost algoritma je O bm .
|
Strategija ni optimalna niti pri cenah operacij 1 .
|
1DMYHĀMDSRPDQMNOMLYRVWMHĀDVRYQD]DKWHYQRVWSULb ‫ ب‬d.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
STRATEGIJA ISKANJA Z ENAKOMERNO CENO
|
|
|
|
|
7HPHOMLQDQDĀHOX– Å3UHLåĀLLQUD]åLULYR]OLåĀH ]QDMQLçMRFHQR
SRWL´
,]YHGED]XUHMDQMHPVH]QDPDRGSUWLKYR]OLåĀJOHGHQDFHQR
poti.
Pri konstantni ceni operacij je ta strategija ekvivalentna
strategiji iskanja v širino.
Strategija je popolna in optimalna.
3URVWRUVNDLQĀDVRYQD]DKWHYQRVWMHVRUD]PHUQDåWHYLOX
YPHVQLKYR]OLåĀs FHQRSRWLNLMHQLçMDRGFHQHQDMFHQHMåHSRWL
GRQHNHJDNRQĀQHJDYR]OLåĀD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
83
STRATEGIJA ISKANJA Z OMEJENO GLOBINO
|
|
Temelji na strategiji iskanja v globino z omejevanjem
QDMYHĀMHJORELQH iskanja.
ÿHMHQDMYHĀMDSUHLVNDQDJORELQDYHĀMDRGJORELQHNRQĀQHJD
YR]OLåĀD]QDMQLçMRFHQRpoti, l ൒ d, je ta strategija popolna.
|
ÿDVRYQD]DKWHYQRVWDOJRULWPDMHO b୪ .
|
Prostorska zahtevnost algoritma je O bl .
|
Strategija ni optimalna niti pri cenah operacij 1.
|
Slabost strategije je problem izbire primerne globine l, saj d
navadno ni vnaprej znan.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
STRATEGIJA ISKANJA S POGLABLJANJEM
|
|
Temelji na iterativnem VSUHPLQMDQMXQDMYHĀMHJORELQH l pri
strategiji iskanja z omejeno globino.
Spodaj je ponazorjeno iskanje s poglabljanjem pri l = 1.
zaporedje
oredje
preiskovanja
skovanja
globina 0
S
D
E
A
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
F
G
B
F
E
C
globina 2
B
D
G
globina 1
A
C
globina 3
globina 4
globina 5
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
84
STRATEGIJA ISKANJA S POGLABLJANJEM
|
Strategija je popolna.
|
ÿDVRYQD]DKWHYQRVWDOJRULWPDMHO bୢ .
|
Prostorska zahtevnost algoritma je O bd .
|
Strategija je optimalna pri cenah operacij 1.
|
Strategija se lahko prilagodi tudi za iskanje z enakomerno
ceno.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
STRATEGIJA ISKANJA S +(95,67,ÿ12 FUNKCIJO
|
|
|
|
|
|
|
7HPHOMLQDQDĀHOX– Å3UHLåĀLLQUD]åLULYR]OLåĀH z najboljšim
RFHQMHQLPREHWRP]DGRVHJRNRQĀQHJDVWDQMD´
Tej strategiji iskanja pravimo tudi SRçUHåQRLVNDQMH
,]YHGED]XYHGERKHYULVWLĀQHIXQNFLMH݄(n), ki za dano stanje
n SRGDMDKHYULVWLĀQRRFHQRFHQHSRWLGRQDMEOLçMHJDNRQĀQHJD
stanja, ki predstavlja rešitev problema.
Strategija ni popolna.
ÿDVRYQD]DKWHYQRVWDOJRULWPDMHO b୫ , vendar se lahko
SUHFHML]EROMåD]GREURL]EUDQRKHYULVWLĀQRIXQNFLMR
Prostorska zahtevnost algoritma je O b୫ , vendar se lahko
SUHFHML]EROMåD]GREURL]EUDQRKHYULVWLĀQRIXQNFLMR
Strategija ni optimalna niti pri cenah operacij 1.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
85
ALGORITEM ISKANJA A*
|
|
|
|
7HPHOMLQDQDĀHOX– Å3UHLåĀLLQUD]åLULYR]OLåĀH ]QDMQLçMRFHQR
çHRSUDYOMHQHSRWLLQWXGLQDMEROMåLPREHWRP]DGRVHJR
NRQĀQHJDVWDQMD´
Kombinacija cene ݃(n) çHRSUDYOMHQHSRWLGRGDQHJDVWDQMDn
WHUKHYULVWLĀQHIXQNFLMH݄(n), ki za dano stanje n podaja
RFHQRFHQHSRWLGRQDMEOLçMHJDNRQĀQHJDVWDQMD
,]YHGED]XUHMDQMHPVH]QDPDRGSUWLKYR]OLåĀJOHGHQD
skupno oceno ݂(n) = ݃ n + ݄(n) FHQHSRWLRG]DĀHWQHJDGR
NRQĀQHJDVWDQMD.
=DRSWLPDOQRVWDOJRULWPDPRUDKHYULVWLĀQDIXQNFLMD݄(n)
izpolnjevati nekaj pogojev.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
LASTNOSTI ALGORITMA A*
|
|
|
|
|
+HYULVWLĀQDIXQNFLMD݄(n) mora podajati vrednost ocene cene
SRWLRGGDQHJDGRNRQĀQHJDVWDQMDNLMHQLçMDDOLHQDND
dejanski ceni te poti, torej ݄(n) ൑ ݄‫( כ‬n), kjer je ݄‫( כ‬n) dejanska
cena.
+HYULVWLĀQDIXQNFLMD݄(n) mora biti nenegativna,
torej ݄(n) ൒ 0LQQMHQDYUHGQRVW]DNRQĀQDVWDQMDPRUDELWL
QLĀWRUHM݄ G = 0SULĀHPHUG o]QDĀXMHNRQĀQRVWDQMH
Strategija je popolna.
ÿDVRYQDin prostorska zahtevnost algoritma sta O b୫ , vendar
se lahko precej izboljšata ]GREURL]EUDQRKHYULVWLĀQRIXQNFLMR
6WUDWHJLMDMHRSWLPDOQDĀHKHYULVWLĀQDIXQNFLMD
izpolnjuje navedene pogoje.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
86
PRIMERI H(95,67,ÿ1,+ FUNKCIJ
|
|
|
|
|
3ULLVNDQMXFHVWQHSRWLQD]HPOMHYLGXMHKHYULVWLĀQDIXQNFLMD
navadno ]UDĀQDUD]GDOMDGRFLOMQHWRĀNH.
3ULSUREOHPX+DQRMVNHJDVWROSDMHKHYULVWLĀQDIXQNFLMD
obratno sorazmerna številu in premeru diskov na tretji
palici.
3ULYHĀPHVWQLVHVWDYOMDQNLMHKHYULVWLĀQDfunkcija
sorazmerna številu SORåĀLFQDQDSDĀQLORNDFLML.
Pri industrijskem sestavljanju izdelkov je KHYULVWLĀQD
funkcija VRUD]PHUQDåWHYLOXPDQMNDMRĀLKVHVWDYLQL]GHOND.
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ZGLED S PROBLEMOM HANOJSKEGA STOLPA
|
9UHGQRVWLKHYULVWLĀQLKRFHQFHQFHORWQLKSRWLRG]DĀHWQHJDGR
NRQĀQHJDVWDQMDYGUHYHVXNLSRQD]DUMDGDQLSUREOHP
݂=2
݂=3
݂=4
݂=4
݂=5
݂=4
݂=4
݂=3
݂=5
݂=5 ݂=4݂=6 ݂=6 ݂=5 ݂=5 ݂=6 ݂=5 ݂=5 ݂=6 ݂=5 ݂=4 ݂=3 ݂=5 ݂=5 ݂=6
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
87
VPRAŠANJA
|
.DMQDYDGQRR]QDĀXMHSUREOHP"
|
.DWHUHYUVWHSUREOHPRYREUDYQDYDPRQDSRGURĀMX8,6"
|
.DWHULVRWLSLĀQLSULPHULUHåHYDQMDSUREOHPRY"
|
.DNRIRUPDOQRGHILQLUDPRSUREOHP"
|
1DNDNåQHQDĀLQ]LVNDQMHPUHåXMHPRSUREOHPH"
|
Kateri so primeri enostanjskih SUREOHPRY"
|
.DNRSUHWYRULPRXVPHUMHQLJUDIYGUHYR"
|
.DWHUHVWUDWHJLMHSUHLVNRYDQMDGUHYHVDSUREOHPDSR]QDPR"
|
Kako vrednotimo VWUDWHJLMHLVNDQMD"
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
REŠEVANJE PROBLEMOV Z NJEGOVO
RAZGRADNJO NA PODPROBLEME
|
|
|
|
|
3ROHJXSRUDEHKHYULVWLĀQLKIXQNFLMSUREOHPHUHåXMHPR]
uporabo znanja o sami strukturi problema.
7HçMHSUREOHPHWDNRLQWHOLJHQWQRUHåXMHPR]QMHJRYR
UD]JUDGQMRQDODçMHSRGSUREOHPH.
3RGSUREOHPLVRYHGQRODçMHUHåOMLYLNRWFHORWQLSUREOHP
Rešitev celotnega problema tvorimo s sestavljanjem
rešitev ODçMLKSRGSUREOHPRYY QDĀUWUHåHYDQMD
Razgradnjo problema predstavimo z IN/ALI grafi oziroma
drevesi.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
88
RAZGRADNJA PROBLEMA NA PODPROBLEME 1/1
|
|
|
|
ÿHGDQSUREOHPܲ௜ ni rešljiv z eno operacijo, ga razgradimo
na podprobleme.
5D]JUDGQMRQDGDOMXMHPRWROLNRĀDVDGRNOHUQHQDOHWLPRQD
SRGSUREOHPHNLVRUHåOMLYL]HQRRSHUDFLMRWRVRosnovni
problemi).
Razgradnjo problema na podprobleme predstavimo z
grafom oz. drevesom IN/ALI.
Listi drevesa IN/ALI so vedno osnovni podproblemi, ki so
trivialno rešljivi.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
RAZGRADNJA PROBLEMA NA PODPROBLEME 2/2
|
|
|
|
|
Razgrajeni problem rešujemo tako, da najprej rešimo
osnovne probleme po nekem QDĀUWXUHåHYDQMD.
Nato rešujemo podprobleme v QDMJOREOMLKYPHVQLKYR]OLåĀLK
GUHYHVD,1$/,YVNODGX]QDĀUWRPUHåHYDQMDYVHGRNRUHQD
drevesa, ki predstavlja rešitev celotnega problema.
ÿHGUHYR,1$/,YVHEXMHOHYR]OLåĀD,1MHPRçQDle ena
rešitev problemaVLFHUMLKMHYHĀ
5HåLWHYSUREOHPDQLYHĀSRWDPSDNvsako poddrevo drevesa
IN/ALI, ki vsebuje OHYR]OLåĀD,1.
3RGSUREOHPLYR]OLåĀ,1QDMELELOLmed sabo neodvisni
QLSRPHPEHQYUVWQLUHGQMLKRYHJDUHåHYDQMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
89
V2=/,äÿ$ IN/ALI GRAFOV OZ. DREVES
ܲ
Rešitev kateregakoli podproblema
ܲଵ , ܲଶ ali ܲଷ reši problem ܲ
9R]OLåĀHALI
ܲଵ
ܲଷ
ܲଶ
ܲ
9R]OLåĀHIN
ܲଵ
Rešitev vseh podproblemov
ܲଵ , ܲଶ ali ܲଷ reši problem ܲ
ܲଷ
ܲଶ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
UVAJANJE CEN RELACIJ MED POD)PROBLEMI
A
1
3
B
1
C
1
D
E
F
6
2
…
problem
B
vmesni podproblem
H
trivialni/osnovni podproblem
G
3
H
A
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
1
2
I
…
…
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
90
A
REŠITEV JE 1$ÿ57
1
REŠEVANJA PROBLEMA
B
C
1
1
D
|
.RQĀQDUHåLWHYSUREOHPDMH
QDĀUWUHåHYDQMDNLMHYVDNR
poddrevo grafa IN/ALI,
NLYVHEXMHOHYR]OLåĀD,1LQLPD
liste s trivialnimi podproblemi
5HåLWYHDLPDFHQR
3
A
E
F
6
…
2
G
3
H
I
…
…
5HåLWYHELPDFHQR
A
1
3
B
1
1
2
C
1
D
2
E
1
F
6
G
2
H
H
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ZGLED PROBLEMA HANOJSKEGA STOLPA 1/4
A
B
|
|
|
C
D
Problem A razgradimo na tri podprobleme B, C in D.
Podproblem C je trivialen podproblema A in D pa je potrebno
ponovno razgraditi.
Podproblemi B, C in D niso neodvisni ampak se morajo
reševati po vrsti od leve proti desni.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
91
ZGLED PROBLEMA HANOJSKEGA STOLPA 2/4
|
|
'UHYRWRNUDWYVHEXMHVDPRYR]OLåĀD,1LQ]DWRFHORGUHYRçH
SUHGVWDYOMDWXGLHQVDPPRçHQQDĀUWUHåHYDQMDSUREOHPD
NDĀUWUHåHYDQMDL]YDMDPRSRGREQRNRWL]YDMDPR
preiskovanje drevesa v globino.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ZGLED PROBLEMA HANOJSKEGA STOLPA 3/4
|
3ULWHP]JOHGXVHUD]JUDGQMRYPHVQLKSRGSUREOHPRY
YHGQRL]YHGHQDWULSRGSUREOHPHNLMLKODKNRRSLåHPR
y
y
y
|
Premakni N-GLVNRYVWROSD]GDQH]DĀHWQHQDGDQR]DĀDVQR
vmesno palico.
3UHPDNQL]DGQMLQDMYHĀMLGLVN]GDQH]DĀHWQHQDGDQRNRQĀQR
SDOLFRWULYLDOQLRVQRYQLSUREOHP
Premakni N-1 diskov VWROSD]GDQH]DĀDVQHSDOLFHQDNRQĀQR
SDOLFRNMHUMHçHQDMYHĀMLGLVN
ÿHMHQDGDQL]DĀHWQLSDOLFLVDPRåHHQGLVNJDVDPRåH
SUHPDNQHPQDGDQRNRQĀQRSDOLFRWULYLDOQLSUREOHP
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
92
ZGLED PROBLEMA HANOJSKEGA STOLPA 3/4
|
Opisano razgradnjo lahko izvedemo z rekurzivnim klicem
funkcije resi, ki razgradi dani problem na tri podprobleme.
function resi (N, zacetna, vmesna, koncna)
if N = 0
return
else
resi (N-1,zacetna, koncna, vmesna)
premakni_disk (zacetna, koncna)
resi (N-1,vmesna, zacetna, koncna)
endif
end
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
N=3
zacetna
vmesna
koncna
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ISKANJE OPTIMALNEGA 1$ÿ57$
REŠEVANJA PROBLEMA 1/2
|
|
|
|
V primeru, da predstavimo razgradnjo problema na
podprobleme z grafom, ki YVHEXMHWXGLYR]OLåĀD$/,obstaja
YHĀUHåLWHYR]LURPDQDĀUWRYUHåHYDQMD
2SWLPDOQLQDĀUWLåĀHPRVVWUDWHJLMDPLLVNDQMDSRGUHYHVX
IN/ALI, ki je podobno strategijam iskanja po drevesih pri
predstavitvah reševanja s prostorom stanj problema.
,VNDQMHSULĀQHPRYNRUHQXGUHYHVDNLSUHGVWDYOMDFHORWHQ
problem in nadaljujemo do listov drevesa, ki predstavljajo
trivialne probleme.
0HGSUHLVNRYDQMHPUD]åLUMDPRYR]OLåĀDLQRELåĀHPRYVH
QMLKRYHQDVOHGQLNHSULYR]OLåĀLK,1LQYVDMHQHJD
QDVOHGQLNDSULYR]OLåĀLK$/,
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
93
ISKANJE OPTIMALNEGA 1$ÿ57$
REŠEVANJA PROBLEMA 2/2
|
'DQRYR]OLåĀHVHåWHMH]DUHåHQR
y
y
y
|
|
|
ĀHMHWRYR]OLåĀH$/,LQMHUHåHQYVDMHQQDVOHGQLNWHJDYR]OLåĀD
ĀHMHWRYR]OLåĀH,1LQVRUHåHQLYVLQDVOHGQLNLWHJDYR]OLåĀD;
ĀHMHMHYR]OLåĀHRVQRYQRLQMHUHåHQSULSLVDQWULYLDOQLSUREOHP
3ULYR]OLåĀLK$/,MHSRPHPEQDVWUDWHJLMDL]ELUHQDVOHGQLND
.RQDWDQDĀLQUHåLPRYVDRGSUWDYR]OLåĀDVPRUHåLOL
celoten problem in pridobili drevo, ki predstavlja enega od
PRçQLKQDĀUWRYUHåHYDQMD
9LVNDQMHMH]DWRSRWUHEQRYNOMXĀLWLFHQHQDSRGODJLNDWHULK
ODKNRRFHQLPRNDWHULQDĀUWMHEROMåLDOLVODEåL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ZGLED ISKANJA 1$ÿ5729 REŠEVANJA 1/2
|
Vzemimo, da je razgradnja problema predstavljena s spodaj
podanim IN/ALI drevesom.
A
1
2
B
2
6
D
2
1
E
1
F
1
J
1
G
3
I
|
C
K
H
2
L
8JRWRYLPRODKNRGDREVWDMDåWLULUHåLWYHR]QDĀUWL
reševanja celotnega problema.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
94
ZGLED ISKANJA 1$ÿ5729 REŠEVANJA 1/2
1)
2)
A
1
A
1
B
2
B
D
6
2
E
3
I
J
ƒ«”–/†”‡˜‘ z ƒŒ‹āŒ‘ ceno
3)
4)
A
2
A
2
C
1
1
F
G
1
1
H
F
1
C
1
1
G
H
2
K
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
L
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
STRATEGIJE PREISKOVANJA IN/ALI DREVES
|
|
|
|
|
6WUDWHJLMDLVNDQMDWHPHOMLQDQDĀHOX- Å3UHLåĀLLQUD]åLUL
YR]OLåĀH]QDMQLçMRRFHQMHQRVNXSQRFHQRUHåHYDQMD´
Uporabljamo algoritem AOt.j. posplošitev algoritma A*
za IN/ALI drevesa – torej, ne le ALI drevesa, kjer je rešitev
pot in ne drevo).
Vzemimo, da ݄෨ (ܲ) R]QDĀXMHKHYULVWLĀQRRFHQRGHMDQVNH
cene h(ܲ) UHåHYDQMDYR]OLåĀDSUREOHPD
V listih drevesa je ݄෨ ܲ enaka ceni reševanja predhodnega
YR]OLåĀD
3UL$/,YR]OLåĀLKMH݄෨ ܲ = min ܿ ܲ, ܲ௜ + ݄෨(ܲ௜ ) , kjer ܿ ܲ, ܲ௜
௜
R]QDĀXMHFHQRRGSLUDQMDSRGSUREOHPD
|
3UL,1YR]OLåĀLKMH݄෨ ܲ = σ௜ ܿ ܲ, ܲ௜ + ݄෨(ܲ௜ ).
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
95
ŠIRŠA UPORABA IN/ALI DREVES
|
|
|
Drevesa, ki predstavljajo prostor stanj problema lahko
obravnavamo kot drevesa VVDPLPL$/,YR]OLåĀL.
3ULGUHYHVLKVVDPLPL$/,YR]OLåĀLMHUHåLWHYSUREOHPDpot
RG]DĀHWQHJDGRNRQĀQHJDYR]OLåĀD.
Drevesa IN/ALI so posplošena drevesa in se uporabljajo pri
y
reševanju problema z razgradnjo problema na podprobleme;
y
SUHGVWDYLWYL]QDQMDVSURGXNFLMVNLPLÿ(«327(0SUDYLOL;
y
i]YDMDQMXVNOHSDQMDL]SUDYLOLQSRGDQLKGHMVWHYYHULçHQMH
SUDYLOQDSUHMDOLYHULçHQMHSUDYLOQD]DM
y
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PREDSTAVITEV PRODUKCIJSKIH PRAVIL
Z IN/ALI DREVESI
Sklep
Premisa 1
Premisa 2
Sklep
Premisa 1
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
Premisa 2
ÿ(Premisa 1 IN Premisa 2
IN Premisa 3 POTEM Sklep
Premisa 3
ÿ(Premisa 1 POTEM Sklep
ÿ(Premisa 2 POTEM Sklep
ÿ(Premisa 3 POTEM Sklep
Premisa 3
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
96
VPRAŠANJA
|
|
|
|
|
|
1DNDNåQHQDĀLQSUHGVWDYLPRUD]JUDGQMRSUREOHPDQD
SRGSUREOHPH"
.DMSUHGVWDYOMDMRYR]OLåĀDY,1$/,JUDILKR]LURPDGUHYHVLK
Kaj predstavlja rešitev problema, ki je razgrajen na
SRGSUREOHPH"
.ROLNRUHåLWHYSUREOHPDYVHEXMHGUHYRVVDPLPL,1YR]OLåĀL"
Opišite zgled razgradnje problema Honojskega stolpa na
podprobleme.
Kako z IN/ALI drevesi predstavimo produkcijska pravila.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
97
EKSPERTNI SISTEMI
VSEBINA
|
Uvod
|
Zgradba ekspertnih sistemov
|
Baza znanja
|
Mehanizem sklepanja
|
Orodja za izgradnjo ekspertnih sistemov
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
98
KAJ SO EKSPERTNI SISTEMI?
|
PRVNXåDMRSRVQHPDWLĀORYHåNHPLVHOQHSURFHVH
|
6RRVUHGRWRĀHQLQDXSRUDERstrokovnega znanja
|
Temeljijo na zamisli produkcijskih sistemov
|
9NOMXĀXMHMRbazo znanja in mehanizem sklepanja
|
Izgradnja navadno zahteva samo vnos baze znanja
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
SESTAVINE EKSPERTNIH SISTEMOV
|
|
|
|
|
Baza znanja – YVHEXMH]QDQMHVSHFLILĀQR]DGDQR
SRGURĀMHUHåHYDQMDSUREOHPRY
Baza dejstev – vsebuje dejstva, ki so ugotovljena med
reševanjem danega problema
Baza pravil – YVHEXMHRGQRVHPHGPRçQLPLGHMVWYL
Mehanizem sklepanja – program, ki aktivira znanje
YED]L]QDQMD
Uporabniški vmesnik – RPRJRĀDNRPXQLNDFLMRPHG
XSRUDEQLNRPLQHNVSHUWQLPVLVWHPRP
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
99
ZGRADBA EKSPERTNIH SISTEMOV
UPORABNIŠKI
VMESNIK
MEHANIZEM
SKLEPANJA
SISTEMSKI
VMESNIK
BAZA ZNANJA
BAZA
PRAVIL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
BAZA
DEJSTEV
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
PROBLEMI, KI JIH REŠUJEJO EKSPERTNI SISTEMI
|
|
|
|
3UREOHPLNLMLKWLSLĀQRUHåXMHMRVWURNRYQMDNLQD
RçMHPVWURNRYQHPSRGURĀMX
3RJRVWRQDSRGURĀMXPHGLFLQHVHUYLVQLKGHMDYQRVWL
VYHWRYDQMHSRGDMDQMHLQIRUPDFLMLWG
Udejanjanje inteligentnih avtonomnih agentov ali
DJHQWRYYYHĀ-agentnih VLVWHPLK
3RYVRGNMHULQWHOLJHQWQLVLVWHPYNOMXĀXMHYHOLNR
RGORĀDQMDQDRVQRYLED]H]QDQMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
100
KDAJ UPORABITI EKSPERTNE SISTEME?
|
|
|
|
|
ÿHUD]YLMDPRVLVWHP]DUHåHYDQMHSUREOHPDNLYNOMXĀXMH
veliko pogojnih vejitevRGYLVQLKRGYKRGQLKSRGDWNRY
ÿHMHVSUHMHPDQMHRGORĀLWHYodvisno od zapletenih pogojev,
NLVRYGRORĀHQLKSULPHULKPHGVDERåHVRRGYLVQL
ÿHVHODKNRSUDYLODQDNDWHULKWHPHOMLVSUHMHPDQMH
RGORĀLWHYVĀDVRPDWXGLVSUHPHQLMR
ÿHLPDPRQDPHQSRVRGDEOMDWLLQL]EROMåHYDWLGHORYDQMH
sistema VĀLPPDQMSRVHJRYYL]YRUQRSURJUDPVNRNRGR
ÿHQDURĀQLNQH]DKWHYDUHåLWYHNLMHYFHORWLSULODJRMHQD
SUDYQMLKRYLPSRWUHEDP
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
PREDNOSTI EKSPERTNIH SISTEMOV
|
|
|
|
Nizki stroški razvoja sistema za reševanje danih
SUREOHPRY
Vso ]QDQMHVLVWHPDMH]DSLVDQRYED]L]QDQMD
0RçQRVWUD]XPOMLYHUD]ODJHVSUHMHWLKRGORĀLWHYWXGL]D
XSRUDEQLNDNLQLUDĀXQDOQLåNLVWURNRYQMDN
8SRUDEDHQDNHJDVLVWHPD]DUD]OLĀQHSUREOHPH
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
101
OMEJITVE EKSPERTNIH SISTEMOV
|
5H]XOWDWLVRSRSROQRPDRGYLVQLRGWRĀQRVWL]QDQMD
|
7HçDYQRYQDåDQMHED]H]QDQMD
|
1HSR]QDMRRPHMLWHYGDQHJDSRGURĀMDXSRUDEH
|
1LPDMRVSRVREQRVWLXĀHQMDL]L]NXåHQM]XSRUDEQLNL
|
1HXSRUDEQLSULQHSULĀDNRYDQLKUD]PHUDKGHORYDQMD
|
2PHMHQLQDPDQMREVHçQHED]H]QDQMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
OSEBE, VPLETENE V DELOVANJE EKSPERTNI SISTEMA
UPORABNIŠKI
VMESNIK
Uporabnik
MEHANIZEM
SKLEPANJA
BAZA ZNANJA
Strokovnjak
,QçHQLU
znanja
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
BAZA
PRAVIL
Ustvarjalci
sistema
BAZA
DEJSTEV
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
102
BAZA ZNANJA EKSPERTNEGA SISTEMA
|
|
Baza znanja predstavlja formalno opisane zamisli, ki
RPRJRĀDMRPHKDQL]PXVNOHSDQMDL]SHOMDYRUHåLWYH]DGDQL
SUREOHP
9HĀLQRPDMH]QDQMHRSLVDQRVSURGXNFLMVNLPVLVWHPRPNL
YNOMXĀXMHPQRçLFRL]MDYÿ(327(0
ÿ(VLODĀHQ POTEM çHOLåMHVWL
ĀHREVWDMDGHMVWYRGDVLODĀHQ, se to prilega premisi
„si ODĀHQ“; pogoj je izpolnjen, zato se izpelje sklep „çHOLåMHVWL´)
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
DIALOG MED ,1æ(1,5 ZNANJA IN STROKOVNJAKOM
BAZA ZNANJA
BAZA
PRAVIL
Strokovnjak
|
|
|
BAZA
DEJSTEV
,QçHQLU]QDQMD
,QçHQLU]QDQMDPRUDY]SRVWDYLWLGLDORJVVWURNRYQMDNRP
L]EUDQHJDSRGURĀMDXSRUDEH
V izbranem formalnem UDĀXQDOQLåNHPGHNODUDWLYQHP
MH]LNXYQDåD]QDQMHQHSRVUHGQRYED]R]QDQMD
Strokovnjak ovrednoti delovanje sistema in daje pripombe
LQçHQLUMX]QDQMDNLED]R]QDQMHGRSROQMXMH
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
103
PREDSTAVITEV ZNANJA V EKSPERTNIH SISTEMIH
|
|
|
|
8VWUH]QDSUHGVWDYLWHY]QDQMDMHNOMXĀQD]DXVSHK
HNVSHUWQHJDVLVWHPD
(NVSHUWQLVLVWHPLYHĀLQRPDWHPHOMLMRQDSUHGVWDYLWYL
]QDQMDNLWHPHOMLQDORJLĀQHPVNOHSDQMX
Formalni študij znanja se izvaja v okviru HSLVWHPRORJLMH,
NLVHXEDGD]QDUDYRVWUXNWXURLQL]YRURP]QDQMD
Epistemologija je filozofska disciplina, ki raziskuje izvore,
PRçQRVWLPHMHREMHNWLYQRYUHGQRVWLQSUHGPHW
spoznanja
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
EPISTEMOLOGIJA/GNOSEOLOGIJA
Izjave/Trditve
Resnice
|
Znanje
3UHSULĀDQMD
Epistemologija obravnava prostor izjav/trditev, resnic,
SUHSULĀDQMLQ]QDQMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
104
VRSTE ZNANJA - APRIORNO ZNANJE
|
Izraz izvira iz latinske besede „kar SUHGKRGL´
|
-HQHRGYLVQRRGNRQNUHWQLKL]NXVWHYLQ]D]QDY
|
-HXQLYHU]DOQRUHVQLĀQR
|
1HPRUHELWL]DYUQMHQREUH]NRQWUDGLNFLMH
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
APOSTERIORNO (SPO)ZNANJE
|
Izraz izvira iz latinske besede „NDUVOHGL´
|
-HL]SHOMDQRL]NRQNUHWQLKL]NXVWHYLQ]D]QDY
|
1LYHGQR]DXSDQMDYUHGQR
|
-HODKNR]DYUQMHQRQDSRGODJLQRYLK]D]QDY
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
105
PROCEDURALNO, DEKLARATIVNO IN NEMO ZNANJE
|
|
|
Proceduralno znanje je znanje, kako se nekaj naredi
QSUQDPHåĀDQMHUDĀXQDOQLåNHJDSURJUDPD
Deklarativno znanje je vedenje o tem ali je nekaj
UHVQLĀQRDOLQLQSU]JRGLODVHMHSURPHWQDQHVUHĀD
,PSOLFLWQR]QDQMHVRYHåĀLQHNLVHQHGDMRL]UD]LWL]
MH]LNRPQSU]QDQMHNDNRSUHPDNQLWLQRJR
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
META-ZNANJE IN PIRAMIDA ZNANJA
|
|
=QDQMHR]QDQMX
6SRPRĀMRPHWD-znanja bi lahko ekspertni sistem
L]ELUDO]QDQMHNLMHQDMEROMSULPHUQR]DGDQRSRGURĀMH
XSRUDEH
Modrost
M t
j
Meta-znanje
Znanje
Informacija
Podatki
Šum
Šum
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
106
PREDSTAVITEV ZNANJA
|
5D]ĀOHQMHYDOQDGUHYHVD
|
/RJLĀQDSUDYLOD
|
6HPDQWLĀQDSRPHQVNDRPUHçMD
|
.RQFHSWQLJUDIL
|
Programske skripte
|
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
PREDSTAVITEV ZNANJE, KI TEMELJI NA PRAVILIH
|
|
|
Znanje je predstavljeno s pravili, ki se aktivirajo z
GHMVWYLDOLGUXJLPLSUDYLOL
Aktivirana pravila lahko postanejo dejstva, ki
DNWLYLUDMRGUXJDSUDYLOD
5H]XOWDWVRDNWLYDFLMHSUDYLONLGRORĀDMRPRçHQNRQĀQL
FLOMYHULçQHJDVNOHSDQMDL]SUDYLO
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
107
PRODUKCIJSKI SISTEM
|
MEHANIZEM
SKLEPANJA
Baza pravil je opisana z izjavami:
BAZA
PRAVIL
ÿ(SUHPLVD POTEM VNOHS
|
|
|
BAZA
DEJSTEV
BAZA ZNANJA
Te izjave imenuje SURGXNFLMVNDSUDYLOD
Baza dejstev je seznam dejstev, ki potrjujejo pravilnost
SUHPLVLQGHMVWHYNLL]KDMDMRL]VNOHSRYL]MDY
Mehanizem sklepanja MHSRVWRSHNNLGRORĀDL]ELURSUDYLOLQ
L]YDMDQMDVNOHSRYJOHGHQDVWDQMHFHORWQHED]H]QDQMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
PREDSTAVITEV PRODUKCIJSKIH PRAVIL
|
3RQD]RULWHYSUDYLO],1$/,GUHYHVL
Sklep
Premisa 1
Premisa 2
Sklep
Premisa 1
Premisa 2
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
ÿ(3UHPLVD IN 3UHPLVD
IN 3UHPLVD POTEM 6NOHS
Premisa 3
ÿ(3UHPLVD POTEM 6NOHS
ÿ(3UHPLVD POTEM 6NOHS
ÿ(3UHPLVD POTEM 6NOHS
Premisa 3
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
108
MEHANIZEM SKLEPANJA
|
Izbira pravil za izvajanje sklepov se opravi na podlagi ene
L]PHGGYHKWHPHOMQLKVWUDWHJLM
y
9HULçHQMHSUDYLOQDSUHMDQJOIRUZDUGFKDLQLQJ
y
9HULçHQMHSUDYLOQD]DMDQJOEDFNZDUGFKDLQLQJ)
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
V(5,æ(1-( PRAVIL NAPREJ
|
|
|
Iskanje pravil, ki morejo potrditi pravilnost premis z
GHMVWYLL]ED]HGHMVWHY
Takšno pravilo izvedemo in sklep vpišemo kot novo
GHMVWYRYED]RGHMVWHY
Iskanje in izvajanje pravil poteka tako dolgo
y
GRNOHUQHNVNOHSQLR]QDĀHQNRWçHOHQLFLOML]YDMDQMD
oziroma,
y
NRL]GHMVWHYYED]LGHMVWHYQHPRUHPRL]YHVWLYHĀ
QREHQHJDVNOHSD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
109
PONAZORITEV 9(5,æ(1-$ PRAVIL NAPREJ
BAZA
DEJSTEV
BAZA
PRAVIL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
V(5,æ(1-( PRAVIL NAZAJ
|
|
|
,VNDQMHSUDYLONLLPDMRVNOHSR]QDĀHQNRWçHOHQLFLOM
L]YDMDQMD
=DWDNåQDSUDYLODVHQDWRSUHYHULĀHSRGDQDGHMVWYD
SRWUMXMHMRUHVQLĀQRVWQMLKRYLKSUHPLV
ÿHWDNåQLKGHMVWHYQLSUHYHULPRDOLODKNRSUHPLVHSRWUGLPR
z izpeljevanjem iz drugih podanih pravil glede na podana
GHMVWYD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
110
PONAZORITEV 9(5,æ(1-$ PRAVIL NAZAJ
BAZA
PRAVIL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
BAZA
DEJSTEV
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
RAZLIKE MED OBEMA STRATEGIJAMA
|
9HULçHQMHQDSUHMMHVWUDWHJLMD]LVNDQMHPYåLULQR
|
9HULçHQMHQD]DMMHVWUDWHJLMD]LVNDQMHPYJORELQR
9HULçHQMHSUDYLOQDSUHM
9HULçHQMHSUDYLOQD]DM
•Iskanje iz sedanjosti v prihodnost
•Iskanje iz sedanjosti v preteklost
•Iskanje iz prednikov v naslednike
•Iskanje iz naslednikov v prednike
•1DĀUWRYDQMHLQQDG]RUVLVWHPRY
•Diagnostika sistemov
•9KRGQLSRGDWNLGRORĀDMRLVNDQMH
•æHOHQLVNOHSLGRORĀDMRLVNDQMH
•Iskanje sklepov, ki sledijo iz dejstev
•Iskanje dejstev, ki podpirajo sklepe
•5D]ODJDYHULJHVNOHSDQMDQLPRçQD
•5D]ODJDYHULJHVNOHSDQMDMHPRçQD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
111
KOMUNIKACIJA Z UPORABNIKOM
UPORABNIŠKI
VMESNIK
Dejstva
Vprašanja
Kako/Zakaj?
Rezultati
ME
MEHANIZEM
M
EHA
SKLEPANJA
BAZA
PRAVIL
BAZA
DEJSTEV
BAZA ZNANJA
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
2014
$YWRUVNHSUDYLFHSULGUçDQH‹
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
UPOŠTEVANJE NEZANESLJIVOSTI PODATKOV
|
|
8SRåWHYDQMHQHJRWRYRVWLSULQDYDMDQMXGHMVWHY
Uporaba verjetnostnih teorij, ki upoštevajo negotovost
(Bayes, Shannon, …)
|
8YDMDQMHVWRSQMHJRWRYRVWLVNOHSRY
|
8SRUDEDQHL]UD]LWLKDQJOIX]]\SUDYLO
|
Minimizacija števila pravil glede na njihov prispevek
NçHOHQLPFLOMHPL]YDMDQMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
112
KOMBINIRANJE
|
|
STOPENJ GOTOVOSTI
3ULYHULçHQMXSUDYLOMHSRWUHEQRYSUHPLVDKNRPELQLUDWL
YHĀYUHGQRVWLVWRSHQMJRWRYRVWLNLL]KDMDMRL]QHJRWRYLK
GHMVWHYDOLçHL]SHOMDQLKVNOHSRY
Pri stopnjah gotovosti med 0 in 100 se dve vrednosti
NRPELQLUDWYQMXQPLQLPXPPDNVLPXPSRYSUHĀMH
SURGXNWYHUMHWQRVWQRYVRWRLSG
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMER KOMBINIRANJA STOPENJ GOTOVOSTI
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
113
LUPINE EKSPERTNIH SISTEMOV
|
|
|
2EVWDMDYHĀSURJUDPVNLKRJURGLMLQOXSLQ]DUD]YRM
HNVSHUWQLKVLVWHPRY
9VHEXMHMRçHYVRSURJUDPVNRDUKLWHNWXURDVREUH]
YJUDMHQHJD]QDQMD
Primeri odprtokodnih lupin so deli programskih
ogrodij CLIPS in FuzzyClips
KWWSFOLSVUXOHVVRXUFHIRUJHQHW
KWWSHQZLNLSHGLDRUJZLNL)X]]\&/,36
|
Primer lupine za razvoj spletnih ekspertnih sistemov je
WXGLH;SHUWLVH*2
KWWSZZZH[SHUWLVHJRFRP
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMER BAZE ZNANJA EXPERTNEGA SISTEMA
|
KWWSZZZH[SHUWLVHJRFRP
RULE [Choosing a full bodied aperitif]
If [this wine] = "to be consumed before a meal (aperitif)" and
[the preferred body] = "full"
Then [a recommended generic wine type] = "dry sherry"
RULE [Choosing a sparkling aperitif]
If [this wine] = "to be consumed before a meal (aperitif)" and
[a sparkling wine is preferred] = true and
[the preferred body] : "medium" "light"
Then [a recommended generic wine type] = "champagne or sparkling white"
RULE [Is this wine for a red meat entree?]
If [this wine] = "to accompany an entree" and
[the entree] : "roast beef" "steak"
Then [a recommended generic wine type] = "red burgundy" and
[the entree category] = "red meat"
RULE [Is this wine for a white/light meat entree?]
If [this wine] = "to accompany an entree" and
[the entree] : "pork" "veal" "chicken" "turkey"
Then [the entree category] = "white/light meat"
RULE [Is the wine for Italian meat & cheese dish?]
If [this wine] = "to accompany an entree" and
[the entree] = "an Italian meat and cheese dish"
Then [a recommended generic wine type] = "chianti"
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
114
PRIMER BAZE ZNANJA EXPERTNEGA SISTEMA
|
KWWSZZZH[SHUWLVHJRFRP
…
PROMPT [a sparkling wine is preferred] YesNo
"Do you prefer a sparkline wine?:"
PROMPT [the preferred taste] MultChoice CF
"Which taste do you prefer in a wine?"
"sweet"
"medium dry"
"dry"
PROMPT [the preferred body] MultChoice CF
"Which body do you prefer in a wine?"
"light"
"medium"
"full"
PROMPT [the preferred wine color] MultChoice CF
"Which color of wine do you prefer?"
"red"
"white"
MAXVALS [a recommended generic wine type] 2
MAXVALS [a suggested varietal wine] 2
GOAL [a recommended generic wine type]
GOAL [a suggested varietal wine]
MINCF 80
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMER EXPERTNEGA SISTEMA
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
115
VPRAŠANJA
|
Kaj so ekspertni sistemi?
|
Katere so osnovne sestavine ekspertnih sistemov?
|
Kaj so prednosti in omejitve ekspertnih sistemov?
|
2SLåLWHSURGXNFLMVNLVLVWHP
|
2SLåLWHYHULçHQMHSUDYLOQDSUHMLQQD]DM
|
Kako opišemo negotovost podatkov?
|
3RGDMWHSULPHUHHNVSHUWQLKOXSLQ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
116
PREDSTAVITEV ZNANJA
POVZETEK
|
Kako predstaviti znanje
|
Razvoj znanja od podatkov do modrosti.
|
Implicitno in eksplicitno znanje
|
Proceduralno in deklarativno znanje
|
Obrazci za predstavitev znanja
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
117
KAKO PREDSTAVITI ZNANJE?
|
|
Znanje je nek splošen, lahko tudi slabo definiran pojem.
Znanje podaja odgovor na vprašanje „kako se nekaj
naredi“ in/ali „kaj MHDOLQLUHVQLĀQR“
|
Npr., vedeti, „kako se vozi avto“ je proceduralno znanje.
|
Npr., vedeti, „da zunaj sije sonce“, je deklarativno znanje.
|
=QDQMHGRORĀDQHNRVSRVREQRVWL]PRçQRVWLVLVWHPD
|
3UHGVWDYLWHY]QDQMDMHQDĀLQNDNRMH]QDQMHYVLVWHPX
]DSLVDQRVKUDQMHQRR]LURPDSUHGVWDYOMHQRĀORYHNX
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
N$ÿ,1, PREDSTAVITVE ZNANJA
|
|
5D]OLĀQR]QDQMH]DKWHYDUD]OLĀQHQDĀLQHSUHGVWDYLWYH
znanja.
2EVWDMDYHĀQDĀLQRYSUHGVWDYLWYH]QDQMDNRWVR
y
y
y
y
y
y
|
predstavitve znanja s pravili,
predstavitev znanja ]XSRUDERVHPDQWLĀQLKRPUHçLM,
predstavitev znanja ]PDWHPDWLĀQRORJLNR,
predstavitev znanja z uporabo okvirjev,
predstavitev znanja s programskimi skripti,
…
9VDNDSUHGVWDYLWHY]QDQMDODKNR]DKWHYDUD]OLĀHQQDĀLQ
sklepanja iz podanih dejstev.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
118
RAZVOJ ZNANJA OD PODATKOV DO MODROSTI
|
|
|
|
5D]YRM]QDQMDVHSULĀQHVpodatki, ki imajo omejeno
uporabnost.
Z urejanjem in analizo (vzpostavljanje relacij) podatki
oblikujejo informacijo.
7ROPDĀHQMHLQRYUHGQRWHQMHLQIRUPDFLMHSULYHGHGRznanja.
5D]XPHYDQMHRVQRYQLKQDĀHONLVRYJUDMHQDY]QDQMHYRGL
v meta znanje ali modrost (znanje o znanju).
podatki
urejanje
analiza
iinformacija
WROPDĀHQMH
vrednotenje
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
zznanje
razumevanje
QDĀHO
modrost
m
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMER RAZVOJA ZNANJA
|
|
|
|
Podatki so neka nepovezana
dejstva.
|
Informacija se pojavi z
razumevanjem in povezovanjem
dejstev. Podaja odgovore na
vprašanja, „kdo“, „kaj“, „kje“ in
„kdaj“.
|
Znanje se pojavi, ko se ugotovi in
razume relacije med vzorci.
Podaja odgovore na vprašanje,
„kako“.
|
Modrost je vrh razumevanja, ki
UD]NULYDQDĀHODNLRSLVXMHMR
vzorcev. Podaja odgovore na
vprašanje, „zakaj“.
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
1DSULPHU'HçXMH.
1DSULPHUTemperatura se je
]QLçDOD]DVWRSLQMLQSRWHPMH
SULĀHORGHçHYDWL
1DSULPHUÿHMHYODçQRVW]UDND
visoka in se temperatura znatno
]QLçDVHY]UDNXNRQGHQ]LUDMR
NDSOMLFHYRGH]DWRSULĀQHGHçHYDWL
1DSULPHU Obstajajo medsebojni
YSOLYLPHGYODçQRVWMRKODSHQMHP
]UDĀQLPLWRNRYLLQVSUHPHPEDPL
temperature.
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
119
MODEL ZNANJA
|
|
|
|
|
6WRSQMDSRYH]DQRVWLLQVWHPUD]XPHYDQMDVHSRYHĀXMHSUL
napredovanju od podatkov, preko informacije in znanja do
modrosti.
/RĀQLFDPHGSRGDWNLLQIRUPDFLMR]QDQMHPLQPRGURVWMRQL
ostra ampak pogosto zabrisana.
Podatki in informacija se nanašajo na neko bolj ali manj
oddaljeno preteklost.
Znanje se nanaša na sedanjost LQRPRJRĀDVLVWHPXGHORYDWL
v okolju.
Modrost se nanaša na prihodnost LQRPRJRĀD
QDSRYHGRYDQMHSULKRGQMLKGRJRGNRYLQRNROLåĀLQ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
EKSPLICITNO, TIHO IN IMPLICITNO ZNANJE
|
,PSOLFLWQRDOLWLKR]QDQMHVHWHçNRIRUPDOQRL]UD]LRSLåH
|
Eksplicitno znanje se da formalno izraziti/opisati.
Implicitno znanje
|
2EVWDMDYĀORYHNXMHYQMHP
W M
ĀO
N M
M
„utelešeno“.
Eksplicitno znanje
|
|
*DMHWHçNRIRUPDOQRRSLVDWL
|
|
*DMHWHçNRGHOLWL]GUXJLPL
|
|
*DMHWHçNRXNUDVWL
|
Pridobljeno z izkušnjami in
delovanjem in je subjektivno.
|
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
2EVWDMDL]YHQĀORYHNDMH
W M L
ĀO
N M
vgrajeno.
Se ga da formalno opisati.
Se lahko deli, kopira, obdeluje
in hrani.
Enostavno ga je ukrasti oz
kopirati.
Pridobljeno iz okolja in
predmetov, kot neka splošna
QDĀHODSRVWRSNLNRQFHSWL
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
120
PREGLED TIPOLOGIJA ZNANJA 1/2
principi
procedure
delovanje
procesi
izkušnje
iimplicitno
znanje
eksplicitno
znanje
koncepti
subjektivni
vpogled
informacija
dejstva
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
kontekst
podatki
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PREGLED TIPOLOGIJA ZNANJA 2/2
|
|
|
|
|
Dejstva so nekaj, kar v resnici obstaja ali se je zgodilo.
Dejstva lahko predstavimo kot podatke.
Koncepti so razredi stvari, besed ali idej, ki so
predstavljena s skupnim imenom in si delijo skupne
]QDĀLOQRVWL
Proces je tok dogodkov, ki opisuje, kako nekaj poteka.
Procedura MH]DSRUHGMHGHORYDQMLQRGORĀLWHYNLYRGLMRN
izpolnitvi naloge in razlaga kako se nekaj naredi.
Princip so navodila, pravila in parametri, ki vodijo samo
GHORYDQMHLQRPRJRĀDMRQDSRYHGRYDQMHGRJRGNRYLQ
L]SHOMDYRPRçQLKSRVOHGLF
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
121
PRECEDURALNO IN DEKLARATIVNO ZNANJE
|
Proceduralno znanje je znanje o tem, kako se nekaj naredi.
|
Deklarativno znanje je znanje o tem, NDMMHDOLQLUHVQLĀQR.
|
|
|
Proceduralno znanje je lahko implicitno oz. tiho (npr.
VPXĀDQMHDOLNXKDQMHSRÅREĀXWNX´DOLHNVSOLFLWQRQSU
kuharski recept).
3URFHGXUDOQR]QDQMHVHYĀDVLKUD]XPHNRWGHNODUDWLYQR
(deklarativni opis metod, ki je podoben opisu nekih dejstev).
Deklarativno znanje je navadno eksplicitno in se ga da
formalno predstaviti oz. opisati.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMERI PROCEDURALNEGA ZNANJA
|
|
|
|
|
'DELGRORĀLODOLMH-RçHVWDUHMåLNRW0LKDQDMSUHMXJRWRYL
njuno starost in nato primerjaj njuna leta.
'DERDYWRVSHOMDOJDMHSRWUHEQRQDMSUHMSULçJDWL
.UXKVSHĀHåWDNRGDWHVWRL]PRNHL]SRVWDYLåYLVRNL
temperaturi vsaj za pol ure.
…
=DSHNRNUXKDSRWUHEXMHåSHĀLFR
(nekaj med proceduralnim in deklarativnim znanjem)
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
122
PRIMERI DEKLARATIVNEGA ZNANJA
|
=XQDMGHçXMH
|
$YWRLPDåWLULNROHVD
|
-RçHMHVWDUHMåLRG0LKD
|
(QDNRNUDNLWULNRWQLNLPDGYHVWUDQLFLHQDNRGROJL
|
3HVMHçLYDO
|
-DQH]VHSHOMHY.UDQM
|
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
RELACIJE MED VRSTAMI ZNANJA
|
|
|
|
Deklarativno znanje je povezano z opisovanjem stanja
VWYDULR]RSLVRYDQMHPUHVQLĀQRVWLRNROMD
'HNODUDWLYQR]QDQMHMHQDYDGQRYHGQRHNVSOLFLWQRL]UDçHQR.
Proceduralno znanje je povezano z delovanjem oz.
opisovanjem delovanja in navadno izhaja iz tihega znanja.
Proceduralno znanje se pogosto razvije iz deklarativnega
QSUQDMSUHMYHPRGDSRWUHEXMHPRSHĀLFRGDVSHĀHPR
NUXKåHOHQDWRYHPRGDPRUDPRNUXKYORçLWLYSHĀLFRGD
VHNUXKVSHĀH
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
123
R$ÿ81$/1,ä.$ PREDSTAVITEV ZNANJA 1/2
|
|
|
5DĀXQDOQLNL]DKWHYDMRGREURGHILQLUDQSUREOHPGDJD
obdelajo in tvorijo dobro definirano rešitev problema.
Predstavitev znanja temelji na naravnem jeziku,
UDĀXQDOQLNXSDVHSUHGVWDYLYQHNHPIRUPDOQHPMH]LNX
5DĀXQDOQLåNRUHåHYDQMHSUREOHPRY]DKWHYD
y
y
formalno predstavitev znanja
pretvorbo neformalnega znanja v formalno znanje, to je
pretvorbo implicitnega znanja v eksplicitno znanje.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
R$ÿ81$/1,ä.$ PREDSTAVITEV ZNANJA 2/2
|
|
|
|
|
3ULUD]YRMXUDĀXQDOQLåWYDVHMHUD]YLORYHĀREOLNIRUPDOQLK
predstavitev znanja.
Pretvorba neformalnega v formalno znanje pa je v glavnem
SUHSXåĀHQDL]NXåQMDPUD]YLMDOFHPWRYUVWQLKVLVWHPRY
Za formalno predstavitev znanja moramo znati dejstva
preslikati v simbole in tudi simbole nazaj v dejstva.
1DUDYQLMH]LNDQJOHåĀLQDVORYHQåĀLQD«MHzaenkrat še
prezahteven za simbolno predstavitev znanja, ki bi jo lahko
XSRUDEOMDOUDĀXQDOQLN
=DWRVHSRVOXçXMHPRUD]OLĀQLKREOLNSRHQRVWDYOMHQLK
formalnih predstavitev znanja.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
124
ZGLED PREDSTAVITVE IN UPORABE ZNANJA
Dejstva
Predstavitev
|
Floki je pes.
|
|
pes(ƍFlokiƍ)
|
|
‫ ׊‬pes(X) ՜ ima(X,ƍUHSƍ)
|
|
Dejstvo jje predstavljeno
d t lj
v
QDUDYQHPMH]LNXVORYHQåĀLQL
Simbolna predstavitve dejstva
YMH]LNXPDWHPDWLĀQHORJLNH
/RJLĀQDSUHGVWDYLWHYGHMVWYD
„Vsi psi imajo rep.“
0HKDQL]HPGHGXNWLYQHJDORJLĀQHJDVNOHSDQMDL]SHOMHQRYR
simbolno predstavljeno dejstvo.
|
ima(ƍFlokiƍƍUHSƍ)
|
|
Floki ima rep.
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
6LPEROQDSUHGVWDYLWHYORJLĀQR
izpeljanega dejstva.
Predstavitev novega dejstva v
QDUDYQHPMH]LNXVORYHQåĀLQL).
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
OBRAZCI ZA PREDSTAVITEV ZNANJA
|
9QDUDYQHPMH]LNXL]UDçHQRGHMVWYR
„-DQH]VHSHOMHY.UDQM.“
ODKNR]DSLåHPRYUDĀXQDOQLåNLSRGDWNRYQLPHGLMNRW
navaden niz znakov/simbolov.
|
9WHPSULPHUXUDĀXQDOQLåNLSURJUDPNLRPRJRĀDLVNDQMH
podatkov v podatkovni zbirki, ne more podati odgovor na
vprašanje
„Kdo se pelje v Kranj?“
|
Zapis podanega dejstva je potrebno obogatiti z dodatno
LQIRUPDFLMRNLERRPRJRĀLODRGJRYRUHQDWDNåQD
vprašanja.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
125
ZGLED OBRAZCA ZA PREDSTAVITEV ZNANJA 1/2
|
Simbolno predstavitev dejstva je potrebo razširiti z uvedbo
GRGDWQLKSRPHQVNLKVHPDQWLĀQLKR]QDN
Pomenska
kategorija
Pomen
$NFLMD Ԣpeljati seԢ
1RVLOHFDNFLMH Ԣƒ‡œԢ
,]KRGLåĀH Ԣ? Ԣ
&LOM Ԣ”ƒŒԢ
ÿDV Ԣ•‡†ƒŒ‹Ԣ
6UHGVWYR Ԣ? Ԣ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ZGLED OBRAZCA ZA PREDSTAVITEV ZNANJA 2/2
|
8SRUDEDPHKDQL]PDVNOHSDQMDLQGUXJHJDREVWRMHĀHJD
]QDQMDRPRJRĀDGRGDWQRUD]åLULWHY]DSLVD
Pomenska
kategorija
Pomen
Dodatna
pomenska oznaka
$NFLMD Ԣpeljati seԢ (pomenski tipi)
Ԣ‰‹„ƒŒ‡Ԣ
1RVLOHFDNFLMH Ԣƒ‡œԢ
(pomenski tipi)
Ԣ«Ž‘˜‡Ԣ
,]KRGLåĀH Ԣ? Ԣ
(privzet pomen)
Ԣƒ‡œ‘˜ †‘Ԣ
(pomenski tipi)
Ԣ‡•–‘Ԣ,
Ԣ‡•–‘ ƒ ‘”‡Œ•‡Ԣ
&LOM Ԣ”ƒŒԢ
ÿDV Ԣ•‡†ƒŒ‹Ԣ (pomenski tipi)
6UHGVWYR Ԣ? Ԣ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
(privzet pomen)
Ԣ‰Žƒ‰‘Ž•‹ «ƒ•Ԣ
Ԣƒ˜–‘‘„‹ŽԢ
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
126
OBRAZCI ZA PREDSTAVITEV ZNANJA
|
/RJLĀQHL]MDYHÿ(«327(0
|
2SLVQLMH]LNPDWHPDWLĀQHORJLNH
|
3RPHQVNDVHPDQWLĀQDRPUHçMD
|
(Neizrazita) Petrijeva RPUHçMD
|
Okvirji, tj. objekti, ki so opisani z svojo zgradbo in
vedenjem.
|
5DĀXQDOQLåNHSURJUDPVNHskripte.
|
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ZGLED 6(0$17,ÿ1(*$ 205(æ-$
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
127
ZGLED PETRIJEVEGA 205(æ-$
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ZGLED 6(0$17,ÿ1,+ OKVIRJEV
|
3RGURĀMHWLNRJQLWLYQHOLQJYLVWLNH
GRGDMDQMHVHPDQWLĀQLKRNYLUMHYWM]QDQMDEHVHGDPYL]MDYL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
128
V35$ä$1-$
|
|
|
|
|
Kako poskušamo predstaviti znanje?
Opišite napredovanje znanja od podatkov do
modrosti.
Kakšna je razlika med implicitnim in eksplicitnim
znanjem?
Kakšna je razlika med proceduralnim in
deklarativnim znanjem?
Katere obrazce za predstavitev znanja poznamo.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹3 - Univerza v Ljubljani, Fakulteta za elektrotehniko
129
Najnujnejˇ
se o Petrijevih omreˇ
zjih
c
Avtorske pravice pridrˇ
zane 2013
- Univerza v Ljubljani, Fakulteta za elektrotehniko
Vsebina
Definicija Petrijevega omreˇ
zja.
Izvajanje Petrijevega omreˇ
zja
Metode za analizo Petrijevih omreˇ
zij
Stroji stanja
Vpraˇ
sanja
130
Petrijeva omreˇ
zja (pravimo jim tudi P/T omreˇ
zja po angleˇ
skem izrazu
place/transition) so posploˇ
sen matematiˇ
cni formalizem, ki se uporablja za
opis in predstavitev soˇ
casnih procesov, ki se pojavljajo pri porazdeljenih
(distribuiranih) sistemih.
Grafiˇ
cno predstavitev tega matematiˇ
cnega formalizma je izumil Carl Adam
Petri, ki ga je pri starosti 13 let prviˇ
c uporabil za predstavitev kemiˇ
cnih
procesov, kot je ta na spodnji sliki.
Ta omreˇ
zja so se izkazala kot zelo uspeˇ
sno grafiˇ
cno in matematiˇ
cno orodje
za modeliranje avtomatiziranih proizvodnih sistemov, komunikacijskih protokolov, z znanjem podprtih sistemov itd.
Slika 1: Primer Petrijevega omreˇ
zja, ki opisuje kemiˇ
cni proces.
Petrijevo omreˇ
zje je dvostranski usmerjeni graf, ki sestoji iz dveh vrst
vozliˇ
sˇ
c: mest in prehodov. Grafiˇ
cno mesta predstavimo s krogi, prehode
pa s ˇ
crticami. Odnosi med mesti in prehodi so ponazorjeni z usmerjenimi
povezavami.
Definicija 1 Petrijevo omreˇ
zje je petorka P N = (P, T, I, O, μ), kjer je:
cna mnoˇ
zica mest,
P = {p1, p2, ..., pm} konˇ
T = {t1, t2, ..., tn} konˇ
cna mnoˇ
zica prehodov, P ∩ T = ∅,
I:
T → P ∞ vhodna funkcija – preslikava iz mnoˇ
zice prehodov v vreˇ
co mest,
O:
T → P ∞ izhodna funkcija – preslikava iz mnoˇ
zice prehodov v vreˇ
co
mest,
μ:
P → IN funkcija oznaˇ
citve – preslikava iz mnoˇ
zice mest v mnoˇ
zico
nenegativnih celih ˇ
stevil.
131
Izraz vreˇ
ca pomeni mnoˇ
zico, v kateri so elementi lahko veˇ
ckrat navedeni.
ˇ e pi ∈ I(tj ), potem obstaja usmerjena povezava, ki povezuje mesto pi s
C
prehodom tj , in se mesto pi imenuje vhodno mesto prehoda tj .
Podobno, ˇ
ce pk ∈ O(tj ), potem obstaja usmerjena povezava, ki povezuje
prehod tj z mestom pk , in se mesto pk imenuje izhodno mesto prehoda tj .
Slika 2 ponazarja osnovno Petrijevo omreˇ
zje z enim prehodom, ki ima eno
vhodno ter eno izhodno mesto.
pi
tj
pk
Slika 2: Osnovno Petrijevo omreˇ
zje.
Po definiciji 1 sme neko mesto biti veˇ
ckratno vhodno oziroma izhodno
mesto nekega prehoda, kar grafiˇ
cno ponazorimo z veˇ
ckratnimi usmerjenimi
povezavami.
cujemo veˇ
ckratnost vhodnega mesta pi prehoda tj , to je
S (pi , I(tj )) oznaˇ
ci vhodnih mest prehoda tj .
ˇ
stevilo pojavljanj mesta pi v vreˇ
Podobno je definirana tudi oznaka (pk , O(tj )), ki pomeni veˇ
ckratnost izhostevilo pojavljanj mesta pk v vreˇ
ci izhodnih
dnega mesta pk prehoda tj , to je ˇ
mest prehoda tj .
132
Zgled 1
t1
t2
p2
p1
t3
t4
p3
Slika 3: Primer Petrijevega omreˇ
zja.
Petrijevo omreˇ
zje na sliki 3 je definirano s:
P = {p1, p2, p3}
T = {t1, t2, t3, t4}
I(t1) = {p1}
I(t2) = {p1, p1}
I(t3) = {p1, p1, p1}
I(t4) = {p1, p3}
O(t1 ) = {p1}
O(t2 ) = {p2}
O(t3 ) = {p3, p3}
O(t4 ) = {p2}
133
Posebna vrsta Petrijevih omreˇ
zij so stroji stanja (angl. state machine). Stroj
stanja je Petrijevo omreˇ
zje, v kateri ima vsak prehod natanko eno vhodno
mesto in natanko eno izhodno mesto.
Definicija 2 Stroj stanja je petorka SM = (P, T, I, O, μ), kjer so:
cna mnoˇ
zica mest,
P = {p1, p2, ..., pm} konˇ
T = {t1, t2, ..., tn} konˇ
cna mnoˇ
zica prehodov, P ∩ T = ∅,
I:
T → P vhodna funkcija – preslikava iz mnoˇ
zice prehodov v mnoˇ
zico
mest,
O:
T → P izhodna funkcija – preslikava iz mnoˇ
zice prehodov v mnoˇ
zico
mest,
μ:
P → IN funkcija oznaˇ
citve – preslikava iz mnoˇ
zice mest v mnoˇ
zico
nenegativnih celih ˇ
stevil.
Zgled 2
t1
t2
p2
p1
t3
t4
p3
Slika 4: Primer Petrijevega stroja stanj.
134
Petrijev stroj stanj na sliki 4 je definiran s:
P = {p1, p2, p3}
T = {t1, t2, t3, t4}
I(t1) = {p1}
I(t2) = {p1}
I(t3) = {p1}
I(t4) = {p3}
O(t1) = {p1}
O(t2) = {p2}
O(t3) = {p3}
O(t4) = {p2}
Vhodno in izhodno funkcijo I in O je moˇ
zno modificirati, tako da mestom
prirejata njihove vhodne in izhodne prehode:
I:
zice mest v
P → T ∞ modificirana vhodna funkcija – preslikava iz mnoˇ
vreˇ
co prehodov,
zice mest v
O:
P → T ∞ modificirana izhodna funkcija – preslikava iz mnoˇ
vreˇ
co prehodov.
Potem velja:
(tj , I(pk )) = (pk , O(tj ))
(tj , O(pi )) = (pi , I(tj )).
ce je pk izhodno mesto prehoda tj , in
Prehod tj je vhodni prehod mesta pk , ˇ
ce je pi vhodno mesto prehoda tj .
prehod tj je izhodni prehod mesta pi, ˇ
135
Zgled 3 Za Petrijevo omreˇ
zje na sliki 3 veljata modificirani vhodna in izhodna funkcija:
O(p1) = {t1, t2, t2, t3, t3, t3, t4}
I(p1) = {t1}
I(p2) = {t2, t4} O(p2) = ∅
I(p3) = {t3, t3} O(p3) = {t4}
Definicija 3 Dualno omreˇ
zje Petrijevega omreˇ
zja P N = (P, T, I, O, μ) je
Petrijevo omreˇ
zje P N = (T, P, I, O, μ), ki ga dobimo z medsebojno zamenjavo
mest in prehodov.
Graf dualnega Petrijevega omreˇ
zja ima v primerjavi z izvirnim grafom
Petrijevega omreˇ
zja zamenjane kroge in ˇ
crtice, medtem ko struktura grafa
ostane nespremenjena.
136
Definicija 4 Inverzno omreˇ
zje Petrijevega omreˇ
zja P N = (P, T, I, O, μ) je Petrijevo omreˇ
zje −P N = (P, T, O, I, μ), ki ga dobimo z medsebojno zamenjavo
vhodne in izhodne funkcije.
Graf inverznega Petrijevega omreˇ
zja ima v primerjavi z izvirnim grafom
Petrijevega omreˇ
zja zamenjane smeri vseh povezav, medtem ko struktura
grafa ostane nespremenjena.
Vsakemu mestu Petrijevega omreˇ
zja moremo pridruˇ
ziti ˇ
zeton, ki ga v grafu
Petrijevega omreˇ
zja ponazorimo s piko v mestu. Razporeditev ˇ
zetonov v
mestih Petrijevega omreˇ
zja je doloˇ
cena z oznaˇ
citvijo omreˇ
zja.
Definicija 5 Oznaˇ
citev Petrijevega omreˇ
zja μ je funkcija, ki vsakemu mestu
Petrijevega omreˇ
zja priredi neko nenegativno celo ˇ
stevilo:
μ:
P → IN.
Oznaˇ
citev Petrijevega omreˇ
zja z m mesti predstavimo z vektorjem oznaˇ
citve
μ
(dim μ
= m × 1):
μ
= (μ(p1), μ(p2), ..., μ(pm))T .
Komponente vektorja oznaˇ
citve (oznaˇ
cimo jih kot μ(pi )) so nenegativna cela
ˇ
stevila in pomenijo ˇ
stevilo ˇ
zetonov v pripadajoˇ
cih mestih.
137
ˇ etoni dajejo Petrijevemu omreˇ
ˇ tevilo in razporediZ
zju dinamiˇ
cne lastnosti. S
tev ˇ
zetonov se lahko spreminja med izvajanjem Petrijevega omreˇ
zja. Petrici
jevo omreˇ
zje se izvaja s proˇ
zenjem prehodov. Proˇ
zenje prehoda tj povzroˇ
prenos ˇ
zetonov iz vseh vhodnih mest tega prehoda v izhodna mesta prehoda
zja doloˇ
cata dve pravili:
tj . Izvajanje Petrijevega omreˇ
• pravilo omogoˇ
cenosti in
• pravilo proˇ
zenja.
Definicija 6 (Pravilo omogoˇ
cenosti (angl. enabling rule))
cen, ˇ
ce ima vsako njegovo vhodno mesto najmanj toliko
Prehod tj je omogoˇ
ˇ
zetonov, kolikor je povezav iz vhodnega mesta k prehodu tj :
μ(pi) ≥ (pi , I(tj ))
za ∀pi ∈ P.
138
Definicija 7 (Pravilo proˇ
zenja (angl. firing rule))
zi le, ˇ
ce je omogoˇ
cen. Proˇ
zenje prehoda spremeni razporediPrehod tj se proˇ
tev ˇ
zetonov v mestih Petrijevega omreˇ
zja, zato se spremeni vektor oznaˇ
citve
μ
:
μ(pi) = μ(pi) − (pi , I(tj )) + (pi , O(tj ))
za ∀pi ∈ P,
kjer je μ(pi) komponenta vektorja nove oznaˇ
citve Petrijevega omreˇ
zja μ
.
Zgled 4 Vektor oznaˇ
citve za Petrijevo omreˇ
zje s slike 5 je:
μ
= (μ(p1) = 3, μ(p2) = 0, μ(p3) = 0)T .
Omogoˇ
ceni prehodi so t1, t2 in t3.
oznaˇ
citve:
Proˇ
zenje prehoda t2 spremeni vektor
μ
= (μ(p1) = 1, μ(p2) = 1, μ(p3) = 0)T .
t1
t2
p2
p1
t3
t4
p3
Slika 5: Oznaˇ
ceno Petrijevo omreˇ
zje.
139
Novo razporeditev ˇ
zetonov v Petrijevem omreˇ
zju ponazarja slika 6.
t1
t2
p2
p1
t3
t4
p3
Slika 6: Posledica proˇ
zenja prehoda t2.
V vsakem trenutku razporeditev ˇ
zetonov v mestih Petrijevega omreˇ
zja doloˇ
ca
njeno stanje. Sprememba stanja Petrijevega omreˇ
zja je posledica proˇ
zenja
nekega omogoˇ
cenega prehoda in je definirana s funkcijo naslednjega stanja.
Definicija 8 Funkcija naslednjega stanja Petrijevega omreˇ
zja δ :
INm ×T →
citev μ
in prehod tj ∈ T je definirana natanko tedaj, ko za vsako
INm za oznaˇ
cenosti:
mesto pi ∈ P velja pravilo omogoˇ
μ(pi ) ≥ (pi , I(tj )).
Potem je:
,
δ(
μ, tj ) = μ
kjer je μ
nova oznaˇ
citev Petrijevega omreˇ
zja. Komponente vektorja nove
oznaˇ
citve Petrijevega omreˇ
zja so:
μ(pi ) = μ(pi) − (pi , I(tj )) + (pi , O(tj )).
140
Pravimo, da je oznaˇ
citev μ
dosegljiva iz oznaˇ
citve μ
, ˇ
ce obstaja zaporedje
prehodov, ki s svojimi proˇ
zenji postopoma privedejo oznaˇ
citev omreˇ
zja μ
zica D(P N ) Petrijevega omreˇ
zja za
do oznaˇ
citve μ
. Dosegljivostna mnoˇ
oznaˇ
citev μ
, je mnoˇ
zica vseh oznaˇ
citev omreˇ
zja, ki so dosegljiva iz oznaˇ
citve
μ
.
Definicija 9 Dosegljivostna mnoˇ
zica D(P N ) Petrijevega omreˇ
zja za oznaˇ
citev
μ
, je najmanjˇ
sa mnoˇ
zica oznaˇ
citev definirana z:
1. μ
∈ D(P N ) in
= δ(
μ, tj ) za nek tj ∈ T ⇒ μ
∈ D(P N ).
2. μ
∈ D(P N ) in μ
Metode za analizo Petrijevih omreˇ
zij
Med mnogimi metodami za analizo Petrijevih omreˇ
zij sta dve temeljni:
• invariantna metoda in
• metoda dosegljivostnih dreves.
141
Invariantna metoda (angl. invariant method) temelji na opisu dinamiˇ
cnih
lastnosti Petrijevih omreˇ
zjih z matriˇ
cnimi enaˇ
cbami.
Za Petrijevo omreˇ
zje brez lastnih zank (lastna zanka nastane, kadar je neko
mesto omreˇ
zja vhodno in hkrati izhodno mesto istega prehoda) z m mesti
in n prehodi definiramo incidenˇ
cno matriko:
A = [aij ]
(dim A = n × m).
Elementi incidenˇ
cne matrike so:
−
aij = a+
ij − aij ,
kjer sta:
stevilo povezav, ki povezujejo prehod ti z njegovim izhodnim mestom pj ,
a+
ij ˇ
(pj ∈ O(ti )) in
a−
stevilo povezav, ki povezujejo prehod ti z njegovim vhodnim mestom pj ,
ij ˇ
(pj ∈ I(ti )).
Petrijevo omreˇ
zje z lastnimi zankami pa je moˇ
zno preoblikovati v omreˇ
zje
brez lastnih zank, tako da v omreˇ
zje dodamo eno mesto in en prehod ter
primerno poveˇ
zemo.
stevilo
Ko se proˇ
zi prehod ti , ˇ
stevilo
na izhodno mesto pj , ˇ
vhodnega mesta pj .
a+
stevilo ˇ
zetonov, ki se bodo prenesli
ij pomeni ˇ
a−
stevilo ˇ
zetonov, ki se bodo odstranili iz
ij pa ˇ
ˇ tevilo aij potem pomeni spremembo v ˇ
S
stevilu ˇ
zetonov v mestu pj , ko se
zi enkrat.
prehod ti proˇ
Pravimo, da je pri trenutni oznaˇ
citvi Petrijevega omreˇ
zja μ
prehod ti
omogoˇ
cen, ˇ
ce velja:
a−
ij ≤ μ(pj )
za j = 1, 2, ..., m.
142
Dinamiˇ
cne lastnosti Petrijevega omreˇ
zja, to je spremembo v razporeditvi
ˇ
zetonov, ki je posledica proˇ
zenja prehoda, opisuje matriˇ
cna enaˇ
cba stanja:
k−1 + AT ek ,
μ
k = μ
kjer sta:
citve (dim μ
k = m × 1), neposredno dosegljive iz oznaˇ
citve
μ
k vektor oznaˇ
zenju prehoda ti in
μk−1 po proˇ
ek vektor proˇ
zenja (dim ek = n × 1), ki ima vse svoje komponente enake 0,
le i-ta komponenta ima vrednost 1 (ta je v povezavi s prehodom ti , ki se
proˇ
zi).
Incidenˇ
cna matrika je primerna za raˇ
cunanje omogoˇ
cenih prehodov in novih
oznaˇ
citev Petrijevega omreˇ
zja po proˇ
zenju izbranega prehoda.
Zgled 5 Petrijevo omreˇ
zje z lastnimi zankami iz slike 5 preoblikujemo v
omreˇ
zje brez lastnih zank
t1
t2
p2
p1
p4
t5
t3
t4
p3
Slika 7: Petrijevo omreˇ
zje brez lastnih zank
143
Incidenˇ
cna matrika podanega omreˇ
zja je
⎡
−1
⎢
⎢ −2
⎢
A = [aij ] = ⎢
⎢ −3
⎢
⎢ −1
⎣
1
0
1
0
1
0
0
0
2
−1
0
⎤
1
⎥
0 ⎥
⎥
⎥
0 ⎥
⎥
0 ⎥
⎦
−1
pri ˇ
cemer je
⎡
0
⎢
⎢0
⎢
⎢
+
[aij ] = ⎢ 0
⎢
⎢0
⎣
1
0
1
0
1
0
0
0
2
0
0
⎤
1
⎥
0⎥
⎥
⎥
0⎥
⎥
0⎥
⎦
0
⎡
1
⎢
⎢2
⎢
⎢
−
[aij ] = ⎢ 3
⎢
⎢1
⎣
0
0
0
0
0
0
0
0
0
1
0
⎤
0
⎥
0⎥
⎥
⎥
0⎥.
⎥
0⎥
⎦
1
Vektor oznaˇ
citve za Petrijevo omreˇ
zje s slike 7 je:
μ
= (μ(p1) = 3, μ(p2) = 0, μ(p3) = 0, μ(p3) = 0)T .
Omogoˇ
ceni prehodi so t1, t2 in t3 (prve tri vrstice matrike [a−
c
ij ] so namreˇ
po vseh komponentah manjˇ
se ali enake komponentam vektorja oznaˇ
citve
= (3, 0, 0, 0)T
μ
0 = μ
Proˇ
zenje prehoda t2 nam v skladu z enaˇ
cbo
μ
k = μ
k−1 + AT ek ,
kjer je izbor omogoˇ
cenega prehoda podan v vektorju
ek = (0, 1, 0, 0, 0)T ,
spremeni vektor oznaˇ
citve v:
μ
1 = (μ(p1) = 1, μ(p2) = 1, μ(p3) = 0, μ(p3) = 0)T .
144
Metoda dosegljivostnih dreves (angl. method based on the reachability
tree) temelji na doloˇ
canju vseh moˇ
znih oznaˇ
citev Petrijevega omreˇ
zja, ki so
dosegljive iz zaˇ
cetne oznaˇ
citve μ
0.
ˇ e zaˇ
C
cnemo z zaˇ
cetno oznaˇ
citvijo omreˇ
zja μ
0, potem lahko pridobimo toliko
novih oznaˇ
citev omreˇ
zja, kolikor je omogoˇ
cenih prehodov, ki se proˇ
zijo.
Dosegljivostno drevo zgradimo, ˇ
ce proˇ
zimo vse omogoˇ
cene prehode v vseh
moˇ
znih oznaˇ
citvah omreˇ
zja, ki so dosegljive iz zaˇ
cetne oznaˇ
citve μ
0.
Vsako vozliˇ
sˇ
ce drevesa predstavlja oznaˇ
citev omreˇ
zja generirano iz zaˇ
cetne
oznaˇ
citve μ
0 v korenu drevesa.
Veje drevesa so oznaˇ
cene s prehodom, katerega proˇ
zenje transformira eno
oznaˇ
citev omreˇ
zja v novo.
Dosegljivostno drevo lahko postane neskonˇ
cno veliko iz dveh razlogov: ˇ
ce
se neka oznaˇ
citev omreˇ
zja ponavlja ali ˇ
ce Petrijevo omreˇ
zje ni omejeno.
Petrijevo omreˇ
zje je neomejeno, kadar ˇ
stevilo ˇ
zetonov v njegovih mestih
lahko naraste preko vseh meja.
Da bi bilo dosegljivostno drevo uporabno sredstvo za analizo Petrijevih
omreˇ
zij, mora ostati konˇ
cno veliko.
Pri gradnji dosegljivostnega drevesa zato odstranimo ponavljajoˇ
ce se oznaˇ
citve.
ˇ e na poti od zaˇ
C
cetne oznaˇ
citve μ
0 do oznaˇ
citve μ
obstaja oznaˇ
citev μ
,
ki je identiˇ
cna oznaˇ
citvi μ
, potem vozliˇ
sˇ
ce drevesa, ki pripada oznaˇ
citvi μ
,
oznaˇ
cimo kot vozliˇ
sˇ
ce dvojnik in se v njegovi smeri gradnja drevesa zakljuˇ
ci.
145
Z namenom, da bi tudi v primeru neomejenih Petrijevih omreˇ
zij ohranili
konˇ
cno velikost dosegljivostnega drevesa, vpeljemo znak ω za neskonˇ
cno
ˇ
stevilo ˇ
zetonov.
ˇ e na poti od zaˇ
citve μ
obstaja oznaˇ
citev μ
,
C
cetne oznaˇ
citve μ
0 do oznaˇ
katere komponente so manjˇ
se ali enake istoleˇ
znim komponentam oznaˇ
citve
μ
, potem z znakom ω nadomestimo tiste komponente oznaˇ
citve μ
, ki so
strogo veˇ
cje od istoleˇ
znih komponent oznaˇ
citve μ
.
Listi dosegljivostnega drevesa so dveh vrst:
• konˇ
cna vozliˇ
sˇ
ca (angl. terminal nodes) so vozliˇ
sˇ
ca, ki pripadajo takˇ
snim
oznaˇ
citvam omreˇ
zja, v katerih ni noben prehod omogoˇ
cen,
• vozliˇ
sˇ
ca dvojniki (angl. duplicate nodes) so vozliˇ
sˇ
ca, ki predstavljajo
oznaˇ
citve omreˇ
zja, ki so se v drevesu ˇ
ze pojavile.
Dosegljivostno drevo Petrijevega omreˇ
zja z zaˇ
cetno oznaˇ
citvijo μ
0 zgradimo
z naslednjim algoritmom (T. Murata, 1989) :
Murata T.: Petri Nets: Properties, Analysis and Applications, Proc. IEEE, Vol. 77, No. 4, 541-580, 1989.
Postopek
1. korak Generiraj korensko vozliˇ
sˇ
ce dosegljivostnega drevesa, ga oznaˇ
ci z
zaˇ
cetno oznaˇ
citvijo μ
0 in poimenuj z imenom novi.
2. korak Dokler obstaja ˇ
se kakˇ
sno vozliˇ
sˇ
ce z imenom novi, ponavljaj:
2.1. Izberi vozliˇ
sˇ
ce drevesa, ki je poimenovano z imenom novi in ima
oznaˇ
citev μ
;
ˇ e je oznaˇ
2.2. C
citev μ
identiˇ
cna kakˇ
sni oznaˇ
citvi na poti od korenskega
vozliˇ
sˇ
ca do vozliˇ
sˇ
ca z oznaˇ
citvijo μ
, potem to vozliˇ
sˇ
ce poimenuj z
imenom dvojnik in skoˇ
ci na korak 2.1.
ˇ e je oznaˇ
2.3. C
citev μ
takˇ
sna, da noben prehod Petrijevega omreˇ
zja
ni omogoˇ
cen, potem to vozliˇ
sˇ
ce poimenuj z imenom konˇ
cno in skoˇ
ci
na korak 2.1.
146
2.4. Dokler obstaja ˇ
se kakˇ
sen omogoˇ
cen prehod t Petrijevega omreˇ
zja
pri oznaˇ
citvi μ
, ponavljaj:
2.4.1. Doloˇ
ci novo oznaˇ
citev omreˇ
zja μ
s proˇ
zenjem prehoda t.
ˇ e na poti od korenskega vozliˇ
2.4.2. C
sˇ
ca do vozliˇ
sˇ
ca z oznaˇ
citvijo
obstaja vozliˇ
sˇ
ce z oznaˇ
citvijo μ, tako da je μ(pi) ≥ μ(pi ) za
μ
= μ, potem nadomesti μ(p ) z ω za vse p , za katere
∀p ∈ P in μ
i
i
velja μ(pi) > μ(pi ).
i
sˇ
ce drevesa,
2.4.3. Za novo oznaˇ
citev drevesa μ
generiraj novo vozliˇ
ga poveˇ
zi z vozliˇ
sˇ
cem, ki je oznaˇ
ceno s μ
, in ga poimenuj z oznako
novi, povezavi pa pridruˇ
zi ime omogoˇ
cenega prehoda t, katerega
proˇ
zenje je pretvorilo oznaˇ
citev μ
v oznaˇ
citev μ
.
2.4.4. Skoˇ
ci na korak 2.4.1.
2.5. Skoˇ
ci na korak 2.1.
Konec postopka.
Zgled 6 Dosegljivostno drevo Petrijevega omreˇ
zja s slike 8 pri zaˇ
cetni
oznaˇ
citvi μ
0 = (1, 0, 1, 0) je prikazano na sliki 9.
p4
t2
p2
t3
p3
t1
p1
Slika 8: Petrijevo omreˇ
zje.
147
m0=(1,0,1,0)
t3
m1=(1,0,0,1)
t2
m2=(1,w,1,0)
t1
t3
m3=(1,w,0,0)
m4=(1,w,0,1)
konèni
t2
m5=(1,w,1,0)=m2
dvojnik
Slika 9: Dosegljivostno drevo.
Opomba: Vektor oznaˇ
citve μ
2 = (1, 1, 1, 0) se zaradi izpolnjevanja pogoja v
2 = (1, ω, 1, 0).
koraku 2.4.2. glede na vektor μ
0 = (1, 0, 1, 0) spremeni v μ
Metoda dosegljivostnih dreves pokaˇ
ze vrsto lastnosti Petrijevih omreˇ
zij:
• Petrijevo omreˇ
zje je omejeno natanko tedaj, ˇ
ce oznaˇ
citev v nobenem
vozliˇ
sˇ
cu dosegljivostnega drevesa ne vsebuje znaka ω.
• Petrijevo omreˇ
zje je varno natanko tedaj, ˇ
ce so v vseh vozliˇ
sˇ
cih dosegljivostnega drevesa komponente vektorjev oznaˇ
citev le 0 in 1.
• Nek prehod v Petrijevem omreˇ
zju je mrtev, ˇ
ce se nikjer ne pojavi kot
oznaka veje dosegljivostnega drevesa.
ˇ e je oznaˇ
•C
citev μ
dosegljiva iz zaˇ
cetne oznaˇ
citve μ
0, potem obstaja
≤μ
.
vozliˇ
sˇ
ce dosegljivostnega drevesa z oznaˇ
citvijo μ
, tako da je μ
148
Gradnja in preiskovanje dosegljivostnega drevesa poteka po pristopu najprej
vˇ
sirino, kar pomeni, da drevo nastaja po nivojih.
Rast drevesa se zakljuˇ
ci v njegovih listih, ki so poimenovani kot konˇ
cno
oziroma dvojnik.
Na (i + 1)-vem nivoju drevesa so vozliˇ
sˇ
ca z oznaˇ
citvami, ki so neposredno
generirane s proˇ
zenjem vseh omogoˇ
cenih prehodov iz vozliˇ
sˇ
c na i-tem nivoju,
ki so bila poimenovana z oznako novi.
Velikost dosegljivostnega drevesa, to je ˇ
stevilo vozliˇ
sˇ
c in nivojev, je odvisna
od velikosti Petrijevega omreˇ
zja in od njegove zaˇ
cetne oznaˇ
citve.
Stroji stanja kot posebna vrsta Petrijevih omreˇ
zij, v katerih ima vsak prehod
natanko eno vhodno in izhodno mesto, imajo dosegljivostno drevo, v katerem
se nikoli ne pojavi znak ω.
Stroj stanja je torej omejeno Petrijevo omreˇ
zje, kar pomeni, da v njem ˇ
stevilo
ˇ
zetonov ostane omejeno.
Poleg tega je stroj stanja tudi ohranljivo Petrijevo omreˇ
zje, kar pa pomeni,
da v njem ˇ
stevilo ˇ
zetonov ostaja celo konstantno.
149
Viri
N. Paveˇ
si´
c, Razpoznavanje vzorcev: uvod v analizo in razumevanje vidnih
in sluˇ
snih signalov, 3. popravljena in dopolnjena izd., 2 zv., (Dodatek C)
Zaloˇ
zba FE in FRI, 2012.
Murata T.: Petri Nets: Properties, Analysis and Applications, Proc. IEEE,
Vol. 77, No. 4, 541-580, 1989.
Peterson J.L.: Petri Net Theory and the Modeling of Systems, Prentice-Hall,
Inc., Englewood Cliffs, 1981.
Parkelj Mojca: Z znanjem podprt sistem umetnega vida, magistrska naloga,
3. poglavje, FE Ljubljana, 1996.
Vpraˇ
sanja
Podajte osnovno definicijo Petrijevega omreˇ
zja.
Kaj opisujemo oz. predstavljamo s Petrijevimi omreˇ
zji?
Kakˇ
sne vrste Petrijevo omreˇ
zje je stroj stanj?
Kako poteka izvajanje Petrijevega omreˇ
zja?
Kateri dve pravili doloˇ
cata izvajanje Petrijevega omreˇ
zja?
Na ˇ
cem temelji invariantna metoda analize Petrijevega omreˇ
zja?
Na ˇ
cem temelji metoda dosegljivostnih dreves?
150
Obrazec za prikaz znanja,
ki temelji na teoriji Petrijevih omreˇ
zij
c
Avtorske pravice pridrane 2013
- Univerza v Ljubljani, Fakulteta za elektrotehniko
Vsebina
Obrazec za prikaz znanja KRP.
Osnovne operacije v obrazcu za prikaz znanja KRP
Hierarhiˇ
cne lastnosti obrazca za predstavitev znanja KRP
Postopki sklepanja v obrazcu za predstavitev znanja KRP
Vpraˇ
sanja
151
Obrazec za prikaz znanja, ki temelji na teoriji Petrijevih omreˇ
zij, krajˇ
se obrazec KRP (angl. Knowledge Representation Scheme Based on Petri Net
Theory) omogoˇ
ca prikaz deklarativnega znanja o objektih, njihovih lastnostih in medsebojnih odnosih, pa tudi proceduralnega znanja, to je opisov
postopkov za reˇ
sevanje problemov. Oblikujemo ga tako, da posameznim
elementom Petrijevega omreˇ
zja dodamo pomen:
• mestom Petrijevega omreˇ
zja pridruˇ
zimo pojme, ki se nanaˇ
sajo na objekte
ali dejstva,
• prehodom pa pojme, ki se nanaˇ
sajo na odnose med objekti oziroma dejstvi.
Definicija 1 Sploˇ
sni obrazec za prikaz znanja KRP je sedmerka KRP =
(P, T, I, O, μ, α, β), kjer so P, T, I, O, μ elementi Petrijevega omreˇ
zja, in je
potem:
cna mnoˇ
zica mest,
P = {p1, p2, ..., pm} konˇ
T = {t1, t2, ..., tn} konˇ
cna mnoˇ
zica prehodov, P ∩ T = ∅,
I : T → P ∞ vhodna funkcija – preslikava iz mnoˇ
zice prehodov v vreˇ
co mest,
O : T → P ∞ izhodna funkcija – preslikava iz mnoˇ
zice prehodov v vreˇ
co mest,
μ : P → IN funkcija oznaˇ
citve – preslikava iz mnoˇ
zice mest v mnoˇ
zico nenegativnih celih ˇ
stevil,
α : P → D bijektivna funkcija, ki vsakemu mestu iz P pridruˇ
zi pojem, ki
predstavlja objekt ali dejstvo,
152
β : T → Σ surjektivna funkcija, ki vsakemu prehodu iz T pridruˇ
zi pojem, ki
opisuje odnos med objekti oziroma dejstvi,
D mnoˇ
zica pojmov, ki se nanaˇ
sajo na objekte ali dejstva,
Σ mnoˇ
zica pojmov, ki se nanaˇ
sajo na odnose med objekti oziroma dejstvi.
S funkcijama α in β dobijo mesta in prehodi Petrijevega omreˇ
zja pomen.
−1
−1
in β
uporabimo, kadar ˇ
zelimo pojmom iz D in Σ
Inverzni funkciji α
prirediti mesta oziroma prehode Petrijevega omreˇ
zja.
Funkcija α je bijektivna, zato je moˇ
zno s funkcijo α−1 vsakemu pojmu iz D
prirediti mesto v Petrijevem omreˇ
zju. O inverzni funkciji β −1 ne moremo
govoriti, ˇ
ce le-ta ni bijektivna.
Zgled 1 Na sliki 1 je preprost prizor, ki sestoji iz dveh valjev, kvadra in
c, valj V2 je zelen, kvader
krogle. Poznamo tudi barve teles: valj V1 je rdeˇ
K1 in krogla C1 sta modra.
Slika 1: Preprost prizor.
153
valj
kvader
p1
p2
t1
je
t2
je
barva
p8
p4
p5
V2
t5
t6
je_na
barva
t3
K1
t4
t1 0
p6
je
C1
p7
je_desno
t7
t8
barva
p1 0
p9
rdeèa
p3
je
t9
V1
krogla
zelena
barva
modra
t11
je_desno
Slika 2: Obrazec KRP preprostega prizora.
Obrazec KRP je ponazorjen na sliki 2 in je definiran s:
P = {p1, p2, p3, p4, p5, p6, p7, p8, p9, p10},
T = {t1, t2, t3, t4, t5, t6, t7, t8, t9, t10, t11},
D = {valj, kvader, krogla, V1, V2, K1, C1, rdeˇ
ca, zelena, modra},
Σ = {je, barva, je na, je desno},
I(t1) = {p4}
I(t2) = {p5}
I(t3) = {p6}
I(t4) = {p7}
I(t5) = {p4}
I(t6) = {p5}
I(t7) = {p6}
I(t8) = {p7}
I(t9) = {p5}
I(t10) = {p7}
I(t11) = {p6}
O(t1) = {p1}
O(t2) = {p1}
O(t3) = {p2}
O(t4) = {p3}
O(t5) = {p8}
O(t6) = {p9}
O(t7) = {p10}
O(t8) = {p10}
O(t9) = {p6}
O(t10) = {p6}
O(t11) = {p4}
154
α : p1 → valj
α : p2 → kvader
α : p3 → krogla
α : p4 → V1
α : p5 → V2
α : p6 → K1
α : p7 → C1
α : p8 → rdeˇ
ca
α : p9 → zelena
α : p10 → modra
β
β
β
β
β
β
β
β
β
β
β
μ(pi) = 0 za ∀pi ∈ P
: t1 → je
: t2 → je
: t3 → je
: t4 → je
: t5 → barva
: t6 → barva
: t7 → barva
: t8 → barva
: t9 → je na
: t10 → je desno
: t11 → je desno
Inverzni funkciji α−1 in β −1 sta potem:
α−1
α−1
α−1
α−1
α−1
α−1
α−1
α−1
α−1
α−1
: valj → p1
: kvader → p2
: krogla → p3
: V1 → p4
: V2 → p5
: K1 → p6
: C1 → p7
: rdeˇ
ca → p8
: zelena → p9
: modra → p10
β −1
β −1
β −1
β −1
: je → {t1, t2, t3, t4}
: barva → {t5, t6, t7, t8}
: je na → {t9}
: je desno → {t10, t11}
155
Za sam prikaz odnosov med objekti na prizoru funkcija oznaˇ
citve nima
pomena. Svojo vlogo ima ˇ
sele v postopkih sklepanja z obrazcem KRP .
Mnoˇ
zico pojmov D, ki predstavljajo objekte ali dejstva, lahko prikaˇ
zemo kot
unijo treh disjunktnih podmnoˇ
zic D1, D2 in D3:
D = D1 ∪ D2 ∪ D3,
kjer so mnoˇ
zice D1, D2 in D3 definirane kot:
zica pojmov, ki se nanaˇ
sajo na posamezne predstavnike ali primerke
D1 mnoˇ
iz podroˇ
cja problema,
zica pojmov, ki se nanaˇ
sajo na razrede ali kategorije, katerim pripaD2 mnoˇ
dajo primerki iz mnoˇ
zice D1 in pa tudi drugi pojmi iz D2, in predstavljajo
viˇ
sji nivo abstrakcije,
zica pojmov, ki se nanaˇ
sajo na notranje lastnosti ali vrednosti teh
D3 mnoˇ
lastnosti, ki jih imajo elementi iz mnoˇ
zic D1 in D2.
Podobno tudi mnoˇ
zico Σ lahko prikaˇ
zemo kot unijo treh disjunktnih podmnoˇ
zic Σ1, Σ2 in Σ3:
Σ = Σ1 ∪ Σ2 ∪ Σ3,
kjer so mnoˇ
zice Σ1, Σ2 in Σ3 definirane kot:
zica pojmov, ki se nanaˇ
sajo na odnose med pojmi iz mnoˇ
zic D1 in
Σ1 mnoˇ
cno ureditev teh pojmov,
D2, in se uporabljajo za hierarhiˇ
Σ2 mnoˇ
zica pojmov, ki se nanaˇ
sajo na vrste lastnosti, katerih vrednosti so
elementi iz mnoˇ
zice D3,
Σ3 mnoˇ
zica pojmov, ki se nanaˇ
sajo na odnose med pojmi iz mnoˇ
zic D1 in
cno ureditev teh pojmov.
D2, in se ne uporabljajo za hierarhiˇ
156
Zgled 2 Mnoˇ
zici D in Σ iz Zgleda 1 lahko razˇ
clenimo na:
D1 = {V1, V2, K1, C1}
D2 = {valj, kvader, krogla}
D3 = {rdeˇ
ca, zelena, modra}
Σ1 = {je}
Σ2 = {barva}
Σ3 = {je na, je desno}
Osnovne operacije v obrazcu za prikaz znanja KRP
Za obrazec KRP so definirane naslednje operacije (S. Ribari´
c, 1991):
• superpozicija dveh obrazcev,
• brisanje mesta v obrazcu in
• brisanje prehoda v obrazcu.
Omenjene operacije na obrazcu za prikaz znanja KRP dajejo moˇ
znost
upravljanja z bazo znanja, to je dodajanje novega znanja in spreminjanje
obstojeˇ
cega znanja.
157
Superpozicija dveh obrazcev - superpozicija(KRPa , KRPb)
Dana sta obrazca za prikaz znanja KRPa in KRPb:
KRPa = (Pa, Ta, Ia, Oa, μa, αa, βa)
in
KRPb = (Pb, Tb, Ib, Ob, μb, αb, βb)
pri pogoju Ta ∩ Tb = ∅.
Rezultat superpozicije obeh obrazcev je nov obrazec KRP :
KRP = (P, T, I, O, μ, α, β),
kjer so:
P = Pa ∪ Pb,
T = Ta ∪ Tb,
D = Da ∪ Db,
Σ = Σa ∪ Σb,
I = Ia ∪ Ib ⇒ I(ti ) =
Ia(ti), ˇ
ce ti ∈ Ta
Ib(ti ), ˇ
ce ti ∈ Tb,
O = Oa ∪ Ob ⇒ O(ti ) =
Oa(ti ), ˇ
ce ti ∈ Ta
Ob(ti ), ˇ
ce ti ∈ Tb,
⎧
⎪
ˇ
ce pi ∈ Pa ∧ pi ∈ Pa ∩ Pb
⎨ μa(pi ),
μ(pi) = μb(pi ),
ˇ
ce pi ∈ Pb ∧ pi ∈ Pa ∩ Pb
⎪
⎩ min{μ (p ), μ (p )}, ˇ
ce pi ∈ Pa ∩ Pb,
a i
b i
αa(pi ), ˇ
ce pi ∈ Pa
α = αa ∪ αb ⇒ α(pi ) =
αb(pi ), ˇ
ce pi ∈ Pb,
βa(ti), ˇ
ce ti ∈ Ta
β = βa ∪ βb ⇒ β(ti ) =
βb(ti), ˇ
ce ti ∈ Tb.
158
Brisanje mesta v obrazcu – briˇ
si(dj )
Dan je obrazec za prikaz znanja KRP :
KRP = (P, T, I, O, μ, α, β).
Iz obrazca KRP ˇ
zelimo zbrisati mesto pi ∈ P , katerega lastnost je dj , to je:
α−1 :
dj → pi .
Rezultat brisanja mesta pi iz obrazca KRP je nov obrazec KRP :
KRP = (P , T , I , O, μ, α, β ),
kjer so:
P = P − {pi},
D = D − {dj },
I (tk ) = I(tk ) − {pi}
za ∀tk ∈ T , za katerega pi ∈ I(tk ),
O(tk ) = O(tk ) − {pi}
za ∀tk ∈ T , za katerega pi ∈ O(tk ),
(I (tk ) = ∅ ∧ O(tk ) = ∅) ⇒ tk je osamljen prehod in zato:
T = T − {tk }
μ(pk ) = μ(pk )
za pk ∈ P ,
α(pk ) = α(pk )
za pk ∈ P in
β (tk ) = β(tk )
in
Σ = Σ − {β(tk )},
za tk ∈ T .
159
Brisanje prehoda v obrazcu – briˇ
si(tj )
Dan je obrazec za prikaz znanja KRP :
KRP = (P, T, I, O, μ, α, β).
Iz obrazca KRP ˇ
zelimo zbrisati prehod tj ∈ T . Rezultat brisanja prehoda tj
iz obrazca KRP je nov obrazec KRP :
KRP = (P , T , I , O, μ, α, β ),
kjer je:
T = T − {tj },
(β(tj ) = β(ti)
za ∀ti ∈ T ) ⇒ Σ = Σ − {β(tj )},
I (tk ) = I(tk )
za ∀tk ∈ T ,
O(tk ) = O(tk )
za ∀tk ∈ T ,
(pk ∈ I (tk ) ∧ pk ∈ O(ti )
za ∀tk , ti ∈ T ) ⇒ pk , je osamljeno mesto in zato:
P = P − {pk }
μ(pk ) = μ(pk )
za pk ∈ P ,
α(pk ) = α(pk )
za pk ∈ P in
β (tk ) = β(tk )
in
D = D − {α(pk )},
za tk ∈ T .
160
Hierarhiˇ
cne lastnosti obrazca za predstavitev znanja KRP
S Petrijevimi omreˇ
zji je moˇ
zno hierarhiˇ
cno modelirati sisteme, kar pomeni,
da je sisteme moˇ
zno predstaviti na razliˇ
cnih nivojih sploˇ
snosti znanja.
Tako lahko neko podomreˇ
zje Petrijevega omreˇ
zja nadomestimo s samo enim
mestom ali prehodom, ki predstavlja viˇ
sji nivo sploˇ
snosti. V tem primeru gre
za proces posploˇ
sevanja (angl. process of abstraction).
Lahko pa tudi neko mesto ali prehod Petrijevega omreˇ
zja zamenjamo z nekim
podomreˇ
zjem, ki predstavlja niˇ
zji nivo abstrakcije. Tedaj pa gre za proces
plemenitenja (angl. process of refinement).
Omenjena lastnost Petrijevih omreˇ
zij ponuja moˇ
znost hierarhiˇ
cnega predstavljanja znanja v obrazcu za prikaz znanja KRP . To pomeni, da lahko:
• vsako mesto pi ∈ P v KRP , ki predstavlja neko dejstvo ali objekt, nadomestimo s podobrazcem KRP , ki bolj podrobno prikazuje znanje o tem
dejstvu ali objektu,
• vsak prehod tj ∈ T v KRP , ki predstavlja nek odnos med dvema dejstvoma
oziroma objektoma, nadomestimo s podobrazcem KRP , ki bolj podrobno
prikazuje znanje o tem odnosu.
161
Proces posploˇ
sevanja z mestom – nadomesti (KRP , dj )
Dan je obrazec za prikaz znanja KRP :
KRP = (P, T, I, O, μ, α, β).
V obrazcu KRP nadomestimo podobrazec KRP z mestom pi, katerega
lastnost je dj :
α−1 : dj → pi .
Mesto pi , ki nadomesti podobrazec KRP , pridobi modificirano vhodno in
izhodno funkcijo:
I : P → T ∞ → I(pi) := I (KRP )
O : P → T∞
→ O(pi) := O(KRP ),
kjer sta I (KRP ) in O(KRP ) modificirani vhodna in izhodna funkcija
podomreˇ
zja KRP :
I : KRP → T ∞
O : KRP → T ∞.
cena z vreˇ
co prehodov, ki vodijo iz obrazca KRP na niˇ
zji
I (KRP ) je doloˇ
co prehodov, ki
nivo posploˇ
sitve (abstrakcije) v KRP , O(KRP ) pa z vreˇ
sji nivo posploˇ
sitve v KRP .
vodijo iz KRP na viˇ
Zgled 3 Primer posploˇ
sitve podomreˇ
zja KRP z mestom pi je prikazan na
sliki 3. Za KRP s slike 3 velja:
Omre;je KRP (višji nivo abstrakcije)
tp
ti
tj
Podomre;je KRP'
(ni;ji nivo abstrakcije)
tq
pi
Slika 3: Posploˇ
sitev podomreˇ
zja KRP z mestom.
I (KRP ) = {ti, ti , tj }
O(KRP ) = {tp, tp, tp , tq }.
162
Proces plemenitenja mesta – nadomesti(dj , KRP )
Dan je obrazec za prikaz znanja KRP :
KRP = (P, T, I, O, μ, α, β).
V obrazcu KRP nadomestimo mesto pi, katerega lastnost je dj :
α−1 : dj → pi
s podobrazcem KRP . Podobrazec KRP , ki nadomesti mesto pi, pridobi
modificirano vhodno in izhodno funkcijo:
I : KRP → T ∞
O : KRP → T ∞
⇒ I (KRP ) := I(pi )
⇒ O(KRP ) := O(pi ).
Zgled 4 Primer plemenitenja mesta pi s podomreˇ
zjem KRP je ponazorjen
na sliki 4.
Omre;je KRP (višji nivo abstrakcije)
ti
tp
pi
tj
tq
Podomre;je KRP'
(ni;ji nivo abstrakcije)
Slika 4: Plemenitenje mesta s podomreˇ
zjem KRP .
163
Postopki sklepanja v obrazcu za predstavitev znanja KRP
Postopki sklepanja v obrazcu za prikaz znanja KRP so:
• generiranje odgovorov na vpraˇ
sanja,
• postopek iskanja preseˇ
ciˇ
sˇ
c aktivnosti,
• dedovanje,
• razpoznavanje.
Generiranje odgovorov na vpraˇ
sanja
Ena od pomembnih lastnosti omreˇ
zja za prikaz znanja KRP je, da zna
priklicati svoje shranjeno eksplicitno ali implicitno znanje in odgovoriti na
vpraˇ
sanja uporabnika. Vpraˇ
sanja poizvedujejo po objektih oziroma dejstvih
in njihovih medsebojnih odnosih. Predpostavimo, da uporabnik postavlja
vpraˇ
sanja v skladu s sintakso programskega jezika PROLOG. Vpraˇ
sanje:
“Kaj je (X) v odnosu relacija z objektom ali dejstvom argument?” bi
potem imelo obliko:
? − relacija(X, argument).
164
Odgovor na postavljeno vpraˇ
sanje omreˇ
zje KRP generira z naslednjim
algoritmom:
P ostopek
1. korak
pk = α−1(argument)
τ = {tj ∈ T |β(tj ) = relacija}
ˇ e pk ne obstaja ali τ = ∅, generiraj odgovor “NE”.
C
2. korak Za ∀tj ∈ τ doloˇ
ci mnoˇ
zico M = {pi ∈ P |pk ∈ O(tj ) ∧ pi ∈ I(tj )}.
ˇ e M = ∅, generiraj odgovor “NE”.
C
3. korak Za pi ∈ M generiraj odgovor X = α(pi ).
Konec postopka.
Zgled 5 Zanima nas, kateri objekt (ˇ
ce sploh kakˇ
sen) stoji na objektu K1 na
prizoru, ki je prikazan na sliki 1. Vpraˇ
sanje zapiˇ
semo v formalni obliki:
? − je na(X, K1).
Sledimo algoritmu na str. 28:
P ostopek
1. korak
pk = p6,
τ = {t9},
2. korak M = {p5},
3. korak X = V2,
ker α−1(K1) = p6
ker β(je na) = t9
ker p6 ∈ O(t9) ∧ p5 ∈ I(t9)}
ker α(p5) = V2
Konec postopka.
Sistem generira odgovor: X = V2.
165
Bolj zapleteno vpraˇ
sanje: “Kaj je (X) v odnosu relacija2 z objektom ali
dejstvom argument in ima lastnost relacija1?” pa bi potem imelo obliko:
? − relacija1(X), relacija2(X, argument).
kjer vejica pomeni konjunkcijo izjav.
Odgovor na zadnje postavljeno vpraˇ
sanje omreˇ
zje KRP generira z naslednjim
algoritmom:
P ostopek
1. korak
pl = α−1(argument)
τ = {tj ∈ T |β(tj ) = relacija1}
ˇ e pl ne obstaja ali τ = ∅, generiraj odgovor “NE”.
C
ci mnoˇ
zico M = {pk ∈ P |pk ∈ O(tj ) ∧ pk ∈ I(tj )}.
2. korak Za ∀tj ∈ τ doloˇ
ˇ e M = ∅, generiraj odgovor “NE”.
C
3. korak
τ = {tj ∈ T | β(tj ) = relacija2}
ˇ e τ = ∅, generiraj odgovor “NE”.
C
ci mnoˇ
zico M = {pk ∈ M |pl ∈ O(tj ) ∧ pk ∈ I(tj )}.
4. korak Za ∀tj ∈ τ , doloˇ
ˇ e M = ∅, generiraj odgovor “NE”.
C
5. korak Za ∀pk ∈ M generiraj odgovor X = α(pk ).
Konec postopka.
166
Postopek iskanja preseˇ
ciˇ
sˇ
c aktivnosti
Postopek iskanja preseˇ
ciˇ
sˇ
c aktivnosti je postopek sklepanja, ki ga uporabljamo za iskanje medsebojnih odnosov med dvema pojmoma.
Postopek temelji na gradnji dveh dosegljivostnih dreves za dve razliˇ
cni
zaˇ
cetni oznaˇ
citvi omreˇ
zja KRP , ki ustrezata danima pojmoma, in na iskanju
identiˇ
cnih vozliˇ
sˇ
c v teh dveh drevesih.
Pravimo, da je najdeno preseˇ
ciˇ
sˇ
ce aktivnosti, ˇ
ce s primerjavo obeh dosegljivostnih dreves najdemo vozliˇ
sˇ
ca z enako oznaˇ
citvijo.
ˇ e sledimo zaporedju proˇ
C
zenih prehodov in spremembam oznaˇ
citve omreˇ
zja
v obeh dosegljivostnih drevesih od korenov do preseˇ
ciˇ
sˇ
c aktivnosti, lahko
doloˇ
cimo vse relacije, ki povezujejo dana pojma.
Naj bosta d1 ∈ D in d2 ∈ D dva pojma, katerih medsebojni odnos iˇ
sˇ
cemo.
Postopek iskanja preseˇ
ciˇ
sˇ
c aktivnosti je opisan z naslednjim algoritmom:
P ostopek
1. korak
pi = α−1(d1),
pj = α−1(d2).
→
cetna oznaˇ
citev omreˇ
zja KRP , ki ustreza pojmu d1,
2. korak Naj bo −
μ 01 zaˇ
→
−
cetna oznaˇ
citev, ki ustreza pojmu d2:
μ 02 pa zaˇ
μ01(pk ) =
μ02(pk ) =
1, ˇ
ce k = i
0, ˇ
ce k = i, k = 1, 2, ..., m,
1, ˇ
ce k = j
0, ˇ
ce k = j, k = 1, 2, ..., m.
3. korak Generiraj dosegljivostni drevesi RT1 in RT2 omreˇ
zja KRP za zaˇ
cetni
→
−
→
−
oznaˇ
citvi μ 01 in μ 02.
4. korak Vozliˇ
sˇ
ca dosegljivostnih dreves RT1 in RT2, ki se ujemajo, so
preseˇ
ciˇ
sˇ
ca aktivnosti.
167
5. korak Vsa zaporedja vozliˇ
sˇ
c dosegljivostnih dreves RT1 in RT2, od korenov
pa do preseˇ
ciˇ
sˇ
c aktivnosti, skupaj s pripadajoˇ
cimi povezavami (in s
pridruˇ
zenimi prehodi) doloˇ
cajo relacije med danima pojmoma d1 in d2.
6. korak V vsakem zaporedju vozliˇ
sˇ
c od korenov dreves RT1 in RT2 pa do
preseˇ
ciˇ
sˇ
c aktivnosti doloˇ
ci:
• vsakemu vozliˇ
sˇ
cu v zaporedju priredi:
dj = α(pi)
za i ∈ {1, 2, ..., m}
in μ(pi) = 0,
• vsaki povezavi v zaporedju priredi:
σs = β(tk )
za k ∈ {1, 2, ..., m}.
7. korak Za obe dosegljivostni drevesi RT1 in RT2 tvori zaporedje lastnosti
mest in prehodov:
dj σsd1σ1...
Mnoˇ
zica vseh takih zaporedij lastnosti doloˇ
ca odnose med danima
pojmoma d1 in d2.
Konec postopka.
Zgled 6 Zanima nas, v kakˇ
snem odnosu sta objekta K1 in V2 na prizoru, ki
je prikazan na sliki 1.
d1 = K1
in d2 = V2
Sledimo algoritmu na str. 31:
P ostopek
1. korak
pi = p6,
pj = p5,
ker α−1(K1) = p6,
ker α−1(V2) = p5.
2. korak Zaˇ
cetni oznaˇ
citvi:
−
→
μ 01 = (0, 0, 0, 0, 0, 1, 0, 0, 0, 0),
→
−
μ 02 = (0, 0, 0, 0, 1, 0, 0, 0, 0, 0).
168
−
−
3. korak Dosegljivostni drevesi RT1 in RT2 za zaˇ
cetni stanji →
μ 01 in →
μ 02 sta
prikazani na sliki 5.
4. korak Poiˇ
sˇ
cemo preseˇ
ciˇ
sˇ
ca aktivnosti, to je vozliˇ
sˇ
ca dosegljivostnih dreves
RT1 in RT2, ki se ujemajo:
(n1, m4), (n2, m5), (n3, m6), (n4, m7), (n5, m8), (n6, m9).
5. korak Poiˇ
sˇ
cemo vsa zaporedja vozliˇ
sˇ
c od korenov pa do preseˇ
ciˇ
sˇ
c aktivnosti:
(RT1
(RT1
(RT1
(RT1
(RT1
(RT1
:
:
:
:
:
:
n1)
n1 t3 n2)
n1 t7 n3)
n1 t11 n4)
n1 t11 n4 t1 n5)
n1 t11 n4 t5 n6)
(RT2
(RT2
(RT2
(RT2
(RT2
(RT2
:
:
:
:
:
:
m1 t9 m4)
m1 t9 m4 t3 m5)
m1 t9 m4 t7 m6)
m1 t9 m4 t11 m7)
m1 t9 m4 t11 m7 t1 m8)
m1 t9 m4 t11 m7 t5 m9)
6. korak Poiˇ
sˇ
cemo pomene vozliˇ
sˇ
c in povezav dosegljivostnih dreves.
7. korak Odgovor algoritma:
(RT1
(RT1
(RT1
(RT1
(RT1
(RT1
: K1)
: K1 je kvader)
: K1 barva modra)
: K1 je desno V1)
: K1 je desno V1 je valj)
: K1 je desno V1 barva rdeˇ
ca)
(RT2
(RT2
(RT2
(RT2
(RT2
(RT2
: V2
: V2
: V2
: V2
: V2
: V2
je
je
je
je
je
je
na
na
na
na
na
na
K1)
K1 je kvader)
K1 barva modra)
K1 je desno V1)
K1 je desno V1 je valj)
K1 je desno V1 barva rdeˇ
ca
Konec postopka.
169
RT1
n1
(0,0,0,0,0,1,0,0,0,0)
t3
(0,1,0,0,0,0,0,0,0,0)
n2
t7
t11
(0,0,0,0,0,0,0,0,0,1) (0,0,0,1,0,0,0,0,0,0)
n4
n3
t1
t5
(1,0,0,0,0,0,0,0,0,0)
n5
(0,0,0,0,0,0,0,1,0,0)
n6
RT2
m1
(0,0,0,0,1,0,0,0,0,0)
t2
(1,0,0,0,0,0,0,0,0,0)
m2
t6
t9
(0,0,0,0,0,0,0,0,1,0)
m3
t3
(0,0,0,0,0,1,0,0,0,0)
m4
t7
(0,1,0,0,0,0,0,0,0,0)
m5
(0,0,0,0,0,0,0,0,0,1) (0,0,0,1,0,0,0,0,0,0)
m6
m7
t1
t5
(1,0,0,0,0,0,0,0,0,0)
m8
t11
(0,0,0,0,0,0,0,1,0,0)
m9
Slika 5: Dosegljivostni drevesi RT1 in RT2.
Dedovanje
Dedovanje je oblika sklepanja v obrazcu za prikaz znanja KRP , s pomoˇ
cjo
katere doseˇ
zemo znanje, ki ni eksplicitno shranjeno v obstojeˇ
ci bazi znanja.
Hierarhiˇ
cna strukturiranost baze znanja omogoˇ
ca, da se doloˇ
cene skupne
lastnosti veˇ
c posameznih pojmov izloˇ
cijo in pripiˇ
sejo nekemu drugemu bolj
sploˇ
snemu pojmu.
Na ta naˇ
cin se izoblikuje hierarhija pojmov, v kateri je omenjeni bolj sploˇ
sni
pojem prednik vseh posameznih pojmov, ki imajo skupne lastnosti.
Posamezni pojmi pa so potem nasledniki bolj sploˇ
snega pojma.
S hierarhiˇ
cno strukturiranostjo baze znanja doseˇ
zemo bolj ekonomiˇ
cno
shranjevanje znanja in se izognemo veˇ
ckratnemu navajanju istih lastnosti
posameznih pojmov.
170
Dedovanje definiramo kot proces doloˇ
canja lastnosti danega pojma d ∈ D,
pri ˇ
cemer ne iˇ
sˇ
cemo samo lastnosti, ki so neposredno povezane s pojmom
d, paˇ
c pa tudi lastnosti tistih pojmov, ki leˇ
zijo viˇ
sje v hierarhiji pojmov.
Postopek dedovanja v obrazcu za prikaz znanja KRP temelji na izgradnji
drevesa dedovanja.
Drevo dedovanja je podobno dosegljivostnemu drevesu, pri ˇ
cemer so lahko
njegovi listi poimenovani tudi z oznako zamrznjeno vozliˇ
sˇ
ce (angl. frozen
node).
Zamrznjena vozliˇ
sˇ
ca drevesa dedovanja pripadajo takˇ
snim oznaˇ
citvam omreˇ
zja
KRP , pri katerih dospeli ˇ
zeton v neko mesto v tem mestu zamrzne.
Zamrznjeni ˇ
zeton pa ne dovoljuje proˇ
zenja sicer omogoˇ
cenih prehodov iz tega
mesta. Zamrznejo tisti ˇ
zetoni, ki nastanejo s proˇ
zenjem prehodov, katerih
cne odnose
lastnosti pripadajo mnoˇ
zicama Σ2 in Σ3, torej opisujejo nehierarhiˇ
med pojmi in njihove lastnosti.
Gradnja drevesa dedovanja se priˇ
cne v korenskem vozliˇ
sˇ
cu, ki pripada pojmu
iz mnoˇ
zice D, katerega dedne lastnosti iˇ
sˇ
cemo. V korenu drevesa dedovanja
se proˇ
zijo vsi omogoˇ
ceni prehodi, katerih lastnosti so elementi mnoˇ
zic Σ1,
zetoni zamrznejo,
Σ2 in Σ3, in pri tem v njihovih izhodnih mestih generirani ˇ
ˇ
ce so nastali s proˇ
zenjem prehodov, katerih lastnosti pripadajo mnoˇ
zicama
Σ2 in Σ3.
Vozliˇ
sˇ
ca drevesa dedovanja predstavljajo pojme, ki so v nekem dednem
odnosu z danim pojmom. Vsako zaporedje vozliˇ
sˇ
c od korena drevesa
dedovanja do kateregakoli lista, ki ni zamrznjen, je pot dedovanja.
Navadno vnaprej doloˇ
cimo, do katere globine naj se tvori drevo dedovanja,
in tako odloˇ
cimo, do katerega prednika naj pojem ˇ
se deduje lastnosti.
Tako postanejo listi drevesa dedovanja tudi vsa vozliˇ
sˇ
ca, ki pripadajo izbranemu nivoju, do katerega se drevo dedovanja ˇ
se tvori.
171
Proces dedovanja za dani pojem d ∈ D in dano globino dedovanja l v obrazcu
KRP opisuje naslednji algoritem:
P ostopek
1. korak V omreˇ
zju KRP doloˇ
ci mesto pi , ki pripada danemu pojmu d ∈ D:
pi = α−1(d).
2. korak Doloˇ
ci zaˇ
cetno oznaˇ
citev omreˇ
zja KRP :
μ0(pk ) =
1, ˇ
ce k = i
0, ˇ
ce k = i, k = 1, 2, ..., m
−
3. korak Generiraj l nivojev drevesa dedovanja pri zaˇ
cetni oznaˇ
citvi →
μ0
omreˇ
zja KRP .
4. korak V drevesu dedovanja poiˇ
sˇ
ci vse poti dedovanja, ki vodijo od korena
drevesa do listov na l-tem nivoju, ki niso zamrznjeni. Poti dedovanja
doloˇ
cajo dedovane lastnosti pojma d.
Konec postopka.
Zgled 7 Prizor na sliki 6 opisuje obrazec KRP na sliki 7.
Joe
Lassie
Slika 6: Prizor iz zgodbe Lassie se vraˇ
ca.
172
p8
štirino ec
p9
dvono ec
t11
je
t9
p7
t1 0
ni
sesalec
je
t8
je
t7
pes
p5
p6
je
t5
t6
je
p3
p4
deèek
t1
t2
je
ovèar
je
je
je_spredaj
t3
p1
èlovek
p2
Joe
Lassie
t4
je_zadaj
t1 2
barva
p1 0
rjava
Slika 7: Omreˇ
zje KRP .
S postopkom dedovanja pridobimo znanje o pojmu Lassie ∈ D.
globina dedovanja l = 4.
Naj bo
Sledimo algoritmu na str. 42:
P ostopek
1. korak
pi = p1,
ker α−1(Lassie) = p1.
2. korak Zaˇ
cetna oznaˇ
citev:
−
→
μ 0 = (1, 0, 0, 0, 0, 0, 0, 0, 0, 0).
−
zja
3. korak l = 4 nivojev drevesa dedovanja pri zaˇ
cetni oznaˇ
citvi →
μ 0 omreˇ
KRP je prikazanih na sliki 8.
173
4. korak Poiˇ
sˇ
cemo poti dedovanja in jim priredimo njihov pomen:
(n1 t1 n2 t5 n5 t7 n6 t11 n7) (Lassie je ovˇ
car je pes je sesalec je ˇ
stirinoˇ
zec)
(n1 t3 n2)
(Lassie je spredaj Joe)
(n1 t12 n3)
(Lassie barva rjava)
Konec postopka.
n1
(1,0,0,0,0,0,0,0,0,0)
t1
(0,0,1,0,0,0,0,0,0,0)
n2
t3
(0,1,0,0,0,0,0,0,0,0)
n3
nivo 0
t12
(0,0,0,0,0,0,0,0,0,1)
n4
nivo 1
t5
(0,0,0,0,1,0,0,0,0,0)
n5
nivo 2
t7
(0,0,0,0,0,0,1,0,0,0)
n6
nivo 3
t11
(0,0,0,0,0,0,0,1,0,0)
n7
nivo 4
Slika 8: Drevo dedovanja.
V procesu dedovanja lahko pride do protislovij, ˇ
ce
• dani pojem podeduje lastnosti svojega prednika, ki zanj ne veljajo, ker
predstavlja izjemo,
• ima dani pojem veˇ
c prednikov in pride do spornega dedovanja.
Protislovne situacije dedovanja reˇ
sujemo s postopkom PIDO (angl. Principle
of the Inferential Distance Ordering). Zasnova postopka PIDO je naslednja:
V situaciji protislovnega dedovanja dani pojem deduje lastnosti bliˇ
znjega
prednika. Pojem A je bliˇ
zji predniku B kakor predniku C natanko tedaj, ko
za pojem A obstaja pot dedovanja do prednika C skozi B.
174
Zgled 8 S postopkom dedovanja bi za obrazec KRP na sliki 7 in globino
dedovanja l = 4 pridobili naslednje znanje o pojmu Joe ∈ D:
1. Joe je deˇ
cek je ˇ
clovek je dvonoˇ
zec.
2. Joe je deˇ
cek je ˇ
clovek je sesalec je ˇ
stirinoˇ
zec.
3. Joe je deˇ
cek je ˇ
clovek ni ˇ
stirinoˇ
zec.
4. Joe je zadaj Lassie.
Pridobljeno znanje je protislovno, saj si trditve (1) in (2) ter (2) in (3)
nasprotujejo. Ni jasno ali je Joe ˇ
stirinoˇ
zec ali ne? Problem protislovja reˇ
si
postopek PIDO, katerega rezultat je naslednje znanje:
1. Joe je deˇ
cek je ˇ
clovek je dvonoˇ
zec.
2. Joe je deˇ
cek je ˇ
clovek je sesalec.
3. Joe je deˇ
cek je ˇ
clovek ni ˇ
stirinoˇ
zec.
4. Joe je zadaj Lassie.
Razpoznavanje
Naloga postopka razpoznavanja v obrazcu za prikaz znanja KRP je poiskati
pojem v bazi znanja, ki najbolje ustreza danemu opisu.
Opis iskanega pojma je podan z mnoˇ
zico njegovih lastnosti S.
Te lastnosti pa niso nujno samo neposredne lastnosti iskanega pojma, paˇ
c
pa so lahko tudi podedovane od njegovih prednikov v hierarhiji pojmov.
175
Problem razpoznavanja v obrazcu opiˇ
semo takole:
Dana je mnoˇ
zica lastnosti S neznanega pojma X. Mnoˇ
zica S, ki ji pravimo
tudi opis pojma X, je sestavljena iz naslednjih elementov:
⎧
⎪
⎨
⎧
⎪
⎨ si ∈ D2 ∪ D3
S = si :
si ∈ D2 ∪ D3
⎪
⎪
⎩
⎩ s = (r, d) r ∈ Σ, d ∈ D
i
⎫⎫
⎪
⎬⎪
⎬
⎪
⎭⎪
⎭
.
ˇ e si ∈ D2 ∪ D3, potem lastnosti si doloˇ
cimo pripadajoˇ
ce mesto pk v
•C
obrazcu KRP :
pk = α−1(si ),
cega mesta v obrazcu
•ˇ
ce si ∈ D2 ∪ D3, potem lastnost si nima pripadajoˇ
KRP ,
•ˇ
ce si = (r, d), potem lastnost si govori o odnosu (relaciji) r med neznanim
pojmom X in pojmom d.
Postopek razpoznavanja v obrazcu za prikaz znanja KRP temelji na inverznem obrazcu −KRP , ki ga dobimo z medsebojno zamenjavo vhodne in
izhodne funkcije v obrazcu KRP :
KRP = (P, T, I, O, μ, α, β) ⇒ −KRP = (P, T, I, O, μR, α, β).
Graf obrazca −KRP ima v primerjavi z izvirnim grafom obrazca KRP
zamenjane smeri vseh povezav.
176
Postopek razpoznavanja zahteva modifikacijo funkcije oznaˇ
citve:
μR :
P →Z
Z.
Funkcija oznaˇ
citve postane preslikava iz mnoˇ
zice mest v mnoˇ
zico celih ˇ
stevil.
Posledica te spremembe je, da imajo mesta sedaj lahko tudi negativno ˇ
stevilo
ˇ
zetonov. Razlog za uvedbo modificirane funkcije oznaˇ
citve je moˇ
znost obstoja izjem v bazi znanja. Z izjemo oznaˇ
cujemo pojem, katerega lastnosti
so v nasprotju s sploˇ
sno veljavnimi lastnostmi razreda, kateremu dani pojem
pripada:
ˇ lovek je sesalec.
C
Sesalci so ˇ
stirinoˇ
zci.
ˇ lovek ni ˇ
C
stirinoˇ
zec.
Izjemo v bazi znanja predstavimo s prehodom, ki mu damo nikalen pomen
(na primer “ni”: ˇ
clovek ni ˇ
stirinoˇ
zec).
Modifikacija funkcije oznaˇ
citve povzroˇ
ci tudi modifikacijo pravila proˇ
zenja
prehodov.
Proˇ
zenja prehoda tj , ki pripada povezavi izjeme, povzroˇ
ci zmanjˇ
sanje ˇ
stevila
ˇ
zetonov v njegovem izhodnem mestu pk za 1:
μR(pk ) = μR(pk ) − 1,
kjer je μR(pk ) ˇ
stevilo ˇ
zetonov v mestu pk pred proˇ
zenjem prehoda tj .
Nek prehod tk je omogoˇ
cen, ˇ
ceprav ima njegovo vhodno mesto pi negativno
zenje
oznaˇ
citev (na primer I(tk ) = {pi} in μR(pi ) = −1) in njegovo proˇ
povzroˇ
ci zmanjˇ
sanje ˇ
stevila ˇ
zetonov v njegovem izhodnem mestu pk (O(tk ) =
{pk }) za 1.
177
Dosegljivostnemu drevesu inverznega obrazca −KRP pravimo drevo razpoznavanja.
Tvorimo ga na enak naˇ
cin kot dosegljivostno drevo z upoˇ
stevanjem dveh
sprememb:
1. upoˇ
stevamo modifikacijo pravila proˇ
zenja prehodov,
2. upoˇ
stevamo, da prehodi, ki ustrezajo relacijam iz mnoˇ
zice Σ3, nikoli ne
postanejo omogoˇ
ceni in se nikoli ne proˇ
zijo, ne glede na ˇ
stevilo ˇ
zetonov v
njihovih vhodnih mestih.
zice S, ki imajo obliko si = (r, d), tvorimo
Za tiste lastnosti si iz mnoˇ
le poddrevo razpoznavanja s selektivnim proˇ
zenjem le tistih prehodov, ki
ustrezajo relaciji R.
Za tvorbo poddrevesa razpoznavanja ne velja zgoraj navedena omejitev 2.
Postopek razpoznavanja v obrazcu za predstavitev znanja KRP za dano
mnoˇ
zico lastnosti S in izbrano globino razpoznavanja l, do katere naj se
tvori drevo oziroma poddrevo razpoznavanja, opisuje naslednji algoritem:
P ostopek
1. korak Danemu obrazcu KRP doloˇ
ci inverzni obrazec −KRP .
ci mesta pj v obrazcu −KRP :
2. korak Za ∀si ∈ S, ki si ∈ D2 ∪ D3 doloˇ
pj = α−1(si ).
Takih mest je lahko veˇ
c, naj bo b njihovo ˇ
stevilo. Vsako od teh mest
zeton:
pj , j = 1, 2, ..., b dobi ˇ
μ0(pj ) = 1
in tako doloˇ
ca b zaˇ
cetnih oznaˇ
citev omreˇ
zja:
−
→
→
→
μ 01, −
μ 02, ..., −
μ 0b.
Za ∀si ∈ S, ki si ∈ D2 ∪ D3 funkcija α−1 ni definirana.
178
3. korak Za ∀si ∈ S, kjer je si = (r, d), doloˇ
ci mesta pj in prehode tj v
obrazcu −KRP :
pj = α−1(d)
in τ = {tk ∈ T | β(tk ) = r}.
Naj bo c ˇ
stevilo takih mest pj in vsako od njih (j = 1, 2, ..., c) dobi
ˇ
zeton:
μ0(pj ) = 1
in tako doloˇ
ca c zaˇ
cetnih oznaˇ
citev omreˇ
zja:
−
→
→
→
μ 01, −
μ 02, ..., −
μ 0c.
4. korak Generiraj l nivojev drevesa razpoznavanja za vsako zaˇ
cetno oznaˇ
citev
→
−
μ 0j (j = 1, 2, ..., b). Dobimo b dreves razpoznavanja.
Generiraj l nivojev poddrevesa razpoznavanja za vsako zaˇ
cetno oznaˇ
citev
→
−
μ 0k (k = 1, 2, ..., c) in s selektivnim proˇ
zenjem le tistih prehodov iz
mnoˇ
zice τ . Dobimo c poddreves razpoznavanja.
5. korak Za vsako od b dreves razpoznavanja izraˇ
cunaj vsoto vektorjev
oznaˇ
citev v vseh vozliˇ
sˇ
cih drevesa razen korenskega:
zj =
m
j
−
→
μ jk ,
j = 1, 2, ..., b ,
k=1
kjer je mj ˇ
stevilo vozliˇ
sˇ
c j-tega drevesa razpoznavanja razen korena.
6. korak Za vsako od c poddreves razpoznavanja izraˇ
cunaj vsoto vektorjev
oznaˇ
citev v vseh vozliˇ
sˇ
cih poddrevesa razen korenskega:
aj =
m
j
−
→
μ jk ,
j = 1, 2, ..., c ,
k=1
kjer je mj ˇ
stevilo vozliˇ
sˇ
c j-tega poddrevesa razpoznavanja razen korena.
179
7. korak Doloˇ
ci vektorje:
Z=
b
j=1
zj ,
A=
c
aj ,
E = Z + A.
j=1
stevilo mest obrazca KRP )
8. korak V vektorju E = (e1, e2, ..., em) (m je ˇ
cjo vrednostjo:
poiˇ
sˇ
ci indeks imax komponente z najveˇ
eimax = Max{ei },
i = 1, 2, ..., m.
Doloˇ
ci mesto pj ∈ P za j = imax (to je mesto, ki v celotnem postopku
pridobi najveˇ
cˇ
zetonov) in doloˇ
ci pojem, ki temu mestu pripada:
drec = α(pj ).
Pojem drec je iskani pojem X, ki najbolje ustreza opisu S.
Konec postopka.
Zgled 9 Dana je baza znanja z obrazcem za prikaz znanja KRP na sliki 7.
Naj je neznani pojem X podan z mnoˇ
zico lastnosti S:
S = {ˇ
stirinoˇ
zec, rjava, udomaˇ
cen, (je spredaj, Joe), (je na, tla)}.
S postopkom razpoznavanja iˇ
sˇ
cemo pojem, ki se najbolje ujema z opisom
S. Naj bo globina razpoznavanja l = 3.
Sledimo algoritmu na str. 55:
180
P ostopek
1. korak Inverzni obrazec −KRP je ponazorjen na sliki 9.
2. korak
s1 = ˇ
stirinoˇ
zec ∈ D2 ∪ D3 ⇒ α−1(ˇ
stirinoˇ
zec) = p8,
s2 = rjava ∈ D2 ∪ D3 ⇒ α−1(rjava) = p10,
s3 = udomaˇ
cen ∈ D2 ∪ D3 ⇒ α−1ni definirana,
zaˇ
cetni oznaˇ
citvi:
−
→
μ 01 = (0, 0, 0, 0, 0, 0, 0, 1, 0, 0),
→
−
μ 02 = (0, 0, 0, 0, 0, 0, 0, 0, 0, 1).
3. korak
s4 = (je spredaj, Joe) je spredaj ∈ Σ3, Joe ∈ D
β −1(je spredaj) = t3
α−1(Joe) = p2
s5 = (je na, tla)
je na ∈ Σ, tla ∈ D ⇒ α−1ni definirana,
β −1ni definirana
→
−
zaˇ
cetna oznaˇ
citev:
μ 01 = (0, 1, 0, 0, 0, 0, 0, 0, 0, 0).
4. korak Generiramo l = 4 nivojev dreves razpoznavanja RT1 in RT2 za
→
→
μ 02 ter l = 4 nivojev poddrevesa razpoznazaˇ
cetni oznaˇ
citvi −
μ 01 in −
→
cetno oznaˇ
citev −
μ 01. Drevesa so prikazana na sliki
vanja RT3 za zaˇ
10.
5. korak Za vsako od dreves razpoznavanja izraˇ
cunamo vsoto vektojev
oznaˇ
citve:
z1 = (1, 0, 1, 0, 1, 0, 1, 0, 0, 0),
z2 = (1, 0, 0, 0, 0, 0, 0, 0, 0, 0).
181
6. korak Za vsako od poddreves razpoznavanja izraˇ
cunamo vsoto vektojev
oznaˇ
citve:
a1 = (1, 0, 0, 0, 0, 0, 0, 0, 0, 0).
7. korak Doloˇ
cimo vektorje:
Z = z1 + z2 = (2, 0, 1, 0, 1, 0, 1, 0, 0, 0),
A = a1 = (1, 0, 0, 0, 0, 0, 0, 0, 0, 0),
E = Z + A = (3, 0, 1, 0, 1, 0, 1, 0, 0, 0).
8. korak Ker eimax = 3 in imax = 1, je p1 mesto, ki v postopku razpoznavanja
pridobi najveˇ
cˇ
zetonov.
Rezultat razpoznavanja: α(p1) = Lassie.
Iskani pojem, ki najbolje ustreza danemu opisu S, je:
X = Lassie.
Konec postopka.
p8
štirino ec
p9
dvono ec
t11
je
t9
p7
t1 0
ni
sesalec
je
t8
t7
je
pes
je
ovèar
je
p1
je
p5
p6
t5
t6
je
p3
p4
deèek
t1
t2
je_spredaj
t3
èlovek
je
p2
Joe
Lassie
t4
je_zadaj
t1 2
barva
p1 0
rjava
Slika 9: Inverzni obrazec −KRP .
182
RT1
n1
nivo 0
(0,0,0,0,0,0,0,1,0,0)
t11
t9
(0,0,0,0,0,0,1,0,0,0)
n2
t7
t8
(0,0,0,0,1,0,0,0,0,0)
n4
(0,0,0,0,0,-1,0,0,0,0)
n3
t6
(0,0,0,0,0,1,0,0,0,0)
n5
t5
(0,0,0,-1,0,0,0,0,0,0) nivo 2
n6
t6
(0,0,1,0,0,0,0,0,0,0)
n7
t2
(0,0,0,1,0,0,0,0,0,0)
n8
t1
nivo 1
(0,-1,0,0,0,0,0,0,0,0) nivo 3
n9
t2
(1,0,0,0,0,0,0,0,0,0)
n10
(0,1,0,0,0,0,0,0,0,0)
n11
RT2
nivo 4
RT3
(0,0,0,0,0,0,0,0,0,1)
m1
t12
(1,0,0,0,0,0,0,0,0,0)
m2
(0,1,0,0,0,0,0,0,0,0)
m3
t3
(1,0,0,0,0,0,0,0,0,0)
m4
Slika 10: Drevesi razpoznavanja RT1 in RT2 ter poddrevo razpoznavanja
RT3.
Viri
N. Paveˇ
si´
c, Razpoznavanje vzorcev: uvod v analizo in razumevanje vidnih
in sluˇ
snih signalov, 3. popravljena in dopolnjena izd., 2 zv., (Dodatek D)
Zaloˇ
zba FE in FRI, 2012.
Parkelj Mojca: Z znanjem podprt sistem umetnega vida, magistrska naloga,
4. poglavje, FE Ljubljana, 1996.
Ribari´
c S.: it Knowledge Representation Scheme Based on Petri Net Theory,
Int. Journal of Pattern Recognition and Artificial Intelligence, Vol. 2, No.
4, 691–700, 1988.
183
Vpraˇ
sanja
Kako je definiran sploˇ
sni obrazec za prikaz znanja s Petrijevimi omreˇ
zji
(KRP)?
Katere osnovne operacije v obrazcu za prikaz znanja KRP poznamo?
Kako hierarhiˇ
cno predstavimo znanje v omreˇ
zju KRP?
Kako se izvede proces plemenitenja in proces posploˇ
sevanja znanja v omreˇ
zju
KRP?
Katere postopke sklepanja poznamo v omreˇ
zju KRP?
Kakˇ
sna vpraˇ
sanja lahko postavljamo pri generiranju odgovorov z omreˇ
zjem
KRP?
Kaj iˇ
sˇ
cemo pri iskanju preseˇ
ciˇ
sˇ
c aktivnosti v omreˇ
zju KRP?
Kakˇ
sna oblika sklepanja z omreˇ
zjem KRP je dedovanje?
Kaj je naloga postopka razpoznavanja v omreˇ
zju KRP?
184
Najnujnejše o matematični logiki
c 2013 - Univerza v Ljubljani, Fakulteta za elektrotehniko
Avtorske pravice pridržane Vsebina
Izjavni račun.
Logično sklepanje
Predikatni račun
Logične povezave
Kvantifikator
Funkcije
Pravila sklepanja
Vprašanja
185
IZJAVNI RAČUN
Izjavni račun obravnava povezave nad izjavami. Pri tem imamo posamezne izjave za celote in se ne zanimamo za njihovo notranjo logično
zgradbo.
Kaj so izjave?
Pravimo, da je trdilni ali nikalni stavek smiseln, če se v okviru predmetov
in pojmov, o katerih stavek govori, lahko odločimo, ali je njegova vsebina
resnična ali neresnična.
Vsi smiselni stavki, ki trdijo isto, določajo izjavo.
Primeri smiselnih izjav:
1. Enakostranični trikotniki imajo enaki stranici.
2. Ptiči imajo krila.
3. Danes je sončno.
4. Kvadrat je pravokotnik.
Primeri nesmiselnih izjav:
1. Zapri vrata!
2. Je zunaj mrzlo?
3. Vrednost x je večja od 2.
186
Izjave z logičnimi povezavami sestavljamo v nove izjave. Najbolj pogosto
uporabljamo naslednje povezave:
negacija ¯ ali ¬,
disjunkcija + ali ∨,
konjunkcija · ali ∧,
implikacija ⇒ ali ⊃,
ekvivalencija ≡ ali ⇔.
Resničnost delnih izjav bolj ali manj vpliva na resničnost sestavljene izjave.
Resničnost sestavljenih izjav lahko razberemo iz pravilnostne tabele.
(1 pomeni resničnost, 0 pa neresničnost izjave).
A
1
0
A
1
1
0
0
B
1
0
1
0
A∨B
1
1
1
0
¬ A
0
1
A∧B
1
0
0
0
A⇒B
1
0
1
1
A⇔B
1
0
0
1
187
• Če izjavi A in B povežemo z veznikom ”ali”, dobimo disjunkcijo: A ∨B.
Iz tabele vidimo, da je disjunkcija resnična takrat, kadar je resnična
ali prva ali druga ali pa obe izjavi, torej vsaj ena od obeh izjav.
• Če izjavi A in B povežemo z veznikom ”in”, dobimo konjunkcijo: A∧B.
Iz tabele vidimo, da je konjunkcija resnična takrat, kadar sta oba člena
resnični izjavi.
• Iz izjave A sledi izjava B: A ⇒ B, če lahko iz resničnosti A sklepamo
na resničnost B. Izjava A ⇒ B (beri: ”če A, potem B”) se imenuje
implikacija.
(Če A ni resničen, potem je resničnost ali neresničnost B ne vpliva na
pravilnost implikacije)
Zgled: Telo miruje ⇒ Vsota vseh na telo delujočih sil je nič
V implikaciji A ⇒ B je A predpostavka (premisa, hipoteza, antecedens), B je posledica (zaključek, konsekvens).
• Izjavi A in B sta ekvivalentni (ali: ekvivalenca A ⇔ B je resnična), če
sta A in B vselej hkrati resnični ali hkrati lažni (glej tabelo). (A ⇔ B
beri: ”A,če in samo če B”).
Zgled: Produkt števil a in b je pozitiven ⇔ Števili a in b sta enako
predznačeni.
• Izjavi, ki je vedno resnična ne glede na naravo delnih izjav, rečemo
tavtologija.
Zgled: Vrane so črne ali niso črne.
• Izjavi, ki je vedno neresnična ne glede na naravo delnih izjav, rečemo
kontradikcija.
Zgled: Miha je poročen z Marijo in Marija ni poročena z Mihom.
188
Primer: Dokaži, da je ekvivalenca: ¬A ∨ B ⇔ A ⇒ B.
A
1
1
0
0
B
1
0
1
0
¬A
0
0
1
1
¬A ∨ B
1
0
1
1
A⇒B
1
0
1
1
V tabeli je stolpec ¬A ∨ B identičen stolpcu za A ⇒ B.
Logično sklepanje
Sklepanje omogoča nadomestiti dve izjavi (premisi) z eno samo izjavo
(sklep).
Pravila sklepanja:
1. Konjunkcija:
Premisa 1: A
Sklep: A ∧ B
Premisa 2: B
189
2. Modus ponens (pogojna eliminacija):
Premisa 1: A
Premisa 2: A ⇒ B
Sklep: B
3. Resolucija:
Premisa 1: A ∨ B
Premisa 2: A ∨ ¬B
Sklep: A
Opazimo, da v primeru da sta obe premisi pravilni, je tudi sklep pravilen.
Dokazovanje pravilnosti sklepov z resolucijo je priljubljeno v UI, ker številni
jeziki UI (npr. Prolog), za dokazovanje dopuščajo le povezavi ∨, ∧ ter ¬.
A
1
1
0
0
B
1
0
1
0
¬B
0
1
0
1
A∨B
1
1
1
0
A ∨ ¬B
1
1
0
1
(A ∨ B) ∧ (A ∨ ¬B)
1
1
0
0
190
Vprašanja
• Kaj so izjave?
• Podajte primere smiselnih izjav izjavnega računa.
• S katerimi logičnimi povezavami sestavljamo izjave?
• Kateri izjavi pravimo tavtologija in kateri kontradikcija?
• Kaj omogoča logično sklepanje?
• Navedite tri glavna pravila sklepanja.
PREDIKATNI RAČUN
Izjavo x je večji od 2 lahko obravnavamo s predikatnim računom, ne pa z
izjavnim računom, kjer je v izjavnem računu potrebno eksplicitno navesti,
za katero število x velja izjava.
V izjavnem računu obravnavamo izjavo kot celoto in se ne menimo za
njeno notranjo zgradbo.
V naravnem jeziku je izjava sestavljena iz besed, ki so razporejene po
pravilih sintakse in katerih pomen določa sporočilo izjave. Besede, ki
označujejo kaj trdimo ali zanikamo v izjavi, imenujemo predikat in besede,
ki označujejo o čemer trdimo ali zanikamo, imenujemo objekt.
191
V predikatnem računu se izjava sestoji iz dveh delov: predikata in argumenta(ov).
Izjavo:
• Objekt a ima lastnost P . zapišemo P (a)
• Objekta a1, a2 sta v odnosu Q. zapišemo Q(a1, a2)
• Objekti a1, ..., an so v odnosu R. zapišemo R(a1, ..., an).
P imenujemo enomestni predikat, Q dvomestni predikat in R n-mestni
predikat.
Na primer:
• izjavo Jana je Slovenka. zapišemo kot
SLOVENKA(JANA)
• izjavo Peter je v sobi. zapišemo kot
V(PETER, SOBA)
• izjavo x je večji od y. zapišemo kot
VEČJI(x, y)
Predikata: SLOVENKA(JANA) in V(PETER, SOBA) vsebujeta konstante (JANA, PETER, SOBA), zato predstavljata logični izjavi, ki sta
lahko resnični ali neresnični.
192
V predikatu VEČJI(x, y) je vsebovano veliko izjav, ker sta x in y spremenljivki. Predikat VEČJI(x, y) je resničen, če zamenjamo x s številom
ki je večje od števila, s katerim smo zamenjali y. V nasprotnem pa je
neresničen.
Predikat je torej preslikava argumentov v RESNIČNO ali NERESNIČNO
OPOMBA: V predikatnem računu pišemo predikate in konstante z velikimi črkami, spremenljivke pa z malimi črkami.
Logične povezave
Predikatni račun uporablja iste logične povezave, kot izjavni račun. Uporaba logičnih povezav omogoča povezovanje osnovnih predikatov.
Na primer, spodnje izjave zapišemo kot:
• Peter živi v Ljubljani, v Sloveniji.
ŽIVI(PETER, LJUBLJANA) ∧ LEŽI (LJUBLJANA, SLOVENIJA)
• Peter je v sobi ali v kuhinji.
V(PETER, SOBA) ∨ V(PETER, KUHINJA)
• Če je lastnik avtomobila Peter, potem je avtomobil rdeč.
LASTNIK(PETER, AVTOMOBIL) ⇒BARVA(AVTOMOBIL, RDEČ)
• Če Peter ne bere knjigo, potem piše pismo.
BERE(PETER, KNJIGA) ⇒ PIŠE (PETER, PISMO)
193
Kvantifikator
Kvantifikator določa meje spremenljivk znotraj katerih je predikat, ki vsebuje spremenljivke, resničen oziroma neresničen.
V predikatnem računu uporabljamo dva kvantifikatorja:
• EKSISTENCIALNI ∃ (”obstaja”, ”eksistira”)
• UNIVERZALNI ∀ (”vsak”)
Če velja predikat P vsaj za en element x dane množice, potem to zapišemo
kot (∃x)P , kar preberemo Obstaja vsaj en x tako, da je P .
Na primer, stavek ”V kuhinji je nekaj na mizi.” zapišemo kot
(∃x)[V(x, KUHINJA) ∧ NA(x, MIZA)]
Trditev, da velja predikat P za vsak element x dane množice, zapišemo
kot (∀x)P , kar preberemo ”Vsak x ima lastnost P ”.
Na primer, stavek
”Če x ni enako y, potem je x večji ali manjši od y.” zapišemo kot
(∀x)(∀y)[ENAKO(x, y) ⇒VEČJI(x, y)∨MANJŠI(x, y)]
Če spremenljivke niso vezane s kvantifikatorji, so proste in jih lahko zamenjamo s katerimi koli konstantami.
194
Funkcije
n-mestna funkcija na področju predmetov in pojmov (krajše individumov)
P je vsako pravilo, ki priredi vsaki n-terki individumov področja P natanko
en individum (konstanto) tega področja.
y je funkcija spremenljivk x1, x2, ..., xn zapišemo kot:
y = f (x1, x2, ..., xn).
Zgled: Vzemimo funkcijo ene spremenljivke
y = u(x),
kjer je u UČITELJ. Vzemimo, da spremenljivko x lahko nadomestimo z
imenom kateregakoli učenca v razredu, v katerem je učitelj g. Janez.
Vzemimo, da sta Jana in Peter učenca v tem razredu. Če zamenjamo x
z JANA ali s PETER, bo v obeh primerih y= g. JANEZ.
(Vrednost predikata je RESNIČNO ali NERESNIČNO. Vrednost funkcije
je konstanta.)
Pravila sklepanja
V predikatnem računu uporabljamo ista pravila sklepanja kot v izjavnem
računu, to je: Konjunkcija, Modus ponens in Resolucija.
Na primer:
Premisa 1: RIBA(POSTRV)
Sklep: PLAVA(POSTRV)
Premisa 2: (∀x)[RIBA(x)⇒PLAVA(x)]
Iz stavkov: Postrv je riba. in Vsaka riba lahko plava.
sklepanja Modus ponens stavek (sklep) Postrv plava.
ustvari pravilo
Resničnost sklepov dokazujemo s pravilnostnimi tabelami ali s pomočjo
algoritma, ki temelji na uporabi pravila resolucije. Tovrstnem dokazovanju
pravimo ”Dokazovanje s protislovjem” ali ”Reduciranje do absurda”.
195
Oglejmo si kako dokažemo pravilnost sklepa Postrv plava. z algoritmom,
ki temelji na uporabi pravila resolucije.
a) Predpostavimo, da sklep ni pravilen
PLAVA(POSTRV)
b) Vse premise zapišemo v konjuktivni obliki (lahko so negirani le predikati, ne pa tudi njihove logične povezave; predikati so povezani le s
povezavo ” ali”) in jih razbijemo v klavzule (klavzula vsebuje predikate
in negirane predikate, ki so lahko povezani le s povezavo ”ali”).
Vse klavzule in negirani sklep iz koraka a) zapiši na ”seznam klavzul”.
V našem primeru je prva premisa: RIBA(POSTRV) že klavzula.
Drugo premiso: (∀x)[RIBA(x)⇒PLAVA(x) lahko
zapišemo kot: (∀x)[RIBA(x)∨PLAVA(x)]
(glej primer: A ∨ B ≡ A ⇒ B)
Ker je ta izraz resničen za vsak x, lahko zamenjamo x s POSTRV.
Dobimo: RIBA(P OST RV )∨PLAVA(P OST RV )
(Procesu zamenjave spremenljivk s konstantami pravimo unifikacija
(poenotenje).)
V našem primeru vsebuje ”seznam klavzul”:
PLAVA(POSTRV),
RIBA(POSTRV) in
RIBA(POSTRV) ∨ PLAVA(POSTRV).
196
c) Izberi s seznama klavzul iz koraka b) par klavzul tako, da vsebuje ena
klavzula predikat, ki je negiran v drugi klavzuli (npr. A ∨ B in A ∨ B).
Izbrani klavzuli briši s seznama klavzul.
V našem primeru izberemo par:
RIBA(POSTRV)
RIBA(POSTRV) ∨ PLAVA(POSTRV)
d) Uporabi izpeljano pravilo Modus ponens
Premisa 1: A
Sklep: B
Premisa 2: ¬A ∨ B
s premisami iz koraka c).
V našem primeru je sklep: PLAVA(POSTRV)
e) Klavzulo - sklep iz koraka d) postavi na seznam klavzul iz koraka b) in
ponavljaj koraka c) in d) dokler ne dobiš klavzule, ki je v kontradikciji
z negiranim sklepom iz koraka a).
Do kontradikcije (protislovja) pridemo, ko se klazuli v pravilu resolucije
izničita:
Premisa 1: A
Sklep: prazna klavzula
Premisa 2: ¬A
V našem primeru imamo na seznamu PLAVA(POSTRV), ki je kontradiktorna negiranemu sklepu PLAVA(POSTRV), zato:
Premisa 1: PLAVA(POSTRV)
Sklep: prazna klavzula
Premisa 2: PLAVA(POSTRV)
Sklep Postrv lahko plava. je torej resničen.
197
Zaključek
Najprej smo obravnavali izjavni račun. Nismo se menili za notranjo zgradbo
izjav, temveč le za povezave med njimi. Na vsa temeljna logična vprašanja, kot npr., kdaj je kakšna izjava logično resnična ali neresnična, ali, kako
ugotovimo logične posledice dane skupine izjav, lahko dobimo odgovor s
pomočjo pravilnostnih tabel.
Za razliko od izjavnega računa, kjer so atomarne izjave še neizoblikovane,
v predikatnem računu upoštevamo še notranjo zgradbo izjav. Vpeljali
smo področje individumov, ki mu pravimo svet pogovora; vpeljali smo
predikate, konstante, spremenljivke in dva kvantifikatorja.
Simbolični jezik, ki smo ga tako zgradili, imenujemo jezik prvega reda.
(V jezikih višjega reda so možni predikati, ki imajo za argumente spet
predikate, ali pa se kvantifikatorja ne nanašata samo na spremenljivke,
temveč tudi na funkcije in predikate.)
Jezik prvega reda je dovolj ”bogat”, da se v njem lahko izrazimo na različnih področjih.
PROLOG (PROgrammation en LOGique) sloni na ideji, da jezik prvega
reda uporabimo kot programski jezik.
198
Vprašanja
• V čem se predikatni račun razlikuje od izjavnega računa?
• Kako je določen predikat v predikatnem računu?
• Katere logične povezave uporablja predikatni račun?
• Katera dva kvantifikatorja pozna predikatni račun?
• V čem je razlika med funkcijo in predikatom?
• Katera pravila sklepanja uporablja predikatni račun?
• Kako dokazujemo resničnost sklepov?
199
Najnujnejše iz Prologa
• Računalniški programski jezik.
• Se razlikuje od običajnih postopkovnih jezikov.
• Programer prevaja opis problema iz naravnega jezika v formalno
definicijo problema.
• V prologu opisujemo problem (kaj je potrebno napraviti) v jeziku, ki
računalniku pove, kako naj reši zadano nalogo.
• Beseda prolog je kratica za "programming in logic,
torej programiranje v jeziku logike.
Program v postopkovnem jeziku je (po Wirthu):
Program = Algoritem + Podatkovne strukture
Program v prologu je (po Kowalskem):
Program = Logične izjave + Kontrola izvajanja
Osnova prologa je podmnožica predikatnega računa I. reda,
to so Hornovi stavki:
Če veljajo pogoj1 in pogoj2 in ... pogojn potem velja sklep.
200
V sintaksi prologa so stavki zapisani obratno:
Sklep velja, če veljajo pogoj1 in pogoj2 in ... pogojn.
Prologovi stavki so v resnici nekoliko posplošeni Hornovi stavki,
ker dovoljujejo tudi negirane pogoje.
Primer Hornovovega stavka v prologovi sintaksi:
sklep :pogoj1,
pogoj2,
...
pogojn.
• Temu stavku pravimo pravilo.
• Stavku brez pogojev pravimo dejstvo.
• Z dejstvi in pravili opisujemo relacije med objekti.
• Uporabnik v dialogu s prologovim tolmačem zapisuje dejstva in pravila in sprašuje o veljavnosti določenih trditev.
• Če trditev prologov tolmač izpelje iz danih pravil in dejstev,
potem trditev obvelja za resnično.
Primer programa, sestavljenega iz treh dejstev in enega pravila:
otrok(mojca,ana).
otrok(miha,ana).
otrok(ana,marija).
roditelj(X,Y) :otrok(Y,X).
201
Prologov tolmač se nam javi z:
?Preverjanje trditve s prologovim tolmačem:
1) Preverjanje dejstva:
?- otrok(ana,marija).
true
?- otrok(mojca,marija).
false
2) Preverjanje nepopolnega dejstva:
?- otrok(X,marija).
X = ana
true
?- otrok(miha,X).
X = ana
true
?- otrok(X,Y).
X = miha
Y = ana;
X = mojca
Y = ana;
X = ana
Y = marija;
false
202
Ali lahko računamo s prologom?
Primer Evklidovega algoritma iskanja največjega skupnega delitelja:
Programski jezik C:
int delitelj(int a, int b)
{
while(a != b)
if(a > b)
a -= b;
else
b -= a;
return a;
}
Programski jezik prolog:
delitelj(A,A,A).
delitelj(A,B,Delitelj) :A > B,
A1 is A - B,
delitelj(A1,B,Delitelj).
delitelj(A,B,Delitelj) :delitelj(B,A,Delitelj).
203
Preverjanje nepopolnih in popolnih dejstev:
?- delitelj(24,30,X).
X = 6
?- delitelj(24,30,6).
true
?- delitelj(24,30,5).
...
Druga različica Evklidovega algoritma v prologu:
delitelj(A,A,A).
delitelj(A,B,Delitelj) :A > B,
A1 is A - B,
delitelj(A1,B,Delitelj).
delitelj(A,B,Delitelj) :B > A,
B1 is B - A,
delitelj(B1,A,Delitelj).
2) Preverjanje nepopolnega dejstva:
?- delitelj(24,30,5).
false
204
Kakšna je sintaksa prologa?
• Prologovi stavki so zaključeni s piko.
• Sestavni del stavka je literal (sintaktični konstrukt za preproste izjave).
• Prologovi stavki so lahko dejstvo,pravilo,ukaz ali vprašanje.
1) Dejstvo sestavlja en sam pozitivni literal.
dezuje.
% Hja, dezuje!
otrok(miha,ana).
/* Miha je Anin otrok! */
enaka(X,X).
miha je modelar.
moc([],0).
sledenje_vkljuceno.
2) Pravilo sestavlja glava in telo, ločena z operatorjem.
glava :- telo.
neumen :- lep.
izlet :soncno,
avto.
premagal(X,Y) :predal(Y,X);
(tocke(X,Tx),
tocke(Y,Ty),
Tx > Ty).
Literalom v telesu pravila pravimo tudi cilji.
205
3) Ukaz je pravilo brez glave.
:- cilj1,cilj2;cilj3,cilj4.
:- consult(’moja.pl’).
:- write(’Dober dan!’).
:- start.
4) Vprašanje je v prologu podobno ukazu.
?- dezuje.
?- dezuje,izlet.
?- otrok(miha,ana).
?- otrok(miha,X).
?- otrok(X,Y).
?- star(miha,X), X > 10.
Pri vprašanju je le zamenjan operator :- z operatorjem ?-.
206
Literal, predikat in operator
• Literal sestavlja predikatni simbol in n argumentov v oklepaju, ločenih
z vejico.
• Predikatni simbol določa relacijo med objekti.
• Število argumentov (n ≥ 0) določa mestnost predikata.
• Predikatni simbol določa relacijo med objekti.
• Predikat je enolično določen z imenom predikata in mestnostjo.
V pravilu
premagal(X,Y) :predal(Y,X);
(tocke(X,Tx),
tocke(Y,Ty),
Tx > Ty)).
nastopajo predikati premagal/2, tocke/2 in >/2.
Predikat >/2 je operator, ki ga zaradi berljivosti pišemo med argumetoma.
Ime predikata mora biti atom, argumenti pa termi (izrazi).
207
Procedura
• Proceduro sestavljajo vsi stavki, ki določajo isti predikat.
Program
mama(ana,miha).
mama(ana,mojca).
mama(marija,ana).
stara_mama(X,Y) :mama(X,Z),
roditelj(Z,Y).
roditelj(X,Y) :mama(X,Y).
roditelj(X,Y) :oce(X,Y).
vsebuje tri procedure za predikate stara_mama/2, roditelj/2
in mama/2.
208
Izrazi
izrazi
enostavni izrazi
strukture
spremenljivke
konstante
atom
število
X, Rezultat, miha, x_13, 1, 213,
oseba(EMSO,
_x1, H_A
«–:
2.7, 3.14 ime(Ime,Priimek))
Atomi:
• Alfanumerični:
miha
• Posebni:
:-
• V narekovajih:
’Miha’
x_13
<–>
miha_hocevar
::–
’A = B + C’
Števila:
331, 7.5877
Spremenljivke:
X, _x13, O1, Ime_Priimek
Strukture:
funktor(arg1,arg2, ...
argn)
oseba(EMSO,ime(Ime,Priimek),datum(Dan,Mesec,Leto))
209
Operatorji
• Operatorji so funktorji eno ali dvomestnih struktur, zapisani
brez uporabe oklepajev.
• Enomestni operator stoji pred argumetom (prefiksno) ali
za argumetom (postfiksno).
• Dvomestni operator stoji med argumetoma (infiksno).
• Operatorji povečujejo preglednost programa.
Vnaprej določeni operatorji: +
-
=
/
*
+(+(*(5,*(X,X)),*(100,X)),/(10,+(X,1))))
5*X*X + 100*X + 10/(X+1)
Leva in desna asociativnost.:
Kateri operator veže argumente močneje.
a + b + c
(a + b) + c
Prioriteta.:
Moč vezave argumenta neodvisno od asociativnosti.
a + b * c
a + (b * c)
210
Spremenite v prologove stavke!
Sonja igra klavir.
igra(sonja,klavir).
Irena igra vse instrumente, ki imajo klaviaturo.
igra(irena,Instrument) :ima(Instrument,klaviatura).
Ali Igor igra kakšen instrument?
igra(Oseba) :instrument(Instrument),igra(Oseba,Instrument).
?-igra(igor).
Katere instrumente igra Igor?
?-igra(igor,Instrument).
Boris igra instrumente, ki jih igrata Mojca in Sonja.
igra(boris,Instrument) :instrument(Instrument),
igra(mojca,Instrument),
igra(sonja,Instrument).
Kdo zna igrati kitaro in harmoniko?
?-igra(Oseba,kitaro),igra(Oseba,harmoniko).
211
Spremenite v prologove stavke!
Boris igra vse instrumente, ki jih igrata Mojca ali Sonja.
igra(boris,Instrument) :instrument(Instrument),
(igra(mojca,Instrument);
igra(sonja,Instrument)).
Ali zna kdo igrati kitaro in harmoniko?
igra_kitaro_in_harmoniko :igra(Oseba,kitara),
igra(Oseba,harmonika).
?-igra_kitaro_in_harmoniko.
?-igra(_,kitara),igra(_,harmonika).
Znebite se dvoumnosti!
otrok(leo,lili).
otrok([leo,tea],lili).
otrok(lili,2).
otrok(leo,lili).
otroci([leo,tea],lili).
stevilo_otrok(lili,2).
% Leo je Lilin otrok.
% Leo in Tea sta Lilina otroka.
% Lili ima dva otroka.
% Leo je Lilin otrok.
% Leo in Tea sta Lilina otroka.
% Lili ima dva otroka.
212
Prevedite prologove stavke v naravni jezik!
ima_rad(’Ana’,’Niko’).
Ana ima rada Nika.
znak(==>,implikacija).
’==>’ je znak za logično implikacijo.
znak(&,konjunkcija).
’&’ je znak za logično konjunkcijo.
znak(V,disjunkcija).
Karkoli je znak za logično disjunkcijo.
znak(*,Zvezdica).
Zvezdica je znak za karkoli.
porabi(Ana,1000) :- dohodek(Ana,OD), OD > 1000.
Nekdo lahko porabi 1000, če ima dohodek večji kot 1000.
porabi(niko,_100) :- dohodek(niko,_200), _200 > _100.
Niko lahko porabi manj kot je njegova plača.
ima_rad(Ana,Niko).
Vsakdo ima rad vsakega.
213
Prevedite prologove stavke v naravni jezik!
?-ima_rad(Ana,Niko).
Kdo ima rad koga?
?-ima_rad(Ana,_).
Kdo ima rad nekoga?
?-ima_rad(_,_).
Ima kdorkoli rad kogarkoli?
?-not(ima_rad(Ana,’Niko’)).
Ali nima nihče rad Nika?
Izboljšajte berljivost prologovih stavkov!
stara_mama(X,Y) :- mama(X,Z),(mama(Z,Y);oce(Z,Y)).
stara_mama(Mama,Vnuk) :mama(Mama,Otrok),
roditelj(Otrok,Vnuk).
roditelj(Roditelj,Otrok) :mama(Roditelj,Otrok);
oce(Roditelj,Otrok).
214
Izboljšajte berljivost prologovih stavkov!
med(C,A,B) :- levo(A,C),desno(B,C);
levo(B,C),desno(A,C).
med(C,A,B) :levo(A,C),
desno(B,C).
med(C,B,A) :levo(A,C),
desno(B,C).
pot_domov(Pisarna,Dom) :- pes(Pisarna,Postaja1),
(vlak(Postaja1,Postaja2);bus(Postaja1,Postaja2)),
pes(Postaja2,Dom).
pot_domov(Pisarna,Dom) :pes(Pisarna,Postaja1),
prevoz(Postaja1,Postaja2),
pes(Postaja2,Dom).
prevoz(Postaja1,Postaja2) :vlak(Postaja1,Postaja2);
bus(Postaja1,Postaja2)).
215
Seznami
• Seznam je posebna struktura v obliki urejene množice elementov.
• Vrstni red elementov je pomemben.
• Seznam je zgrajen iz glave in repa.
• Glava je prvi seznam elementa.
• Rep je nujno seznam in to seznam brez prvega elementa.
[obj1,obj2, ... objn]
% Osnovni zapis
[obj1 | [obj2, ... objn]]
% Z loceno glavo in repom
[]
% Prazen seznam
[o1, o2, o3 | [o4, ... on]]
% Posplosena uporaba oznake |
Primeri seznamov, razbitih na glavo in rep.
[tine,tone,metka]
[1,2,3,5|X]
[X|Y]
[f(mesto,[1,2,3])]
[tine
[1
[X
[f(mesto,[1,2,3])
|
|
|
|
[tone,metka]]
[2,3,5|X]]
Y]
[]]
Razbijanje seznama na glavo in rep.
[obj1,obj2, ... objn] = [Glava|Rep].
216
Seznami
Posplošena uporaba oznake | pri zapisu seznamov
[a,b,c] = [a|[b,c]] = [a|[b|[c]]] = [a|[b|[c|[]]]]
[a,b,c] = [a,b|[c]] = [a,b,c,[]] = [a|[b,c|[]]]
Razbijte sezname na glavo in rep!
[a,b,c] = [G|R].
G = a
R = [b, c]
[[a,b,c],e|[d,f]] = [[G|R1]|R2].
G = a
R1 = [b, c]
R2 = [e, d, f]
[] = [G|R].
false
[X,[Y]] = [G|R].
X = G
R = [[Y]]
217
Nizi
• Nizi so seznami pozitivnih celih števil.
• Pozitivna cela števila ustrezajo ASCII kodnim znakom.
Prolog ne dela razlike med zapisoma
"Prolog"
[80,114,111,108,111,103]
Procedura name(Atom,Seznam) omogoča pretvorbo atoma v seznam ASCII
kodnih znakov!
?- name(’Uvod v prolog’,S).
S = [85,118,111,100,32,118,32,112,114,111,108,111,103]
?- name(A,"Uvod v prolog").
A = ’Uvod v Prolog’
?- name(A,[112,114,111,108,111,103]).
A = prolog
% Brez presledka brez enojnih navednic
218
Konstruktor
• Konstruktor =.. je operator , ki omogoča sestavljanje
poljubnih struktur.
• Glava seznama postane funktor strukture z argumenti v repu seznama.
?- X =.. [glava,o2,o3,o4].
X = glava(o2, o3, o4)
% Operator =.. mora
% biti zapisan brez presledka
?- funktor(o1,o2,o3) =.. X.
X = [funktor,o1,o2,o3]
Primeri uporabe konstruktorja:
?- med(a,b,c) =.. X.
X = [med,a,b,c]
?- X =.. [a].
X = a
?- X =.. [naslov,kajuhova,5],
Y =.. [oseba,tone,X].
X = naslov(kujuhova,5)
Y = oseba(tone,naslov(kujuhova,5))
219
Prilagajanje
• Uporaba pri izpeljevanju cilja iz vprašanja.
• Iskanje stavka, katerega sklepni del "ustreza" cilju iz vprašanja.
• Glava stavka ustreza cilju, če se mu lahko prilagodi.
• Prilagajanje je operacija izenačitve dveh izrazov.
– Dve konstanti se prilagodita, če sta identični.
– Dve strukturi se prilagodita, če imata isti funktor in če se lahko
vsi argumenti med seboj paroma prilagodijo.
– Neopredeljena spremenljivka se lahko prilagodi čemurkoli.
– Po prileganju postane spremenljivka opredeljena in njena vrednost je identična prilagojenemu izrazu.
– Dve neopredeljeni spremenljivki postaneta po prileganju identični.
Operator = je operator, ki izvede prilagoditev dveh izrazov.
?- X = 1 + 2.
X = 1 + 2
?- X + Y = 1 + 2.
X = 1
Y = 2
% +(X,Y) = +(1,2).
?- f(X) = f(g(1)).
X = g(1)
?- X = f(X).
X = f(f(f(f(f(f(f(f( ....
% Neskon\c na zanka!
220
Kako se prilagodijo naslednji izrazi?
?- datum(D,M,1997) = datum(D1,maj,Y1).
D = D1
M = maj
Y1 = 1997
?- trikot(t(1,1),A,t(2,3)) = trikot(X,t(4,Y),t(2,Y)).
Y = 3
X = t(1, 1)
A = t(4, 3)
?- X = [a,b,c].
X = [a,b,c].
?- [a,b|X] = [a,b,c].
X = [c]
% Ker [a,b,c] = [a,b|[c]].
?- [X|[Y]] = [a,b,c].
false
% Ker [a,b,c] = [a|[b,c]] in Y != b,c
?- [X,Y] = [a,[b,c]].
X = a
Y = [b,c]
?- [X|Y] = [a].
X = a
Y = []
% Ker [a] = [a|[]]
?- [2|X] = X.
X = [2,2,2,2,2, ...
% Ker X = [2|[2|[2 ...
221
Aritmetika
• Operator = je operator, ki izvede le prilagoditev (unifikacijo) dveh
izrazov (!).
• Operator is je procedura, ki omogoča izračun aritmetičnega izraza.
• V aritmetičnem izrazu lahko nastopajo vsa števila in vgrajeni operatorji.
– to so operatorji +,-,*,/,div in mod.
• V aritmetičnem izrazu lahko nastopajo vgrajene matematične funkcije.
– od različice prologa: sin(Stevilo),log(Stevilo), ...
?- X = 1 + 2.
X = 1 + 2
?- X is 1 + 2.
X = 3
?- 3 = 1 + 2.
false
?- 3 is 1 + 2.
true
?- X = 1 + 2, Y is 3*X.
X = 1 + 2
Y = 9
222
Primerjanje aritmetičnih izrazov
Poleg procedure is poznamo še procedure za primerjanje vrednosti aritmetičnih izrazov.
operator
>
<
>=
=<
=:=
=/=
pomen
večji kot
manjši kot
večji ali enak
manjši ali enak
enaka vrednost
različna vrednost
Operator =:= moramo ločiti od operatorja ==, ki služi primerjanju nearitmetičnih izrazov.
?- 2*3 = 7-1.
false
% Ker se *(2,3) in -(7,1) ne prilegata!
?- 2*3 is 7-1.
false
% Ker se *(2,3) in 6 ne prilegata!
?- 6 is 7-1.
true
% Ker sta 6 in 6 identicna!
?- 2*3 =:= 7-1.
true
% Ker sta 6 in 6 enaki vrednosti!
?- 2*3 >= 7-1.
true
% Ker je 6 vecje ali enako 6!
223
Kakšen bo odgovor na naslednja vprašanja?
?- X is 17 * 3 - 5 + log(1.0).
X = 46
?- 5 is X - 2.
[WARNING: Unbound variable in arithmetic expression]
?- 15 is 3 * 5.
true
?- X = 1 + 2.
X = 1 + 2
?- X == 1 + 2.
false % To je splosno primerjanje izrazov
?- X =:= 1 + 2.
false % Ker je X neopredeljen
?- X = 1 + 2, 1 + 2 * 3 = X * 3.
false % Ker je X * 3 = (1 + 2) * 3
?- X = 5 + 3, Y is 2 * X.
X = 5 + 3
Y = 16
?- X =
Z
Y
X
a
=
=
=
+
c
b
a
Y, Y = b + Z, Z = c + d.
+ d
+ (c + d)
+ (b + (c + d))
224
Leksikalni doseg spremenljivk in stavkov
Tolmačenje spremenljivk in procedur v različnih delih programa.
• Vse procedure so globalne.
• Vrstni red zapisa procedur ni pomemben,
pomemben pa je vrstni red zapisa stavkov v proceduri.
• Vse spremenljivke so lokalne v stavku.
• Prolog ne pozna globalnih spremenljivk.
• Posebej se obravnava anonimna spremenljivka _.
• Anonimna spremenljivka je lokalna sama sebi.
naslov(Ime,Naslov) :oseba(Ime,_,_,Naslov).
?- otrok(_,miha).
% Ali ima miha otroka?
?- otrok(_,_).
% Ali ima kdo otroka?
?- igra(_,kitara),igra(_,harmonika).
% Ali igra kdo kitaro in kdo harmoniko?
225
Pravila izvajanja prologovega tolmača
program
❄
seznam ciljev
✲
✲
uspeh/neuspeh
✲
vrednosti spremenljivk
tolmač
• Uspešna izpolnitev seznama ciljev vsebuje tudi vrednosti
spremenljivk iz vprašanja, ki so se uspešno prilagodile.
• Vrednost anonimnih spremenljivk tolmač ne izpisuje.
• Tolmač izpolnjuje seznam ciljev v vprašanju pri danem programu
po posebnih pravilih.
226
Pravila izvajanja prologovega tolmača
1. Cilje tolmač izpolnjuje od leve proti desni.
2. Cilje izpolni tako da:
(a) poišče prvi stavek (od zgoraj navzdol),
katerega glava se lahko prilagodi cilju;
(b) iz stavka naredi različico stavka s preimenovanjem
vseh spremenljivk v stavku, da prilagoditev ne bi
spremenila programa;
(c) cilj prilagodi glavi te različice stavka, telo opredeljene
različice stavka pa postavi na začetek seznama ciljev.
3. Če cilj ne uspe se tolmač vrača do prejšnjega cilja, ki ga je že prilagodil, ter ga poskuša ponovno prilagoditi v skladu s prejšnjo točko,
la da preiskuje naprej od stavka, katerega glavi se je cilje prej prilagodil.
4. Če ne uspe prilagoditi prvega cilja, potem izpolnitev seznama ciljev
ni uspela. Če seznam ciljev postane prazen, pa je izponitev uspela.
Če prologov tolmač ne izvrši četrte točke,
pride do zaciklanja.
delaj :- delaj.
% Program!
?- delaj.
% Vprasanje, ki zacikla tolmaca
227
Primer izvajanja prologovega tolmača
p(1) :- p(2),p(3).
p(2) :- p(4).
p(4).
%%%%%%%%%%%%%%%%%%%%%%%%
% Program (procedura)! %
%%%%%%%%%%%%%%%%%%%%%%%%
?- consult(’program.pl’)
% Nalaganje programa
?- p(X),X>2.
% Vprasanje.
p(X),X>2
✯
✟
✟ ✟
✟
✟✟
✟
✟
✟✟
✟
✟
✟
✟ ✟
✟ ✟
✙ ✟
✟
X=1
p(2),p(3),1>2
✻
❄
p(4),p(3),1>2
✻
❄
p(3),1>2
✻
X=2
✻
❄
PP
PP
PP
PP
PP
q
p(4),2>2
X=4
4>2
✻
❄
2>2
✻
❄
Yes
❄
No
❄
No
228
Sledenje izvajanja prologovih programov
• Iskanje napak v programu je olajšano zaradi možnosti
kontrole izvajanja (trace, spy(procedura,st_argumentov).
• Sintaktične napake odkrije tolmač , paziti pa moramo
na tipkarske napake.
• Hude so semantične napake, ki so posledica nezadostnega
razumevanja reševanega problema.
klic
izhod ✛
✲
✲
Procedura
✛
neuspeh
ponovni klic
V prologovem tolmaču so zgornji izrazi dejansko:
call, exit/done, redo, fail.
229
Primer sledenja izvajanja prologovih programov
otrok(miha,ana).
otrok(lili,ana).
roditelj(X,Y) :- otrok(Y,X).
?- spy(roditelj/2),trace,roditelj(ana,X).
* Call:
roditelj(ana, G1248) ?
Call:
otrok(G1248, ana) ?
Exit:
otrok(miha, ana) ?
* Exit:
roditelj(ana, miha) ?
X = miha ;
Redo:
otrok(G1248, ana) ?
Exit:
otrok(lili, ana) ?
* Exit:
roditelj(ana, lili) ?
X = lili ;
No
?- spy(roditelj/2),trace,roditelj(joze,X).
* Call:
roditelj(joze, G1272) ?
Call:
otrok(G1272, joze) ?
Fail:
otrok(G1272, joze) ?
* Redo:
roditelj(joze, G1272) ?
* Fail:
roditelj(joze, G1272) ?
No
230
Osnovni principi programiranja v prologu
Rekurzija
• Definicija pojma pri spodnji meji vrednosti rekurzijske
spremenljivke (robni pogoj) z uporabo le znanih pojmov.
• Definicija pojma pri neki vrednosti rekurzijske spremenljivke
z uporabo znanih pojmov in uporabo pojma samega pri manjši
vrednosti rekurzijske spremenljivke.
fak(0,1).
fak(N,F) :N > 0,
N1 is N - 1,
fak(N1,F1),
F is N*F1.
%%%%%%%%%%%%%%%%%%%%%%%%%
% Racunanje faktoriele! %
%%%%%%%%%%%%%%%%%%%%%%%%%
?- fak(2,F).
% fak(+N,-F)/2
otrok(lili,ana).
otrok(miha,lili).
otrok(sonja,lili).
naslednik(Nas,Pred) :otrok(Pred,Nas).
naslednik(Nas,Pred) :otrok(Vmes,Pred),
naslednik(Nas,Vmes).
%%%%%%%%%%%%%%%%%%%%%%%
% Relacija naslednik! %
%%%%%%%%%%%%%%%%%%%%%%%
?- naslednik(X,ana).
231
Interaktivna rekurzija
delaj :write(’Vas ukaz: ’),
read(Ukaz),
(Ukaz = konec;
izvrsi(Ukaz), delaj).
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
delaj :write(’Vas ukaz: ’),
read(Ukaz),
odloci(Ukaz).
odloci(konec).
odloci(Ukaz) :izvrsi(Ukaz),
delaj.
izvrsi(Ukaz) :write(’Vtipkali ste: ’),
write(Ukaz),
name(NL,[10]),
write(NL).
232
Rekurzija in seznami
% Definicija brisi(+Element,+Seznam1,-Seznam2).
% Procedura brisi/3 izbrise element iz seznama.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
brisi(_,[],[]).
brisi(E,[E|Rep],Rep).
brisi(E,[G|Rep],[G|Rep1]) :brisi(E,Rep,Rep1).
?- brisi(1,[0,1,2],S).
% Definicija procedure element(?Element,+Seznam).
% Procedura element/2 preveri prisotnost elementa v seznamu.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
element(X,[X|_]).
element(X,[_|Rep]) :element(X,Rep).
?- element(1,[0,1,2]).
% Definicija procedura ni_element(?Element,+Seznam).
% Procedura ni_element/2 preveri odsotnost elementa v seznamu.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ni_element(_,[]).
ni_element(X,[G|Rep]) :X \== G,
ni_element(X,Rep).
?- ni_element(4,[0,1,2]).
233
Rekurzija in seznami
% Definicija stik(?Seznam1,?Seznam2,?Seznam3).
% Procedura stik/3 zdruzi dva seznama v nov seznam.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
stik(_,Seznam,Seznam).
stik([G|R],Seznam,[G|R1]) :stik(R,Seznam,R1).
% Procedura stik/3 tudi razstavlja sezname
?- stik(S1,S2,[a,b,c]).
S1 = []
S2 = [a,b,c];
S1 = [a]
S2 = [b,c];
...
% In isce podsezname
podseznam(P,S) :- stik(_,S1,S),stik(P,_,S1).
?- podseznam(P,[a,b,c]).
P = [];
P = [a];
P = [a,b];
P = [a,b,c];
P = [];
P = [b];
P = [b,c];
...
234
Transformacije vseh elementov seznama
kvadriraj([],[]).
kvadriraj([G|Rep],[KvG|KvRep]) :KvG is G*G,
kvadriraj(Rep,KvRep).
transformiraj([],_,[]).
transformiraj([G|Rep],Operacija,[Gt|Rept]) :Transformacija =.. [Operacija,G,Gt],
call(Transformacija),
transformiraj(Rep,Operacija,Rept).
kv(X,X*X).
kvadrat(X,KvX) :- KvX is X*X.
mod3(X,M) :- M is X mod 3.
?-transformiraj([1,2,3,4,5,6],kv,X).
X = [1 * 1,2 * 2,3 * 3,4 * 4,5 * 5,6 * 6]
?-transformiraj([1,2,3,4,5,6],kvadrat,X).
X = [1,4,9,16,25,36]
?-transformiraj([1,2,3,4,5,6],mod3,X).
X = [1,2,0,1,2,0]
235
Kontrola avtomatskega vračanja
• Kontrolo izvajamo s pomočjo vgrajene procedure rez - !.
• Prvi klic reza vedno uspe, vsi nadaljnji klici pa ne.
• ! prepreči večkratno izpolnitev cilja v glavi stavka.
% Definicija procedure element(?Element,+Seznam).
% Procedura element/2 preveri prisotnost elementa v seznamu.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
element(X,[X|_]) :- !.
element(X,[_|Rep]) :element(X,Rep).
?- element(f(X),[f(1),f(2),f(3)]).
X = 1;
No
% Izvajanje s prekinitvijo avtomatskega vracanja
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
a.
p
p
b
b
e.
::::-
d.
g.
a,b,c.
d.
e,!,f.
g.
?- p.
236
Večsmernost procedur
• Na vhodu konstante, izhod je odgovor ’da’ ali ’ne’.
• Na vhodu nekaj konstant, na izhodu prilagojene preostale spremenljivke.
• Na vhodu spremenljivke, na izhodu prilagojene spremenljivke.
• Procedura is je strogo enosmerna.
• Rez ! pokvari večsmernost.
• Večsmernost je včasih nezaželena.
element(X,[X|_]).
element(X,[_|Rep]) :element(X,Rep).
?- element(a,[b,c,X,d]).
X = a
strogi_element(X,[X1|_]) :X == X1.
strogi_element(X,[_|Rep]) :strogi_element(X,Rep).
?- element(a,[b,c,X,d]).
No.
237
Proceduri assert in retract
• Procedura assert(S) doda stavek S k programu.
• Moramo paziti na prioriteto operatorja :-.
• Procedura retract(S) izloči stavek S iz programa.
• Če S vsebuje spremenljivke se izloči prvi prilagojeni stavek.
?- assert((lepo :- soncno)), assert(soncno).
Yes
?- lepo.
Yes
?- retract(otrok(ana,X)).
X = miha;
No
%
% Uporaba za globalne spremenljivke
%
spremeni(Ime,X) :retract(spremenljivka(Ime,_)),
assert(spremenljivka(Ime,X)).
238
Procedure findall, bagof in setof
• Procedure poiščejo urejen seznam vseh vrednosti,
ki izpolnjujejo cilj iz vprašanja.
otrok(joze,ana). otrok(miha,ana).
otrok(lili,ana). otrok(lili,andrej).
?- findall(X,otrok(X,ana),S).
S = [joze,miha,lili]
?- setof(X,otrok(X,ana),S).
S = [joze,lili,miha]
?- findall(X,otrok(X,Y),S).
S = [joze,miha,lili,lili]
?- bagof(X,otrok(X,Y),S).
S = [joze,miha,lili]
Y = ana;
S = [lili]
Y = andrej
239
Delo z vhodom, izhodom in datotekami
?????????????????-
consult(Datoteka).
reconsult(Datoteka). % Ni vgrajena v SWI!!!
see(Datoteka).
% Odprtje in prenos vhoda na datoteko
see(user).
% Prenos vhoda na uporabnika
seen.
% Zaprtje in prenos na uporabnika
seeing(X).
% Info. o trenutnem vhodu
tell(Datoteka). % Odprtje in prenos izhoda na datoteko
tell(user).
% Prenos izhoda na uporabnika
told.
% Zaprtje in prenos na uporabnika
telling(X).
% Info. o trenutnem izhodu
open/4.
% Odprtje datoteke - toka.
close(Datoteka). % Zaprtje datoteke - toka
get0(C).
% Prilagoditev C znaku na vhodu.
get(C).
% Prilagoditev C vidnemu znaku na vhodu.
put(C).
% Izpis znaka na izhod.
read(I).
% Prilagoditev I izrazu na vhodu.
write(I).
% Izpis izraza na izhod.
izpisi_znak(Dat) :see(Dat),
get0(Znak),
put(Znak),
see(user).
240
Delo z vhodom, izhodom in datotekami
vpisi_znak(Dat) :get0(Znak),
tell(Dat),
put(Znak),
tell(user).
procesiraj(Dat) :seeing(OldStream),
see(Dat),
repeat,
% Repeat procedura !
read(T),
process(T),
T == end_of_file,
!, % Sicer ga avtomatsko vracanje zaznka.
seen,
see(OldStream).
daj_roditelja :write(’Cigavega otroka zelis?’),
read(Otrok),
roditelj(Roditelj,Otrok),
write(’Roditelj od ’,write(Otrok),
write(’ je ’,write(Roditelj),
write(’!’),nl.
241
Viri?
• Prolog Programming for Artificial Intelligence (4th Edition)(Bratko,
2011).
• Naloge iz programiranja v Prologu z rešitvami (Kononenko, 1997).
• http://www.swi-prolog.org/Links.html
242
Vprašanja:
• V čem se Prolog razlikuje od postopkovnih programskih jezikov?
• Podajte primer Hornovovega stavka v Prologovi sintaksi.
• Opišite ključne značilnosti sintakse programskega jezika Prolog.
• Kaj določa proceduro v Prologu?
• Spremenite primer izjave v naravnem jeziku v Prologov stavek in
obratno.
• Pojasnite razliko med seznami in nizi v Prologu?
• Pojasnite pomen "prilagajanja" v Prologu.
• Kakšen je leksikalni doseg spremenljivk in stavkov v Prologu?
• Pojasnite pravilo izvajanja/sklepanja Prologovega tolmača.
• Kako se v Prologu določi rekurzijo?
• S čim izvajamo kontrolo vračanja pri izvajanju procedur?
• S katero proceduro programsko dodajamo ali odstranjujemo stavke
v Prologu?
243
Najnujnejˇ
se o konˇ
cnih neizrazitih
mnoˇ
zicah in neizraziti logiki
c
Avtorske pravice pridrˇ
zane 2013
- Univerza v Ljubljani, Fakulteta za elektrotehniko
Vsebina
Uvod v neizrazite (angl. fuzzy) mnoˇ
zice
Neizraziti jezikovni izrazi
Neizrazita pogojna trditev
Zgled neizrazitega loginega sklepanja
Vpraˇ
sanja
244
Teorija neizrazitih mnoˇ
zic (angl. fuzzy set theory) obravnava s strogim matematiˇ
cnim jezikom nenatanˇ
cno opisane pojme in pojave.
ˇe
Navadno mnoˇ
zico sestavljajo objekti, ki zadoˇ
sˇ
cajo nekemu predikatu. C
predikat za nek objekt drˇ
zi, je objekt element mnoˇ
zice, sicer pa ni.
ˇ je X konˇ
Definicija 1 Ce
cna osnovna/univerzalna mnoˇ
zica elementov x,
potem je navadna mnoˇ
zica A v X mnoˇ
zica urejenih parov:
A = {(x, ψA(x))},
∀x ∈ X,
kjer je ψA(x) ∈ {0, 1} dvovrednostna funkcija (enomestni predikat):
ψA(x) =
1, ˇ
ce x ∈ A
0, ˇ
ce x ∈ A.
Navadno mnoˇ
zico pogosto piˇ
semo krajˇ
se:
A = {x},
kjer so v mnoˇ
zici A le tisti x, za katere je ψA(x) = 1.
Neizrazito mnoˇ
zico v osnovni mnoˇ
zici elementov dobimo, ˇ
ce namesto predikata vpeljemo pripadnostno funkcijo, ki za vsak element osnovne mnoˇ
zice
zavzame vrednost med 0 in 1. Ta funkcija izraˇ
za stopnjo pripadnosti elementa v neizraziti mnoˇ
zici. Le-ta je veˇ
cja, ˇ
ce je vrednost pripadnostne
funkcije bliˇ
zje vrednosti 1.
ˇ je X osnovna mnoˇ
Definicija 2 Ce
zica elementov x, potem je neizrazita
mnoˇ
zica A v X mnoˇ
zica urejenih parov:
A = {(x, μA(x))},
∀x ∈ X,
kjer je μA(x) ∈ [0, 1] stopnja pripadnosti elementa x v neizraziti mnoˇ
zici A.
Neizrazito mnoˇ
zico lahko bolj pregledno zapiˇ
semo kot:
A=
μA(x)
.
x
∀x∈X
245
Zgled 1 Naj bo osnovna mnoˇ
zica:
X = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.
Praˇ
stevila v mnoˇ
zici X so enoliˇ
cno doloˇ
cena, zato je mnoˇ
zica praˇ
stevil A v
mnoˇ
zici X navadna mnoˇ
zica:
A = {(1,0), (2,1), (3,1), (4,0), (5,1), (6,0), (7,1), (8,0), (9,0), (10,0)}
oziroma krajˇ
se:
A = {2, 3, 5, 7}.
c
Majhna ˇ
stevila v mnoˇ
zici X niso enoliˇ
cno doloˇ
cena. Ker lahko definiramo veˇ
razliˇ
cnih navadnih mnoˇ
zic majhnih ˇ
stevil v osnovni mnoˇ
zici, je bolj primerno,
ˇ
ce majhna ˇ
stevila v X zapiˇ
semo z neizrazito mnoˇ
zico na primer kot:
A = {(1,1), (2,1), (3,0.9), (4,0.7), (5,0.4), (6,0.2), (7,0), (8,0), (9,0), (10,0)}
ali bolj pregledno:
A=
1 1 0.9 0.7 0.4 0.2 0 0 0 0
.
, ,
,
,
,
, , , ,
1 2 3
4
5
6 7 8 9 10
Definicija 3 Moˇ
c (kardinalnost) konˇ
cne neizrazite mnoˇ
zice A v X je:
card(A) =
μA(x),
x∈X
relativna moˇ
c pa:
rcard(A) =
card(A)
.
card(X)
Definicija 4 Neizrazita mnoˇ
zica A v X je normirana, ˇ
ce velja:
μA(x) = 1,
za vsaj en x ∈ X.
Definicija 5 Rez α neizrazite mnoˇ
zice A v X je navadna mnoˇ
zica vseh tistih
x ∈ X, za katere je:
μA(x) ≥ α,
kjer je α realno ˇ
stevilo med 0 in 1.
246
Definicija 6 Strogi rez α neizrazite mnoˇ
zice A v X je navadna mnoˇ
zica
vseh tistih x ∈ X, za katere je:
μA(x) > α,
kjer je α realno ˇ
stevilo med 0 in 1.
Definicija 7 Jedro neizrazite mnoˇ
zice A v X je navadna mnoˇ
zica vseh tistih
x ∈ X, za katere je:
μA(x) = 1.
Jedro neizrazite mnoˇ
zice A je torej njen rez pri vrednosti α = 1.
Definicija 8 Nosilec neizrazite mnoˇ
zice A v X je navadna mnoˇ
zica vseh
tistih x ∈ X, za katere je:
μA(x) > 0.
Nosilec neizrazite mnoˇ
zice A je torej njen strogi rez pri vrednosti α = 0.
Definicija 9 Izrazita vrednost (angl. crisp value) je neizrazita mnoˇ
zica, ki
ima nosilec s samo enim elementom.
Znanih je veˇ
c postopkov pridobivanja izrazite vrednosti iz neizrazite mnoˇ
zice,
ki ima veˇ
c kot en element s stopnjo pripadnosti veˇ
cjo od niˇ
c. Najbolj pogosto
uporabimo naslednja postopka:
• Teˇ
ziˇ
sˇ
cni postopek
Vzemimo, da ima neizrazita mnoˇ
zica A v konˇ
cni osnovni mnoˇ
zici X
zice A je:
pripadnostno funkcijo μA(x). Izrazita vrednost x mnoˇ
card(X)
xiμA(xi)
.
x = i=1
card(X)
μA(xi)
i=1
• Postopek najveˇ
cje vrednosti
Vzemimo, da ima neizrazita mnoˇ
zica A v osnovni mnoˇ
zici X pripadnostno
funkcijo μA(x). Izrazita vrednost x neizrazite mnoˇ
zice A je element
ˇ e ima pripadnostna
mnoˇ
zice A z najveˇ
cjo stopnjo pripadnosti mnoˇ
zici. C
cjo vrednost pri veˇ
c razliˇ
cnih elementih, vzamemo, da
funkcija μA(x) najveˇ
zice A aritmetiˇ
cna srednja vrednost tistih x, pri
je izrazita vrednost x mnoˇ
cja.
katerih je pripadnostna funkcija μA(x) najveˇ
247
Zgled 2 Vzemimo, da je dana neizrazita mnoˇ
zica:
A = {(1, 1), (2, 1), (3, 0.9), (4, 0.7), (5, 0.4), (6, 0.2), (7, 0), (8, 0), (9, 0), (10, 0)
Izrazita vrednost neizrazite mnoˇ
zice A je:
• teˇ
ziˇ
sˇ
cni postopek:
x =
1 · 1 + 2 · 1 + 3 · 0.9 + 4 · 0.7 + 5 · 0.4 + 6 · 0.2
= 2.76.
1 + 1 + 0.9 + 0.7 + 0.4 + 0.2
• postopek najveˇ
cje vrednosti:
x = 1/2 (1 + 2) = 1.50.
Definicija 10 Neizrazita mnoˇ
zica A v X je izboˇ
cena/konveksna, ˇ
ce velja:
μA(λx1 + (1 − λ)x2) ≥ min{μA(x1), μA(x2)},
x1, x2 ∈ X, λ ∈ [0, 1].
Pripadnostna funkcija izboˇ
cene neizrazite mnoˇ
zice je nad definicijskim
obmoˇ
cjem X povsod izboˇ
cena.
Definicija 11 Komplement neizrazite mnoˇ
zice A v X je neizrazita mnoˇ
zica
A s pripadnostno funkcijo:
μA(x) = 1 − μA(x),
∀x ∈ X.
Velja: (A) = A.
Definicija 12 Zmnoˇ
zek neizrazite mnoˇ
zice A v X s ˇ
stevilom r je neizrazita
mnoˇ
zica s pripadnostno funkcijo:
μrA(x) = r · μA(x),
∀x ∈ X.
248
Definicija 13 m-ta potenca neizrazite mnoˇ
zice A v X je neizrazita mnoˇ
zica
s pripadnostno funkcijo:
μAm (x) = (μA(x))m,
∀x ∈ X, m pozitivno realno ˇ
stevilo.
Nad neizrazitimi mnoˇ
zicami A ⊆ X in B ⊆ X lahko definiramo:
Definicija 14 Neizraziti mnoˇ
zici A in B sta enaki (A = B), ˇ
ce je:
μA(x) = μB (x),
∀x ∈ X.
Definicija 15 Neizrazita mnoˇ
zica A je vsebovana (A ⊂ B) v neizraziti
mnoˇ
zici B, ˇ
ce je:
μA(x) ≤ μB (x),
∀x ∈ X.
Definicija 16 Algebrajski zmnoˇ
zek (A · B) neizrazitih mnoˇ
zic A in B je
neizrazita mnoˇ
zica s pripadnostno funkcijo:
μA·B (x) = μA(x) · μB (x),
∀x ∈ X.
Definicija 17 Algebrajsko povpreˇ
cje ( povp(A, B) ) neizrazitih mnoˇ
zic A in
B je neizrazita mnoˇ
zica s pripadnostno funkcijo:
μpovp(A,B)(x) =
1
[μA(x) + μB (x)],
2
∀x ∈ X.
Definicija 18 Presek (A∩B) neizrazitih mnoˇ
zic A in B je neizrazita mnoˇ
zica
s pripadnostno funkcijo:
μA∩B (x) = min{μA(x), μB (x)},
∀x ∈ X.
Definicija 19 Unija (A ∪ B) neizrazitih mnoˇ
zic A in B je neizrazita mnoˇ
zica
s pripadnostno funkcijo:
μA∪B (x) = max{μA(x), μB (x)},
∀x ∈ X.
Definicija 20 Operacija α (A α B) neizrazitih mnoˇ
zic A in B je neizrazita
mnoˇ
zica s pripadnostno funkcijo:
μAαB (x) =
za ∀x ∈ X.
1,
ˇ
ce μA(x) ≤ μB (x)
μB (x), ˇ
ce μA(x) > μB (x),
249
Zgled 3 Naj bo osnovna mnoˇ
zica:
X = {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.
Vzemimo, da sta v mnoˇ
zici X dve neizraziti mnoˇ
zici: neizrazita mnoˇ
zica
majhnih ˇ
stevil:
A = {(1, 1), (2, 1), (3, 0.9), (4, 0.7), (5, 0.4), (6, 0.2), (7, 0), (8, 0), (9, 0), (10, 0)}
in neizrazita mnoˇ
zica velikih ˇ
stevil:
B = {(1, 0), (2, 0), (3, 0), (4, 0), (5, 0.3), (6, 0.5), (7, 0.9), (8, 0.9), (9, 1), (10, 1)}.
• Algebrajski zmnoˇ
zek neizrazitih mnoˇ
zic A in B v X je neizrazita mnoˇ
zica:
C = {(1, 1 · 0), (2, 1 · 0), (3, 0.9 · 0), (4, 0.7 · 0), (5, 0.4 · 0.3), (6, 0.2 · 0.5),
(7, 0 · 0.9), (8, 0 · 0.9), (9, 0 · 1), (10, 0 · 1) }
oziroma:
C = {(1, 0), (2, 0), (3, 0), (4, 0), (5, 0.12), (6, 0.1), (7, 0), (8, 0), (9, 0), (10, 0)}.
• Algebrajsko povpreˇ
cje neizrazitih mnoˇ
zic A in B v X je neizrazita mnoˇ
zica:
1
1
1
1
(1, [1 + 0]), (2, [1 + 0]), (3, [0.9 + 0]), (4, [0.7 + 0]),
2
2
2
2
1
1
1
1
(5, [0.4 + 0.3]), (6, [0.2 + 0.5]), (7, [0 + 0.9]), (8, [0 + 0.9]),
2
2
2
2
1
1
(9, [0 + 1]), (10, [0 + 1]) }
2
2
oziroma:
D =
D = {(1, 0.5), (2, 0.5), (3, 0.45), (4, 0.35), (5, 0.35), (6, 0.35), (7, 0.45),
(8, 0.45), (9, 0.5), (10, 0.5) } .
• Presek neizrazitih mnoˇ
zic A in B v X je neizrazita mnoˇ
zica:
E = A ∩ B = {(1, min{1, 0}), (2, min{1, 0}), (3, min{0.9, 0}),
(4, min{0.7, 0}), (5, min{0.4, 0.3}), (6, min{0.2, 0.5}),
(7, min{0, 0.9}), (8, min{0, 0.9}), (9, min{0, 1}),
(10, min{0, 1}) }
oziroma:
E = {(1, 0), (2, 0), (3, 0), (4, 0), (5, 0.3), (6, 0.2), (7, 0), (8, 0), (9, 0), (10, 0)}.
250
• Unija neizrazitih mnoˇ
zic A in B v X je neizrazita mnoˇ
zica:
F = A ∪ B = {(1, max{1, 0}), (2, max{1, 0}), (3, max{0.9, 0}),
(4, max{0.7, 0}), (5, max{0.4, 0.3}), (6, max{0.2, 0.5}),
(7, max{0, 0.9}), (8, max{0, 0.9}), (9, max{0, 1}),
(10, max{0, 1}) }
oziroma:
F = {(1, 1), (2, 1), (3, 0.9), (4, 0.7), (5, 0.4), (6, 0.5), (7, 0.9), (8, 0.9), (9, 1),
(10, 1) } .
• Operacija α nad neizrazitimi mnoˇ
zicami A in B v X je neizrazita mnoˇ
zica:
G = A α B = {(1, 0), (2, 0), (3, 0), (4, 0), (5, 0.3), (6, 1), (7, 1), (8, 1), (9, 1),
(10, 1) } .
Zgled 4 Vzemimo, da sta dani neizraziti mnoˇ
zici A ⊆ X in B ⊆ Y :
A = {(0, 0), (1, 0.3), (2, 0.6), (3, 1), (4, 1), (5, 1), (6, 0.6), (7, 0.3), (8, 0), (9, 0)}
in
B = {(0, 0), (1, 0), (2, 0.3), (3, 0.6), (4, 1), (5, 1), (6, 1), (7, 0.6), (8, 0.3), (9, 0)}
cnih osnovnih mnoˇ
zicah X = Y = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.
v konˇ
C = A α B je neizrazita mnoˇ
zica s pripadnostno funkcijo μC (x, y):
⎡
⎤
1 1
1
1
1 1 1
1
1
1
⎢
⎥
⎢0 0
1
1
1 1 1
1
1
0⎥
⎢
⎥
⎢ 0 0 0.3
⎥
1
1
1
1
1
0.3
0
⎢
⎥
⎢
⎥
⎢ 0 0 0.3 0.6 1 1 1 0.6 0.3 0 ⎥
⎢
⎥
⎢
⎥
⎢ 0 0 0.3 0.6 1 1 1 0.6 0.3 0 ⎥
⎢
⎥.
μC (x, y) = ⎢
⎥
⎢ 0 0 0.3 0.6 1 1 1 0.6 0.3 0 ⎥
⎢
⎥
⎢ 0 0 0.3
1
1 1 1 0.6 0.3 0 ⎥
⎢
⎥
⎢
⎥
⎢0 0
⎥
1
1
1
1
1
1
1
0
⎢
⎥
⎢
⎥
1
1
1 1 1
1
1
1⎦
⎣1 1
1 1
1
1
1 1 1
1
1
1
251
Zgled 5 Vzemimo, da sta dani neizraziti mnoˇ
zici A ⊆ X in C ⊆ X × Y , kjer
sta X = Y = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} konˇ
cni osnovni mnoˇ
zici. Pripadnostni
funkciji μA(x) in μC (x, y) sta:
μA = {0, 0.3, 0.6, 1, 1, 1, 0.6, 0.3, 0, 0}
in
⎡
1
⎢
⎢0
⎢
⎢0
⎢
⎢
⎢0
⎢
⎢
⎢0
μC (x, y) = ⎢
⎢
⎢0
⎢
⎢0
⎢
⎢
⎢0
⎢
⎢
⎣1
1
1
0
0
0
0
0
0
0
1
1
1
1
0.3
0.3
0.3
0.3
0.3
1
1
1
1
1
1
0.6
0.6
0.6
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
1
0.6
0.6
0.6
0.6
1
1
1
1
1
0.3
0.3
0.3
0.3
0.3
1
1
1
⎤
1
⎥
0⎥
⎥
0⎥
⎥
⎥
0⎥
⎥
⎥
0⎥
⎥.
0⎥
⎥
⎥
0⎥
⎥
⎥
0⎥
⎥
⎥
1⎦
1
B = A α C je neizrazita mnoˇ
zica s pripadnostno funkcijo:
μB (y) = ∩x (μA(x) α μC (x, y)) = {0, 0, 0.3, 0.6, 1, 1, 1, 0.6, 0.3, 0}.
Neizrazita mnoˇ
zica B je torej:
B = {(0, 0), (1, 0), (2, 0.3), (3, 0.6), (4, 1), (5, 1), (6, 1), (7, 0.6), (8, 0.3), (9, 0)}.
Presek in unija neizrazitih mnoˇ
zic A in B v osnovni mnoˇ
zici X imata naslednje
lastnosti:
• asociativnost
(A ∪ B) ∪ C ≡ A ∪ (B ∪ C)
(A ∩ B) ∩ C ≡ A ∩ (B ∩ C)
• distributivnost
(A ∪ B) ∩ C ≡ (A ∩ B) ∪ (B ∩ C)
(A ∩ B) ∪ C ≡ (A ∪ B) ∩ (B ∩ C)
• absorpcija
A ∩ (A ∪ B) ≡ A
A ∪ (A ∩ B) ≡ A
• idempotenca
A∪A = A
A∩A = A
252
• komutativnost
A∪B = B∪A
A∩B = B∩A
• De Morganova zakona
A∪B = A∩B
A∩B = A∪B
Velja:
• unija neizrazite mnoˇ
zice z njenim komplementom ni nujno osnovna
mnoˇ
zica:
A ∪ A = X
in
• presek neizrazite mnoˇ
zice z njenim komplementom ni nujno prazna
mnoˇ
zica:
A ∩ A = ∅.
Definicija 21 Razdalja Minkovskega med neizrazitima mnoˇ
zicama A in B
v X je:
⎡
⎤1
s
card(X)
s⎦
⎣
|μA(xi ) − μB (xi )|
,
DM (A, B) =
i=1
kjer je s ≥ 1.
Najbolj pogosto uporabljamo naslednje razdalje Minkovskega:
• s = 1; Hammingova razdalja:
DH (A, B) =
card(X)
|μA(xi ) − μB (xi )|,
i=1
• s = 2; Evklidova razdalja:
card(X)
[μA(xi ) − μB (xi)]2,
DE (A, B) = i=1
ˇ ebiˇ
• s → ∞; C
sevljeva razdalja:
DCˇ (A, B) = max∀x∈X {|μA(x) − μB (x)|}.
253
Definicija 22 Jezikovni izraz (angl. linguistic term) Ti je trditev, ki je
zapisana z besedo ali z veˇ
c smiselno povezanih besed nekega naravnega
jezika. Trditev je:
• pravilna za vsak x iz (enorazseˇ
znega) razmaka [ ximin, ximaks ] v urejeni
konˇ
cni osnovni mnoˇ
zici X oziroma
• ni pravilna za vsak x zunaj razmaka [ ximin, ximaks ] v X.
V urejeni konˇ
cni osnovni mnoˇ
zici X je ˇ
stevilo jezikovnih izrazov poljubno
ˇ tevilo izrazov v X doloˇ
naravno ˇ
stevilo med 1 in card(X). S
ca njeno zrnatost
(granulacijo). Za le-to pravimo, da je “groba”, ˇ
ce je ˇ
stevilo Ti v X blizu 1,
oziroma da je “fina”, ˇ
ce je ˇ
stevilo Ti v X blizu card(X).
Zgled 6 Vzemimo, da nas zanima telesna temperatura ˇ
cloveka. Merimo jo
s toplomerom in vzemimo, da jo odˇ
citavamo z natanˇ
cnostjo ene desetinke
stopinje Celzija. V tem primeru je osnovna mnoˇ
zica elementov mnoˇ
zica realnih ˇ
stevil:
X = {35.0, 35.1, 35.2, ... , 41.9, 42.0}.
Vzemimo, da na osnovi strokovnega ali sploˇ
snega znanja o podroˇ
cju uporabe
(telesna temperatura ˇ
cloveka) razdelimo osnovno mnoˇ
zico elementov X v
podmnoˇ
zice (razmake) s trditvami:
cina,
{zniˇ
zana, normalna, poviˇ
sana, zmerna vroˇ
visoka vroˇ
cina, zelo visoka vroˇ
cina}.
Izraz zniˇ
zana je trditev, ki drˇ
zi za vsako temperaturo iz razmaka [35.0, 36.0],
izraz normalna drˇ
zi za vsako temperaturo iz razmaka [36.1, 37.0], izraz
cina
poviˇ
sana za vsako temperaturo iz razmaka [37.1, 38.0], izraz zmerna vroˇ
cina za vsako
za vsako temperaturo iz razmaka [38.1, 39.0], izraz visoka vroˇ
cina za vsako
temperaturo iz razmaka [39.1, 40.5] in izraz zelo visoka vroˇ
temperaturo iz razmaka [40.6, 42.0].
cil)
Zdravnik bo tako odˇ
citano telesno temperaturo 39.0 ◦ C zapisal (oznaˇ
cina.
kot zmerna vroˇ
254
Navadne mnoˇ
zice v X, ki smo jih definirali z jezikovnimi izrazi Ti, lahko
zapiˇ
semo tudi kot neizrazite mnoˇ
zice.
Definicija 23 Neizraziti jezikovni izraz Fi v osnovni mnoˇ
zici X je neizrazita
mnoˇ
zica:
Fi = {(x, μTi (x))},
∀x ∈ X,
kjer je Ti i-ti izraz v X.
Definicija 24 Jezikovna ali neizrazita spremenljivka je spremenljivka, ki
ˇ
crpa vrednosti iz zaloge neizrazitih jezikovnih izrazov {Fi : i = 1, 2, ..., NT } v
osnovni mnoˇ
zici X.
Jezikovno spremenljivko poznamo, ˇ
ce so dani:
H
ime spremenljivke,
X
urejena konˇ
cna osnovna mnoˇ
zica elementov,
T (H)
mnoˇ
zica jezikovnih izrazov {Ti : i = 1, 2, ..., NT } in
F (H)
mnoˇ
zica neizrazitih jezikovnih izrazov {(x, μTi ) : i = 1, 2, ..., NT } .
Zgled 7 Vzemimo:
H je telesna toplota (ˇ
cloveka)
X = {35.0, 35.1, 35.2, ... , 41.9, 42.0}
T (telesna toplota) = {zniˇ
zana, normalna, poviˇ
sana, zmerna vroˇ
cina,
visoka vroˇ
cina, zelo visoka vroˇ
cina}
F (telesna toplota) je navadna mnoˇ
zica ˇ
sestih neizrazitih mnoˇ
zic:
zniˇ
zana = {(35.0, 1), (35.1, 1), ..., (35.7, 1),
(35.8, 0.9), (35.9, 0.9), (36.0, 0.7),
(36.1, 0.2), (36.2, 0.1), (36.3, 0),
(37.0, 0), ..., (42.0, 0)}
normalna = {(35.0, 0), ..., (35.8, 0), (35.9, 0.1),
(36.0, 0.3), (36.1, 0.5), (36.2, 0.8),
(36.3, 0.9), (36.4, 1), ..., (36.8, 1),
(36.9, 0.9), (37.0, 0.7), (37.1, 0.4),
(37.2, 0.3), (37.3, 0.1), (37.4, 0),
..., (42.0, 0)}
255
poviˇ
sana = {(35.0, 0), ..., (36.8, 0), (36.9, 0.1),
(37.0, 0.3), (37.1, 0.5), (37.2, 0.7),
(37.3, 0.9), (37.4, 1), ..., (37.8, 1),
(37.9, 0.9), (38.0, 0.7), (38.1, 0.5),
(38.2, 0.3), (38.3, 0.1), (38.4, 0),
..., (42.0, 0)}
zmerna vroˇ
cina = {(35.0, 0), ..., (37.8, 0), (37.9, 0.1),
(38.0, 0.3), (38.1, 0.5), (38.2, 0.7),
(38.3, 0.9), (38.4, 1), ..., (38.8, 1),
(38.9, 0.9), (39.0, 0.7), (39.1, 0.5),
(39.2, 0.3), (39.3, 0.1), (39.4, 0),
..., (42.0, 0)}
visoka vroˇ
cina = {(35.0, 0), ..., (38.8, 0), (38.9, 0.1),
(39.0, 0.3), (39.1, 0.5), (39.2, 0.7),
(39.3, 0.9), (39.4, 1), ..., (40.3, 1),
(40.4, 0.9), (40.5, 0.7), (40.6, 0.5),
(40.7, 0.3), (40.8, 0.1), (40.9, 0), ..., (42.0, 0)}
zelo visoka vroˇ
cina = {(35.0, 0), ..., (40.2, 0), (40.3, 0.1),
(40.4, 0.3), (40.5, 0.5), (40.6, 0.7),
(40.7, 0.9), (40.8, 1), ..., (42.0, 1)}
H ˇ
crpa vrednosti iz F (H). Jezikovna spremenljivka telesna toplota lahko
cina,
zavzame neizrazite vrednosti zniˇ
zana, normalna, poviˇ
sana, zmerna vroˇ
cina in/ali zelo visoka vroˇ
cina.
visoka vroˇ
Iz F (H) lahko razberemo, da je moˇ
znost 0.7, da bo zdravnik zapisal odˇ
citano
telesno temperaturo 39.0 ◦ C kot zmerna vroˇ
cina oziroma, in da je moˇ
znost
cina.
0.3, da jo bo zapisal (oznaˇ
cil) kot visoka vroˇ
256
Mnoˇ
zico jezikovnih izrazov jezikovne spremenljivke T (H) lahko “obogatimo”
ˇ e je
s prislovi, kot so na primer: bolj, manj, zelo, malo, precej ipd. C
zico – neizrazitim jezikovnim izrazom
jezikovni izraz Ti dan z neizrazito mnoˇ
Fi = {(x, μTi )}, lahko dobimo neizrazite jezikovne izraze jezikovnih izrazov s
prislovom z operatorjema zgoˇ
sˇ
cevanja in raztezanja.
Definicija 25 Operator zgoˇ
sˇ
cevanja CON naredi neizrazito mnoˇ
zico Fi
bolj izrazito. Velja:
μprislov Ti = μCON (Fi) = (μTi )2.
Definicija 26 Operator raztezanja DIL naredi neizrazito mnoˇ
zico Fi manj
izrazito. Velja:
μprislov Ti = μDIL(Fi) =
μTi .
Z operatorjema zgoˇ
sˇ
cevanja in raztezanja in operacijami nad neizrazitimi
mnoˇ
zicami lahko dobimo pripadnostne funkcije sestavljenih neizrazitih izrazov, na primer ne zelo star, ne zelo star,ne zelo star in ne zelo mlad ipd.
Zgled 8 Vzemimo neizraziti jezikovni izraz:
star = {(60, 0.2), (65, 0.4), (70, 0.6), (75, 0.8), (80, 1)}.
Neizraziti jezikovni izraz star s prislovom zelo je neizrazita mnoˇ
zica:
zelo star = CON (star) =
= {(60, 0.04), (65, 0.16), (70, 0.36), (75, 0.64), (80, 1)},
zica:
neizraziti sestavljeni jezikovni izraz ne zelo star pa je neizrazita mnoˇ
ne zelo star = 1 − CON (star) =
= {(60, 0.96), (65, 0.84), (70, 0.64), (75, 0.36), (80, 0)}.
257
Jezikovne spremenljivke omogoˇ
cajo prevedbo opisov objektov, podanih z besedami ali s stavki naravnega jezika, v numeriˇ
cne opise.
Definicija 27 Jezikovni vzorec je navadna mnoˇ
zica n ali manj vrednosti, ki so jih v danem trenutku ali situaciji zavzele jezikovne spremenljivke
H1, H2, ..., Hn .
Definicija 28 Neizraziti odnos (relacija) R med elementi neizrazite mnoˇ
zice
v osnovni mnoˇ
zici X in neizrazite mnoˇ
zice v osnovni mnoˇ
zici Y je neizrazita
mnoˇ
zica v karteziˇ
cnem zmnoˇ
zku univerzalnih mnoˇ
zic X in Y :
R = { ( (x, y), μR(x, y) ) }
oziroma:
R=
∀(x, y) ∈ X × Y
μR(x, y)
,
(x,
y)
∀(x,y)∈X×Y
kjer sta:
(x, y) urejeni par karteziˇ
cnega (premega) zmnoˇ
zka X × Y (element osnovne
mnoˇ
zice X × Y v kateri je definirana R) in
zici R.
μR(x, y) stopnja pripadnosti elementa (x, y) v neizraziti mnoˇ
Pripadnostna funkcija neizrazite mnoˇ
zice R (odnosa elementov dveh neizraˇ e poznamo
zitih mnoˇ
zic, vzemimo A v X in B v Y ) je dvorazseˇ
zna funkcija. C
cimo pripadnostni funkciji neizrapripadnostno funkcijo μR(x, y), lahko doloˇ
zitih mnoˇ
zic v X in Y . Pripadnostna funkcija neizrazite mnoˇ
zice A v X
je:
μA(x) = maxy∈Y {μR(x, y)},
x ∈ X,
pripadnostna funkcija neizrazite mnoˇ
zice B v Y pa:
μB (y) = maxx∈X {μR(x, y)},
y ∈ Y.
ˇ e pa poznamo pripadnostni funkciji μA(x) in μB (y), lahko doloˇ
cimo pripaC
dnostno funkcijo odnosa μR(x, y) kot:
μR(x, y) =
min
(x,y)∈X×Y
{μA(x), μB (y)}.
258
Zgled 9 Dani sta osnovni mnoˇ
zici:
X = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9} in
Y = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9}.
Vzemimo, da je pripadnostna funkcija μR(x, y) neizrazitega odnosa R med
x ∈ X in y ∈ Y (dvorazseˇ
zna) funkcija:
⎡
0
⎢
⎢0
⎢
⎢0
⎢
⎢
⎢0
⎢
⎢
⎢0
⎢
⎢
⎢0
⎢
⎢0
⎢
⎢
⎢0
⎢
⎢
⎣0
0
0
0
0
0
0
0
0
0
0
0
0
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0
0
0
0.3
0.6
0.6
0.6
0.6
0.6
0.3
0
0
0
0.3
0.6
1
1
1
0.6
0.3
0
0
0
0.3
0.6
1
1
1
0.6
0.3
0
0
0
0.3
0.6
1
1
1
0.6
0.3
0
0
0
0.3
0.6
0.6
0.6
0.6
0.6
0.3
0
0
0
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0
0
⎤
0
⎥
0⎥
⎥
0⎥
⎥
⎥
0⎥
⎥
⎥
0⎥
⎥.
0⎥
⎥
⎥
0⎥
⎥
⎥
0⎥
⎥
⎥
0⎦
0
Pripadnostna funkcija neizrazite mnoˇ
zice A v X je:
μA(x) = maxy {μR(x, y)} = {0, 0.3, 0.6, 1, 1, 1, 0.6, 0.3, 0, 0},
pripadnostna funkcija neizrazite mnoˇ
zice B v Y pa:
μB (y) = maxx{μR(x, y)} = {0, 0, 0.3, 0.6, 1, 1, 1, 0.6, 0.3, 0}.
Neizraziti mnoˇ
zici A in B sta torej:
A = {(0, 0), (1, 0.3), (2, 0.6), (3, 1), (4, 1), (5, 1), (6, 0.6), (7, 0.3), (8, 0), (9, 0)}
in
B = {(0, 0), (1, 0), (2, 0.3), (3, 0.6), (4, 1), (5, 1), (6, 1), (7, 0.6), (8, 0.3), (9, 0)}.
259
Pripadnostno funkcijo odnosa μR(x, y) izraˇ
cunamo iz pripadnostnih funkcij
μA(x) in μB (y) kot:
μR(x, y) = min {μA(x), μB (y)}
X×Y
x = 0, 1, ..., 9, y = 0, 1, ..., 9.
Izraˇ
cunajmo le diagonalne elemente pripadnostne funkcije odnosa μR(x, y) iz
pravkar izraˇ
cunanih pripadnostnih funkcij μA(x) in μB (y). Le-ti so:
min{0, 0}, min{0.3, 0}, min{0.6, 0.3}, min{1, 0.6}, min{1, 1}, min{1, 1},
min{0.6, 1}, min{0.3, 0.6}, min{0, 0.3}, min{0, 0},
to je:
0, 0, 0.3, 0.6, 1, 1, 0.6, 0.3, 0, 0.
Temeljne lastnosti neizrazitih relacij R so:
• refleksivnost (povratnost), ˇ
ce je:
∀(x, x) ∈ X × Y,
μR(x, x) = 1,
• simetriˇ
cnost (vzajemnost), ˇ
ce je:
μR(x, y) = μR(y, x),
∀x ∈ X, ∀y ∈ Y
in
• maks-min tranzitivnost (prehodnost), ˇ
ce je:
μR(x, y) ≥ maxz∈Z {
min
x∈X, y∈Y
{μR(x, z), μR(z, y)}}.
Podobnostna neizrazita relacija je vedno povratna, vzajemna in prehodna.
Neizraziti relaciji, ki je le povratna in vzajemna, pravimo relacija bliˇ
zine ali
toleranˇ
cna relacija.
260
ˇ X je A, PODefinicija 29 Neizrazita pogojna trditev (implikacija) CE
TEM Y je B, je neizrazita mnoˇ
zica (relacija):
R = { ( (x, y), μR(x, y) ) },
kjer so:
X in Y jezikovni spremenljivki,
A in B neizraziti mnoˇ
zici iz zalog vrednosti spremenljivk X in Y ,
μR(x, y) funkcija pripadnosti neizrazite implikacije:
μR(x, y) = Φ[μA(x), μB (y)],
x ∈ X, y ∈ Y.
Znanih je veˇ
c funkcij Φ. Na primer:
• Mamdanijeva
Φ[μA(x), μB (y)] = min{μA(x), μB (y)},
• Larsenova
Φ[μA(x), μB (y)] = μA(x) · μB (y),
• Lukasiewiczova
Φ[μA(x), μB (y)] = min{1, (1 − μA(x) + μB (y))},
• Kleenova in Diensova
Φ[μA(x), μB (y)] = max{(1 − μA(x)), μB (y)},
261
• omejeni zmnoˇ
zek
Φ[μA(x), μB (y)] = max{0, (μA(x) + μB (y) − 1)},
• Zadehova
Φ[μA(x), μB (y)] = max {min{μA(x), μB (y)}, (1 − μA(x)} ,
• standardna
Φ[μA(x), μB (y)] =
• Godelianova
Φ[μA(x), μB (y)] =
1, ˇ
ce μA(x) ≤ μB (y)
0, ˇ
ce μB (y) > μA(x),
1,
ˇ
ce μA(x) ≤ μB (y)
μB (y), ˇ
ce μB (y) > μA(x).
Izbira funkcije Φ je odvisna od primera uporabe.
ˇ X je A,
Zgled 10 Kot trditvi (predikata) v neizraziti pogojni trditvi CE
POTEM Y je B, sta dani neizraziti mnoˇ
zici:
A = {(0, 0), (1, 0.3), (2, 0.6), (3, 1), (4, 1), (5, 1), (6, 0.6), (7, 0.3), (8, 0), (9, 0)}
in
B = {(0, 0), (1, 0), (2, 0.3), (3, 0.6), (4, 1), (5, 1), (6, 1), (7, 0.6), (8, 0.3), (9, 0)}.
ˇ X je A, POTEM
Pripadnostna funkcija μR(x, y) neizrazite pogojne trditve CE
Y je B, po Mamdaniju je dvorazseˇ
zna funkcija:
⎡
0
⎢
⎢0
⎢
⎢0
⎢
⎢
⎢0
⎢
⎢
⎢0
⎢
⎢
⎢0
⎢
⎢0
⎢
⎢
⎢0
⎢
⎢
⎣0
0
0
0
0
0
0
0
0
0
0
0
0
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0
0
0
0.3
0.6
0.6
0.6
0.6
0.6
0.3
0
0
0
0.3
0.6
1
1
1
0.6
0.3
0
0
0
0.3
0.6
1
1
1
0.6
0.3
0
0
0
0.3
0.6
1
1
1
0.6
0.3
0
0
0
0.3
0.6
0.6
0.6
0.6
0.6
0.3
0
0
0
0.3
0.3
0.3
0.3
0.3
0.3
0.3
0
0
⎤
0
⎥
0⎥
⎥
0⎥
⎥
⎥
0⎥
⎥
⎥
0⎥
⎥.
0⎥
⎥
⎥
0⎥
⎥
⎥
0⎥
⎥
⎥
0⎦
0
262
ˇ X je A, POTEM Y je B, je neizrazita mnoˇ
Neizrazita pogojna trditev CE
zica:
R = {((0, 0), 0), ((0, 1), 0), ((0, 2), 0),
((0, 3), 0), ((0, 4), 0), ((0, 5), 0),
((0, 6), 0), ((0, 7), 0), ((0, 8), 0),
((0, 9), 0), ((1, 0), 0), ((1, 1), 0),
((1, 2), 0.3), ((1, 3), 0.3), ((1, 4), 0.3),
((1, 5), 0.3), ((1, 6), 0.3), ((1, 7), 0.3),
((1, 8), 0.3), ((1, 9), 0), ... , ((9, 9), 0)}.
ˇ X1 je
Neizrazita pogojna trditev pogosto nastopa v (nekanoniˇ
cni) obliki CE
A IN X2 je B, POTEM Y je C.
Zgled 11 Kot trditvi (predikata) v premisnem delu neizrazite pogojne trditve
ˇ X1 je A IN X2 je B, POTEM Y je C, sta dani neizraziti mnoˇ
CE
zici:
A = {(1, 0.1), (2, 0.2), (3, 0.4), (4, 0.7)}
in
B = {(7, 0.6), (8, 0.8), (9, 0.6)}.
Ker sta premisi povezani z veznikom IN, je jezikovni vzorec v premisnem delu
zic A in B:
(X1 je A, X2 je B) presek neizrazitih mnoˇ
(X1 je A, X2 je B) = {((1, 7), 0.1), ((1, 8), 0.1), ((1, 9), 0.1),
((2, 7), 0.2), ((2, 8), 0.2), ((2, 9), 0.2),
((3, 7), 0.4), ((3, 8), 0.4), ((3, 9), 0.4)
((4, 7), 0.6), ((4, 8), 0.7), ((4, 9), 0.6)}.
ˇe ˇ
C
se vzamemo, da je trditev v sklepnem delu neizrazite pogojne trditve
neizrazita mnoˇ
zica:
C = {(0.0, 0.1), (0.2, 0.4), (0.4, 0.6), (0.6, 1)},
263
ˇ X1 je A
je pripadnostna funkcija μR((x1, x2), y) neizrazite pogojne trditve CE
zna funkcija:
IN X2 je B, POTEM Y je C, po Mamdaniju naslednja dvorazseˇ
⎡
0.1
⎢
⎢ 0.1
⎢
⎢
⎢ 0.1
⎢
⎢ 0.1
⎢
⎢
⎢ 0.1
⎢
⎢
⎢ 0.1
⎢
⎢
⎢ 0.1
⎢
⎢ 0.1
⎢
⎢
⎢ 0.1
⎢
⎢
⎢ 0.1
⎢
⎢ 0.1
⎣
0.1
0.1
0.1
0.1
0.2
0.2
0.2
0.4
0.4
0.4
0.4
0.4
0.4
0.1
0.1
0.1
0.2
0.2
0.2
0.4
0.4
0.4
0.6
0.6
0.6
⎤
0.1
⎥
0.1 ⎥
⎥
⎥
0.1 ⎥
⎥
0.2 ⎥
⎥
⎥
0.2 ⎥
⎥
⎥
0.2 ⎥
⎥.
0.4 ⎥
⎥
⎥
0.4 ⎥
⎥
⎥
0.4 ⎥
⎥
⎥
0.6 ⎥
⎥
0.7 ⎥
⎦
0.6
ˇ e poznamo neizraziti relaciji med elementi neizrazite mnoˇ
C
zice A in neizrazite
mnoˇ
zice B ter med elementi neizrazite mnoˇ
zice B in neizrazite mnoˇ
zice
C, lahko s sestavljanjem relacij doloˇ
cimo neizrazito relacijo med elementi
neizrazitih mnoˇ
zic A in C.
ˇ sta dani neizrazita relacija R1 med elementi neizrazite
Definicija 30 Ce
mnoˇ
zice v osnovni mnoˇ
zici X in neizrazite mnoˇ
zice v osnovni mnoˇ
zici Y
R1 = { ( (x, y), μR1 (x, y) ) }
∀(x, y) ∈ X × Y
zice v osnovni mnoˇ
zici
in neizrazita relacija R2 med elementi neizrazite mnoˇ
Y in neizrazite mnoˇ
zice v osnovni mnoˇ
zici Z
R2 = { ( (y, z), μR2 (y, z) ) }
∀(y, z) ∈ Y × Z,
je maks–min sestav (kompozitum) relacij R1 in R2 neizrazita relacija R3
med elementi neizrazite mnoˇ
zice v osnovni mnoˇ
zici X in neizrazite mnoˇ
zice
v osnovni mnoˇ
zici Z:
R3 = { ( (x, z), μR3 (x, z) ) }
∀(x, z) ∈ X × Z,
264
kjer je pripadnostna funkcija neizrazite relacije R3 enaka:
μR3 (x, z) = maxy min{μR1 (x, y), μR2 (y, z)}
x,z
∀x ∈ X, ∀y ∈ Y, ∀z ∈ Z.
(Oznaka za maks-min sestav relacij R1 in R2 je navadno R1 ◦ R2 ali
R3 = R1 ◦ R2.)
Zgled 12 Vzemimo, da je pripadnostna funkcija μR1 (x, y) neizrazite relacije
R1 med x ∈ X in y ∈ Y funkcija:
a11
a21
a12
,
a22
pripadnostna funkcija μR2 (y, z) neizrazite relacije R2 med y ∈ Y in z ∈ Z pa
funkcija:
b11
b21
b12
.
b22
Pripadnostna funkcija μR3 (x, z) neizrazite relacije R3 med x ∈ X in z ∈ Z je
maks–min sestav pripadnostnih funkcij neizrazitih relacij R1 in R2. To je:
max {min{a11, b11}, min{a12, b21}}
max {min{a21, b11}, min{a22, b21}}
max {min{a11, b12}, min{a12, b22}}
.
max {min{a21, b12}, min{a22, b22}}
ˇ e nadomestimo mnoˇ
C
zenje dveh elementov matrik z iskanjem manjˇ
sega
izmed dveh elementov, seˇ
stevanje elementov pa z iskanjem najveˇ
cjega
elementa, je izraˇ
cun μR3 (x, z) podoben izraˇ
cunu zmnoˇ
zka matrik μR1 (x, y)
in μR2 (y, z).
265
ˇ e je znanje o podroˇ
C
cju uporabe podano z neizrazitimi pogojnimi trditvami
(implikacijami), je posploˇ
seno pravilo sklepanja modus ponens najprimernejˇ
si
postopek logiˇ
cnega sklepanja.
Definicija 31 Posploˇ
seni modus ponens je pravilo neizrazitega logiˇ
cnega
sklepanja:
ˇ X je A, P OT EM Y je B
1. premisa : CE
2. premisa : X je A
Sklep
: Y je B ,
zica v Y s pripadnostno funkcijo:
kjer je B = Ψ[A, A, B] neizrazita mnoˇ
μB (y) = maxx {min{μA (x), μR(x, y)}} .
ˇ X je
Pri tem je μR(x, y) pripadnostna funkcija neizrazite pogojne trditve CE
A, POTEM Y je B.
Zgled 13 Vzemimo, da sta dani pripadnostna funkcija μA (x) neizrazite
ˇ
mnoˇ
zice A in pripadnostna funkcija μR(x, y) neizrazite pogojne trditve CE
X je A, POTEM Y je B:
μA (x) = {0.05, 0.1, 0.2, 0.4}
in
⎡
0.1
⎢
⎢ 0.2
μR(x, y) = ⎢
⎢
⎣ 0.4
0.6
0.1
0.2
0.4
0.7
⎤
0.1
⎥
0.2 ⎥
⎥.
0.4 ⎥
⎦
0.6
zice B doloˇ
cimo kot maks–
Pripadnostno funkcijo μB (y) neizrazite mnoˇ
min sestav pripadnostnih funkcij neizrazite mnoˇ
zice A in neizrazite pogojne
ˇ X je A, POTEM Y je B:
trditve CE
⎡
0.1
⎢
⎢ 0.2
μB (y) = μA (x) ◦ μR(x, y) = [ 0.05, 0.1, 0.2, 0.4 ] ◦ ⎢
⎢
⎣ 0.4
0.6
= [ 0.4, 0.4, 0.4 ] .
0.1
0.2
0.4
0.7
⎤
0.1
⎥
0.2 ⎥
⎥
0.4 ⎥
⎦
0.6
266
Viri
N. Paveˇ
si´
c, Razpoznavanje vzorcev: uvod v analizo in razumevanje vidnih
in sluˇ
snih signalov, 3. popravljena in dopolnjena izd., 2 zv., (Dodatek B)
Zaloˇ
zba FE in FRI, 2012.
Vpraˇ
sanja
Pojasnite razliko med konˇ
cno navadno (izrazito) in neizrazito mnoˇ
zico.
Podajte zgled konˇ
cne neizrazite mnoˇ
zice.
Podajte nosilec in jedro neizrazite mnoˇ
zice
A = {(1,1), (2,1), (3,0.9), (4,0.7), (5,0.4), (6,0.2), (7,0), (8,0), (9,0), (10,0)}
Je zgornja mnoˇ
zica normirana?
Podajte ˇ
se njeno izrazito vrednost po teˇ
ziˇ
sˇ
cnem postopku.
Podajte ˇ
se komplement zgornje neizrazite mnoˇ
zice.
Katere operacije na dveh neizrazitih mnoˇ
zicah poznamo?
Podajte lastnosti preseka in unije dveh neizrazitih mnoˇ
zic.
Kako merimo podobnost med dvema neizrazitima mnoˇ
zicama?
Kako je definiran neizrazit jezikovni izraz?
S katerima operatorjema lahko obogatimo mnoˇ
zico jezikovnih izrazov?
Kako je definiran jezikovni vzorec? Podajte primer takˇ
snega vzorca.
Kako je definirana neizrazita relacija med elementi dveh neizrazitih mnoˇ
zic?
Kako je definirana neizrazita pogojna trditev (implikacija)?
Kako je definirano pravilo neizrazitega logiˇ
cnega sklepanja?
267
UMETNA NEVRONSKA OMREæ-$
TEME PREDAVANJA
|
Model nevronskega sistema
|
9UVWHQHYURQVNLKRPUHçLM
|
Predkrmiljeno YHĀ-SODVWQRRPUHçMH
|
8SRUDEDXPHWQLKQHYURQVNLKRPUHçLM
|
Zgled KLHUDUKLĀQHJDQHYURQVNHJDmodela
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
268
UMETNA
NEVRONSKA 205(æ-$
|
So model naravnih bioloških nevronskih sistemov
|
Temeljijo na paralelnem obdelovanju podatkov
|
,PDMRVSRVREQRVWXĀHQMDLQSULODJDMDQMD
|
|
Z zelo enostavnimi sestavinami tvorijo zelo
vsestransko obnašanje
So zmogljiv sistem za reševanje problemov
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
MODEL NEVRONSKEGA SISTEMA
dendriti
telo nevrona
jedro nevrona
akson akson
GUDçOMDML
sinapsa
sinapsa
PLHOLWLĀHQ ovoj
|
|
|
1HYURQVNLVLVWHPWYRULPQRçLFDSRGREQLKHOHPHQWRYnevronov, ki so vseskozi povezani.
Nevron sestavljajo vhodni dendriti, telo nevrona z jedrom in
izhodni aksoni.
'UDçOMDMLL]DNVRQDHQHFHOLFHGRGHQGULWRYGUXJHFHOLFH
potujejo preko sinaps.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
269
ÿLOVEKOV NEVRONSKI SISTEM
|
5D]OLĀHQUD]YRMQHYURQVNLKFHOLFYUD]OLĀQLKGHOLKPRçJDQRY
LQKUEWHQMDĀH
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMERJAVA Z 5$ÿ81$/1,.20
|
.OMXĀQDUD]OLNDPHGUDĀXQDOQLNRPLQPRçJDQLMHQDĀLQ
obdelave podatkov
procesnih
enot
velikost
enot
poraba
energije
hitrost
obdelave
10 11 celic
10 14 sinaps
10 -6 m
30 W
100 Hz
10 8
transistorjev
10 -6 m
30W
109 Hz
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
QDĀLQ
obdelave
odporn.
na
napake
XĀHQMH
inteligenca
in zavest
paralelno
porazdeljeno
da
da
ponavadi
zaporedno
centralizirano
ne
malo
ne še
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
270
MCCULLOCH-PITTSOV MODEL NEVRONA
|
+/
-DNRVWL]KRGQLKGUDçOMDMHYMH´VWLVQMHQDµOLQHDUQDIXQNFLMD
YKRGQLKGUDçOMDMHY
x0
x1
sinapsa
w0ii
de
dendrit
w1i
xj
f z
1.0
wji
0.8
0.6
akson
0.4
0.2
·
§
f ¨¨ ¦ wij x j ¸¸
¹
© j
oi
·
§
f ¨¨ ¦ wij x j ¸¸
¹
© j
10
5
5
10
z
telo nevrona
ne
|
*UREDSRHQRVWDYLWHYNLRPRJRĀDUD]YRMPDWHPDWLĀQHJD
PRGHODXPHWQHJDQHYURQVNHJDRPUHçMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
UMETNO NEVRONSKO 205(æ-(
|
)XQNFLMVNLPRGHOQHYURQVNHJDRPUHçMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
271
VRSTE UMETNIH NEVRONSKIH 205(æ,-
|
9HĀ-slojna predkrmiljena QHYURQVNDRPUHçMD
|
6DPRRUJDQL]LUDMRĀDQHYURQVNDRPUHçMD
|
Povratno-]DQĀQRQHYURQVNRRPUHçMH
|
+RSILHOGRYR, Hammingovo Bolzmanovo nevronsko RPUHçMH
|
$VRFLDWLYQDQHYURQVNDRPUHçMD
|
1HYURQVNDRPUHçMDNLWHPHOMLMRQDDGDSWLYQLUHVRQDQĀQLWHRULML
|
+LHUDUKLĀQRBayesovo RPUHçMH
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
PREDKRMILJENO
V(ÿ-SLOJNO UMETNO
NEVRONSKO 205(æ-(
1,0
·
§
f ¨¨ ¦ wij x j ¸¸
¹
© j
1,0
x1
yk (x)
§
··
§
f ¨ ¦ wki f ¨¨ ¦ wij x j ¸¸ ¸
¨ i
¸
¹¹
© j
©
xj
preslikava vektorskih
QDNOMXĀQLKVSUHPHQOMLYN
g : X oY
|
,]KRGLRPUHçMDVRQHOLQHDUQHIXQNFLMHOLQHDUQLKNRPELQDFLM
QHOLQHDUQLKIXQNFLMOLQHDUQLKNRPELQDFLM«
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
272
Z*2äÿ(1 ZAPIS FUNKCIJE NEVRONA
|
=DSLVIXQNFLMHL-tega nevrona navadno zapišemo v vektorski
obliki
x
ª1º
«x »
« 1»
«»
« »
«x j »
«¬ »¼
wi
ª wi1 º
«w »
« i2 »
« »
« »
« wij »
«¬ »¼
‫ݖ‬௜ = ‫ܟ‬௜் ‫ = ܠ‬෍ ‫ݓ‬௜௝ ‫ݔ‬௝
௝
݂(‫ݖ‬௜ ) = ݂(‫ܟ‬௜் ‫ ݂ = )ܠ‬෍ ‫ݓ‬௜௝ ‫ݔ‬௝
௝
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
NELINEARNA FUNKCIJA NEVRONA
|
+/
1HOLQHDUQDHOHPHQWDUQDIXQNFLMDNLMHPRQRWRQRQDUDåĀDMRĀDLQ
odvedljiva, kot je na primer sigmoidalna IXQNFLMD
f z
1.0
f ( z)
1
1 ez
0.8
f ' ( z)
0.6
f ( z )(1 f ( z ))
0.4
0.2
10
5
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
5
10
z
݂(‫ݖ‬௜ ) = ݂(‫ܟ‬௜் ‫= )ܠ‬
1
೅
1 + ݁ ‫ܟ‬೔ ‫ܠ‬
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
273
IZHOD OMREæ-$ KOT I=5$æ$9$ PO
3$5$0(75,ÿ1,+ TEMELJNIH FUNKCIJAH
Izvajamo L]UDçDYR IXQNFLMHWDNRGDGRORĀDPRWDNRXWHçQH
NRHILFLHQWHNRWWXGLSDUDPHWUHSDUDPHWULĀQLKWHPHOMQLKIXQNFLM
|
y k ( x)
|
|
f wki f ( w i , x) wk 2 f ( w 2 , x) wk1 f ( w1 , x) wk 0 0RGHOLUDQDIXQNFLMDQL]QDQDQDUD]SRODJRVROHQMHQL
odtipki/vzorci na poljubnih mestih (ni HQDNRPHUQHJDY]RUĀHQMD
3ULWLSDQMXIXQNFLMHLPDPRQDYDGQRRSUDYNDVåXPRP]DWR
MHL]UDçDYDYELVWYXUHJUHVLMDPRGHOLUDQMHL]SRGDWNRY
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
INICIALIZACIJE VREDNOSTI 87(æ,
NEVRONOV
|
/RĀLOQDPHMDQHYURQDMHGRORĀHQDSUL
‫ = ܠ ் ܟ‬૙ ฺ ݂(‫ = )ܠ ் ܟ‬0,5
|
=DĀHWQLSRORçDMORĀLOQHPHMHYVDNHJDQHYURQDODKNRGRORĀLPR
QDNOMXĀQRDOLJOHGHQDUH]XOWDWpredhodne analize vzorcev.
݂(‫ܟ‬௞் ‫)ܠ‬
݂(‫ܟ‬௜் ‫)ܠ‬
1.0
1.0
0.8
0.8
‫ܟ‬ଶ் ‫ܠ‬
0.6
‫ܟ‬ଵ் ‫ = ܠ‬૙
=૙
0.6
0.4
0.4
0.2
0.2
5
‫ܟ‬ଵ் = [2 , െ4]
5
10
15
‫ݖ‬௜
‫ܟ‬ଶ் = [െ0,4 , െ2]
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
5
0
5
10
15
‫ݖ‬௞
‫ܟ‬௞் = [20 , 20 , 25]
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
274
Uÿ(1-( Z VZVRATNIM RAZŠIRJANJEM
|
5DĀXQDPRJUDGLHQWNL]PDQMåXMHL]KRGQRQDSDNR
|
1DSDNRY]YUDWQRUD]åLUMDPRSRQHYURQVNHPRPUHçMX
H (x n )
1
H k 2 (x n )
¦
2 k
wH k (x n )
wwk i
yk (x n ) yˆ k (x n )
wH k (x n ) wf ( z k )
wf ( z k ) wwk i
G k (x n ) ( yk (x n ) yˆ k (x n ) f ' ( z)k )
G i (x n )
H k (x n )
f ' ( zi )¦ G k ( x n )
k
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
wk (x n )i wk (x n )i K
wi (xj n )
k
(x n ) yˆ i (Gx n )
wi (xj n ) K i (x n ) yˆ j G(x n )
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
UPORABA UMETNIH NEVRONSKIH 205(æ,|
5D]YUåĀDQMH
y
y
y
y
|
Zmanjševanje šuma
y
|
Razpoznavanje vzorcev
DRORĀDQMH]QDĀLON
Poravnavo slik
«
Razpoznavanje znanih vzorcev in odstranjevanje šuma
Napovedovanje
y Ekstrapolacija iz znanih podatkov
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
275
LITERATURA IN VPRAŠANJA
|
6LVWHPDWLĀQLSUHJOHGXPHWQLKNODVLĀQLKQHYURQVNLKRPUHçLM
httpSDJHPLIX-berlin.de/rojas/neural/index.html.html
|
2SLåLWHRVQRYQLPRGHOQHYURQVNHRPUHçMD
|
.DWHUHYUVWHNODVLĀQLXPHWQLKQHYURQVNLKRPUHçLMSR]QDPR"
|
.DNRXĀLPRNODVLĀQRpredkrmiljeno XPHWQRQHYURQVNRRPUHçMH"
|
.DNåQHSUREOHPHUHåXMHPR]XPHWQLPLQHYURQVNLPLRPUHçML"
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
ZGLED H,(5$5+,ÿ1(*$ BAYESOVEGA
NEVRONSKEGA MODELA
|
|
9]DGQMHPĀDVXVHSUHFHMUD]YLMDMRPRGHOLNLWHPHOMLMR
na verjetnostni teoriji Bayesovega sklepanja.
(GHQQDMXVSHåQHMåLKWRYUVWQLKPRGHORYMHKLHUDUKLĀQL
]DĀDVQLSRPQLOQLN- HTM
|
HTM odkriva stvari, ki se pojavljajo v njegovem svetu.
|
HTM sklepa o stvareh na osnovi novih zaznav.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
276
H,(5$5+,ÿ1, =$ÿ$61, POMNILNIK +70
ljudje
avtomobili
zgradbe
besede
pesmi
ideje
svet
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
vzorci
zaznave
HTM/Cortex
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
H,(5$5+,ÿ1, =$ÿ$61, POMNILNIK +70
´stvariµ
´SUHSULĀDQMDµ
ljudje
dje
avtomobili
zgradbe
besede
pesmi
ideje
svet
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
vzorci
zaznave
stvar 1
stvar 2
stvar 3
stvar 4
stvar 5
stvar 6
0.22
0.07
0.00
0.63
0.00
0.08
HTM/Cortex
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
277
H,(5$5+,ÿ1, =$ÿ$61, POMNILNIK +70
´SUHSULĀDQMHµ
senzorski podatki
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
H,(5$5+,ÿ1, =$ÿ$61, POMNILNIK +70
´SUHSULĀDQMDµ
|
9VDNRYR]OLåĀH
9VD
9
RGNULYDÅVWYDUL´QDVYRMHPYKRGX
y SRVUHGXMHSUHSULĀDQMDQDY]JRULQ
y posreduje napovedi navzdol.
y
senzorski podatki
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
278
H,(5$5+,ÿ1, =$ÿ$61, POMNILNIK +70
´SUHSULĀDQMDµ
|
9VDNRYR]OLåĀH
y
y
y
|
9VDNRYR]OLåĀH
y
y
senzorski podatki
y
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
odkriva stvari na svojem vhodu,
SRVUHGXMHSUHSULĀDQMDQDY]JRULQ
posreduje napovedi navzdol.
shranjuje pogosta zaporedja,
VSUHPLQMDMRĀLVHQ]RUVNLSRGDWNL
XVWYDUMDMRVWDELOQDSUHSULĀDQMD
navzgor in
6WDELOQDSUHSULĀDQMDXVWYDUMDMR
VSUHPLQMDMRĀHQDSRYHGLVHQ]RUVNLK
podatkov navzdol.
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
ZAKAJ JE HIERARHIJA TAKO POMEMBNA
|
|
|
'HOMHQHSUHGVWDYLWYHRPRJRĀDMRYHĀMRJHQHUDOL]DFLMRLQ
XĀLQNRYLWRVW
+LHUDUKLMD+70VHODKNRSULOHJDSURVWRUVNLLQĀDVRYQL
KLHUDUKLMLÅVWYDUL´YVYHWX
5D]åLUMDQMHSUHSULĀDQMDRPRJRĀDGDVHYVDYR]OLåĀD
KLWURXVNODGLMRJOHGHVNXSQHJDSUHSULĀDQMD
90% PDĀND
Pogojne verjetnosti
80% lajanje
20% mijav
mijavkanje
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
70% VOLNDSUDåLĀND
30% VOLNDPDĀNH
NDP
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
279
KAKO HTM ODKRIVA
|
STVARI
=DSRPQLVLSRJRVWHY]RUFHYXJRWDYOMDQMHURMHQMDLQ
]DYUçHUHGNHY]RUFHåXP
Pogosti vzorci
Redki vzorci
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
KAKO HTM ODKRIVA
|
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
STVARI
=DSRPQLVLSRJRVWDĀDVRYQD]DSRUHGMDY]RUFHYLQ
]DYUçHUHGND]DSRUHGMDY]RUFHåXP
Pogosto zaporedje
SULSLåLVWYDUL
Pogosto zaporedje
SULSLåLVWYDUL
Redko zaporedje
]DYU]L
ĀDV
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
280
PREPROST PRIMER 5$ÿ81$/1,ä.(*$ VIDA
nivo 3
nivo 2
nivo 1
4 piksli
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
Uÿ1( SLIKE
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
281
PRAVILNO RAZPOZNANE SLIKE
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
LITERATURA IN VPRAŠANJA
|
2VQRYQLRSLVKLHUDUKLĀQHJD]DĀDVQHJDSRPQLOQLND
KWWSHQZLNLSHGLDRUJZLNL+LHUDUFKLFDOBWHPSRUDOBPHPRU\
|
1DĀHPWHPHOMLMRKLHUDUKLĀQLBayesovi PRGHOL"
|
2SLåLWHRVQRYQH]QDĀLOQRVWLKLHUDUKLĀQHJD]DĀDVQHJDSRPQLOQLND
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2012/2013
$YWRUVNHSUDYLFHSULGUçDQH‹- Univerza v Ljubljani, Fakulteta za elektrotehniko
282
GENETSKI ALGORITMI
TEME PREDAVANJA
|
Uvod
|
Oponašanje mehanizmov evolucije
|
'RORĀDQMDgenetskega zapisa kromosomov
|
Uporaba genetskih algoritmov
|
Primeri uporabe genetskega algoritma
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
283
GENETSKI ALGORITMI
|
+HYULVWLĀQLSRVWRSNLLVNDQMDLQRSWLPL]DFLMH
|
Oponašanje mehanizmov naravne evolucije
|
6SDGDMRYGUXçLQRHYROXFLMVNLKDOJRULWPRY
|
Osnovne operacije teh algoritmov so
(UHSURGXNFLMDNULçDQMHPXWDFLMDLQVHOHNFLMD).
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
EVOLUCIJA POPULACIJE
|
|
|
Evolucija populacije posameznikov temelji na
kriterijski funkciji njihovih kromosomov, ki ji
pravimo funkcija njihove ustreznosti
(angl. fLWQHVVIXQFWLRQ)
Višja vrednost funkcije ustreznosti pomeni višjo
YHUMHWQRVWNULçDQMD]GUXJLPLSRVDPH]QLNLLQV
tem prenosa kromosomov v naslednjo generacijo.
0XWDFLMHRPRJRĀDMRYHĀMRYDULDELOQRVWSUL
LVNDQMXEROMXĀLQNRYLWHSRSXODFLMH
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
284
OPTIMIZACIJA
|
|
|
0RçQHUHåLWYHGDQHJDSUREOHPDLJUDMRYORJR
posameznikov neke populacije
)XQNFLMRXVWUH]QRVWLGRORĀDRNROMHYNDWHUHP
PRçQHUHåLWYH´çLYLMRµLQVHUHSURGXFLUDMR
Evolucija populacije se nato izvaja z omenjenimi
štirimi osnovnimi operacijam.
(UHSURGXNFLMDNULçDQMHPXWDFLMDLQVHOHNFLMD)
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
OPTIMIZACIJA 3$5$0(75,ÿ1,+ MODELOV
|
|
|
Za posameznike v populaciji obravnavamo
SDUDPHWULĀQHPRGHOe, pri katerih ima vsak
svojo dano vrednosti parametrov.
Modele predstavimo kot posameznike, katerih
genetski zapisi so izpeljani iz vrednosti
njihovih parametrov.
(YROXFLMDVĀDVRPDGRORĀLSRSXODFLMRPRGHORY
ki imajo najvišjo vrednost kriterijske funkcije
oziroma funkcije ustreznosti.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
285
KODIRANJE PARAMETROV MODELA V
GENSKI ZAPIS KROMOSOMOV
|
Dvojiški nizi, ki predstavljajo nize celoštevilskih
ali kvantiziranih realnih vrednosti parametrov.
[00101010|10010101|11101101|00101001|10011110]
|
Nizi desetiških števk.
[42535126|09767283|86192876|76243546|67718231]
|
Nizi realnih števil z omejitvami pri NULçDQMX
[1,311; 3,988; 9,123 4,877; 6,712; 0,981 , 123; 9,712; 7,100]
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
KODIRANJE PARAMETROV MODELA V
GENSKI ZAPIS KROMOSOMOV
|
|
|
.OMXĀHQNRUDN]DXVSHåQRVWJHQHWVNLKDOJRULWPRYMH
ustrezno prekodiranje parametrov modela v
kromosomski niz.
.ULçDQMHLQPXWDFLMHNURPRVRPRYPRUDMRGRORĀDWL
VSUHPHQMHQHYUHGQRVWLSDUDPHWURYNLVRçH]QRWUDM
zaloge vrednosti, smiselnih za obravnavane
Dec.
Dvo.
Gray
SDUDPHWULĀQHPRGHOH
Pri dvojiškem kodiranju se pogosto
uporablja t.i. Grayev kod.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
0
1
2
3
4
5
6
7
000
001
010
011
100
101
110
111
000
001
011
010
110
111
101
100
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
286
KODIRANJE PARAMETROV MODELA V
GENSKI ZAPIS KROMOSOMOV
Posameznik
SDUDPHWULĀQLPRGHO
[10011101100010011100101010110111001011]
NULçDQMHPXWDFLMD
Posameznik
SDUDPHWULĀQLPRGHO
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
[01110101111010011110101010110011001000]
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
KRITERIJSKA FUNKCIJA EVOLUCIJE
|
|
|
|
Kriterijsko funkcijo parametrov modelov samo
prevedemo v funkcijo ustreznosti kromosomov
posameznikov v populaciji.
Vrednosti funkcije ustreznosti normiramo na vsoto
njenih vrednosti po vsej populaciji.
S tem pridobimo verjetnost reprodukcije vsakega
posameznika s svojim kromosomom.
Višja vrednost funkcije ustreznosti pomeni višjo
verjetnost reprodukcije posameznika.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
287
K5,æ$1-(
|
.URPRVRPDGYHKQDNOMXĀQRL]EUDQLKSRVDPH]QLNRY
QDNOMXĀQRNULçDPRYHQHJDDOLYHĀUD]OLĀQLK
potomcev.
[10011101100010011100101010110111001011]
[01110101111010011110101010110011001000]
[01110101110010011100101010010111001000]
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
MUTACIJA
|
V kromosomu se z majhno verjetnostjo spremeni
kakšen gen.
[01110101111010011110101010110011001000]
[01110001111010011110101010111010001000]
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
288
PRIMER UPORABE GENETSKEGA ALGORITMA –
UGOTAVLJANJE ROJENJA VZORCEV
|
.URPRVRPHWYRULMRQL]LVUHGLåĀQLKYHNWRUMHYURMHY
[࢝ଵ , ࢝ଶ , … , ࢝௠ ] = [‫ݓ‬ଵଵ , ‫ݓ‬ଵଶ , … , ‫ݓ‬ଵ௟ , ‫ݓ‬ଶଵ , ‫ݓ‬ଶଶ , … , ‫ݓ‬ଶ௟ , … , ‫ݓ‬ଵଵ , ‫ݓ‬ଵଶ , … , ‫ݓ‬௠௟ ]
௡
௠
‫࢝[ ܬ‬ଵ , ࢝ଶ , … , ࢝௠ ] = ෍ ෍ ߤ௜௝ ݀(࢞௜ , ࢝௝ )
௜ୀଵ ௝ୀଵ
ߤ௜௝ = ቊ
1 , ݀ ࢞௜ , ࢝௝ = min ݀ ࢞௜ , ࢝௞
௞ୀଵ,…,௠
0 ,
†”—‰ƒ«‡
|
.ULçDQMHMHGRYROMHQROHQDVWLNLKPHGYHNWRUMLYNURPRVRPLK
|
Mutacije z majhnimi spremembami poljubne vrednosti
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMER UPORABE GENETSKEGA ALGORITMA –
ISKANJE MAKSIMUMA IZBRANE KRITERIJSKE FUNKCIJE
|
http://userweb.elec.gla.ac.uk/y/yunli/ga_demo/
|
Iskanje maksimuma funkcije ݂ଵ ‫ݔ‬, ‫ ݕ‬s preverjanjem
pogojne funkcije ݂ଶ ‫ݔ‬, ‫ ݕ‬.
|
'HILQLFLMVNRREPRĀMHREHKIXQNFLMMHHQDNR
‫ݔ‬, ‫[ א ݕ‬0,10) × [0,10)
|
Kromosome kodiramo kot osem-mestno desetiško kodo
‫ = ݔ‬7,623 , ‫ = ݕ‬3,098 ื [76233098]
|
.ULçDQMHL]YDMDPR]UH]RPQDHQHPQDNOMXĀQHPPHVWX
30
76233098
[[53094145]
41 ]
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
3145
76233145
[
[53094098]
]
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
289
PRIMER UPORABE GENETSKEGA ALGORITMA –
ISKANJE MAKSIMUMA IZBRANE KRITERIJSKE FUNKCIJE
http://userweb.elec.gla.ac.uk/y/yunli/ga_demo/
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
UPORABNOST GENETSKIH ALGORITMOV ZA
OPTIMIZACIJO 3$5$0(75,ÿ1,+ MODELOV
|
|
|
|
3ULPHUQL]DSDUDPHWULĀQHPRGHOHSULNDWHULKL]UDĀXQ
kriterijske IXQNFLMHQLUDĀXQVNRSUH]DKWHYHQ
Primerni v primerih, ko je kriterijska funkcija
zapletena, neodvedljiva po parametrih in ima veliko
lokalnih maksimumov, vendar ne sme biti odsekoma
konstantna.
Nimajo jasno definiranega ustavitvenega pravila.
'UXJLSRGREQLDOJRULWPLYGRORĀHQLKSULPHULKGDMHMR
boljše rezultate
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
290
PODOBNI ZGLEDI ALGORITMOV
|
Simulirano ohlajanje
|
Simulacija kolonije mravelj
|
Simulacija bakterijskega hranjenja
|
Iskanje harmonije
|
Inteligentna kapljica vode
|
Iskalni algoritem Tabu
(uvedba VH]QDPDSUHSRYHGDQLKSRGURĀLMPRçQLKUHåLWHY)
|
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
VPRAŠANJA
|
Kaj je glavni namen genetskih algoritmov?
|
Katere so osnovne operacije teh algoritmov?
|
Kako predstavimo posameznike oziroma njihov genetski zapis
ter funkcijo njihove ustreznosti?
|
.DNRSRWHNDRSWLPL]DFLMDSDUDPHWULĀQLKPRGHORY]JHQHWVNLPL
algoritmi?
|
Kako kodiramo parametre modela v genski zapis kromosomov?
|
Podajte primer optimizacije z genetskim algoritmom.
|
Kdaj je optimizacija z genetskimi algoritmi še posebej
uporabna?
|
Katere so slabosti genetskih algoritmov?
|
Podajte nekaj podobnih zgledov optimizacijskih algoritmov.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4- Univerza v Ljubljani, Fakulteta za elektrotehniko
291
V(ÿ-AGENTNI SISTEMI
TEME PREDAVANJA
|
Uvod in definicije
|
1DPHUQLKRWHĀVLVWHP
|
Primer abstraktne zgradbe agentov
|
Koristnost agenta
|
Komunikacija med agenti
|
Agentni model BDI
|
3ULPHULYHĀ-agentnih platform
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
292
RAZVOJ 5$ÿ81$/1,ä.(*$ 352*5$0,5$1-$
|
Strojna koda
Zbirni jezik
| Od platforme neodvisni programski jeziki
| Podprogrami
| Procedure in funkcije
| Abstraktni podatkovni tipi
| Objekti
…
| Subjekti/Agenti
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
D58*, POMEMBNI TRENDI 5$ÿ81$/1,ä79$
|
2PUHçQRUDĀXQDOQLåWYRgrid computing)
|
9VHSULVRWQRUDĀXQDOQLåWYRubiquitous computing)
|
6HPDQWLĀQLVSOHWsemantic web)
|
5DĀXQDOQLåWYRYREODNXcloud computing)
|
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
293
V(ÿ-$*(171, SISTEMI IN
205(æ12 5$ÿ81$/1,ä792
|
Pri obeh gre za razvoj odprtih distribuiranih sistemov.
|
2PUHçQRUDĀXQDOQLåWYRVHRVUHGRWRĀDQDUD]YRM
inter-operabilne infrastrukture in orodja za varno in zanesljivo
GHOLWHYUDĀXQDOQLåNLKYLURY.
|
9HĀ-agentni VLVWHPLVHRVUHGRWRĀDMRQDUD]YRM
kRQFHSWRYPHWRGRORJLMLQDOJRULWPRY]DDYWRQRPQHUHåHYDOFH
SUREOHPRYNLVHSULODJDMDMRQHJRWRYLPLQGLQDPLĀQLPRNROMHP
pri doseganju zastavljenih ciljev.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
A*(17, - PRVA DEFINICIJA
|
|
|
$JHQWMHUDĀXQDOQLåNLVLVWHPNLMHVSRVREHQ
DYWRQRPQHJDQHRGYLVQHJDGHORYDQMD]DL]SROQMHYDQMH
zahtev in potreb uporabnika oz. lastnika.
-HVSRVREHQVDPRVWRMQHJDRGORĀDQMDRWHPNDMMH
potrebno storiti za doseganje zastavljenih ciljev.
Mu ni potrebno nenehno dopovedovati, katere korake
mora storiti, da bi dosegel zastavljeni cilj.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
294
V(ÿ-$*(171, SISTEM - PRVA DEFINICIJA
|
|
|
9HĀ-agentni VLVWHPYNOMXĀXMHYHĀMHåWHYLORDJHQWRYNL
vzajemno delujejo drug z drugim.
6RGHOXMRĀLDJHQWLQDVSORåQR]DSRWUHEHXSRUDEQLNDQH
zasledujejo istega cilja.
8VSHåQRY]DMHPQRGHORYDQMHDJHQWRY]DKWHYDQMLKRYR
sposobnost sodelovanja, usklajevanja in pogajanja
drug z drugim.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VIZIJA UPORABE
|
Avtonomne vesoljske in zemeljske sonde
|
3UHLVNRYDQMHPHGPUHçMD
|
2PUHçQLNRPXQLNDFLMVNLVLVWHPL
|
5DĀXQDOQLåNHLJUHLQJUDILND
|
8PHWQRçLYOMHQMH
|
Obrambni sistemi
|
7UDQVSRUWQLLQORJLVWLĀQLVLVWHPL
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
295
MIKRO IN MAKRO VIZIJA RAZVOJA
|
Razvoj posameznih agentov:
.DNRUD]YLWLDJHQWDNLER]PRçHQVDPRVWRMQHJDRGORĀDQMD
RSRWUHEQLKDNFLMDK]DGRVHJDQMH]DVWDYOMHQLKFLOMHY"
|
5D]YRMGUXçEHDJHQWRY
Kako razviti agente, ki ERGRVSRVREQLY]DMHPQHJD
GHORYDQMDVRGHORYDQMDXVNODMHYDQMDLQSRJDMDQMDåH
SRVHEHMĀHVLDJHQWLQHGHOLMRLVWLKLQWHUHVRYLQFLOMHY"
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
agent
modeli
vzorci
þXWLOD
orodja
cilji
KAJ JE TOREJ $*(17?
|
|
akcije
aktivatorji
$JHQWMHUDĀXQDOQLåNLVLVWHPNLMHVSRVREHQ
avtonomnega delovanja v nekem okolju, z namenom
doseganja zastavljenega cilja.
Agent je v nenehnem vzajemnem delovanju z
njegovim okoljem
]D]QDM– RGORĀL– GHOXM– ]D]QDM– RGORĀL– GHOXM – …
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
296
PRIMERI TRIVIALNIH $*(1729
|
Termostat:
y
y
|
=DVWDYOMHQLFLOMMHY]GUçHYDQMHWHPSHUDWXUHRNROMD
Delovanje z vklapljanjem in izklapljanjem gretja.
3RåWQLEUDOQLN
y
y
=DVWDYOMHQLFLOMMHVSUHPOMDQMHSRåWHLQREYHåĀDQMH
'HORYDQMH]DNFLMDPLSUHNRJUDILĀQHJDYPHVQLND
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
I17(/,*(171, $*(17
|
Izkazuje naslednje tri oblike vedenja:
y
Odzivnost na spremembe v okolju.
y
Proaktivnost, ki presega zgolj odzivanje na dogodke in
VSUHPHPEHYRNROMXGHQLPRSUHSR]QDYDQMHSULORçQRVWL
]DODçMHGRVHJDQMH]DVWDYOMHQHJDFLOMD
y
'UXçEHQRVW pri vzajemnem delovanju z drugimi agenti in
SRSRWUHEL]OMXGPL]PRçQRVWVRGHORYDQMDXVNODMHYDQMDLQ
pogajanja).
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
297
D58æ%(1267 PRI VZAJEMNE DELOVANJU
|
|
|
Sodelovanje v primeru, ko agent sam ne zmore
GRVHĀLFLOMDEUH]VRGHORYDQMD]GUXJLPLDJHQWL
Usklajevanje vzajemnih odvisnosti med
DNWLYQRVWPLUD]OLĀQLKDJHQWRYGHQLPRSUL
nedeljivih virih.
3RJDMDQMH]DGRVHJDQMHGRJRYRUDSULQDY]NULçQLK
LQWHUHVLKGHQLPRSULĀDVRYQLKRPHMLWYDKLQ
omejitvah virov.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
A*(17, IN OBJEKTI
|
Objekti:
y
y
y
|
zaobjema neko notranje stanje,
vsebuje metode, ki so operacije na notranjem stanju,
kRPXQLFLUDVSRVUHGRYDQMHPVSRURĀLO
Agent:
y
y
y
uWHOHåDYHĀMRVWRSQMRDYWRQRPLMH
VDPRGORĀDDOLERDOLQHERL]YHGHO]DKWHYDQRDNFLMR
izkazuje kompleksno in prilagodljivo vedenje
RG]LYQRVWproaktivnostGUXçEHQRVW
niso pasivni izvajalci ukazov.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
298
LASTNOSTI OKOLJA $*(17$
|
Dosegljivost proti nedosegljivosti.
|
Determiniranost proti nedeterminiranosti.
|
Epizodnost proti ne-epizodnosti.
|
6WDWLĀQRVWSURWLGLQDPLĀQRVWL
|
Diskretnost proti zveznosti.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
A*(17, KOT NAMERNI/+27(ÿ SISTEM
|
3ULUD]ODJLĀORYHåNLKDNWLYQRVWLXSRUDEOMDPRL]UD]H
kot:
-RçHMHY]HOGHçQLNNHUMHELOSUHSULĀDQGDGHçXMHLQ
MHQDPHUDYDOKRWHO RVWDWLVXK
|
Tovrstne izjave se uporabljajo pri napovedovanju in
UD]ODJLĀORYHåNHJDREQDåDQMDVSULSLVRYDQMHP
GUçYHGHQMDNRWVRYHUXMRĀ, çHOHĀ, XSDMRĀ, SUHVWUDåHQ,
«folk psychology).
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
299
A*(17, KOT NAMERNI SISTEM
INTENTIONAL SYSTEM)
|
|
|
Izraz „namerni sistem“ je prvi uveljavil filozof
Daniel Dennet.
Namerni sistem prvega reda vsebuje neka
SUHSULĀDQMD in çHOMH, vendar ne vsebuje
SUHSULĀDQMLQçHOMRSUHSULĀDQMLKLQçHOMDK
Namerni sistem drugega reda vsebuje
SUHSULĀDQMDLQçHOMHWXGLRSUHSULĀDQMLKLQçHOMDK
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ALI LAHKO *2925,02
O NAMERNI/+27(ÿ, '5æ, PRI STROJIH?
|
|
Pripisovanje SUHSULĀDQM, svobodne volje, namer,
zavesti, çHOMD, in potreb nekemu stroju je smiselno,
ĀHWDNåQRSULSLVRYDQMHL]UDçDHQDNRLQIRUPDFLMRSUL
VWURMXNRWMRL]UDçDSULĀORYHNX
7RSRĀHWMHMHXSRUDEQRĀHQDPRPRJRĀLEROMåH
razumevanje zgradbe in delovanja stroja,
njegovega preteklega in prihodnjega vedenja ali
SRPDJDSULQMHJRYHPSRSUDYLOXDOLL]EROMåDQMX
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
300
KAJ LAHKO 23,ä(02 Z NAMERNO '5æ2?
|
3ULPHUVWLNDOD]DOXĀ
Stikalo je zelo kooperativne trivialni agent, ki
LPD]PRçQRVWSUHYDMDQMDHOWRNDSRçHOML.R
YHUMDPHMHSUHSULĀDQRGDPLçHOLPRGDWRN
VWHĀHSRWHPWRNSUHYDMDVLFHUSDQH
3UHNORSVWLNDODMHQDĀLQNRPXQLNDFLMHVNDWHUR
L]UD]LPRQDåRçHOMR
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
KAJ LAHKO 23,ä(02 Z NAMERNO '5æ2?
|
|
|
|
Pri preprostih sistemih, ki jih dobro razumemo, s
WDNåQLPLRSLVLQHSULGRELPRQLĀXSRUDEQHJD
3UL]HORNRPSOHNVQLKVLVWHPLKSDRELĀDMQLWHKQLĀQL
RSLVLPHKDQL]PDGHORYDQMDQLVRQXMQRPRJRĀL
V teh primerih potrebujemo za opis delovanja
globljo abstrakcijo in prispodobe.
2SLV]QDPHUQRGUçRMHHQDRGWDNåQLKDEVWUDNFLM
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
301
POST-DEKLARATIVNI 352*5$06., =*/('
|
|
|
3ULSURFHGXUDOQHPSURJUDPLUDQMXQDWDQĀQRSRYHPR
kaj naj sistem izvaja.
Pri deklarativnem programiranju povemo, kaj
çHOLPRGRVHĀLLQSRGDPRUHODFLMHPHGREMHNWL
mehanizmu sklepanja pa prepustimo izpeljavo cilja.
Pri agentih podamo le visoko-QLYRMVNLRSLVçHOHQHJD
FLOMDLQSUHSXåĀDPRNRQWUROQHPXPHKDQL]PXGDVH
VDPRGORĀLNDNRFLOMGRVHĀLSULĀHPHUYHPRGDER
deloval v skladu z neko vgrajeno racionalno logiko.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMER ABSTRAKTNE =*5$'%$ $*(1729
|
|
|
Predpostavimo, da je lahko okolje le v enem od stanj
L]NRQĀQHPQRçLFH
Agenti naj imajo na razpolago zalogo akcij, ki
spreminjajo stanje okolja.
Tek agenta v okolju je niz prepletenih stanj okolja in
akcij.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
302
VEDENJE OKOLJA
|
|
|
3UHWYRUQLNVWDQMRNROMDNLWHNNLVHNRQĀD]QHNR
akcijo, pretvori v novo stanje okolja.
Okolje je lahko odvisno od zgodovine ali neGHWHUPLQLVWLĀQR
2NROMHWDNRGRORĀDWURMND
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VEDENJE $*(17$
|
|
|
$JHQWMHSUHVOLNDYDNLWHNNLVH]DNOMXĀL]VWDQMHP
okolja preslika v novo akcijo.
$JHQWWRUHMVSUHMPHRGORĀLWHYRQRYLDNFLMLQDRVQRYL
]JRGRYLQHVLVWHPDNLPXMHSULĀD
Sistem je par agenta in okolja
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
303
A*(171, SISTEM
|
Zaporedje
predstavlja tek agenta
v okolju
ĀH
1.
SUHGVWDYOMD]DĀHWQRVWDQMHRNROMD
in
2.
3.
Za X> 0
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
P263/2ä,7(9 A*(171(*$ SISTEMA
|
Uvajanje zaznavanja okolja
poglej
a
akcija
agent
okolje
|
Uvajanje notranjega stanja agenta
poglej
akcija
akci
naslednji
ji
agent
a
age
sstanje
okolje
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
304
KONTROLNA ZANKA $*(17$
|
3ULĀHWHNL]YDMDQMDY]DĀHWQHPQRWUDQMHPVWDQMX
|
Ponavljanje naslednjih korakov:
Opazuj stanje okolja in ustvari zaznavo skozi
SRJOHM«
y 2VYHçLQRWUDQMHVWDQMHVNR]LQDVOHGQML«
y Izberi akcijo skozi DNFLMD«
y Izvedi izbrano akcijo.
y
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
UVAJANJE KORISTNOSTI STANJ
|
|
|
(QDRGPRçQRVWLMHSULUHMDQMHNRULVWQRVWLSRVDPH]QLP
stanjem okolja.
Naloga agenta je prihod v stanje, ki maksimizira
koristnost.
'RORĀLWHYQDORJHMHWDNRGRORĀLWHYSUHVOLNDYH
NLSULUHGLUHDOQRåWHYLORYVDNHPXVWDQMXRNROMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
305
PROBLEM '2/2ÿ$1-$ KORISTNOSTI TEKA
|
Koristnost teka je lahko enaka:
y
y
y
y
y
Minimalni koristnosti stanja v teku.
1DMYHĀMLNRULVWQRVWLVWDQMDYWHNX
Vsoti koristnosti stanj v teku.
3RYSUHĀMHNRULVWQRVWLVWDQMYWHNX
…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PROBLEM '2/2ÿ$1-$ KORISTNOSTI TEKA
|
|
|
'UXJDPRçQRVWMHXYDMDQMDQHSRVUHGQHNRULVWQRVWL
teka.
7R]DKWHYDGROJRURĀQLSRJOHGQD]JRGRYLQRVLVWHPD
9REHKSULPHULKLPDPRWHçDYH]GRORĀDQMHP
vrednosti koristnosti.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
306
PRIMER 23(ÿ1$7(*$ SVETA
|
|
|
|
6LPXODFLMDGYRUD]VHçQHJDVYHWD]
agenti, opekami, ovirami in luknjami.
$JHQWVHODKNRSUHPLNDYåWLULKVPHUHKLQYSULPHUX
ĀHVHQDKDMD]UDYHQRSHNHMRODKNRSRULQHQDSUHM
Agenti lahko zapolnijo luknje z opekami.
2SHĀQDWLVYHWVHVSUHPLQMD]QDNOMXĀQLPSRMDYOMDQMHP
ali izginjanjem lukenj ali ovir.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMER FUNKCIJE KORISTNOSTI TEKA
|
|
Funkcija koristnosti je definirana kot razmerje med
åWHYLORP]DSROQMHQLKOXNHQMPHGWHNRPLQåWHYLORP
lukenj, ki so se pojavile med tekom.
ÿHDJHQW]DSROQLYVHOXNQMHMHNRULVWQRVWHQDNDHQD
ĀHQH]DSROQLQREHQHSDQLĀ
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
307
UVAJANJE 35,ÿ$.29$1( KORISTNOSTI TEKA
|
|
|
8YHGHPRYHUMHWQRVWGDVHWHN]JRGLĀHMHDJHQW
XPHåĀHQYGDQRRNROMH
3ULĀDNRYDQDNRULVWQRVWDJHQWDMHVHåWHYHNNRULVWQRVWL
YVHKPRçQLKWHNRYDJHQWDSRPQRçHQLK]YHUMHWQRVWMR
teh tekov.
=DRSWLPDOQHJDDJHQWDVHåWHMHWLVWLDJHQWNL
maksimizira VYRMRSULĀDNRYDQRNRULVWQRVW
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VPRAä$1-$ – 1. DEL
|
.DNåQDMHGHILQLFLMDDJHQWDLQYHĀ-agentnega sistema?
|
.DNåQDMHYL]LMDXSRUDEHYHĀ-agentnih sistemov?
|
Podajte primer trivialnih agentov.
|
.DNåQHREOLNHYHGHQMDQDMELL]ND]RYDOLQWHOLJHQWQL
agent?
|
.DNåQDMHUD]OLNDPHGSURJUDPVNLPLREMHNWLLQDJHQWL"
|
Ali lahko govorimo o QDPHUQLKRWHĀLGUçLSULVWURMLK?
|
2SLåLWHRVQRYQRNRQWUROQR]DQNRDJHQWD
|
2SLåLWHSUREOHPGRORĀDQMDNRULVWQRVWLWHNDDJHQWD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
308
KOMUNIKACIJA MED $*(17,
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
KOMUNIKACIJA MED $*(17,
|
|
|
|
Komunikacija med agenti izhaja iz Teorija govornih dejanj
speech act theory).
Ta teorija obravnava jezik kot sredstvo s katerim ljudje
dosegajo svoje cilje in namere.
,]MDYHREUDYQDYDNRWVYRMHYUVWQDIL]LĀQDGHMDQMD]DNDWHUH
VH]GLGDVSUHPHQLMRVWDQMHVYHWDQSUQDSRYHGYRMQH
Predlagani so standardi zapisa med-agentnega jezika, kot
MH),3$)RXQGDWLRQIRU,QWHOOLJHQW3K\VLFDO$JHQWV)
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
309
*OVORNA DEJANJA
|
3UHGSRVWDYOMDVHYHĀYUVWRVQRYQLKJRYRUQLKGHMDQM
kot so:
y
informacije: informiranje o stanju,
=XQDMGHçXMH),
y
ukaziSRVNXVSULSUDYLWLSRVOXåDOFDL]YHVWLQHNDM
3ULSUDYLĀDM),
y
obveze: obvezovanje govorca k nekemu dejanju,
2EOMXEOMDPGD«),
y
izraziL]UDçDQMDJRYRUĀHYHJDGXåHYQHJDVWDQMD
+YDOD),
y
deklaracije: deklariranje novega stanja okolja
1DSRYHGXMHPYRMQR),
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
T232/2*,-$ *29251,+ DEJANJ
|
*RYRUQRGHMDQMHLPDGYHJODYQLNRPSRQHQWL
y
i]YUåQLJODJRO: zahtevati, informirati, poizvedovati, …
y
vsebina izjaveQSUÅ9UDWDVR]DSUWD´).
performative = request
content = “the door is closed”
speech act = “please close the door”
| performative = inform
content = “the door is closed”
speech act = “the door is closed!”
| performative = inquire
content = “the door is closed”
speech act = “is the door closed?”
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
310
POMENSKA ANALIZA IN SISTEM 1$ÿ5729$1-$
|
|
Kako ugotovimo, da nekdo nekaj zahteva, informira, …
(GHQRGVLVWHPRYQDĀUWRYDQMDWHPHOMLQDIRUPDOL]PX
SUHGSRJRM-L]EULV-GRGDM
y
pUHGSRJRMDV MHUHVQLĀHQĀHMHDNFLMRa PRçQRL]YHVWLY
situaciji V
y
L]EULVDQSDVMHUHVQLĀHQĀHVHSUHGSRJRMp ODKNRL]EULåH
ko je akcija a izvedena v situaciji V,
y
GRGDMSDV MHUHVQLĀHQĀHVHSUHGSRJRMp lahko doda, ko je
akcija a izvedena v situaciji V
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMER POMENSKE ANALIZE „ZAHTEVE“
PRI SISTEMU 1$ÿ5729$1-$
]DKWHYDJSD
|
|
Pred govornim dejanjem
y
govorec g verjameGDSRVOXåDOHFp zmore akcijo a,
y
govorec g verjame, da SRVOXåDOHFp verjame, da zmore akcijo a,
y
govorec g verjame, da govorec g çHOL akcijo D
Po govornem dejanju
y
SRVOXåDOHFp verjame, da govorec g çHOLDNFLMRD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
311
PRIMERI JEZIKOV ZA KOMUNIKACIJO MED $*(17,
|
|
|
Obstaja nekaj primerov jezikov za komunikacijo med
DJHQWLDQJODJHQWFRPPXQLFDWLRQODQJXDJHV - ACL).
Eden prvih in zelo znanih je jezik KQML predlagan v
okviru ARPA iniciative.
Vsebuje dva dela:
y
MH]LN.40/WKHNQRZOHGJHTXHU\DQGPDQLSXODWLRQODQJXDJH)
y
IRUPDW.,)WKHNQRZOHGJHLQWHUFKDQJHIRUPDW)
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
PRIMERI ,=95ä1,.29 V KQML
|
|
.40/GRORĀDYHĀNOMXĀQLKNRPXQLNDFLMVNLKL]YUåQLK
glagolov:
y
ask-if Å-HUHVGD«"´)
y
perform Å3URVLPL]YHGLQDVOHGQMRDNFLMR«´)
y
tell Å5HVMHGD«´)
y
reply Å2GJRYRUMHGD«´)
6.,)SDL]UDçDPRYVHELQRL]MDYH
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
312
PRIMER KQML/KIF ',$/2*$
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
FIPA STANDARD
|
Program agentnih standardov FIPA
|
Jedro standarda je prav ACL, ki je podoben KQML.
|
9VHEXMHL]YUåQLKJODJRORYYRGHQMHHYLGHQFH
VSRURĀLOLQSUHQDåDQMHYVHELQHL]MDY
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
313
I=95ä1, */$*2/, PO FIPA STANDARDU
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
P52*5$06., $*(171, MODEL
|
|
|
2ELĀDMQRUDĀXQDOQLåNRSURJUDPLUDQMHWHPHOMLQD
preprostem agentnem modelu.
Inteligentni agenti pa naj bi temeljili na bolj
striktnem programskem modelu, ki predvideva
QMHJRYDPHQWDOQDVWDQMDNRWVRSUHSULĀDQMDçHOMHLQ
QDPHUHDQJO. EHOLHIVGHVLUHVDQGLQWHQWLRQV - BDI).
7DSURJUDPVNLPRGHORPRJRĀDYLåMHQLYRMHDEVWUDNFLMH
NRWRELĀDMQRSURJUDPLUDQMHLQMHEOLçMHĀORYHNRYHPX
QDĀLQXXPRYDQMD
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
314
P52*5$06., $*(171, MODEL BDI
|
|
|
Temelji na Bratmanovi WHRULMLUD]ODJHĀORYHåNHJD
REQDåDQMD]PRGHOLUDQMHPQMHJRYLKSUHSULĀDQMçHOMD
in namer.
3UHGYVHPJUH]DPHKDQL]HPNLORĀLDNWLYQRVWL
L]ELUHQDĀUWDGHORYDQMDL]]ELUNHQDĀUWRYLQ
DNWLYQRVWLVDPHJDL]YDMDQMDçHL]EUDQLKQDĀUWRY
$JHQWWDNRODKNRXUDYQRYHåDSRUDEOMHQLĀDVPHG
ÅUD]PLåOMDQMHP´RWHPNDMQDMQDUHGLLQGHMDQVNLP
GHORYDQMHPSRL]EUDQHPQDĀUWX
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
SESTAVINE 352*5$06.(*$
$*(171(*$ MODELA BDI
3UHSULĀDQMD Notranja stanje agenta, ki navadno
YNOMXĀXMHMRPHKDQL]HPVNOHSDQMDNL]YHULçHQMHP
RPRJRĀDWYRUMHQMHQRYLKSUHSULĀDQMRVYHWXLQ
DJHQWXVDPHPL]REVWRMHĀLKSUHSULĀDQM
| æHOMH Ciljno motivirano stanje agenta, ki jih
QDYDGQRSRGDPRNRWQHNHORJLĀQHFLOMH
| Namere: Preudarno stanje agenta, ki predstavlja
QHNRQMHJRYRQDPHURYREOLNLQDĀUWDGHORYDQMD
1DPHUHVRçHOMHNLMLKSRVNXåDDJHQWOHGRQHNH
mere izpolniti.
| Dogodki: 3URçLMRVSUHPLQMDQMHSUHSULĀDQM
VSUHPLQMDQMHFLOMHYDOLGUXJRL]ELURQDĀUWRY
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
315
SESTAVINE 352*5$06.(*$ $*(171(*$
MODELA BDI
|
|
|
|
3UHSULĀDQMD 8UHMHQDYREOLNLED]HSUHSULĀDQMNLMH
QDYDGQRQHNDED]D]QDQMDNLSDQHRGUDçDQXMQR
UHVQLĀQHJDVYHWD
æHOMH 8UHMHQDYQHNVH]QDPORJLĀQLKFLOMHY
Namere: 8UHMHQHYVH]QDPQDĀUWRYNLMLK
SUHGVWDYOMDMR]DSRUHGMDPRçQLKDNFLM
Dogodki: Se ustvarjajo iz okolja ali so SURçHQL
notranje, kot posledica sprememb notranjega stanja.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
S3/2ä(1 72/0$ÿ ZA
352*5$06., MODEL
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
BDI
Inicializiraj notranja stanja
| Ponavljaj:
y VH]QDPBRSFLMtvori_opcijeYUVWDBGRJRGNRY
y L]EUDQDBRSFLMDpreudariVH]QDPBRSFLM
y oVYHçLBQDPHUHL]EUDQDBRSFLMD
y izvedi_akcije
y SULGRELBQRYHB]XQDQMHBGRJRGNH
y ]DYU]LBQHXVSHåQHBGUçH
y ]DYU]LBQHVPLVHOQHBGUçH
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
316
P52*5$06., JEZIKI ZA UDEJANJANJE
352*5$06.(*$ MODELA BDI
|
|
|
|
Navadno se izbira med funkcionalnimi oz.
deklarativnimi programskimi jeziki.
9HĀ-agentne SODWIRUPHNRWMH-$'(QHYNOMXĀXMHMR
YLåMLKSURJUDPVNLKjezikov.
0HKDQL]HPVNOHSDQMDSULYRGHQMXED]HSUHSULĀDQMLQ
zasledovanju ciljev lahko udejanjimo s Prologom.
2EVWDMDMRSUHGORJLLQXGHMDQMHQLWROPDĀL]DveĀ
deklarativnih programskih jezikov za programski
model BDI.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ABSTRAKTNI 352*5$06., JEZIK
A*(17SPEAK/
Anand S. Rao AgentSpeak/%',$JHQWV
VSHDNRXWLQDORJLFDOFRPSXWDEOHODQJXDJH.
| 5D]åLUMDSUHGLNDWQLUDĀXQ]GHILQLFLMRçHOMH agenta, da
GRVHçHL]SROQLWHYSUHGLNDWDDOLSRVNXåDXJRWRYLWLDOL
je izpolnjen.
| 3UHGYLGHYDPHKDQL]HPKNUDWQHREUDYQDYHYHĀ
DNFLMVNLKQDĀUWRYNLMLKDJHQWXVWYDUMDDOLRSXåĀD
JOHGHQD]DEHOHçHQHGRJRGNH
| Primera udejanjenj tega jezika sta Jason in 2APL, ki
XSRUDEOMDWDSURORJ]DPDQLSXODFLMRED]HSUHSULĀDQM
NLJDQDGJUDMXMHWD]YLåMLPMH]LNRPSUDYLO
|
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
317
ABSTRAKTNI 352*5$06., JEZIK
A*(17SPEAK/
|
|
|
9HUMHWMDVRSUHGLNDWLQSUlocation(robot,a)).
&LOMMHVWDQMHNLJDDJHQWçHOLGRVHĀL2EUDYQDYDVH
dve vrsti dogodkov: GRVHçHN in SUHL]NXV
ÿHMHlocation(robot,a)verjetje, potem je
!location(robot,a) GRVHçHNLQ?location(robot,a)
preizkus.
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
ABSTRAKTNI 352*5$06., JEZIK
A*(17SPEAK/
|
|
3URçLOQLGRJRGHNVRGRJRGNLGRGDMDQMDEULVDQMD
verjetij ali ciljev.
ÿHMHb(t) atom verjetja, !b(t) in ?b(t) cilja, potem
VRPRçQLSURçLOQLGRJRGNL
+b(t), -b(t), +!b(t), -!b(t), +?b(t), -?b(t)
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
318
PRIMER $*(1729,+ 1$ÿ5729 V JEZIKU
A*(17SPEAK/
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
P52*5$06., JEZIKI ZA UDEJANJANJE
352*5$06.(*$ MODELA BDI
|
|
JADEX
httpYVLV-ZZZLQIRUPDWLNXQL-KDPEXUJGHSURMHFWVMDGH[
-$621AgentSpeak;/
httpMDVRQVRXUFHIRUJHQHW-DVRQ-DVRQKWPO
| 3APL
http://www.cs.uu.nl/3apl/)
| 2$3/AgentSpeak)
KWWSDSDSOVRXUFHIRUJHQHW )
| JACK Agent Language -$/
KWWSZZZDJHQW-VRIWZDUHFRPDXSURGXFWVMDFN
|…
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
319
POMANJKLJIVOSTI IN OMEJITVE
352*5$06.(*$ MODELA BDI
|
|
|
|
1H]PRçQRVWXĀHQMDL]SUHWHNOLKGUçSULSULODJDMDQMX
na nove razmere.
Ni eksplicitnega modeliranja sodelovanja,
usklajevanja in pogajanja z drugimi agenti.
Ni podpore preudarjanju s pogledom v prihodnost,
NDUODKNRYRGLDJHQWDYSDVWLL]NDWHULKQLUHåLWYH
1LMDVQRĀHELSUHSULĀDQMHPQDPHUDPLQçHOMDP
PRUGDQHELORGREURGRGDWLåHNDNåQRYHGHQMH
R]LURPDGUçR
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
VPRAä$1-$ – 2. DEL
|
|
|
Zakaj komunikacija med agenti temelji na teoriji
govornih dejanj?
.DWHUDRVQRYQDJRYRUQDGHMDQMDVHXSRåWHYD"
Podajte primer pomenske analize in sistema
QDĀUWRYDQMD
|
Podajte primere jezikov za komunikacijo med agenti.
|
.DMGRORĀD),3$VWDQGDUG"
|
2SLåLWHSURJUDPVNLagentni model BDI.
|
Kaj so RVQRYQH]QDĀLOQRVWLDEVWUDNWQHJD
programskega jezika AgentSpeak/"
Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014
$YWRUVNHSUDYLFHSULGUçDQH‹4 - Univerza v Ljubljani, Fakulteta za elektrotehniko
320