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%simon.dobrisek@fe.uni-lj.si 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko 11 OD ROBOTOV DO AVTONOMNIH AGENTOV Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko 15 UMETNO ZAZNAVANJE Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko 18 ZAZNAVANJE IZ SLIK Zaznavanje globine prostora Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko ZAZNAVANJE IZ SLIK Lokalno in globalno zaznavanje Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko UMETNA INTELIGENCA Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko 31 MEHKO R$ÿ81$1-( Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko 33 STROJNO Uÿ(1-( Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko 43 IZBOLJŠANA 5(61,ÿ1267 | .RPELQDFLMDUHVQLĀQLKLQXPHWQRWYRUMHQLKSRGDWNRY Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko RAZVOJ GLAVNIH SESTAVIN AMI Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko PRIMERI SCENARIJEV AMI KWWSZZZPRMPLNURVLSUH]LYHWLLQBVHYVHSULVRWQLBVOX]DEQLNBYBR]DGMX Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko ZGLED 6(0$17,ÿ1(*$ 205(æ-$ Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko 127 ZGLED PETRIJEVEGA 205(æ-$ Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH3 - 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çDQH3 - Univerza v Ljubljani, Fakulteta za elektrotehniko Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH3 - 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4- 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - Univerza v Ljubljani, Fakulteta za elektrotehniko 308 KOMUNIKACIJA MED $*(17, Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - Univerza v Ljubljani, Fakulteta za elektrotehniko 312 PRIMER KQML/KIF ',$/2*$ Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH4 - 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çDQH4 - Univerza v Ljubljani, Fakulteta za elektrotehniko 313 I=95ä1, */$*2/, PO FIPA STANDARDU Umetni inteligentni sistemi, UN2-1-IZB-vsi 2013/2014 $YWRUVNHSUDYLFHSULGUçDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - 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çDQH4 - Univerza v Ljubljani, Fakulteta za elektrotehniko 320
© Copyright 2024