mesterséges intelligencia
TRANSCRIPT
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
1. ELŐADÁS(előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 2/29
MESTERSÉGES INTELLIGENCIA (13x(2/1/0)/v/4)
(6/3/0/v/4)
Tantárgyfelelős: Dr. Cserny László főiskolai tanár, fszt. 35 sz.
Előadó/gyak.vezető: Dr. Cserny László főiskolai tanár, fszt. 35. sz. ([email protected])
Fogadóóra: előadás után, vagy megbeszélés szerint.
A tárgy követelményrendszere: vizsga (ZH-k összesített eredménye alapján megajánlott jegy)
1. ZH.: 2019. március 27.(7. ea.)2. ZH.: 2019. május 15. vagy 22.
értékelés: 0-40% elégtelen(1), 41-53% elégséges(2), 54-67% közepes(3), 68-80% jó(4), 81-100% jeles(5).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 3/29
Fogl.Idő-
tartamTematika Tananyag
Tanulásra ford. idő
Zárt-helyi
1. 3Bevezetés, a mest. int. története, alapvetődefiníciók
1. 3
2. 3Feladatreprezentáció. Nem-informált keresőeljárások
2. 3
3. 3 Informált, heurisztikus kereső eljárások 3. 3
4. 3 Tudásreprezentáció, logikai megjelenítés 4. 3
5. 3Tud. reprezentáció, elsőrendű logikai megje-lenítés
5. 3
6. 3 Tud.repr., logikai programozás; 1. ZH. 6. 8 1. ZH
7. 3 Tud.repr. (szabály-, keret-, eset-alapú) 6. 3
8. 3 Bizonytalanságkezelés, valószínűségi alapon 7. 3
9. 3Bizonytalanságkezelés, bizonyossági ténye-ző, fuzzy-alapú megközelítés
8. 3
10. 3 Gépi tanulás, neurális hálók 9. 3
11. 3 Gépi tanulás, neurális hálók 2. 10. 3
12. 3Tudásalapú rendszerek (szakértői, döntéstá-mogató, … rsz-ek)
11. 3
13. 3 Tudásalapú rendszerek kialakítása. 2. ZH 12. 9 2. ZH
vizsgaKülön alkalom
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 4/29
Irodalom: Cserny L.: Mesterséges intelligencia, GDF, Bp., 2018/2019-2 (ea.vázlat) Russel, S.J.-Norvig, P.: Mesterséges intelligencia, Panem, Bp., 2005 (2.kia-
dás)
https://mialmanach.mit.bme.hu/ Mesterséges Intelligencia Almanach, BME, 2012 Borgulya I.: Szakértői rendszerek, technikák és alkalmazások, ComputerBooks, Bp.,
1995 Csenki, A.: Prolog techniques, Bookboon.com, 2009 (free e-book) Futó I.(szerk.): Mesterséges intelligencia, Aula, Bp., 1999 Horváth G. (szerk.): Neurális hálózatok és műszaki alkalmazásai, Műegyetemi Kiadó,
Bp., 1998 Sántáné-Tóth E.: Tudásalapú technológia, szakértő rendszerek, ME DFK, Dunaúj-
város, 1998 (2. kiad.) Szalay T.: A mesterséges intelligencia alapjai, GDF, Bp., 2002 (jegyzet) Volná, E.: Introduction to soft-computing, Bookboon.com, 2013 (free e-book)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 5/29
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia (MI) fogalma, előzmények. • mi a mesterséges intelligencia? MI értelmezése;
• ágensek és azok jellemzői;
• MI előzményei és jövője 2. Alapproblémák, a problémamegoldás feltételei (feladat
megjelenítés, állapottér 3. Keresési eljárások (informált, nem-informált keresések)
4. Tudásreprezentációs módszerek, következtetés
5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.) 6. Gépi tanulás módjai (statisztikus, neurális hálók, stb.)
7. Intelligens rendszerek (tudásalapú rendszerek, robotok)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 6/29
BEVEZETÉS
A számítástechnikai eszközök, intelligens rendszerek fejlődése
0 1000 2000
Számoló-táblák
Neumann elvű digitális
számítógépek
Elektro-mechanikus ésanalóg gépek
Mechanikusszámológépek
LogikaMate-
matikaimodellek
Kiber-netika
Mesterséges intelligencia
19461600-350 1900
1956
Mechanikusgépek
Intelligensrendszerek
(1. ábra*) * Seebauer M.: Intelligens rendszerek ea., DF, 2009
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 7/29
A számítástechnikai eszközök, intelligens rendszerek fejlődése
(2. ábra*) * Seebauer M.: Intelligens rendszerek ea., DF, 2009
Kezdeti lelkesedés
2000
Nagygépes rendszerek Mobil
kommunikáció
Lokálishálózatok
és Internet
Személyi számító-
gépek
KudarcokMikro-
rendszerek
1946
1956
Ipari alkalma-
zások
1980 199019701960
Mate- matikai
modellek
Intelligenságensek
Beágyazott
rendszerek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 8/29
1. MESTERSÉGES INTELLIGENCIA FOGALMA, ELŐZMÉNYEK
1.1. Fogalmak értelmezése
Az intelligencia lényege:
"Intelligentia" (latin): megismerés, megértés, felfogó képesség.
"Az értelmi működés fokmérője. Elsősorban mint az egyénnek új körülmé-nyekhez való alkalmazkodó képessége mutatkozik meg, amely szorosan összefügg az előzőleg szerzett tapasztalati anyag alkalmazásával, a helyzet mozzanatainak széleskörű figyelembe vételével és a gondolkodóképességgel.” (Új Magyar Lexikon)
"The ability to learn/understand/to deal with new or trying situation." (Webster's Dictionary)
"Alkalmazkodó válaszadási képesség új szituációkban.” (Cambridge Enciklo-pédia)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 9/29
Emberi alkalmazkodó képesség, problémamegoldás jellemzői:
- hatékony megoldó képesség bonyolult helyzetekben, - bizonytalan helyzetek (adatok, következtetések) kezelése, - kivételek felismerése, kezelése, - tanulóképesség (alkalmazkodás, ismeretbővítés, megoldó készség növelése), - kommunikációs képesség = magyarázat és
= indoklás adás;
→ intelligens "rendszer"-ként viselkedik. "Egy rendszer intelligensen viselkedik, ha a rendelkezésre álló ismeretek alap-ján a lehető legjobb döntést hozza egy adott cél elérése érdekében." (S. Russel) Intelligens rendszer: olyan számítógépes rendszer, amelyet intelligensnek neve-zünk; azaz, hasonlít az emberre "gondolkodásában" és "cselekvésében".
→ mesterséges intelligencia (MI)
[AI - Artificial Intelligence - J. McCarthy,1956, Dartmouth]
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 10/29
Mesterséges intelligencia célja:
• emberi tevékenységek intelligens rendszer /számítógép/ által való támogatá-sa: így,
- újszerű és hatékony problémamegoldási formák megtalálása,
- folyamatos, monoton munkavégzés kiváltása,
- veszélyes, vagy ember számára elérhetetlen helyeken történő feladatmeg-oldás,
- fogyatékosok életminőségének javítása.
• emberi intelligencia mibenléte, annak jobb megértése
- olyan eszközök készítése, melyek 'gondolkodásban', 'cselekvésben' legjob-ban hasonlítanak az emberre.
Kérdés: milyen rendszer az, amely hasonlít az emberre "gondolkodásban" és "cselekvésben"?
→ racionálisan cselekvő rendszer (ágens [agent])
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 11/29
Emberhez hasonló módon Racionálisan
Gondol-kodó
(A) Kognitív (megismerő) modelle-zés
“Az emberi gondolkodással asz-szociálható olyan aktivitások [au-tomatizálása], mint pl. a döntés-hozatal, a problémamegoldás, a tanulás,”(Bellman, 1978)
(C) Gondolkodási (logikai) törvé-nyek
“Az észlelést, a következtetést és a cselekvést biztosító számí-tási mechanizmusok tanulmá-nyozása.” (Winston, 1992)
Cselek-vő
(B)Turing-teszt “Annak tanulmányozása, hogy ho-gyan lehet a számítógépekkel olyan dolgokat művelni, amiben pillanatnyilag az emberek a job-bak.” (Rich and Knight, 1991)
(D) Optimális cselekvés adott cél érdekében, a rendelkezésre álló ismeretekre építve
“A számítógépes tudományok egy ága, amely az intelligens vi-selkedés automatizálásával fog-lalkozik.” (Luger and Stubble-field, 1993)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 12/29
A.) Emberhez hasonló módon gondolkodó rendszer “Az emberi gondolkodással asszociálható olyan aktivitások [automatizálása], mint pl. a döntéshozatal, a problémamegoldás, a tanulás,...”(Bellman, 1978) Vizsgálandó: - az emberi gondolkodás vizsgálata, megértése → kognitív pszichológia - az agy belső működésének vizsgálata, megértése, - a gondolkodás folyamatának leírása (programozása), Fizikai megvalósítás: - számítógépes programok, - genetikus algoritmusok, - neurális hálózatok. MI célja: működő rendszer kialakítása
→ kognitív tudomány - cognitiv science (MI + pszichológia együttese)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 13/29
A teszt teljesíthetőségének feltételei: - természetes nyelv megértése, - megfelelő tudásreprezentáció, - következtető képesség, - tanulóképesség,
- mesterséges látás/képfeldolgozás, - tárgymozgatási képesség.
B.) Emberhez hasonló módon cselekvő rendszer “Annak tanulmányozása, hogy hogyan lehet a számítógépekkel olyan dolgokat művelni, amiben pillanatnyilag az emberek a jobbak.” (Rich and Knight, 1991) Kérdés: mikor gondolkodik/viselkedik intelligensen egy gép? Javaslat: Turing-teszt (működési teszt az intelligens viselkedésre). A számítógép intelligensnek tekinthető, amennyiben egy terminálon keresztül kérdező nem tudja eldönteni, hogy vele szemben ember, vagy számítógép áll. (Alan Turing, 1950)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 14/29
C.) Racionálisan gondolkodó rendszer “Az észlelést, a következtetést és a cselekvést biztosító számítási mechaniz-musok tanulmányozása.” (Winston, 1992) A helyes gondolkodás kutatása, tudománya: a logika Kiinduló pont: Arisztotelész szillogizmusa → természetes kö-
vetkeztetés
→ helyes előfeltételekből mindig helyes következményre jutunk: például: 'minden ember halandó'
'Szokratész ember' "Modus ponens" következtetési ⇒ 'Szokratész halandó' szabály
Formális/szimbolikus logika kialakulása (G.W.Leibniz, G.Frege, G.Boole) Probléma: – nem minden intelligens viselkedés írható le a logikai következtetés
eszközeivel.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 15/29
D.) Racionálisan cselekvő rendszer “A számítógépes tudományok egy ága, amely az intelligens viselkedés automa-tizálásával foglalkozik.” (Luger and Stubblefield, 1993) Az MI célterülete: intelligens rendszerek létrehozása. Az intelligencia mértéke a racionalitás (ideális, nem emberi):
=> adott helyzetben a legjobb cselekvést választani és végrehajtani. MI (absztrakt) vizsgálati eszköze: Az ágens [agent] olyan rendszer, amely ér-zékeli a környezetét és cselekszik. Az ágens fő alkotó részei: architektúra (hardware) + program (akciókat indít)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 16/29
1.2. Ágensek MI tanulmányozásának mesterséges eszköze: → ágens = architektúra+program
Jellemzői: - környezetét érzékeli és reagál rá (beavatkozik, módosít → ágens függvény),
az ágens csak környezetével együtt értelmezhető!
környezet jellemzői: = megfigyelhető (teljesen, részlegesen), = viselkedése (determinisztikus, sztochasztikus), = cselekvés/reakció (egyedi [epizódszerű], sorozatos), = időbeli változása (statikus, dinamikus), = diszkrét, folytonos állapotváltozású, = résztvevők/ágensek száma: egy, vagy több ágens
- racionális: = célja, környezeti információi vannak, = célja és információi alapján a legjobb cselekvést
választja.
Ágensnek tekinthető minden, ami az ágens definiciójának megfelel!
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 17/29
típusai: - egyszerű, reflex ágens; csak re-agál
= feltétel teljesül → cselekszik (ha ..., akkor ... szabályok)
= betanított válaszok;
- belső állapotú reflex ágens; re-
agálása függ a belső állapotától = különböző környezeti hely-
zetek felismerése, = időben változó világ;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 18/29
- célirányos ágens; kívánt állapot elérése
= környezettől függő tervezés, = rugalmasság, hatékonyság;
- haszonelvű ágens; célállapot vá-
lasztása ennek alapján = célállapot hasznosságának
vizsgálata, = célállapotok hasznosságá-
nak összehasonlítása, a legkedvezőbb kiválasztása.
- tanuló ágens; belső állapotát mó-
dosítja a választott cél megfele-lősége alapján
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 19/29
MI absztrakt megközelítése tehát: fizikai eszközön (ágensen) megvalósított "meg-alapozott szimbólumrendszer"
- fizikai eszköz: áramkörök/számítógép/, mesterséges neuronok /neurális hálózatok/, stb.; = szimbólum: fizikai minta, jelek összessége, a környezeti objektumok fi-
zikai leképzése; = megalapozott szimbólum: megfeleltethető a környezet valamely objek-
tumának; - szimbólum struktúrák /környezet leképzése/ + eljárások.
MI alkalmazások alapproblémái:
- tudásábrázolás (reprezentálás) és következtetés,
- keresés (megoldás/ismeret),
- cselekvéstervezés, - tanulás/tanítás/magyarázat,
- elosztott intelligencia,
- alkalmazási területek: = beszéd, nyelvfeldolgozás, = jel- és képfeldolgozás (analízis/szintézis)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 20/29
MI feladatok jellemzői:
- nehezek (az ember számára is); - nem rendelkeznek minden részletében tisztázott megoldó eljárással; - a megoldás elemi lépések, műveletek sorozataként állítható elő, amely
= előre nem meghatározott és = több lehetséges sorozat közül kell kiválasztani;
- megoldás meghatározása: kereséssel = szisztematikus próbálkozással választjuk ki a következő „lépést”;
- a feladat állapottere nagy lehet: = az összes lehetőség kipróbálása szisztematikus úton nem lehetséges
→ kombinatorikus robbanás, = irányított keresésre van szükség;
- emberi szakértelem, gyakorlati tapasztalat, heurisztikus ismeretek szüksége-sek = keresés korlátozása, = heurisztikával vezérelt keresés - az MI feladatok legjellemzőbb tulajdon-
sága; - kielégítő ('satisficing') megoldás elfogadása, - ma még általában az ember a jobb.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 21/29
1.3. Előzmények MI fejlődéséhez hozzájáruló tudományterületek: Filozófia (i.e. 5. sz. – napjainkig)
Matematika (i.e. 800 – napjainkig) – Algoritmusok – Logika (Arisztotelész) Organon - Logikával kapcso-
latos munkásságát (6 kötet) összefoglaló művek elneve-zése.
– Boole-algebra (G. Boole) - matematikai formális logi-ka algebrája
– Gráf-elmélet – Döntéselmélet – Bizonytalanságelmélet
Orvostudomány, pszichológia (1879 - napjainkig) – Kognitiv pszichológia – Neurológia (C. Golgi) - az emberi idegsejt (neuron) ki-
mutatása
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 22/29
Számítógéptudomány (1940 - napjainkig) – Difference Engine (Ch. Babbage) terve,
19. sz közepe, de 1991-ben építették meg.
– Colossus (A. Turing) megépítése
(1943) – ENIAC programozható elektronikus
számítógép (J.Mauchly- J.Eckert) 1943 – Tárolt program elve (1945- Neumann János) - 'First Draft of a
Report of EDVAC' Nyelvészet (1957 – napjainkig)
– Természetes nyelvek – Számítógépes nyelvészet
= 1957 - Syntactic Structures (Noam Chomsky)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 23/29
20. század közepétől napjainkig (fontosabb események, eredmények) 1943 Warren McCulloch és Walter Pitts: Mesterséges neuron modellje (per-
ceptron) 1949 Donald Hebb: Mesterséges neurális háló tanítási modellje 1950 Claude Shannon: Sakkprogram Neumann-típusú számítógépre 1951 Marvin Minsky és Dean Edmonds: SNARC az első neurális számítógép 1952 Arthur Samuel: Dámajáték programok – öntanuló technika kifejlesztése
(1956 februárjában bemutatták a TV-ben) 1953 Alan Turing: Sakkprogram Neumann-típusú számítógépre 1956 Dartmouth College Conference
Russell - Whitehead: Principia Mathematica – az automatikus tételbizonyí-tás elméleti alapjai A. Newell - H. Simon: Logic Theorist – „nemnumerikusan gondolkodó” program John McCarthy: Mesterséges intelligencia (AI-Artificial Intelligence) elne-vezés
1957 Newell - Simon: GPS – általános problémamegoldó program (A nyitott világ, állapottér problémája kombinatorikus robbanáshoz vezet!)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 24/29
Allen Newell és Herbert Simon 1957-ben hozta létre azt a számítógépes programot, amelyet általános tétel bizonyításra és sakkozásra kívántak alkalmazni. Bár sikeresen megoldotta a Hanoi tor- nyok jól forma-
lizálható feladatát, semmilyen valóságos probléma, feladat megoldásával sem sike-rült megbírkóznia.
- 1958 John McCarthy: LISP (List Processing) az MI egyik magasszintű prog-
ramnyelve Friedberg: Genetikus algoritmusok
1959 Herbert Gelernter: Geometriai tételbizonyító program 1963 Marvin Minsky: Microworld
Terry Winograd: SHRDLU természetes nyelvfeldolgozó program (1972) 1965 Joseph Weizenbaum: Eliza társalkodó program 1966 Orosz-angol fordítóprogram kudarca. Shakespeare: Hamlet-jéből
eredeti: „The spirit is willing but the flesh is weak“ „A szellem készséges, de a test gyenge”
oroszból fordított: „The vodka is good but the meat is rotten“ „Jó a vodka, de romlott a hús”
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 25/29
1969 Bryson, A.E.jr. és Ho, Y-C: Neurális hálózatok 'backpropagation' tanulási algoritmusa
1969 Minsky, M.L.-Papert, S.: Perceptrons; visszaveti a neurális hálók kutatását 1969 A. Colmerauer: PROLOG (PROgramming in LOGic) első verziója - "Mar-
seille Prolog" 1969 B. Buchanan, E. Feigenbaum, J. Lederberg: DENDRAL – kémiai szakértői
rendszer, az első szabályalapú rendszer 1971 Feigenbaum, Buchanan, Shrotliffe: MYCIN – vérrel kapcsolatos fertőzése-
ket diagnosztizáló szakértő rendszer; certainty factor – bizonyossági té-nyező bevezetése
1973 William Woods: LUNAR – Információ lekérdezése az Apollo holdexpedíció kőzetmintáiról természetes nyelven
1975 Minsky, M.L. – a keret (frame)-alapú ismeret reprezentáció ötlete 1979 Duda: PROSPECTOR – molibdén kutatási szakértői rendszer 1981 Japán 5. generációs számítógép projektje a PROLOG logikai programo-
zási nyelvre alapozva 1982 McDermott: R1 (/XCON) – DEC számítógépkonfiguráló szakértői rendsze-
re 1986-ra évi 40 millió dollár megtakarítást hozott a DEC-nek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 26/29
MI új lendülete a tudománnyá válással napjainkig: 1980-as évek: Neurális hálók újra felfedezése; adatbányászati módszerek alkal-
mazása. 1985 P. Cheeseman - valószínűségi következtetés, -hálók továbbfejlesztése.
Beszédfelismerés javítása a rejtett Markov-modellek használatával. 1987 Laird, J.E.-Newell, A.-Rosenbloom,P.S.: SOAR; környezetbe ágyazott in-
telligens ágensek vizsgálata 1995 P.R.Cohen - szükséges az eredmények tudományos igazolása kisérletek-
kel és azok statisztikai kiértékelésével. 1997 IBM Deep Blue számítógépe és programja megverte az akkor már 12 éve
veretlen Garri Kaszparov sakk világbajnokot. A kombinatorikus "robbanás" sikeres kezelése.
1991 - 2000 Katonai logisztikai rendszer (Öböl-háború DART rendszere); ön-vezető járműirányító (CMU NavLab) rendszer; űreszközt irányító autonóm tervkészítő (NASA Remote Agent) rendszer; nyelvmegértő, keresztrejt-vényfejtő (PROVERB) rendszer.
2014 A Turing-teszt első sikeresnek mondható teljesítése 33%-os szinten (Eugene Goostman programrendszerrel)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 27/29
2016 Google Deepmind AphaGo programja 2015-ben legyőzi az európai gó-bajnokot, majd 2016-ban a dél-koreai gó világbajnokot is.
2017 CMU Libratus mesterséges intelligencia rendszere húsz napnyi játék (ön-tanulás) után győzött négy top pókerjátékos ellen egy Pittsburgh-i kaszi-nóban.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 28/29
MI fejlődésének legfontosabb szakaszai:
- általános problémamegoldó program (GPS - General Problem Solver; A.Newell & H. Simon, 1957);
- logikai programozási nyelvek (LISP,1958; PROLOG,1969; PLANNER); - tudásalapú (KB - Knowledge Based) rendszerek:
= tudásreprezentációs technikák (logikai, szabály-alapú, keret-alapú), = szakértői rendszerek (ES - Expert Systems; tudásmérnök, szakterületi
szakértő) → fejlesztő keretrendszerek; - 5. generációs (logikai programozási elvre épülő) japán számítógép-projekt,
1981; - neurális hálók (6. generációs gépek?) újra "felfedezése" ('80-as évek eleje); - valós környezetbe ágyazott rendszerek (ágensek) koncepciójának kialakulá-
sa a '90-es évek elején → közvetlen kapcsolódás az irányítástechnika, a döntéselmélet, a gazdaság területéhez;
- intelligens rendszerek minden területen (ipar, gazdaság, háztartás, stb.): = autonóm eszközök, szabályozástechnikai megoldások, = diagnosztizáló szakértői rendszerek, = intelligens robotok, = nyelvi problémák, feladatok megoldása, stb.
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
2. ELŐADÁS (előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 3/48
Irodalom: Cserny L.: Mesterséges intelligencia, GDF, Bp., 2018/2019-2 (ea.vázlat) Russel, S.J.-Norvig, P.: Mesterséges intelligencia, Panem, Bp., 2005 (2.kia-
dás)
https://mialmanach.mit.bme.hu/ Mesterséges Intelligencia Almanach, BME, 2012 Borgulya I.: Szakértői rendszerek, technikák és alkalmazások, ComputerBooks, Bp.,
1995 Csenki, A.: Prolog techniques, Bookboon.com, 2009 (free e-book) Futó I.(szerk.): Mesterséges intelligencia, Aula, Bp., 1999 Horváth G. (szerk.): Neurális hálózatok és műszaki alkalmazásai, Műegyetemi Kiadó,
Bp., 1998 Sántáné-Tóth E.: Tudásalapú technológia, szakértő rendszerek, ME DFK, Dunaúj-
város, 1998 (2. kiad.) Szalay T.: A mesterséges intelligencia alapjai, GDF, Bp., 2002 (jegyzet) Volná, E.: Introduction to soft-computing, Bookboon.com, 2013 (free e-book)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 4/48
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia fogalma, előzmények. 2. Feladatmegjelenítés, -megoldás
3. Keresési eljárások (nem-informált, informált keresések)
3.1. Általános keresési algoritmus 3.2. Nem-informált keresési eljárások
3.3. Informált keresési eljárások 3.4. Iteratív javító algoritmusok
3.5. Összegzés
4. Tudásreprezentációs módszerek, következtetés 5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
6. Gépi tanulás módjai (statisztikus, neurális hálók, stb.)
7. Intelligens rendszerek (tudásalapú rendszerek, robotok)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 5/48
2. FELADATMEGJELENÍTÉS, -MEGOLDÁS
2.1. Alapfogalmak értelmezése
Cél: probléma megoldása mesterséges intelligencia felhasználásával Eszköz: intelligens ágens/rendszer, amely = céllal rendelkező,
= racionális (optimalizáló), = tanuló rendszer.
Kérdéses:
- mit kell ismerni egy feladat megoldásához?→ állapottér;
- hogyan kell az ismereteket reprezentálni? → ismeretbázis; - hogyan kell a megoldást megtalálni? → keresési eljárások,
→ vezérlési stratégiák,
→ következtetési eljárások; - melyik a legjobb eljárás? → hatékonyság mérése.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 6/48
A megoldás megkeresése: lépések (állapotátmenetek) egymásutánisága a le-hetséges állapotok összességén a kezdőállapottól a célállapot (a megoldás) elé-réséig. Feladat/probléma megfogalmazása Az ágens csak környezetével együtt értelmezhető!
probléma megoldás
eredmény reprezentációs modell
környezet
ágens
való világ
mesterséges (virtuális) világ
megoldás keresése,
kidolgozása
számítások
reprezentálás
értelmezés
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 7/48
Milyen legyen a feladat 'jó' reprezentációja?
= tartalmazza mindazon ismereteket, amelyek szükségesek a megoldás előál-lításához (modellezés: → lényegi elemek, kapcsolatok),
= lehető legkifejezőbb legyen, legjobban illeszkedjen a problémához (elegen-dően zárt, valósághű, karbantartható legyen),
= hatékony számítási módszer alkalmazását tegye lehetővé: - legyen alkalmas a kívánt jellemzők meghatározására, - a pontosság ↔ a számítási idő-/memóriaigény egyensúlya kialakítható le-
gyen; = előállítható legyen korábbi adatok, tapasztalatok, ismeretek alapján; = a hiányos adatok, megfogalmazás ellenére a gép ne adjon a 'józan ész' sze-
rinti következtetésnek ellentmondó megoldást. Probléma egyszerűsítése:
= redukció → egyszerűbb feladathoz jutunk, = dekompozíció → részfeladatokra bontjuk az eredetit.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 8/48
Feladat/probléma reprezentációja = állapottér, állapotgráf segítségével, = tudásbázis létrehozásával (→ később tárgyaljuk).
Meghatározandó összetevők:
= állapotátmenetek függvénye/cselekvések halmaza,
→ a lehetséges állapotok összessége → állapottér, = a kiinduló helyzet/állapot,
= elérendő célállapot → célteszt módja
= állapotátmenet költsége, = kényszerek összessége.
A lehetséges állapotokat és a közöttük lévő lehetséges átmeneteket egy irányított gráfon ábrázolhatjuk → reprezentációs gráf. A megoldás keresésekor bejárható utakat tartalmazó gráfot, amely része a repre-zentációs gráfnak, → keresőgráfnak nevezzük;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 9/48
A keresőgráf
- jellemzői: = max. elágazási tényező (b), = mélység (d); a legkisebb költségű megoldás mélysége,
= az állapottérben található utak max. hossza (m).
= állapotátmenet (úthossz) költsége;
- egy-egy csomópontból továbblépés → kiterjesztés → lista (gyerek csomópontok)
Bonyolultabb feladatoknál célszerű az összes bejárási útvonalat feltüntetni külön-külön, ami egy fa-gráfot alkot → reprezentációs fa, kereső fa. Az intelligencia biztos jele: hogyan használjuk tudásunkat a keresési problémák egyszerűsítésére.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 10/48
Feladat/probléma megoldása
= kereséssel (állapottérben, állapotgráfon), = következtetéssel (+ kereséssel).
A megoldások, eredmények minősége, lehetséges csoportjai:
= optimális: az adott környezetben, feltétel rendszerben a legjobb megoldás;
= közel optimális (szuboptimális): az optimális megoldáshoz kö-zeli eredmény;
= kielégítő (satisficing): elegendően jó valamilyen feltétel szerint; = valószínű megoldás: valószínűsíthetően megoldása a problé-
mának.
Gyakran egyensúlyozni kell a számítási időigény és a megoldás pontossága kö-zött. Egy jó algoritmus mindig képes megoldást találni: hosszabb számítási idő fel-használásával pontosabb eredményt szolgáltatva.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 11/48
Példák a feladat megfogalmazására/reprezentációjára 2-1. példa: 8-as játék/15-ös játék
2 8 3 1 2 3
1 6 4 8 4
7 5 7 6 5
kezdeti állapot cél állapot állapotok: a számozott lapok helyzete, de érdemes az üres mező helyzetét
is nyilvántartani; kezdőállapot: bármelyik állapot; célállapot: bármely állapot, pl.: a fenti elrendezés; operátorok: az üres mező mozgatása fel, le, jobbra, balra; költség: műveletek/lépések száma (az út hossza); megoldás: minimális költségű út a kezdeti és a célállapot között.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 12/48
A feladat egy lehetséges reprezentációjának részlete:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 13/48
2-2. példa: 4-királynő/8-királynő/n-királynő játék Feladat: helyezzünk el egy 4x4-es sakktáblán 4 királynő bábút úgy, hogy egyik se
üsse a másikat! állapotok: a tábla bármely elrendezése, 0-4 bábúval a táblán; kezdőállapot: üres tábla; célállapot: bármely, 4 - egymást nem ütő - királynőt tartalmazó
tábla; operátorok: egy bábú letétele; költség: műveletek/lépések száma; megoldás: minimális lépésszámú /vagy az első, a feltételeket kielégítő/ meg
oldás megtalálása.
A feladathoz többféle reprezentáció is lehetséges, de ezek költsége jelentősen kü-lönbözhet egymástól.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 14/48
1. reprezentáció:
állapotok: 0-4 királynő bárhol a táblán; kezdő állapot: üres tábla; célállapot: bármely, 4 - egymást nem ütő - királynőt tartalmazó tábla; operátor: királynő felhelyezése egy szabad mezőre; megoldás: állapotgráf alapján
1. lépés (szint): 16 lehetséges állapot (elágazás) 2. lépés (szint): maradt 15 lehetséges állapot (elágazás)
3. lépés (szint): maradt 14 lehetséges állapot (elágazás)
4. lépés (szint): maradt 13 lehetséges állapot (elágazás)
a lehetséges állapotok száma: 16 x 15 x 14 x 13 = 43680
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 15/48
2. reprezentáció:
állapotok: 4 királynő felhelyezése egymás után úgy, hogy ne üssék egy-
mást; kezdő állapot: üres tábla; célállapot: bármely, 4 - egymást nem ütő - királynőt tartalmazó tábla; operátor: királynő felhelyezése egy szabad mezőre; megoldás: állapotgráf alapján
1.
lépés (szint): 16 lehetséges állapot (elágazás) 2. lépés (szint): maradt 6 lehetséges állapot (elágazás) 3. lépés (szint): maradt 2 lehetséges állapot (elágazás) 4. lépés (szint): maradt 1 lehetséges állapot (elágazás)
a lehetséges állapotok száma: 16 x 6 x 2 x 1 = 192
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 16/48
3. reprezentáció: állapotok: soronként 1 királynő felhelyezése egymás után úgy, hogy ne üs-
sék egymást; kezdő állapot: üres tábla; célállapot: 4 - egymást nem ütő - királynőt tartalmazó tábla; operátor: királynő felhelyezése egy szabad mezőre; megoldás: állapotgráf alapján
1.
lépés (szint): 4 lehetséges állapot (elágazás) 2. lépés (szint): maradt 1, vagy 2 lehetséges állapot (elágazás) 3. lépés (szint): maradt 1 lehetséges állapot (elágazás) 4. lépés (szint): maradt 1 lehetséges állapot (elágazás)
a lehetséges állapotok száma: 4 x 2 x 1 x 1 = 8
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 17/48
8-királynő probléma:
célállapot: 8 királynő a sakktáblán, egyik sem üti a másikat kezdő állapot: a táblán nincs egyetlen királynő sem
1. változat: állapotok: 0-8 királynő bárhol a táblán operátorok: királynő felhelyezése szabad mezőre
2. változat: állapotok: 0-8 királynő a táblán úgy, hogy egyik sem üti a másikat operátorok: királynő felhelyezése szabad mezőre
3. változat: állapotok: soronként 1-1 királynő a táblán operátorok: soronként 1-1 királynő szabad mezőre helyezése.
A választott reprezentációtól nagyban függ a keresési probléma mérete (ld.: előbb) ! → kombinatorikus robbanás !
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 18/48
2-3. példa: Kripto-aritmetikai módon rejtjelezett üzenet visszakódolása Feladat: Adott egy, a számokat betűkkel helyettesített aritmetikai feladat, amely-
ben a betűk mindegyike értékes számjegyet jelöl. A különböző betűk kü-lönböző számjegyeket jelölnek. Adja meg a megoldás keresésének egy lehetséges reprezentációját!
állapotok: számokból és betűkből álló feladat-állapot kezdő állapot: csak betűkből álló feladvány végállapot: a feladvány csak számokból áll és teljesül a kívánt művelet operátorok: a betűkhöz sorra 0-9 számjegyek hozzárendelése; költség: minden lépés/operátoralkalmazás költsége egységnyi. Példák: Megoldás: = szisztematikus (módszeres) helyettesítéssel (ld.: köv. lapon);
= az elvégzendő aritmetikai műveletek jellemzőinek felhasználásával; pl. az eredmény legmagasabb helyiértéke csak 1 lehet → M=1.
F O R T Y + T E N + T E N S I X T Y
S E N D + M O R E M O N E Y
É L J E N + M Á J U S E L S E J E
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 19/48
A második példa állapotgráfjának egy részlete:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 20/48
2-4. példa: Kannibálok és misszionáriusok Feladat: A folyó bal partján három misszionárius (M), három kannibál (K) és egy
csónak van; a csónakban legfeljebb ketten férnek el. Hogyan juthatnak át a túlpartra, ha eközben a kannibálok egyik parton sem lehetnek töb-ben, mint a misszionáriusok?
állapotok: számhármasok (a bal parton lévő misszionáriusok, kannibálok
száma és a csónak ottléte); kezdő állapot: (3, 3, 1) célállapot: (0, 0, 0) operátorok: a csónakban ülők száma: (1M, 1K), (2M), (2K), (1M), (1K) megoldás: az állapotgráf, keresőgráf alapján (megszoritás: csak megenge-
dett és új állapotba történhet átmenet)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 21/48
2-5. példa: Útkeresés labirintusban Feladat: Az alábbi táblával adott labirintusban keresendő az az
út, amely az S pontból a G pontba vezet. Az egyes me-zőkből csak azon szomszédos mezőkre lehet lépni, amelyek szabadok (azaz nem feketék). Már bejárt me-zőt ismételten nem lehet igénybe venni.
az állapotgráf:
1 2 3 4 1 S 2 3 G 4
állapotok: mezőpozició [sor, oszlop] párossal megadva;
kezdő állapot: S mező [1,2]; célállapot: G mező [3,3]; operátorok: elmozdulás (fel, jobbra, le, balra
sorrendben vizsgálva); költség: 1 egység/elmozdulás.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 22/48
2-6. példa: Útkeresés városok közt (gráfon) Feladat: a legrövidebb úton eljutni egyik helységből (Nyíregyházáról) egy másikba
(Fehérgyarmatba). állapotok: egyes helységekben
tartózkodni; kezdeti állapot: Nyíregyházán va-
gyunk
cél állapot: Fehérgyarmaton va-gyunk már
operátorok: utazás két szomszé-dos helység között
költség: megtett út hossza
optimális megoldás: minimális költségű út a kezdeti és a célállapot között
Nyíregyháza
Záhony
Kisvárda
Vásárosnamény
RohodBakta
Fehér- gyarmat
Nagyecsed
Máté- szalka
NyírbátorNagykálló
Nagyhalász
29
40
2959
34
7
27
31
15 27
2025
31
22 21
2529
3028
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 23/48
A keresési fa felépítése:
Nyíregyháza1) kezdeti állapot
Nyíregyháza2) a kezdeti állapotkiterjesztése után
Nagykálló Bakta Kisvárda Nagyhalász
Nyíregyháza3) egy csomópontkiterjesztése után
Nagykálló Bakta Kisvárda Nagyhalász
Nyírbátor Rohod
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 24/48
2.2. Megoldási lehetőségek Lehetséges problémakörök:
- játékproblémák (8-as játék, 4 királynő probléma, dáma, sakk, stb.),
- valós problémák (útkeresési, ütemezési, elhelyezési, navigációs, stb) Alkalmazható keresési eljárások:
- nem-informált (vak) keresések: nincs információ az adott problémáról; (teljes leszámlálásos, szélességi keresés, mélységi keresés, fokozato-
san mélyített keresés, stb.), - informált (heurisztikus) keresések: van információ a megoldandó feladat-
ról, amelynek felhasználásával, hatékonyabbá tehető a keresés; (mohó keresés, nyalábolt keresés, A, A*, fokozatos mélyítésű A* (IDA*)
keresés, stb.),
- lokális (iterativ) kereső eljárások: elmozdulás a legjobbnak tűnő irányba; (hegymászó, szimulált hűtési, genetikus algoritmusok)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 25/48
Alkalmazható vezérlési stratégiák:
- nem módosítható stratégia (nem térhetünk vissza egy korábbi lépés mó-dosítására, minden lépés végleges); pl.: hegymászó, szimulált hűtési el-járás.
- módosítható stratégia (visszatérhetünk egy korábbi állapotra egy új irány választása érdekében) = visszalépéses (back-tracking) vezérlési stratégia, = gráfkereső vezérlési stratégiák (nem informált, informált keresések).
Megoldó eljárás hatékonyságának vizsgálata:
- teljesség (a keresés biztosan megtalál egy megoldást, ha az létezik),
- optimalitás (a keresés megtalálja az optimális, a legjobb megoldást), - időigény (a megoldás előállításának időtartama → lépésszám),
- memóriaigény (az igénybe vett memória nagysága),
- keresés költsége (általában az idő- és memóriaigénytől függ).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 26/48
3. KERESÉSI ELJÁRÁSOK
3.1. Általános keresési algoritmus Adottak: kezdeti állapot, operátorok (az új állapotok létrehozásának műveletei),
állapottér, cél teszt, költségek és a keresési stratégia.
1. Legyen L a kezdeti (választható) állapotokat tartalmazó lista. 2. Ha L üres, akkor leállás → a keresés sikertelen. 3. egyébként: egy csomópont (pl.: n) választása L-ből. 4. Ha n egy célállapot, akkor leállás; a célállapot (és a hozzá vezető út/
költség) visszaadása eredményként → a keresés sikeres. 5. egyébként: - n törlése L-ből;
- n gyermekeinek előállítása; - hozzájuk vezető út[, költség] számítása, feljegyzése; - gyermek csomópontok/állapotok/ hozzáadása L-hez; - visszalépés 2-re.
Kisebb módosításokkal a legtöbb keresési algoritmus így működik.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 27/48
Legfontosabb kérdés, döntés
- hogyan válasszunk csomópontot L-ből ?→ (2) lépés (nem-informált (vak) keresés - informált (heurisztikus) keresés)
- célszerű előállítani az állapottér alapján a kereső fát: = állapot (a valóság egy konfigurációjának reprezentánsa)
→ gráf csúcspontja/csomópontja (node), amelynek jellemzői: a szülő és gyerek csomópontok, a mélysége, a költsége;
= kiterjesztés: az állapotátmenet függvény/operátorok segítségével elő-állítjuk a gyerek csomópontokat és a keresési algoritmusnak megfe-lelően rögzítjük/tároljuk az L listában.
Kereső eljárás hatékonyságának vizsgálata:
- teljesség (a keresés biztosan megtalál egy megoldást, ha az létezik), - optimalitás (a keresés megtalálja az optimális megoldást),
- időigény (a megoldás előállításának időtartama → lépésszám),
- memóriaigény (az igénybe vett memória nagysága), - keresés költsége (általában az idő- és memóriaigénytől függ).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 28/48
3.2. Nem-informált keresések
A nem-informált, vagy vak (blind) keresési eljárások esetében nem rendelke-zünk, vagy nem használunk fel a feladatra, a környezetre érvényes sajátos, egye-di információkat. A legfontosabb nem-informált keresési eljárások:
- szélességi keresés (breadth-first search), amely esetében mindig a keresőfa legmagasabb - a gyökérhez legközelebbi - szintjén lévő, még nem kifejtett csomópont valamelyikét terjesztjük ki előbb;
- egységes/egyenletes költségű keresés (uniform cost search), amelynél min-dig a legkisebb összköltségű csomópontot fejtjük ki először; - ha az állapot-átmenetek költsége azonos, akkor a szélességi kereséshez jutunk vissza;
- mélységi keresés (depth-first search), amely esetében, mindig a keresőfa leg-mélyebb szintjén lévő, még nem kifejtett csomópontot terjesztjük ki;
- korlátozott mélységi keresés (depth limited search) adott mélységi korláttal, amelynél mindig a legmélyebben lévő csomópontok valamelyikét terjesztjük ki, feltéve, hogy az nincs az előre megadott mélységi korlát (l) alatt;
- iteratív mélységi keresés (iterativ deepening search), amely esetében a mély-ségi korlátot fokozatosan növeljük, amíg el nem érjük a célállapotot.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 29/48
S
G
a.) Szélességben először keresés Mindig a keresőfa legmagasabb - a gyökérhez (d=0 szint) legközelebbi - szintjén lévő, még nem kifejtett csomópont valamelyikét terjesztjük ki előbb. A keresőfa bejárása és a kiterjesztés sorrendje - a példában (3-1.példa) - a csomópontok sorszámozása szerinti. A gyerek csomópontokat az L lista végéhez csatoljuk. L lista tartalma: 1; 1, 2,3,4 2,3,4,5,6,;3,4,5,6,7,8,;4,5,6,7,8,9,10; 5,6,7,8,9,10,11; 6,7,8,9,10,11; nem kiterj.hető 7,8,9,10,11,12,13; 8,9,10,11,12,13,14; 9,10,11,12,13,14; nem kiterj.hető 10,11,12,13,14,15,16,17; ....
d = 0 d = 1 d = 2 d = 3 d = 4
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 30/48
Az általános keresési algoritmus módosulása: 3. egyébként: az 1. csomópont választása az L listából; 5/4. gyerek csomópontok /állapotok/ hozzáadása az L lista végéhez. Tulajdonságai:
= teljes (ha a b elágazási tényező véges), azaz megtalálja a megoldást; = optimális (ha a lépések költsége azonos);
= időigény (időbeli komplexitás), ha d mélységben található a megoldás:
kifejtendő cs.pontok száma ≈ 1 + b + b2 + ... + bd ≈ bd = memóriaigény (memória komplexitás):
tárolandó cs.pontok száma: ≈ 1 + b + b2 + ... + bd ≈ bd Nagyobb méret esetében nem túl jó → exponenciálisan nő a komplexitás.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 31/48
Például: ha b=10, 1000 csomópont/sec, 100 byte/csomópont
b.) Egységes költségű keresés A keresési fában mindig a pillanatnyilag legkisebb költségű csomópontot terjeszti ki (ha az állapotátmenetek költsége azonos, a szélességben először keresés sza-bályai érvényesek). Az általános kereső algoritmus módosításai: 3. egyébként: a csomópontok költség szerint növekvő sorrendbe rendezése
és az 1. csomópont választása az L listából;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 32/48
3-2. példa: az alábbi egyszerű gráf mutatja, hogy a keresőfa (az algoritmus) nem mindig adja a legjobb megoldást a legkevesebb lépéssel.
L-lista elemei: (S,0) célteszt → kiterjesztés: (S,0),(A,1),(B,5),(C,15) rendezés, célteszt → kiterjesztés: (A,1),(B,5),(C,15),(G,11) rendezés, célteszt → kiterjesztés: (B,5),(G,11),(C,15),(G,10) rendezés, célteszt → vége (G,10),(G,11),(C,15)
G
A B C
1 5 15
10 5 5
S
S
G
A C B
15 5 1
11
S
A B C
1 5 15
G
S
G
A C B
15 5
10 11
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 33/48
Tulajdonságai:
= teljes (ha minden lépésköltség > 0); = optimális (ha minden lépésköltség > 0);
= időigény (időbeli komplexitás) >> bd lehet (ha a lépésköltségek nem azono-sak);
= memóriaigény (memória komplexitás) >> bd lehet (ha a lépésköltségek nem azonosak);
c.) Mélységben először keresés Mindig a keresőfa legmélyebb szintjén lévő, még nem kifejtett csomópontot ter-jesztjük ki.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 34/48
S
G
3-3. példa: Legyen adott a szélességi keresés (3-1. példa) gráfja. Vizsgáljuk meg a célállapot elérésének lépéseit a mélységi keresés alapján. A gráf csomópontjait azonosítsa a mellettük látható sorszám. Az új kiterjesztés csomópontjait az L lista elejéhez csatoljuk.
L lista elemei:
1 1,2,9,15 2,3,8,9,15 3,4,8,9,15 4,5,6,7,8,9,15 5,6,7,8,9,15 nem kit.hető; 6,7,8,9,15 nem kit.hető; 7,8,9,15 nem kit.hető; 8,9,15 nem kit.hető; 9,10,13,15 10,11,12,13,15 11,12,13,15 nem kit.; 12,13,15 nem kit.; 13,14,15 14,15 nem kit.hető; stb. ...
d = 0 d = 1 d = 2 d = 3 d = 4
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 35/48
Az általános keresési algoritmus módosulása: 3. egyébként: az 1. csomópont választása az L listából; 5/4. gyerek csomópontok /állapotok/ hozzáadása az L lista elejéhez. Tulajdonságai:
= nem teljes (elakadhat egy rosszul választott, ciklikus, vagy végtelen ágon), → csak véges állapottérben teljes;
= nem optimális;
= időigény (időbeli komplexitás): ≈ bm, → igen nagy lehet, ha m >> d ; = memóriaigény (memória komplexitás): ≈ bm;
→ nagyon előnyös; ez még csökkenthető a visszalépéses (back-tracking) algoritmussal.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 36/48
3-4. példa: Milyen lesz a keresési fa és milyen sorrendben vizs-gálja a csomópontokat az ábrázolt tábla szerinti labirin-tus bejárásakor a) a szélességben először keresés, ha az (1,1) mező-
ből indul, és a (4,4) mező a célja? b) a mélységben először keresés, ha az (1,1) mezőből
indul, és a (4,4) mező a célja?
Az egyes csomópontokat (sorindex, oszlopindex) párokkal adjuk meg! (Az egyes csomópontokat mindig a fel-balra-le-jobbra sorrendben fejt-sük ki és balról-jobbra haladva ábrázoljuk! A már kifejtett, szülő/gyermek csomópontokat nem lehet ismételten érinteni!)
1 2 3 4 1 2 3 4
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 37/48
Megoldás: a.) szélességben először keresés
1 2 3 4 1 2 3 4
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 38/48
b.) mélységben először keresés
1 2 3 4 1 2 3 4
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 39/48
c.) Korlátozott mélységi keresés Mélységi keresés adott mélységi korláttal, amelynél mindig a legmélyebben lévő még nem kifejtett csomópontok valamelyikét terjesztjük ki, feltéve, hogy az nincs az előre megadott mélységi korlát (l) alatt. Az általános keresési algoritmus módosulása: 0. Legyen a mélységi korlát: l;
3. egyébként: az 1. csomópont választása az L listából;
5/2. n gyermekeinek előállítása ha, n mélysége kisebb l-nél, egyébként vissza a 2. lépésre
5/4. gyerek csomópontok /állapotok/ hozzáadása az L lista elejéhez. Tulajdonságai:
= teljes (ha l ≥ d teljesül); = nem optimális; = időigény (időbeli komplexitás): ≈ b l; = memóriaigény (memória komplexitás): ≈ b l;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 40/48
d.) Iterativ mélységi keresés Tulajdonképpen korlátozott mélységű keresés egyre növekvő l = 0,1,2, ... mélysé-gi korlát mellett. Mintha a csomópontoknak a mélységi korlát alatt nem lehetnének leszármazottai és ha a célt nem sikerul így elérni, eggyel növeljük a korlátot és új-raindítjuk az egész keresést. Az általános keresési algoritmus módosulása:
0. Legyen a mélységi korlát l=0; 1. Legyen L a kezdeti (választható) állapotokat tartalmazó lista. 2. Ha L üres, akkor l := l + 1 legyen → vissza az 1. lépésre; 3. egyébként: az 1. csomópont választása az L listából;. 4. Ha n egy célállapot, akkor leállás; a célállapot (és a hozzá vezető út/ költség) visz-
szaadása eredményként → a keresés sikeres. 5. egyébként: - n törlése L-ből;
- n gyermekeinek előállítása ha, n mélysége kisebb l-nél, egyébként → vissza a 2. lépésre;
- hozzájuk vezető út[, költség] számítása, feljegyzése; - gyerek csomópontok /állapotok/ hozzáadása az L lista elejéhez.; - visszalépés 2-re.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 41/48
3-5. példa: Az iterativ mélységi keresés működésének bemutatása.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 42/48
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 43/48
Tulajdonságai:
= teljes (ha b véges); = nem optimális; = időigény (időbeli komplexitás): ≈ bd; = memóriaigény (memória komplexitás): bd;
Időigénye jobb, mint a szélességi keresésé, mivel a szélességi keresés a legalsó (d) szinthez is kifejti, előállítja a (d+1)-ik szinthez tartozó csomópontokat, ellentét-ben az iteratív mélységi kereséssel. Például: ha b = 10 és d = 5, ekkor a kifejtett/tesztelt csomópontok száma(→ SZE):
S = 1 + 101 + 102 + 103 + 104 + 105 = 111 111
Az iteratív mélységi keresésnél legalsó szinthez (d=5) a csomópontokat egy-szer kell kiterjeszteni/tesztelni, eggyel magasabb szinten kétszer, stb. Azaz a kiterjesztések/tesztelések teljes száma:
I = 6*1 + 5*10 + 4*100 + 3*1 000 + 2*10 000 + 1*100 000 = 123 456
Ez ebben az esetben a szükségesnél ≈ 10% -kal több kiterjesztést jelent.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 44/48
Előnye: - a szélességben-először kereses teljessége, - a mélységben először keresés alacsony memóriaigénye, - biztosítja, hogy a keresési fa nem lesz mélyebben feltárva, mint
amilyen mélyen a cél található. Alkalmazható, ha nagy a keresési tér és ismeretlen a megoldás mélysége.
e.) Ismétlődő állapotok - gráfkeresés Nehezíti a keresést, ha ugyanazon állapotba/csomópontba több úton is el tudunk jutni (pl. útkeresés). Az állapotok ismétlődése elkerülhető ha tiltott a kiterjesztés:
- a szülő felé, - az elődök felé, - az összes, már kiterjesztett csomópont felé.
Ez azt jelenti, hogy az állapotteret/állapotgráfot átalakítjuk fa-gráffá, azaz minden lehetséges keresési útvonal a fa-gráf egy ágát alkotja. Kérdés: megéri a széleskörű ellenőrzés? Ha sok a hurok az állapottérben, akkor
→ igen.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 45/48
3-6. példa:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 46/48
3-7. példa: Az alábbi hurkokat is tartalmazó gráf a jobboldali keresési gráffá ala-kítható át.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA01- 47/48
f.) Nem-informált keresési eljárások összehasonlítása
Teljesség Optimalitás Időigény Memóriaigény a.) SZE igen1 igen3
≈ bd ≈ bd b.) EK igen1,2 igen >> bd lehet >> bd lehet c.) ME nem5 nem ≈ bm bm d.) KME igen4 nem ≈ bl bl e.) IME igen1 igen3
≈ bd bd
1 ha b véges értékű 2 ha a lépésköltség > 0 3 ha a lépésköltségek azonosak 4 ha l ≥ d 5 igen: csak véges és hurokmentes állapottérben
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
3. ELŐADÁS (előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 2/35
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia fogalma, előzmények. 2. Alapproblémák, a problémamegoldás feltételei
3. Keresési eljárások (informált, nem-informált keresések)
3.1. Általános keresési algoritmus 3.2. Nem-informált keresések
3.3. Informált keresések 3.4. Iterativ javító algoritmusok
3.5. Összegzés
4. Tudásreprezentációs módszerek, következtetés 5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
6. Gépi tanulás módjai (statisztikus, neurális hálók, stb.)
7. Intelligens rendszerek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 3/35
3.3. Informált keresési eljárások Kérdés: - hogyan javítható a nem-informált keresési eljárások hatékonysága?
- hogyan lehet csökkenteni, javítani a feladatmegoldás idő- és memória-igényét?
- hogyan lehet az erőforrásigényes gyakorlati feladatokat megoldani?
- hogyan lehet az adott területtel kapcsolatos információkat figyelembe venni, segítségül hívni?
Megoldás: informált (heurisztikus) keresési módszer alkalmazása. Algoritmus típusok:
- legjobbat-először keresés (best-first search): a legjobbnak tűnő cso-mópont kiterjesztése (mohó keresés, A*, IDA*),
- iteratív javító, vagy lokális keresés (local search): elmozdulás a leg-jobbnak tűnő irányba (csúcsra-mászás, szimulált hűtés, tabu kere-sés, genetikus algoritmus).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 4/35
Informált (heurisztikus - heuristic) keresési eljárások alatt azon keresési mód-szereket értjük, amelyek esetében a feladatra, a környezetre érvényes sajátos, egyedi információkat is felhasználunk a megoldás hatékony megtalálására. Heurisztika értelmezése:
- tapasztalaton alapuló bármely ismeret, amely segíti egy adott probléma
jobb megoldását, de nem biztos a hasznosíthatósága;
- technikai értelemben: heurisztikus kiértékelő függvény, mely a probléma
egy-egy állapotához annak jóságát jellemző értéket rendel hozzá (pl. sakk: egy pozíció ereje)
Heurisztika a keresésben:
- a még ki nem terjesztett csomópontok (L) kiértékelése: → mennyire van-
nak közel a célhoz?
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 5/35
A legjobb csomópont megtalálása elvben nem könnyebb, mint maga a keresési feladat! → Ezt segíti az f(n) kiértékelő függvény. Célja:
- a feladat megoldásával járó számításigény csökkentése, - adott erőforrás használat mellett a lehető legjobb megoldás megtalálása.
Kompromisszum a számításigény és a megoldás minősége között!
Már kevés alkalmazás-függő szakismeret is nagyban segíthet bármely cél eléré-sében.
Kérdés: milyen legyen a kiértékelő függvényt? Legyen: • hatékonyan számítható (idő- és memóriaigény minimalizálásával),
• ne becsülje túl a tényleges költséget. Probléma: a kiértékelés csak becslésen alapulhat (így félre is vezethet).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 6/35
Hogyan alakítható ki a kiértékelő függvény? → A probléma egyszerűsített mo-delljéből kell kiindulni.
Például: a 3x3-as játéknál egy húzás akkor és csak akkor legális két pozíció kö-
zött, ha 1) a pozíció, ahová húzunk, üres, és 2) a két pozíció szomszédos.
Kiértékelő függvény lehet ekkor, ha eltekintünk 1)-től: → a Manhatten távolság,
1)-től és 2)-től: → a rossz helyen lévő számlapok száma, 2)-től: → az üres pozíció és a megfelelő számlapok közötti hely-
cserék száma.
Például: térképen, két helység közötti legrövidebb út keresésekor
• egyszerűsítés lehet, ha nem kell közúton haladni. Ekkor a kiértékelő függvény
• a légvonalbeli távolság lehet.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 7/35
Az ideális kiértékelő függvény:
f(n) = g(n) + h(n) ahol g(n) = a kezdő állapottól az n állapotig tartó út költsége, h(n) = az n állapottól a célig vezető út be-csült minimális költsége (heurisztikus fgv.)
• visszaadja a megoldás költségét, ha a célállapotra alkalmazzák
• nem változik, ha bármely állapotból optimális lépést teszünk (tökéletes becslő)
Például: A* keresésnél: f(n) = g(n) + h(n)
- a célban: h(n) = 0; f(n) = g(n)
- ha h(n) tökéletesen becsli a céltól való távolságot, nincs letérés az opti-mális útról
- redukált A*: h(n)=0 minden n-re biztosan elfogadható (A* → szélességben-először keresés; egyenletes költségű keresés)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 8/35
a.) Mohó keresés (greedy best-first search) Alapelv: megtalálni egy célt, amilyen gyorsan csak lehetséges. Kiértékelés alapja: egyedül a céltól való távolság. Mindig azt a csomópontot ter-
jeszti ki, amelynek minimális a céltól való távolság-becslése. A keresési algoritmus:
1. Legyen L a kezdeti (választható) állapotokat tartalmazó lista. 2. Ha L üres, akkor leállás → a keresés sikertelen. 3. egyébként: a várhatóan a célhoz legközelebbi csomópont (pl.: n) válasz-
tása L-ből (→ L-t előbb rendezni szükséges). 4. Ha n egy célállapot, akkor leállás; a célállapot (és a hozzá vezető út/ költ-
ség) visszaadása eredményként → a keresés sikeres. 5. egyébként: - n törlése L-ből;
- n gyermekeinek előállítása; - hozzájuk vezető út[, költség] számítása, feljegyzése; - gyermek csomópontok/állapotok/ hozzáadása L-hez; - visszalépés 2-re.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 9/35
3-8. példa: Határozzuk meg két helység, Nyíregyháza és Fehérgyarmat között a legrövidebb, minimális költségű utat a mohó algoritmussal!
állapotok: az egyes városokban vagyunk kezdeti állapot: Nyíregyházán vagyunk cél teszt: Fehérgyarmaton vagyunk már? operátorok: utazás szomszédos városok között költség: megtett út hossza optimális megoldás: minimális költségű út
Legyen a (heurisztikus) kiértékelő függvény: f(n) = h(n) = a légvonalbeli távol-
ság a céltól az alábbi táblázat szerint:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 10/35
Úthálózat
nem optimális!
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 11/35
b.) A* keresés (best-first search) A minimális útköltségű megoldást szeretnénk megtalálni. Kiértékelés alapja: 1) a már megtett út, és
2) a még várható út költsége
f(n) = g(n) + h(n) ahol g(n): n tényleges távolsága a kezdeti állapottól, h(n): n becsült távolsága a céltól.
Általános keresési algoritmus (ld.: a.) pontban) módosulása: 3. egyébként: a csomópontoknak növekvő sorrendbe rendezése az f(n) kiér-
tékelő függvény értéke /költség/ alapján és az 1. csomópont választása az L listából;
azaz mindig azt az n csomópontot választjuk, amelyre
f(n) = g(n) + h(n) minimális értékű.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 12/35
Tulajdonságai:
= teljes (ha b véges és minden lépésköltség > 0); = optimális (ha h(n) egy elfogadható heurisztika), azaz
h(n) elfogadható heurisztika [admissible heuristic], ha minden n csomó-pontra igaz, hogy h(n) nem becsüli túl a cél eléréséhez ténylegesen szük-séges, optimális költséget/távolságát, azaz h(n) ≤ h*(n);
= időigény (időbeli komplexitás): exponenciálisan függ a mérettől;
= memóriaigény (memória komplexitás): exponenciálisan függ a mérettől. Nagy feladatok megoldására nem mindig alkalmas a memóriaigény miatt. Megjegyzés:
A algoritmus: f(n) = g(n) + h(n) és h(n) ≥ 0 A* algoritmus: f(n) = g(n) + h(n) és h(n) ≤ h*(n) optimálisnál Ac algoritmus: f(n) = g(n) + h(n) és h(n)- h(m) ≤ c(n,m) élköltségnél,
→ konzisztens A* algoritmus.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 13/35
3-9. példa: Hasonlítsuk össze az alábbi táblázattal adott keresési probléma meg-oldásait, amelyeket az 'egységes költségű keresés'-sel, illetve az 'A* ke-resés'-sel kaptunk. A kezdő állapot: S mező, a célállapot: E mező. A ki-terjesztések sorrendje, illetve a lépésköltségek adottak.
a.) Egységes költségű keresés
1
2 3
4 5
6 7
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 14/35
b.) A* keresés
h(n) becslő heurisztikus függvény az alábbi:
(x(n)-x(E))
1
23
4
5
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 15/35
3-10. példa: Határozzuk meg a 3-8. példában megadott adatokkal, Nyíregyháza és Fehérgyarmat között a legrövidebb, minimális költségű utat az A* algoritmussal!
L lista elemei:
(NyE,58=0+58) (NyE,58),(NH,89=29+60),(KV,99=59+40),(B,68=34+34),(NK,68=15+53) (B,68),(NK,68),(NH,89),(KV,99),(R,68=41+27),(NyB,86=54+32) (NK,68),(R,68),(NyB,86),(NH,89),(KV,99),(NyB,74=42+32) (R,68),(NyB,74),(NyB,86),(NH,89),(KV,99),(VN,90=68+22),(MSz,83=70+13) (NyB,74),(MSz,83),(NH,89),(VN,90),(KV,99),(MSz,80=67+13),(NE,89=73+16) (MSz,80),(MSz,83),(NH,89),(NE,89),(VN,90),(KV,99),(VN,117=95+22),(FGy,92=92+0), (NE,105=89+16) (NH,89),(NE,89),(VN,90),(FGy,92),(KV,99),(NE,105),(VN,117),(KV,109=69+40) (NE,89),(VN,90),(FGy,92),(KV,99),(KV,109),(FGy,94=73+16) (VN,90),(FGy,92),(FGy,94),(KV,99),(FGy,98=98+0) (FGy,92),(FGy,98),(KV,99) (FGy,98) = ugyanarra a pontra rosszabb eredményt
adó utat a rendezés után töröljük.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 16/35
A kereső fagráf:
1 NyE f=0+58=58
7 NH 29+60=89
KV 59+40=99
3 NK 15+53=68
2 B 34+34=68
4 R 41+27=68
NyB 54+32=86
5 NyB 42+32=74
9 VN 68+22=90
MSz 70+13=83
6 MSz 67+13=80
8 NE 73+16=89
VN 95+22=117
10 FGy 92+0=92
NE 89+16=105
KV 69+40=109
FGy 98+0=98
FGy 94+0=94
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 17/35
c.) Iteratív mélyítő A* keresés (IDA*) Az iteratív mélyítő A* keresési eljárás (iterative deepening A* search) fokozatosan mélyíti a vizsgált területet a kiértékelő függvény vonatkozásában:
- ha nem találja meg a megoldást az adott korlát mellett, akkor növeli a korlá-tot;
- alkalmazása gyorsíthatja a keresést, de az ismétlődő kezdések miatt lassít-hatja is.
IDA* algoritmusa:
1) Legyen a mélységi korlát c = 0. 2) Legyen L a kezdeti állapotokat tartalmazó lista; és
legyen c´ (a következő iteráció mélységi korlátja) = ∞. 3) Ha L üres, és c´ = ∞, akkor leállás; nincs megoldás → a keresés sikertelen. 4) Ha L üres, és c´ ≠ ∞, akkor legyen c = c´, és → vissza 2)-re
egyébként legyen n az első csomópont L-ből. 5) Ha n egy célállapot, akkor leállás; a célállapot (és a hozzá vezető út/ költ-
ség) visszaadása eredményként → a keresés sikeres;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 18/35
6) egyébként: n törlése L-ből; n valamennyi n´ gyermekének előállítása;
- ha f(n´) ≤ c, akkor = n´ hozzáadása L elejéhez, = n´-höz vezető út feljegyzése;
- legyen c´ = minc´, f(n´) > c ∀n'-re; vissza 3)-ra.
Tulajdonságai:
= teljes (ha b véges és minden lépésköltség > 0); = optimális (ha minden n csomópontra igaz, hogy h(n) nem becsüli túl n tényle-
ges távolságát a céltól, azaz h(n) elfogadható heurisztika, akkor A* soha sem ad vissza optimálistól eltérő megoldást);
= időigény (időbeli komplexitás): függ h(n)-től, exponenciálisan függ a mérettől;
= memóriaigény (memória komplexitás):lineárisan nő a cél mélységével (d).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 19/35
d.) Informált keresési eljárások összehasonlítása
Teljesség Optimalitás Időigény Memóriaigény a.) MK igen nem exp. exp b.) A* igen1,2 igen3 exp. exp. c.) IDA* igen1 igen3 exp. bd
1 ha b véges értékű 2 ha a lépésköltség > 0 3 ha h(n) elfogadható heurisztika
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 20/35
3.4. Lokális kereső, Iteratív javító algoritmusok A lokális kereső, iteratív javító eljárások az aktuális állapot közvetlen környeze-tének értékelése alapján választják a következő állapotot; (általában) mindig a legkedvezőbb irányba mozdulva. Többnyire olyan feladatoknál érdemes alkalmazni, ahol a célállapot elérése a fela-dat és nem lényeges az odavezető lépések sorozata. (Például: elrendezés terve-zés - nyomtatott áramkörök, gyártósorok elrendezése; különböző ütemezési/ összerendelési feladatok - órarend, technológiai műveletsor, hálózatok kialakítá-sa, stb) Alapötlet: analógia a felületen való tájékozódással és mozgással:
- magasság:→ a csomópont jósága, megfelelősége (heurisztikus ki-értékelés)
- csúcsok: optimális megoldások (lokális, globális) → probléma!
- tájékozódás/kiértékelés: az adott pont szomszédságában lévő pon-tok kiértékelése
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 21/35
Előny: - igen kevés (gyakran konstans) memória használata, - elfogadható megoldást adnak igen nagy (vagy végtelen) állapottér-
ben is.
Hátrány: - problémás lehet a lokális optimum elkerülése.
globális maximum
sík lokális maximum
lokális maximum
váll
aktuális állapot
célfüggvény
állapottér
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 22/35
A leggyakrabban alkalmazott algoritmusok:
- csúcsra mászó/hegymászó (hill-climbing), vagy gradiens (gradient) módszer - szimulált hűtés (simulated annealing),
- tabu keresés (tabu search),
- genetikus algoritmusok (genetic algorithm), - hangya algoritmus (ant colony optimization)
a.) Hegymászó keresés A keresés során egy-egy csomópont
- közvetlen leszármazottait/szomszédjait vizsgálja csak, és - ezek közül választja a legjobbat.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 23/35
Keresési algoritmus:
1) Legyen n a kezdeti állapot; 2) Ha n egy célállapot, akkor leállás → a célállapot visszadása eredményként
→ a keresés sikeres. 3) egyébként: - előállítja n valamennyi n´ leszármazottját, szomszédját,
- kiválasztja a legjobb n'-t és n: = n´, - vissza 2)-re.
3-11. példa: Határozza meg a maxi-
mális jóságú csomópon-tot és az odavezető útvo-nalat!
A választott útvonal: (A,0),(C,2),(I,4),(K,5),(M,6),(G,9) A célállapot: (G,9)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 24/35
Tulajdonságok: Nem teljes: gyakran eltévedhet → véletlen kezdőállapotú újraindítás. Memória igénye: minimális, nem tárolja a keresési gráfot csak a pillanatnyilag
vizsgált csomópontot Eredményessége erősen függ az állapottér alkotta felülettől. Problémát okoz
- a lokális maximum, - a hegygerinc jellegű lokális maximum, - a kiterjedt síkfelület.
b.) Szimulált hűtés Alapötlet: olvadt fémek hűlési, dermedési folyamata
→ a lehetséges lépések közül véletlenszerűen választjuk a következőt és
→ a lokális maximum elkerülése érdekében megengedett a "rossz" lépé-sek elfogadása is, de a keresési folyamat előrehaladása során egyre csökkenő mértékben.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 25/35
Alkalmazott algoritmus:
1.) Legyen adott T>0 hőmérséklet paraméter (vagy T1 > T2 >...> Tk,. csökkenő értékű paraméterek sorozata);
2.) Legyen n a kezdeti állapot; 3.) Ha n egy célállapot, akkor leállás → a célállapot visszadása eredményként
→ a keresés sikeres. 4.) egyébként:
- előállítja n valamennyi n´ leszármazottját, 5.) - véletlenszerűen kiválasztja egyik n'-t
- ha f(n')-f(n) > 0 akkor legyen n:= n' → vissza 3.)-ra, egyébként: = p legyen egy véletlenszerűen választott érték [0,1) interval-
lumból, = ha exp([f(n')-f(n)]/T) > p, akkor legyen n:= n' → vissza 3.)-ra,
egyébként → T csökkentése és vissza 5.)-re; Ha a hőmérséklet elegendően lassan csökken, megtalálja a globális optimumot.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 26/35
c.) Tabu keresés A csúcsramászás és a szimulált hűtés módszerét egészíti ki. Alapelvként bizonyos állapotokat az ú.n. tabu halmazba helyezéssel kizár a kere-sésből, ezáltal gyorsítja a keresést. Így,
– valamilyen előzetes információ alapján tartományokat zárhatunk ki;
– a már meglátogatott és elvetett állapotokat kizárva, a keresési tér csökkent-hető (az iteratív javító algoritmusok nem tárolják az addig bejárt útvonalat).
Előnyösen használható
- kombinatorikus feladatoknál,
- ütemezési feladatoknál, pl.: órarend készítés, gyártásütemezés, stb.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 27/35
mutáció
d.) Genetikus algoritmusok A természet evolúciójához hasonló módon javítjuk az egymás utáni állapotok jó-ságát a természetes kiválasztódás (durva) utánzásával. A korábbi iteratív javító algoritmusokkal szemben, a gyerek csomópontokat nem egy, hanem két szülő csomópont kombinálásából állítjuk elő. Fogalmak:
- egyed (egy lehetséges állapot – megoldás), - populáció (a lehetséges megoldások egy halmaza), - megfelelőség, rátermettség – a kiértékelő (fitness )
függvény méri, - életképesség (a keresési tartomáyon belüli). - genetikus kód (az egyed, az állapot reprezentációja):
valamilyen jelsorozat, karakter/szimbólum sorozat, - genetikus műveletek:
= mutáció (mutation): a jelsorozat valamely elemét megváltoztatjuk, = kereszteződés (crossover): mindkét egyed jelsorozatát ugyanazon helyen
ketté vágva, felcseréljük a jelsorozatok első (vagy második) felét;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 28/35
Genetikus algoritmus: (egy lehetséges változat)
1.) Kezdeti populáció feltöltése. 2.) Ha a leállási feltétel teljesül, akkor leállás és a
legjobb egyedek visszaadása eredményként. 3.) Egyébként:
- néhány egyed kiválasztása a populációból; - a genetikus műveletek alkalmazása a kivá-
lasztott egyedekre; - az új egyedek kiértékelése; - a legrosszabb egyedek elvetése; - vissza 2.)-re.
(Megjegyzés: a genetikus algoritmus nem valódi
evolúciós folyamatot modellez, hiányzik a reprodukció lehetősége.)
(Bővebbet a témáról: Borgulya I.: Evolúciós algoritmusok, Dialóg Campus Kiadó, Pécs, 2004)
kereszte-zési pont
szegmens csere
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 29/35
3-12. példa: A 8-királynő probléma megoldásának lehetséges változata a geneti-kus algoritmus alkalmazásával. A tábla állását egy-egy 8-számjegyből álló karakter sorozat reprezen-tálja, amelyben oszloponként adjuk meg a királynő sorpozicióját. A kiértékelő függvény az egymást nem támadó párok számát adja vissza, amely egy megoldás állapot esetében = 28. Adottak a négy táblaálláshoz tartozó értékek. A szülő párok kiválasztása a fittness-függvénnyel arányos valószínűséggel (% értékek) történik.
Megoldás:
fittness - választás keresztezés mutáció
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 30/35
Az első két egyed (táblaállás) egypontos keresztezésének eredménye a mutáció nélkül az alábbi lesz:
Működést befolyásoló paraméterek: - populáció nagysága,
- keresztezések száma, - mutációk száma, - keresztezési pontok száma, - mutációs pontok száma, - leállási feltétel.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 31/35
e.) Hangya algoritmus Alapötlet: hangyák természetbeni viselkedése a legrövidebb út megtalálásában.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 32/35
- kommunikációs háló-zatok adatforgalmának irányítása – optimális hálózati áteresztőké-pesség biztosítása,
- gyártósor ütemezés, - járműforgalom optima-
lizálása, - gráf, vagy térkép szí-
nezés, stb.
Legrövidebb út kialakítása hangya algoritmussal:
- a táplálék összegyűjtése után megjelölik az utat feromonnal; - a hangyák a feromon mennyiségének függvényében választanak utat; - rövid idő multán a legrövidebb úton lesz a legnagyobb feromon mennyiség.
A hangya algoritmussal megoldható jellemző problémák:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 33/35
3.5. Összegzés Legfontosabb szempontok a problémamegoldásban:
- feladatmegfogalmazás módja, reprezentációja
(állapotok, állapottér, műveletek, célok); - nem-informált (vak), vagy informált (heurisztikus) keresés választása
(információ a problémáról segíthet, de néha nehéz megszerezni); - tulajdonságok fontossága
(teljesség, optimalitás, idő és memória komplexitás). Meta-szintű döntés → a reprezentáció és a keresési módszer választása. A módszerek legfontosabb jellemző tulajdonságai. Melyik eljárást érdemes hasz-nálni?:
- SzE: csak ha kicsi az elágazási tényező (ritka eset) - ME: csak ha a reménytelen ágak nem lehetnek túl hosszúak - legjobb általános vak keresés: IME
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA03- 34/35
- legjobbat-először keresés: fontos a cél távolságának becslése (A* lehet akár teljes és optimális)
- iteratív javító algoritmusok jó távolságbecslés, nem szabad lokális optimumokban leragadni.
Felvetődő nyitott kérdések:
- minden operátor (akció) egyformán fontos? - össze lehet rakni egy utat darabokból? - többet kell tudni (és reprezentálni) az akciókról; előfeltételeikről, hatásaik-
ról, és kölcsönhatásaikról.
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
4. ELŐADÁS (előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 2/30
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia fogalma, előzmények. 2. Alapproblémák, a problémamegoldás feltételei
3. Keresési eljárások (informált, nem-informált keresések)
4. Tudásreprezentációs módszerek, következtetés 4.1. Célok, lehetőségek
4.2. Logikai alapú megjelenítés és következtetés 4.3. Szabály-alapú megjelenítés és következtetés
4.4. Keret-alapú megjelenítés és következtetés
4.5. Eset-alalpú megjelenítés és következtetés 5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
6. Gépi tanulás módjai (statisztikus, neurális hálók, stb.)
7. Intelligens rendszerek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 3/30
4. TUDÁSREPREZENTÁCIÓ, KÖVETKEZTETÉS
4.1. Célok, lehetőségek Kérdés: mi a különbség a feladatok szokásos gépi megoldása és az intelligens
problémamegoldás között?
szokásos: adatok → adatokon végzett műveletek ismert és adott algo-ritmus (→ program) alapján → eredmény adatok
intelligens problémamegoldás: tények/állítások/, tények közötti kapcso-
latok → állításokon végzett alapvetően logikai műveletek (→ következtetések) előre nem meghatározott algoritmus alapján → eredmény állítások/következmények
A feladat és a felhasznált ismeretek (adatok, állítások) megjelenítése a gép szá-
mára: valamilyen 'programozási nyelv', 'ismeretközlési mód', illetve an-nak tárolt, feldolgozható formája segítségével történik.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 4/30
Az alkalmazott módszerek célja: = ismeretek megszerzése, = ismeretek megjelenítése, tárolása, = ismeretek hasznosítása → következtetés
Leírás szintjei:
• tudás (azaz tudati) szintű (ismeretelemek, ismeretek megadása = az ágens megadása a tudásával; meghatározza, hogy mit lehet egyáltalán állítani!)
• logikai szintű (ahogyan a tudás kódolva van), • fizikai, implementáció szintű (ahogyan fizikailag megjelenik)
Adott reprezentációs módtól elvárt jellemzők:
• kifejező erő, modellezési lehetőség (→ mit lehet egyáltalán állítani?)
• következtetetési képesség (→ milyen kérdésekre várható válasz?)
• követhetőség (→ mennyi időn belül várható válasz?) Alapprobléma: miként modellezhető a világ úgy, hogy a modell elégséges alapot
adjon az intelligens cselekvéshez?
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 5/30
Reprezentációs módok csoportosítási lehetőségei - a megoldásra is ad-e előírást?
= procedurális (algoritmikus) leírás: megadja a megoldáshoz szükséges lé-pések egymásutániságát → algoritmus → imperativ programozási nyel-vek [Basic, Pascal, Fortran, C, stb.];
= deklarativ leírás: a feladat tényeit és ezek egymás közötti kapcsolatait ad-ja meg (a megoldás lépései a végrehajtás/feldolgozás során kerülnek meghatározásra) → nem ír elő algoritmust → deklaratív /logikai/ progra-mozási nyelvek [Prolog, Lisp(?)].
Az MI feladatokra a deklaratív feladatmegadás a jellemző. - a használt adatok/ismeretek struktúrája szerint:
= egyszerű: elemi objektumokkal, atomokkal (adatelemek, tényállítások) dolgozik, pl.: logikai ábrázolásmód;
= strukturált: elemi összetevőkből álló bonyolultabb szerkezetekkel (adat-struktúrák, összetett állítások) dolgozik, pl.: keret-alapú ábrázolásmód.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 6/30
Jellemző reprezentációs módok
- procedurális (algoritmikus) megjelenítési mód → valamilyen imperatív progra-mozási nyelv segítségével → szokásos nem-tudásalapú feladatok;
- logikai alapú megjelenítési mód: = formális logikára épülő: formális nyelvtan,
(boole-)algebrai leírás; • itélet logikai /nulladrendű/, • elsőrendű, predikativ logikai ábrázolás → PROLOG nyelv
= szabály-alapú (rule based) leírás.
- strukturált (keret, objektum alapú) megjelenítési módok; = keret-alapú (frame-based) megjelenítési mód; = szemantikus háló alapú megjelenítési mód;
- döntési fa alapú megjelenítés;
- forgatókönyvek, szcenáriók;
- hibrid reprezentáció az előzőek felhasználásával.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 7/30
4.2. Logikai alapú megjelenítés és következtetés A logikai alapú megjelenítés alapvetően állításokra (általánosan: mondatokra) épül. 4.2.1. Fogalmak értelmezése - (elemi) mondat: a világ tényeire, állapotaira vonatkozó egyszerű állítások, ame-
lyek igaz,vagy hamis értékűek; - reprezentáció, megjelenítés: a mondat értelmezhető formája
= valamely természetes, vagy mesterséges nyelven megfogalmazott; = kijelentő mondat formájában.
- interpretáció, értelmezés: = megfeleltetés a valóság tényei, állapotai és a mondatok között, = általában több interpretáció is lehetséges(!);
- következtetés: a mondatokból mechanikus eljárások alkalmazásával újabb, ed-dig nem reprezentált mondatok származtatása;
- (tétel) bizonyítás: annak igazolása, megfelelő következtetési eljárás és ismert ér-tékű állítások (feltételek) felhasználásával, hogy egy állítás (tétel) igaz, vagy hamis értékű.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 8/30
A logikai alapú megjelenítés alkotóelemei:
- szintaxis = a nyelv szimbólumai, = miként lehet mondatokat formálni;
- szemantika = megszabja, hogy a mondatok a világ mely tényeire vonatkoznak, = jelentést ad a mondatoknak;
- következtetés = adott szintaxis és szemantika mellett új mondatokat származtat.
mondatok mondatok
tények tények
Reprezentáció:
Világ:
vonatkozik rá(szemantika
következik belőle
követ
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 9/30
Logikai állítások/mondatok tulajdonságai és relációk
- igazság = egy mondat igaz, ha az, amit leír, valóban előfordul a világban; = egy mondat igazsága függ
• a világ állapotától, és • az interpretációtól, értelmezéstől (szemantikától);
- érvényesség
= a mondat érvenyes, ha minden értelmezésében igaz (nem függ sem a világ állapotától, sem a szemantikától) → tautológia
- kielégíthetőség
= ha a mondat valamely értelmezésében igaz (minden érvényes mondat kielégíthető)
- kielégíthetetlenség
= kielégíthetetlen egy mondat, ha minden értelmezésében hamis, azaz a világ soha nem olyan, mint amilyennek leírja → ellentmondás
Egy mondat akkor és csak akkor érvényes, ha tagadottja kielégíthetetlen.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 10/30
Következtetési eljárás elemei - következmény:
például: P1: "esik az eső" P2: "szabadban vagy" és TB = S = P1,P2
Q: "vizes leszel"
akkor, S |= Q
azaz, ha a mondatok egy halmaza (S) egy adott interpretációban igaz, akkor igaz a Q mondat is.
Q igazsága kövesse S igazságát minden interpretációban → több lehetséges interpretáció: azaz bármikor, ha S mondatai igazak, akkor igaz Q is.
- következmények gépi meghatározása:
= ahhoz, hogy eldöntse "TB |= q" igazságát, meg kell mutatnia, hogy a "ha TB igaz, akkor q" állítás teljesül; → a konklúzió minden interpretációban igaz.
= a gépnek ehhez nem kell ismernie a reprezentációs nyelv szemantikáját. = érvényesség (és kielégíthetetlenség) kulcsszerepben.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 11/30
- következtetés:
megengedett szintaktikai szabályok mechanikus alkalmazásával annak megál-lapítása, hogy mi következik (konklúzió) a feltétel (premissza) mondatokból.
premisszák |— konklúzió formálisan:
p |— q TB |— q
- következtetés tulajdonságai:
= biztos: tényleg csak a következményeket állítja elő ha TB |— q, akkor TB |= q
= teljes: az összes következményt előállítja
ha TB |= q, akkor TB |— q - formális következtetés:
érvényes következmények származtatása az interpretációk ismerete nélkül.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 12/30
4.2.2. Logikai rendszerek Lényeg: szintaxis, szemantika, következtetési (levezetési) szabályok
típus a világ
leképzése értékek megjegyzés
klasszikus logikák monoton (egy igaz állítás az is marad)
nulladrendű logika (itélet logika) tények igaz/hamis
elsőrendű logika (predikátum logika)
tények/objektu-mok/relációk igaz/hamis változók is használhatók
nem-klasszikus logikák egy állítás nem egyértelműen igaz, vagy hamis /modalítás/
többértékű logika tények/objektu-mok/relációk több érték
temporális logika tények/objektu-mok/relációk/idő
igaz/hamis időtől is függő
valószínűségi logika tények vélekedés mértéke
folytonos, 0 - 1 között
fuzzy logika tények/relációk kapcsolódás mértéke
igazság mértéke is változó, 0 - 1 között
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 13/30
4.2.3. Itéletlogika (nulladrendű logika) a.) Reprezentáció elemei, tulajdonságai
Szintaxis
- ítéletváltozók és ítéletkonstansok (T=true, F=false)
- mondatok = bármely szimbólum, amely ítéletváltozót, vagy konstanst jelöl (pl. P, Q, R,
vagy F, T)
= ha α és β egy-egy mondat, akkor mondat még: (α) ¬α tagadás, negáció (vagy ~α) α ∧ β logikai ÉS, konjunkció (vagy α & β) α ∨ β logikai VAGY, diszjunkció α ⇒ β implikáció ("ha ... akkor ...") (vagy α → β) α ⇔ β ekvivalencia ("akkor és csak akkor, ha ...")
= mondatok rekurzív módon is konstruálhatók (→ precedencia), pl.: (P ∧ Q) ⇒ (¬R ∨(S ∧ V))
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 14/30
Szemantika - interpretáció
= egy mondat ítéletváltozóihoz igaz (T), illetve hamis (F) értéket rendel bármely lehetséges módon.
= egy mondatnak több interpretációja is lehetséges.
- kiértékelés: a műveleti jelek precedenciája (¬, ∧, ∨, ⇒, ⇔ ) és szemantikája alapján
= alapműveletek:
P Q ¬P P∧Q P∨Q P⇒Q P⇔Q
F F T F F T T
F T T F T T F
T F F F T F F
T T F T T T T
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 15/30
= azonosságok (ekvivalenciák):
két mondat ekvivalens, ha minden egyes interpretációban ugyanaz az értékük.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 16/30
= kiegészítés: a műszaki /informatikai/ gyakorlat jelölésrendszere:
- itélet változók, állítások logikai értéke: igaz (1), vagy hamis (0); - a műveleti jelek jelölése és az alapműveletek kiértékelésének igaz-
ságtáblája (az utolsó oszlop az 'antivalencia', KIZÁRÓ-VAGY, 'xor' művelet oszlopa):
P Q ¬P P∧Q P∨Q P⇒Q P⇔Q
P Q P⋅Q P+Q P→Q P Q P ⊗ Q
0 0 1 0 0 1 1 0
0 1 1 0 1 1 0 1
1 0 0 0 1 0 0 1
1 1 0 1 1 1 1 0
P
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 17/30
- következmények ellenőrzése igazságtáblával:
= Adott a premisszák egy halmaza (P) és egy konklúzió (K).
= Igaz-e a P ⇒ K mondat minden interpretációban? Azaz, érvényes-e?
= Ha igen, akkor K következik P-ből.
4-1. példa: Premisszák: P1∨P2, ¬P2 P = P1∨P2, ¬P2 Konklúzió: P1 K = P1
azaz: P ⇒ K → ¬P ∨ K (1. azonosság szerint)
P1 P2 P1∨P2 ¬P2 P=(P1∨P2) ∧ ¬P2 K = P1 P ⇒ K
F F F T F F T
F T T F F F T
T F T T T T T
T T T F F T T
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 18/30
b.) Következtetési eljárások
- minták: a végrehajtható következtetési műveletek, következtetési szabályok
- jelölés: α |— β helyett: α β
- következtetési szabályok: ÉS kiküszübölése: bármelyik/minden Pi-nek igaznak kell lennie
(P1∧P2∧... ∧Pn) |— Pi ÉS bevezetése: igaz mondatok listájából következik azok konjukciója
(P1, P2, ... , Pn) |— (P1∧P2∧... ∧Pn) VAGY bevezetése: egy mondatból következtethető bármely másikkal a
diszjunkciója Pi |— (P1 ∨ P2 ∨ ... ∨ Pi ∨ ... ∨ Pn)
kettős tagadás kiküszöbölése: ¬(¬P) |— P
valamint
modus ponens (implikáció kiküszöbölése):
(P1 ⇒ P2, P1) |— P2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 19/30
modus tollens (implikáció kiküszöbölése):
(P1 ⇒ P2, ¬P2) |— ¬P1
rezolúció (pl. P2 nem lehet egyszerre igaz és hamis):
(P1 ∨ P2, ¬P2 ∨ P3) |— (P1 ∨ P3)
A (P1 ∨ P2), (¬P2 ∨ P3) klózokat rezolválhatónak nevezzük, ha egy komplemens itéletváltozó párt (P2, ¬P2) tartalmaznak. Az eredmény (P1 ∨ P3) klóz az eredeti klózpár rezolvense.
→ Logikai programozás: határozott Horn-klóz (változók VAGY kapcsola-ta, melyben csak egy pozitív/nem tagadott/ változó van) mindig átalakít-ható implikációvá; pl.: (¬P1∨ ¬P2∨...¬Pn ∨ Q) → (P1∧P2∧... ∧Pn) ⇒ Q
- bizonyítás: az alkalmazott következtetési szabályok sorozata Teljesség és komplexitás
• az igazságtáblákon való következtetés teljes • de exponenciális időt és/vagy helyet igényel (2n sor)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 20/30
Figyelem! Más és más a jelentésük!
β ⇒ α amit az ágens hisz (implikáció: ha β igaz, akkor α is igaz) TB |= α ami helyes (következmény reláció) TB |— α amit az ágens meg tud tenni (következtetés)
c.) Példák: 4-2. példa: ÉS kiküszöbölése:
vagy esik_az_eső ∧ friss_a_levegő esik_az_eső ∧ friss_a_levegő _________________________________________________________________________________ _________________________________________________________________________________
esik_az_eső friss_a_levegő 4-3. példa: ÉS bevezetése
(esik_az_eső, friss_a_levegő) _________________________________________________________________________________
esik_az_eső ∧ friss_a_levegő
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 21/30
4-4. példa: VAGY bevezetése
friss_a_levegő _________________________________________________________________________________
esik_az_eső ∨ friss_a_levegő
4-5. példa: Modus ponens (implikáció kiküszöbölése)
esik_az_eső ⇒ vízes_a_fű, esik_az_eső _______________________________________________________________________________________________________________
vízes_a_fű 4-6. példa: Modus tollens (implikáció kiküszöbölése)
esik_az_eső ⇒ vízes_a_fű, nem_vízes_a_fű _________________________________________________________________________________________________________________________
nem_esik_az_eső 4-7. példa: Rezolúció
rulettezem ∨ lottózom, nem_lottózom ∨ megmarad_a_pénzem __________________________________________________________________________________________________________________________________________________________________________
rulettezem ∨ megmarad_a_pénzem
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 22/30
4-8. példa: Igazolja a ¬A∧B ⇒ ¬(A∨ ¬B) következtetés érvényességét, igazság-táblázat segítségével! (érvényesség: a [¬A∧B ⇒ ¬(A∨ ¬B)] állítás A és B minden interpre-
tációjában 'igaz' értékű.)
A B ¬A ¬B ¬A∧B A∨¬B ¬(A∨¬B) ¬A∧B ⇒ ¬(A∨¬B) F F T T F T F T F T T F T F T T T F F T F T F T T T F F F T F T
4-9. példa: Igazolja igazságtáblázat segítségével az A ⇒ B = ¬A∨B azonosságot!
A B A ⇒ B ¬A ¬A∨B A⇒B = ¬A∨B F F T T T T F T T T T T T F F F F T T T T F T T
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 23/30
4-10. példa: Igazolja igazságtáblázat segítségével az A∧(B∨C) = (A∧B) ∨ (A∧C) azonosságot!
(azonosság igazolása: a baloldal és a jobboldal mondatai/állításai A, B, és C minden interpretációjában azonos igazságértékűek; tehát, az azonosság mint mondat, minden interpretációban 'igaz'.)
A B C B∨C P=A∧(B∨C) A∧B A∧C Q=(A∧B)∨(A∧C) P=Q F F F F F F F F T F F T T F F F F T F T F T F F F F T F T T T F F F F T T F F F F F F F T T F T T T F T T T T T F T T T F T T T T T T T T T T T
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 24/30
4-11. példa: Milyen következtetésre juthatunk a modus ponens következtetési módszer segítségével az alábbi tudásbázis (TB) alapján?
alszik ⇒ ¬álmos álmos ⇒ rosszkedvű ¬álmos ⇒ ¬rosszkedvű alszik alszik, alszik ⇒ ¬álmos ________________________________________________________________
‡lmos
¬álmos, ¬álmos ⇒ ¬rosszkedvű ________________________________________________________________________________________
¬rosszkedvű Tehát a lehetséges következtetés: ¬rosszkedvű A TB elemei alapján más következtetés nem vezethető le. De, ugyanak-kor a ¬álmos következménye a TB-nak, mert az is levezethető a TB-ból.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 25/30
4-12. példa: Vizsgáljuk meg, hogy az előző, 11. példában megadott tudásbázisból levezethető-e a rezolúció módszerével a '¬rosszkedvű' következtetés?
alszik ⇒ ¬álmos → klóz alak: ¬alszik ∨ ¬álmos álmos ⇒ rosszkedvű → klóz alak: ¬álmos ∨ rosszkedvű ¬álmos ⇒ ¬rosszkedvű → klóz alak: álmos ∨ ¬rosszkedvű alszik → alszik Tegyük fel, hogy a 'rosszkedvű' állítás igaz és vegyük be a TB-ba.
alszik, ¬alszik ∨ ¬álmos ________________________________________________________________
‡lmos
¬álmos, álmos ∨ ¬rosszkedvű __________________________________________________________________________________
¬rosszkedvű
rosszkedvű, ¬rosszkedvű → ellentmondás! ______________________________________________________________________
⊥ Tehát a 'rosszkedvű' feltételezés hamis, a '¬rosszkedvű' az igaz.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 26/30
4-13. példa: Adott a következő TB: (1) Vezet ⇒ ¬Iszik V ⇒ ¬I (2) Fáradt ⇒ ¬Vezet F ⇒ ¬V (3) ¬Iszik ⇒ ¬Elégedett ¬I ⇒ ¬E (4) Vezet V
a.) Milyen következtetésre jutunk a modus ponens alkalmazásával? b.) Vizsgáljuk meg rezolúcióval: következik-e aTB-ból, hogy '¬fáradt'?
a.) (4),(1) V, V ⇒ ¬I +(3) ¬I, ¬I ⇒ ¬E ____________________________ ________________________________
¬I ¬E
Tehát a következtetés eredménye: '¬elégedett' b.) Tegyük fel: (5) Fáradt F
Klóz alakra hozva: (1) ¬V ∨ ¬I (2) ¬F ∨ ¬V (2),(4) (¬F∨¬V),V → ¬F (3) I ∨ ¬E (4) V (5) F (¬F),(5) ¬F,F → ⊥
Tehát, 'fáradt' feltételezés ellentmondásra vezet → a '¬fáradt' igaz.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 27/30
4-14. példa: Adott a következő TB: ¬sikeres_a_felvételi ⇒ állást_keres sikeres_a_felvételi ⇒ sok_tanulás ¬állást_keres
Igazolja igazságtáblával, hogy a TB-ból következik a 'sok_tanulás'
Jelölje: S= sikeres_a_felvételi A= állást_keres T= sok_tanulás
Ekkor a TB: ¬S ⇒ A S ⇒ T → Q=[(¬S ⇒ A)∧(S ⇒ T)∧ ¬A] Q ⇒ T ¬A
A S T ¬A ¬S ¬S ⇒ A S ⇒ T Q T Q ⇒ T F F F T T F T F F T F F T T T F T F T T F T F T F T F F F T F T T T F T T T T T T F F F T T T F F T T F T F T T T F T T T T F F F T F F F T T T T F F T T F T T
Tehát a TB-ból következik a 'sok_tanulás' igaz értéke.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 28/30
4-15. példa: Ismert a következő TB: kórházban_van ⇒ beteg gyógyszert_szed ⇒ meggyógyul beteg ⇒ gyógyszert_szed idős ⇒ kórházban_van idős
Milyen következményt állít elő a modus ponens következtetési módszer?
idős, idős ⇒ kórházban_van _____________________________________________________________________________
kórházban_van
kórházban_van, kórházban_van ⇒ beteg _________________________________________________________________________________________________________________
beteg
beteg, beteg ⇒ gyógyszert_szed _________________________________________________________________________________________
gyógyszert_szed
gyógyszert_szed, gyógyszert_szed ⇒ meggyógyul __________________________________________________________________________________________________________________________________________
meggyógyul
Tehát a TB-ból levezethető, hogy 'meggyógyul'.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA04- 29/30
4-16. példa: Adott a következő TB: Fáradt ⇒ ¬Kocog kocog ⇒ Egészséges ¬egészséges ⇒ fáradt ¬kocog ⇒ ¬Szomjas ¬szomjas ⇒ ¬Iszik iszik
Bizonyítsuk be rezolúció segítségével, hogy az 'egészséges' következmény!
Átírva és átalakítva klóz formába a TB-t a jelöléseknek megfelelően, kapjuk: (1) F ⇒ ¬K ¬F∨¬K (2) K ⇒ E ¬K∨E E∨¬K (3) ¬E ⇒ F E∨F E∨¬S (4) ¬K ⇒ ¬S K∨¬S E∨¬I (5) ¬S ⇒ ¬I S∨¬I E (6) I I ⊥ (7) bizonyítandó: ¬E Tehát a rezolúció ellentmondásra jutott, így (7) hamis, azaz 'egészséges' igaz.
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
5. ELŐADÁS (előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 2/29
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia fogalma, előzmények. 2. Alapproblémák, a problémamegoldás feltételei
3. Keresési eljárások (informált, nem-informált keresések)
4. Tudásreprezentációs módszerek, következtetés 4.1. Célok, lehetőségek
4.2. Logikai alapú megjelenítés és következtetés 4.3. Szabály-alapú megjelenítés és következtetés
4.4. Keret-alapú megjelenítés és következtetés
4.5. Eset-alalpú megjelenítés és következtetés 5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
6. Gépi tanulás módjai (statisztikus, neurális hálók, stb.)
7. Intelligens rendszerek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 3/29
4.2. Logikai alapú megjelenítés és következtetés 4.2.1. Fogalmak értelmezése 4.2.2. Logikai rendszerek előző, 4. előadás anyaga 4.2.3. Itéletlogika (nulladrendű logika)
4.2.4. Elsőrendű logika (predikátum logika) Jellemzői: 'igaz', vagy 'hamis' értékű állítások fogalmazhatók meg
= változók, = függvények, = objektum - tulajdonság, objektum-objektum kapcsolat leírása (pre-
dikátum), = kvantorok (minden/bármelyik; létezik/van_olyan) használata segít-
ségével.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 4/29
a.) Szintaktika: a tudásreprezentáció szerkezeti elemei, szabályai 1. szimbólumkészlet ( = itéletlogika jelkészlete)
Elválasztó jelek , ( ) [ ] Logikai műveleti jelek ¬, ∧, ∨, ⇒, ⇔ Itéletváltozók p, q, r Itéletkonstansok T, F Kvantorok ∃, ∀ Változók x, y, z, ... Konstansok a, b, János, asztal, ... Függvények f, g, kor( ), szomszéd( ) Predikátumok P, Q, testvére(), apja()
A szimbólumkészlet elemeiből felépíthetők bonyolultabb kifejezések: 2. term-ek melyek objektumokat, egyedeket/elemeket reprezentálnak:
konstansok, változók és függvények
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 5/29
A függvények term-ekből (melyek mindig objektumokra utalnak) újabb term-eket építenek.
Pl. +(2,2), apa(Miklós)
3. mondatok: objektumokra (azok tulajdonságaira vagy relációira) vonatkozó állí-
tások; igazságértékük van.
elemi/atomi/ mondatok: minden itéletváltozó, itéletkonstans, predikátum; predikátumok: állítások objektumokról (objektumok kapcsolatáról), pl.: egyenlő(+(2,2),4), apja(Miklós,Péter) → Miklós apja Péter
összetett mondatok (wff = well-formed formula): mondatok logikai műveletekkel összekötve; pl.: ha P és Q mondat, akkor a ¬P, P ∧ Q, P ∨ Q, P ⇒ Q, P ⇔ Q kifeje-
zések is mondatok.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 6/29
kvantifikáció: ha P egy mondat és x egy változója, akkor
- univerzális kvantifikáció: → (∀x) P = minden x -re P is teljesül; - egzisztenciális kvantifikáció: → (∃x) P = van olyan x, melyre P igaz,
is mondat. Értelmezés: (∀x) → minden/bármely x
(∃x) → létezik/van olyan x
(∀x), vagy (∃x) kvantor használatakor, ha a P mondatban szerepel az x változó, akkor azt minden előfordulásában kötöttnek tekintjük. Ha P mondatban más változó is előfordul, pl. y is, és nem fordul elő más kvantor, akkor az y minden előfordulását szabadnak tekintjük. Például: Q = (∀x)[P(x,y) ∨ (∃y)R(x,y)] mondatban
P(x,y) -ban x kötött, y szabad változó,
R(x,y) -ban x kötött, y kötött változó.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 7/29
b.) Szemantika (mi a jelentése a mondatoknak?):
Interpretáció: megfeleltetés a formális nyelv és a világ elemei és azok kapcso-latai között. (Meghatározzuk a vizsgált elemek halmazát.)
1. term-ek az objektumokra utalnak:
Világ Reprezentáció Objektumok, egyedek Term-ek
Miklós, a, b Konstansok: Miklós, a, b, 1, 99 Változók: x,y,z Függvények: Miklós kora kor(Miklós) → pl.: kor(Miklós) = 25 Miklós apja apa(Miklós) → pl.: apa(Miklós) = Péter Miklós tolla toll(Miklós)
2. mondatok kiértékelése:
- predikátumok: állítások, melyek vagy igazak, vagy hamisak.
- összetett mondatok: az itéletlogika szabályai szerint, a részmondatok igaz-ságértéke alapján kiértékelve.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 8/29
- kvantifikáció
∀x P akkor és csak akkor igaz, ha P x minden lehetséges értékére igaz.
pl.: ∀x delfin(x) ⇒ emlős(x)
∃x P akkor és csak akkor igaz, ha x-nek van olyan értéke, amire P igaz.
pl.: ∃x emlős(x) ⇒ vízben-él(x) - kvantorok azonosságai:
∀x P ≡ ¬∃x ¬P ¬∀x P ≡ ∃x ¬P ∀x ¬P ≡ ¬∃x P ¬∀x ¬P ≡ ∃x P
- összetett mondatok: részmondatok igazsága alapján, az összekapcsoló logi-
kai műveleti előírásoknak megfelelően kiértékelve.
pl.: fölötte(x,y) ⇔ rajta(x,y) ∨ ∃w [rajta(x,w) ∧ fölötte(w,y)]
(x akkor, és csak akkor van y fölött), ha: vagy (x rajta van y-on), vagy (van olyan w, hogy x rajta van w-n és w y fölött van).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 9/29
Világ Reprezentáció Obj-ok kapcsolata, tulajdonsága Mondatok/Predikátumok
Miklós kertész. foglalkozása(Miklós,kertész)
Miklósnak van egy zöld sísapkája. birtokol(Miklós,sísapka) ∧ színe(sísapka, zöld)
Miklós látta Sárát. látta(Miklós,Sára)
Miklós látta Sára apját. látta(Miklós,apa(Sára)) ∃x apja(Sára,x) ∧ látta(Miklós,x)
Minden kertész szereti a napot. ∀x kertész(x) ⇒ szereti(x,Nap)
3. reprezentációs képesség → miért erős az elsőrendő logika kifejezőképessége?
- tagadás
¬kertész(Sára) ¬szereti(Máté,Nap) ¬rajta(A,B)
- részleges tudás → diszjunkció alkalmazása
huga(Miklós, Margit) ∨ huga(Miklós, Zsófi)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 10/29
- részleges tudás → meghatározatlanság
∃ lehetővé teszi, hogy konkrét objektumokra való utalások nélkül tegyünk állításokat
∃x huga(Miklós, x) Miklósnak van húga Kielégíthetőség 1. Kielégíthető egy mondat, ha van olyan interpretációja, amelyben a mondat igaz.
pl.: (∃x) emlős(x) ⇒ vízben-él(x) 2. Érvényes egy mondat, ha minden interpretációjában igaz.
pl.: (∀x) P(x) ∨ (∃y) ¬P(y) 3. Kielégíthetetlen egy mondat, ha minden interpretációjában hamis.
pl.: (∀x) P(x) & (∃y) ¬P(y)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 11/29
c.) Következtetés az itélet- és elsőrendű logikában Az elsőrendű logika lehetőségei az itéletlogika következtetési szabályait bővítik ki. Axiómák megfogalmazása:
• axióma: adott, alapvető tény egy adott területről; • tétel: állítás, amely következtetési eljárások segítségével bizonyítandó.
Következtetési eljárás:
következtetési szabályok segítségével, adott mondatokból újabb (ún. jól for-mált - wff = well-formed formula) mondatokat hoz létre.
• tétel: a származtatott mondat, • bizonyítás: a következtetési szabályok alkalmazásának sorozata.
Biztos és teljes következtetés: → dedukció
• biztos (egy következtetési szabály), ha csak a következményeket állítja elő.
ha TB |— q, akkor TB |= q
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 12/29
ellenpélda: abdukció → félrevezető lehet!
p ⇒k q ----------------------------------
q ⇒d p
Például: esik ⇒k vizes-a-fű (kauzális / oksági következtetés) vizes-a-fű ⇒d esik (diagnosztikai következtetés)
De: baj van a kauzális (oksági) és a diagnosztikai szabályok kölcsön-hatása, kapcsolata esetén. Pl., ha
locsoló-bekapcsolva ⇒k vizes-a-fű; és ha vizes-a-fű ⇒d esik
ebből következne, hogy ha
locsoló-bekapcsolva ⇒ esik ami persze nem feltétlenül igaz.
• teljes a következtetési szabályok egy halmaza, ha az összes következményt
elő tudja állítani
ha TB |= q, akkor TB |— q
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 13/29
Következtetési szabályok:
Az itéletlogikai következtetési szabályok az elsőrendű logikában is alkalmazhatók. Az itéletlogikai szabályok (azonosságok) segítségével a mondatokból egyes ele-meket kiküszöbölhetünk, illetve bevezethetünk. Pl.:
• implikáció kiküszöbölése (modus ponens),
• implikáció bevezetése:
Ha feltételezzük, hogy P igaz és ennek segítségével ki tudjuk mutatni, hogy Q is igaz, akkor a P ⇒ Q implikáció [ha P igaz és ebből következően Q is igaz] minden feltétel nélkül igaz (de nem Q!) és ezzel az implikációval a TB bővíthető.
Például, legyen a TB az alábbi:
esik ⇒ vizes-a-fű vizes-a-fű ⇒ nem-kell-locsolni
Ha feltételezzük, hogy esik, és ezzel kiegészítjük a TB-t:
esik ⇒ vizes-a-fű vizes-a-fű ⇒ nem-kell-locsolni esik
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 14/29
akkor a következőkre juthatunk:
(1) esik, esik ⇒ vizes-a-fű ====================================================================
vizes-a-fű
(2) vizes-a-fű, vizes-a-fű ⇒ nem-kell-locsolni =============================================================================================================================
nem-kell-locsolni
Tehát, 'nem-kell-locsolni', azaz a [ha 'esik', akkor 'nem-kell-locsolni'] követ-keztetés, implikáció helyes.
(3) nem-kell-locsolni ========================================================================
esik ⇒ nem-kell-locsolni
Ezek után az 'esik' törölhető, míg az 'esik ⇒ nem-kell-locsolni' implikáció hozzáadható a TB-hoz.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 15/29
• reductio ad absurdum ("igazolás cáfolat révén")
Feltesszük, hogy az igazolandó állítás tagadottja, ¬P igaz; és ha ennek segít-ségével ellentmondást tudunk kimutatni, akkor P igaz.
Például, a TB elemei a következők:
esik ⇒ vizes-a-fű ¬vizes-a-fű
Tegyük fel, hogy 'esik' és tegyük hozzá a TB-hoz. Ekkor
(1) esik, esik ⇒ vizes-a-fű ====================================================================
vizes-a-fű
(2) vizes-a-fű, ¬vizes-a-fű ==================================================================
⊥ Tehát ellentmondásra jutottunk, azaz
(3) így állítható, hogy '¬esik'
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 16/29
Tulajdonságok:
• biztos és teljes (ítéletkalkulus, elsőrendű logika),
• "természetes" az emberi gondolkodás számára,
• nagy elágazási tényező:
- több szabály igen sokféle módon alkalmazható, - automatikus következtetés (tételbizonyítás) számára nem alkalmas.
d.) Következtetés az elsőrendű logikában kvantorokkal Kérdés: miként helyettesíthetők a változók egyedi objektumokra utaló term-ekkel?
Cél: → visszavezetni a problémát itéletlogikai szintű következtetésekre.
Helyettesítés (szubsztitúció):
• jelölése subst(Θ,α), ahol a Θ=v1/t1,...,vn/tn helyettesítési listát alkalmaz-zuk az α mondat változóira, azaz például:
subst(x/Tom,y/Jerry, megfogja(x,y)) = megfogja(Tom,Jerry)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 17/29
Helyettesítési szabályok (együtt alkalmazhatók a korábbi szabályokkal):
Cél: kvantorok kiküszöbölése, illetve bevezetése.
• ∀ kiküszöbölése ∀y megeszi(Garfield,y) ========================================================================
megeszi(Garfield,hal25)... megeszi(Garfield,kacsa2)
• ∃ bevezetése
megeszi(Garfield,hal25) =========================================================================
∃x megeszi(Garfield,x)
• ∃ kiküszöbölése
∃x megeszi(Garfield,x) ===================================================================================================
megeszi(Garfield,valami-ennivaló)
Nevet ad egy olyan objektumnak, ami kielégíti a mondatban megfogal-mazott állítást (ún. Skolem-konstans).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 18/29
• általánosított modus ponens
Ha - p1',p2',...,pn' a TB -ban létező elemi (atomi) mondatok, - p1,p2,....,pn; q az implikáció elemi (atomi) mondatai és
létezik egy - subst (Θ,pi') = subst (Θ,pi) ∀i-re érvényes helyettesítés,
akkor p1',p2',...,pn'; (p1 ∧ p2 ∧ ... ∧ pn ⇒ q)
subst (Θ,q) 4-17. példa: premisszák:
macska (Garfield) szendvicsevő (Garfield) ∀x macska (x) ∧ szendvicsevő (x) ⇒ kövér (x)
helyettesítés: Θ = x/Garfield
következményre/konklúzióra alkalmazva:
subst (x/Garfield,kövér (x)) = kövér (Garfield)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 19/29
• egyesítés (unifikáció)
A következtetési eljárásokhoz szükséges megtalálni azt a Θ helyettesítési listát, amellyel a logikai kifejezéseket/mondatokat látszólag azonossá tehet-jük.
→ egyesítés, azaz a p, q mondatokhoz előállítani a Θ helyettesítési listát, ha ilyen létezik:
uni(p,q) = Θ, úgy, hogy subst(Θ,p) = subst(Θ,q) ha az egyesítendő mondatokban azonos változónevek találhatók, akkor szükséges lehet átnevezni, azaz különbözővé tenni azokat;
példák az egyesítésre:
uni(P(a,x),Q(a,b)) → Θ =x/b
uni(P(a,x),Q(y,b)) → Θ= y/a,x/b
uni(P(a,x),Q(y,f(y))) → Θ= y/a,x/f(a)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 20/29
• általánosított rezolúció
Rezolvens előállításának itéletlogikai szabálya: (P1 ∨ P2 ∨ ... ∨ Pn), (¬P1 ∨ Q2 ∨ ... ∨ Qm) → (P2 ∨ ... ∨ Pn ∨ Q2 ∨ ... ∨ Qm) → modus ponens felfogható úgy is, mint egy egyszerű rezolúció:
(α ⇒ β, α) = (¬α ∨ β, α) → (β)
általánosítva: → a Pi, Qj mondatok változókat tartalmazhatnak, így
= a komplementer Pi, ¬Qj elemeket egyesíteni (unifikálni) kell, azaz meg kell határozni az uni(Pi, ¬Qj) = Θ helyettesítési listát, majd
= az így kapott helyettesítési listát alkalmazni kell a rezolvensre;
tehát
(P1 ∨ P2 ∨ ... ∨ Pi ∨ ... ∨ Pn), (Q1 ∨ Q2 ∨ ... ∨ ¬Qj ∨ ... ∨ Qm) →
subst(Θ, (P1 ∨ ... ∨ Pi-1 ∨ Pi+1 ∨ ... ∨ Pn ∨ Q1 ∨ ... ∨ Qj-1 ∨ Qj+1 ∨... ∨ Qm))
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 21/29
• bizonyítás a tagadás cáfolatával
Kielégíthetetlenség kimutatása: ha igazolandó, hogy W következménye az ellentmondásmentes mondatokból álló TB-nak, azaz TB |= W, akkor meg kell mutatni, hogy a (TB ∪ ¬W) kielégíthetetlen és így a rezolúciós eljárás ellentmondáshoz vezet. Lépések: • cél (W) tagadása és a TB-hoz való hozzáadása,
• kiindulási forma: normál alak (klóz), • ellentmondás kimutatása rezolúcióval.
A TB mondatainak klóz formában történő felírása nagyon gyakran ún. határozott klóz (itéletlogikában: Horn-klózok) formájában oldható meg. Ezekre jellemző, hogy olyan literálok (elemi (atomi) mondatok, kijelentések, változók) logikai 'vagy' művelettel összekapcsolt diszjunkciója, amelyek közül csak egy pozitív, azaz nem tagadott literál.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 22/29
• rezolúciós stratégiák
Probléma: nem meghatározott az eljárás: - több egyesítő helyettesítes esetén melyiket kell választani?
befoglaló klózok elhagyása: subst(Θ,Q) ⊃ subst(Θ,P) - melyik két klóz-ra kell alkalmazni a szabályt?
tautológiák kiküszöbölése: pl.: P(f(A)) ∨ ¬P(f(A))
Szűkítő feltételek a rezolválandó párok kiválasztására: 1. szélességben-először keresés: csak a klózok kiválasztási sorrendjét ha-
tározza meg - első szintű klóz: axiómák és a cél tagadása, - az összes n-edik szintű klózt előállítja, mielőtt az (n+1). szintűeket;
2. támogató halmaz (tagadott célállításból származó klózok) stratégiája: - legalább az egyik szülő a cél tagadása, vagy annak egyik leszárma-
zottja legyen (célirányos bizonyítás) 3. lineáris rezolúció
- legalább az egyik szülő az alaphalmazból, vagy a másik szülő elődei közül származzon;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 23/29
4. input rezolúció: - legalább az egyik szülő az alaphalmazból választandó;
5. egységklóz rezolúció (egyetlen literálból áll): - legalább az egyik szülő egységklóz (csökken a rezolvens mérete).
• Miként automatizálható a következtetés folyamata?
Következtetés mint keresés:
- kiindulási állapot = axiómák konjunkciója
- operátorok = következtetési szabályok
- cél állapot = bizonyítandó tétel
Probléma: túl nagy elágazási tényező
- sok és sokféle módon alkalmazható következtetési szabály - ismert tények kombinálása: exponenciális növekedés
- kiút: más, jobb keresési tér egyetlen, általánosabb következtetési sza-bállyal.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 24/29
e.) Példák 4-18. példa: Egy szinész tervezett elfoglaltságát az alábbi TB mondatai írják le. A
kérdés az, hogy van-e ütközés az egyes elfoglaltságok időpontjai miatt?
(1) előadás(kedd) ∨ előadás(péntek) e(k) ∨ e(p) (2) vívóedzés(kedd) v(k) (3) vívóedzés(péntek) v(p) (4) előadás(kedd) ∧ vívóedzés(kedd) ⇒ ütközés e(k) ∧ v(k) ⇒ ü (5) előadás(péntek) ∧ vívóedzés(péntek)⇒ ütközés e(p) ∧ v(p) ⇒ ü
Klóz alakban, kiegészítve a feltételezéssel, hogy nincs ütközés (¬ü) (1) e(k) ∨ e(p) (2) v(k) (3) v(p) (4) ¬e(k) ∨ ¬v(k) ∨ ü (5) ¬e(p) ∨ ¬v(p) ∨ ü (6) ¬ü
bizonyítandó: ¬ü ellentmondásra vezet, azaz ütközés lesz!
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 25/29
Rezolválandó párok: (2), (4) v(k); (¬e(k) ∨ ¬v(k) ∨ ü) → (7) ¬e(k) ∨ ü (3), (5) v(p); (¬e(p) ∨ ¬v(p) ∨ ü) → (8) ¬e(p) ∨ ü (1), (7) (e(k) ∨ e(p)); (¬e(k) ∨ ü) → (9) e(p) ∨ ü (8), (9) ¬e(p) ∨ ü; e(p) ∨ ü → (10) ü
(6), (10) ¬ü; ü ellentmondás! → tehát ütközés lesz!
4-19. példa: Adott az alábbi mondatokból álló TB. Kérdés: igaz-e a (4)-dik állí-
tás?
(1) A macskák szeretik a halat. ∀x macska(x) ⇒ szereti(x,hal)
(2) A macskák mindent megesznek, amit szeretnek. ∀x∀y macska(x) ∧ szereti(x,y) ⇒ megeszi(x,y)
(3) Cirmos egy macska. macska(Cirmos)
(4) Cirmos megeszi a halat. megeszi(Cirmos,hal)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 26/29
Megoldás: Tegyük fel, hogy a (4)-dik állítás nem igaz: ¬megeszi(Cirmos, hal)
A módosított TB és annak tömörebb formájú, határozott klóz alakja (a kvantorok elhagyásával):
(1) ∀x macska(x) ⇒ szereti(x,hal) ¬m(x) ∨ sz(x,hal) (2) ∀x∀y macska(x) ∧ szereti(x,y) ⇒ megeszi(x,y) ¬m(x) ∨ ¬sz(x,y) ∨ e(x,y) (3) macska(Cirmos) m(Cirmos) (4a) ¬megeszi(Cirmos, hal) ¬e(Cirmos,hal)
(1) ¬m(x) ∨ sz(x,hal) (2) ¬m(x) ∨ ¬sz(x,y) ∨ e(x,y)
Θ= x/Cirmos, y/hal helyettesítés
(5) ¬m(Cirmos) ∨ e(Cirmos,hal) (3) m(Cirmos)
(6) e(Cirmos,hal) (4a) ¬e(Cirmos,hal)
⊥ (üres klóz, ellentmondás! → tehát a (4)-dik mondat igaz)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 27/29
4-20. példa: Adott egy TB az alábbi mondatokkal. Igazolható-e a (4)-dik állítás?
(1) Bárki, aki tud olvasni (R), az tud írni (W).
∀x [R(x) ⇒ W(x)] ¬R(x) ∨ W(x) (2) A delfinek(D) nem tudnak írni.
∀x [D(x) ⇒ ¬W(x)] ¬D(y) ∨ ¬W(y) (3) Van olyan delfin, amelyik intelligens(I).
∃x [D(x) ∧ I(x)] (3a) D(Alfa) (3b) I(Alfa)
Az ÉS művelet miatt, a részmondatok mint tényállítások külön-külön is 'igaz' értékűek és (x/Alfa) helyettesítéssel példányosíthatók, azaz egy konkrét egyedre vonatkoznak.
Bizonyítandó: (4) Van aki intelligens, de nem tud olvasni.
∃x [I(x) ∧ ¬R(x)] tagadva: (4a) ¬I(z) ∨ R(z)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA05- 28/29
Megoldás:
(1) ¬R(x) ∨ W(x) (2) ¬D(y) ∨ ¬W(y) (3a) D(Alfa) (3b) I(Alfa) (4a) ¬I(z) ∨ R(z) – rezolúciós feltétel Levezetés:
helyettesítés
(5) (3b),(4a) I(Alfa); ¬I(z) ∨ R(z) Θ= z/Alfa: R(Alfa) (6) (1),(5) ¬R(x) ∨ W(x); R(Alfa) Θ= x/Alfa: W(Alfa) (7) (2),(6) ¬D(y) ∨ ¬W(y); W(Alfa) Θ= y/Alfa: ¬D(Alfa)
(8) (3a),(7) D(Alfa); ¬D(Alfa) ⊥ (üres klóz, ellentmondás)
Tehát az eredeti (4) ∃x [I(x) ∧ ¬R(x)] állítás igaz. Pl.: x = 'Alfa'-ra.
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
6. ELŐADÁS (előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 2/32
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia fogalma, előzmények. 2. Alapproblémák, a problémamegoldás feltételei
3. Keresési eljárások (informált, nem-informált keresések)
4. Tudásreprezentációs módszerek, következtetés 4.1. Célok, lehetőségek
4.2. Logikai alapú megjelenítés és következtetés 4.3. Szabály-alapú megjelenítés és következtetés
4.4. Keret-alapú megjelenítés és következtetés
4.5. Eset-alalpú megjelenítés és következtetés 5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
6. Gépi tanulás módjai (statisztikus, neurális hálók, stb.)
7. Intelligens rendszerek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 3/32
4.2. Logikai alapú megjelenítés és következtetés 4.2.1. Fogalmak értelmezése
4.2.2. Logikai rendszerek 4. előadás anyaga
4.2.3. Itéletlogika (nulladrendű logika)
4.2.4. Elsőrendű logika (predikátum logika) 5. előadás anyaga
4.2.5. Logikai programozási nyelv - PROLOG Logikai alapú megjelenítés programozási nyelve (Prolog = Programming Logic):
→ A. Colmerauer, 1972 Alapja: elsőrendű logika egyszerűsített szerkezetekkel (Horn-klóz) Nem a feladatmegoldás algoritmusát adjuk meg, hanem a megoldandó feladatot írjuk le tényállításokkal és kapcsolatokkal/szabályokkal/ → deklaratív programo-zás.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 4/32
Tudásterület leírása - feltétel nélküli (→ tényállítás), - feltételes állításokkal (→ szabály).
A megoldandó feladat kérdésként (célállításként) fogalmazható meg. A megoldó eljárás: korlátozott tételbizonyító eljárás
→ szemléletmódja: procedurális, visszalépéses (back-tracking) algoritmusra épülő,
→ felhasználó számára követhetőbb. a.) Szintaktika Elemei: konstansok: pl.: a, b, istván, péter, 'Budapest', ...
kisbetűvel kezdődik, vagy '...' jelek közé zárva;
változók: pl.: X, Y, Apa, Gyerek, ... nagybetűvel kezdődik, tetszőleges értéket vehet fel;
mondatzáró pont: . pont; a mondatokat ponttal kell zárni;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 5/32
tényállítás: feltétel nélküli mondat (igazságértéke van), pl.: apja(imre, istván). → 'Imre apja István'
apja(istván, géza). szabály: feltételes mondat /akkor, ha → implikáció/ (igazságérté-
ke van), pl.: akkor nagyapja(Unoka, Nagyapa) ha
apja(Unoka, Apa) és apja(Apa, Nagyapa).
nagyapja(Unoka, Nagyapa):- apja(Unoka, Apa), apja(Apa, Nagyapa).
szabályok jellemzői:
a predikátumoknak meghatározott számú argumentuma van szulei(Gyermek, Apa, Anya):- lanya(Apa, Gyermek),
felesege(Apa, Anya). szulei(Gyermek, Apa, Anya):- fia(Apa, Gyermek), felesege(Apa,
Anya). gyermeke(X, Gyermek):- szulei(Gyermek, Apa, X). gyermeke(X, Gyermek):- szulei(Gyermek, X, Anya). szuloje(Gyermek, Szulo):-gyermeke(Szulo, Gyermek).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 6/32
ÉS kapcsolat közös argumentummal
nagyapja(Unoka, Nagyapa):- apja(Unoka, Apa), apja(Apa, Nagyapa).
nagyapja(Unoka, Nagyapa):- anyja(Unoka, Anya), apja(Anya, Nagyapa).
nagyapja(Unoka, Nagyapa):- szuloje(Unoka, Szulo), apja(Szulo, Nagyapa).
rekurzív definíció
osapja(Osapa,X):- apja(Osapa,X). osapja(Osapa,X):- apja(Osapa,Y), osapja(Y, X). osapja(Osapa,X):- apja(Osapa,Z), osapja(Z, Y), osapja(Y, X).
ose(Szemely, Os):- szulei(Szemely, Os). ose(Szemely, Os):- szulei(Szemely, X), ose(X, Os).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 7/32
kérdés, vagy cél(állítás) → kiegészítendő kérdő mondat pl.: Ki Imre apja?
?- apja(imre, Valaki) válasz: → Valaki=istván
kérdés, vagy cél(állítás) → eldöntendő kérdő mondat
pl.: Géza Imre nagyapja?
?- nagyapja(imre, géza) válasz: → igen
kérdés, vagy cél(állítás) → lekérdező /kiegészítendő/ kérdő mondat
pl.: Kik vannak unoka-nagyapa kapcsolatban?
?- nagyapja(X,Y) válasz: → X= imre
Y= géza
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 8/32
b.) Végrehajtás Elemei: mintaillesztés: két kifejezés akkor illeszthető, ha a kifejezések változói-
hoz találunk olyan helyettesítést, hogy a két kifejezés azonos legyen.
pl.: 1. kifejezés: X 2. kifejezés: 5
helyettesítés: X ← 5 eredmény: 5
pl.: 1. kifejezés: f(g(a)+U) 2. kifejezés: f(V+b)
helyettesítés: U ← b; V ← g(a) eredmény: f(g(a)+b)
Illesztés lehetőségei: - két változó mindig illeszthető, - egy változó és egy konstans mindig illeszthető, - két konstans akkor illeszthető, ha megegyeznek.
A mintaillesztéssel két elemi állítást illesztünk: az egyik a célállítás, a másik egy szabály baloldala, vagy egy tényállítás. Illesztéssel választha-tó ki az alkalmazandó szabály, illetve az illesztéssel történik a paramé-terátadás, a helyettesítés.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 9/32
A Prolog a szabályokat, a tényállításokat a forráslistában megadott sor-rendben illeszti. A szabály törzs részében a helyettesítés/egyesítés bal-ról jobbra történik:
ose(Os, Szemely) :- apja(Os, Szemely). ose(Os, Szemely) :- apja(Os, X),ose(X, Szemely).
visszalépéses keresés: a szabályok sorozatos illesztése során, ha a
végrehajtási/keresési/ gráfban elakadunk, akkor egy lépéssel visszalépünk és új végrehajtási ágon folytatjuk a szabályok kivá-lasztását.
következtetési eljárás: - modus ponens,
- rezolúció.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 10/32
Előny, hátrány
- előny: = program olvashatósága, = könnyű módosíthatósága;
- hátrány: = nem minden probléma írható le logikai formában,
= nem tudja kezelni a bizonytalanságot, = hiányos ismereteket nem tudja kezelni, = a következtetés vezérlése nem lehetséges, = bizonyos részeket, csak procedurális módon lehet megol-
dani.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 11/32
4-21. példa:* Adott az alábbi családfa szerinti család. Milyen következtetési lépé-sekben kapjuk meg a Prolog program szerinti választ a következő kér-désre: Kinek ki a gyereke? → ?- gyermeke(X, Gyermek)
Megoldás:
Lekérdezés
?-gyermeke(X, Gyermek).
X = terez,
Gyermek = ilona
More (Y/N): y X = ilona
Gyermek = szilvia
More (Y/N): y
…..
…
X= jozsef
Gyermek = vilmos
?-
Károly Teréz
Ilona
Zsuzsanna
György István Gizella
Imre
Vilmos
lánya fia
felesége
József Szilvia
Program
/*Tenyek*/ felesege(karoly, terez). lanya(karoly, ilona). felesege(istvan, gizella). fia(istvan, imre). fia(istvan, jozsef). felesege(gyorgy, ilona). lanya(gyorgy, szilvia). felesege(jozsef, szilvia). fia(jozsef, vilmos). lanya(jozsef, zsuzsanna).
/*Szabalyok*/ ferje(Feleseg, Ferj) :-felesege(Ferj,Feleseg). szulei(Gyermek, Apa, Anya) :- lanya(Apa, Gyermek), felesege(Apa, Anya). szulei(Gyermek, Apa, Anya) :- fia(Apa, Gyermek), felesege(Apa, Anya). gyermeke(X, Gyermek) :- szulei(Gyermek, Apa, X). gyermeke(X, Gyermek) :- szulei(Gyermek, X, Anya). apja(Gyermek, Apa):- szulei(Gyermek, Apa, X). anyja(Gyermek, Anya) :- szulei(Gyermek, X, Anya).
*Seebauer M.: Mesterséges intelligencia, DF, 2005 (ea)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 12/32
A program következtetési lépései:
?- gyermeke(X, Gyermek).
gyermeke(X, Gyermek) :- szulei(Gyermek, Apa, X).
szulei(Gyermek, Apa, X).
szulei(Gyermek, Apa, Anya) :- lanya(Apa, Gyermek), felesege(Apa, Anya).
lanya(Apa, Gyermek), felesege(Apa, X).
felesege(karoly, terez)
Apa = karoly
Gyermek = ilona
lanya(karoly, ilona).
X=Anya
felesege(karoly, X).
X = terez
X = terez, Gyermek = ilona
More (Y/N): y
gyermeke(X, Gyermek) :- szulei(Gyermek, X, Anya).
szulei(Gyermek, Apa, Anya) :- fia(Apa, Gyermek), felesege(Apa, Anya).
lanya(gyorgy, szilvia). lanya(jozsef, zsuzsanna).
True
Elérhető Prolog változatok (ILIAS-ban is): = SWI-Prolog Language
http://www.swi-prolog.org = ADA Prolog → egyszerű DOS alapú
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 13/32
4.3. Szabály-alapú megjelenítés és következtetés Szabály-alapú reprezentáció és következtetés
- korlátozottabb nyelvű, mint az elsőrendű logika, - következtetési mechanizmusa kötöttebb, - hatékony és egyértelmű, értelmezhető következtetések → szemben pl. a
rezolúcióval, - az emberi döntések kialakulásához közeli reprezentáció.
Szabálybázis:
= ha <feltétel> akkor <következmény> típusú szabályok (implikáció: ⇒), vagy
= akkor <következmény> ha <feltétel> típusú szabályok alkotják.
Értelmezése: A <következmény> inkább javaslat egy akció végrehajtásá-ra, mintsem egy egyszerű logikai állítás. (reflex ágens!)
azaz, pl.: (defrule <szabály-név> ha <bármikor ezen feltételek fennállnak>
⇒ akkor <hajtsd végre ezeket az akciókat> enddef)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 14/32
Adatbázis: pozitiv ('igaz' értékű) elemi tényállítások halmaza
Rögzíti mindazon tényeket, amelyeket a probléma megoldásának pillanatá-ban a problémával kapcsolatosan a világról ismerünk. Zárt világot feltételezünk, azaz minden állítás, amelyik nincs az adatbázis-ban, hamisnak tekintendő.
Működés:
Szabály: ha <feltétel> ⇒ <akció>
feltétel:
- adatbázisbeli tények, tény minták, - változók, - logikai kapcsolatok (ÉS, VAGY), ill. tagadás (NEM);
akció:
- (új) elemi tények hozzáadása, ill. (a hamissá vált tények) törlése, - mellékhatások (input/output), - procedurális eljárások.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 15/32
Például: RULE 4 IF tav*(fogy/100)>benzin IF <Feltételrész> THEN tankolni_kell THEN <Következmény> RULE 5 IF sebesseg>130 OR baleset_van IF <Feltételrész> THEN fekezni_kell THEN <Cselekvés>
<Feltételrész> = Feltétel1, Feltétel2, …, Feltételn
D AND E OR F ⇒ G
A AND B AND C ⇒ D
A
G
F
B C
D
E
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 16/32
Következtetési módszerek:
- Célvezérelt, visszafelé haladó (backward chaining) következtetés: célálla-potból kiindulva, a cél érvényességét a szabályok, tények (TB) alkalmazá-sával visszavezeti már igazolt tényekre, vagy állításokra, azaz, hogy a cél elérhető valamely kezdő állapotból kiindulva. Ennek során, ha az adott cél (vagy közbülső részcél) még igazolandó, akkor a TB-ban keres egy olyan szabályt, melynek következmény részéhez illeszthető és vizsgálja a feltételrész (részcél) teljesülését mindaddig, amíg a feltételrész igazolást nyer.
- Adatvezérelt, előrefelé haladó (forward chaining) következtetés: egy kezdeti állapotból, illetve az azt meghatározó tényekből kiindulva, az ismert tények és a szabálybázis (TB) felhasználásával egy célállapotot határoz meg, illetve oda jut el. Eközben olyan szabályt keres, amelynek feltétel része a már ismert (vagy menetközben előállított) tények alapján igazolható és ezt a szabályt végre-hajtja, mindaddig amíg van ilyen szabály. Az előállított következmény lesz az elérhető cél.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 17/32
Célállítások szintje
Szabályok szintje
Agenda
Tudásbázis
Tényállítások
szintjeAdatbázis lekérdezés Felhasználói válasz Alapértelmezés
Seebauer M: Intelligens rendszerek, DF, 2008
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 18/32
Mintaillesztés elemei: - feltétel oldali változók lekötése minden
lehetséges módon (kimeritő keresés), unifikáció
- a RETE mechanizmus alkalmazása: a szabalybázist hálóként reprezentálja, lekérdezéseket, egyesítéseket, cselek- véseket definiál, csak a változásokat frissíti (hatékony mintaillesztés)
Tüzelés:
A feltételi rész teljesülése (→ mintaillesztés) esetén a szabály végrehajtásra kerül. Bizonyos esetekben több szabály is tüzelhet → konfliktus feloldása:
választási, vezérlési stratégiák: - legfrissebb tény alapján, - legkritikusabb tényre illeszkedve, - legnagyobb prioritású tény alapján, - alapértelmezett (default) tény alapján.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 19/32
Előny, hátrány
előnyei: = könnyen megfogalmazható szabályok, = természetes gondolkodásnak megfelel, = modularitás: - minden szabály egy-egy tudásmorzsa,
- csoportosítható, rendszerezhető, = bizonytalanságkezeléssel kiegészíthető;
hátrányai: = végtelen ciklus kialakulási lehetősége (szabályok egymásra hi-
vatkoznak), = ellentmondások alakulhatnak ki, különösen sok szabály esetén, = javításkor, új szabályok beiktatásakor ciklikusság, vagy ellent-
mondásosság alakulhat ki, = nagy szabálybázis esetén nehéz racionalizálni, a redundanciát
elkerülni. = vezérlési előírások és a feladat szabályai keveredhetnek, = nincs egységes nyelv → nehezen vihető át a TB más gépre.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 20/32
4.4. Keret-alapú megjelenítés és következtetés Az emberi gondolkodás (emlékezet) általában tárgyakhoz, objektumokhoz kötő-dik. Az emberi gondolkodás összekapcsolja az objektumot annak jellemző tulajdonsá-gaival, viselkedésével, környezetével. A keret (frame) - információ tárolási alapegység, összefoglalja mind-azon tulajdonságokat, amelyek egy objektumra jellemzők, és azokat a relációkat, melyek ezt az objektumot más objektumokkal összekap-csolják.
Marvin Minsky Alapelemek Osztály(class) - Alosztály (subclass) → hierarchikus felépítés, → osztályhierarchia.
Példány (instance): valamely osztály-
hoz tartozó konkrét megvalósu-lás.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 21/32
Példa: alosztály - példány - magukban hordozzák a tulajdonságokat
és relációkat, - alapvető kapcsolatuk az öröklődés (a
tulajdonságok és a relációk öröklőd-nek a hierarchiában “felettük” (előttük) lévőtől,
- többszörös (több helyről való) öröklődés = több kapcsolat, = több szint
Technikai megvalósítás: keret (frame) → [objektum] egyedi azonosító slot: - tulajdonság érték:
default: örökölt értékek - reláció: speciális relációk
= osztály - alosztály (is-a) = osztály - példány (instance-of)
- démon: tulajdonságérték változá-sához kapcsolódó szabály, vagy eljárás (when changed, when needed).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 22/32
Példa
Osztály (defframe macska tulajdonság (szin) reláció (megeszi (eger madar)))
Alosztály (defframe hazimacska
hierarchia (is-a macska) tulajdonság (szin) tulajdonság (nev) reláció (megeszi (konzerv madar)))
Példány (defframe Mirci
hierarchia (instance-of hazimacska) tulajdonság (szin Feher) tulajdonság (nev Mirci) reláció (megeszi (konzerv kanari)))
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 23/32
Kapcsolat a logikával (szemantika) osztály - alosztály (is-a) reláció → univerzális kvantálás
∀x hazimacska(x) ⇒ macska(x) alosztály - példány (instance-of) reláció
→ állítás egy egyedi objektum adott osztályba
tartozásáról hazimacska(Mirci)
slot - érték párok → nem egyértelmű a szemantika!
∀x hazimacska(x) ⇒ ∃y madar(y) ∧ megeszi(x,y) avagy
∀x,y hazimacska(x) ∧ madar(y) ⇒ megeszi(x,y)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 24/32
A keret-alapú reprezentáció
előnyei: - hétköznapi gondolkodáshoz illeszkedő reprezentáció, - ismeretek jól strukturálhatók, - esemény-vezérelt feldolgozás → démonok, - deklarativ és procedurális megoldások (démonok és 'when changed' típu-
sú metódusok) együttes használata, - hatékony következtetés az osztályok és az objektum példányok tulajdon-
ságairól, - implementáció: objektum-orientált programozás.
hátrányai: - nehézkesen módosítható, - kivételek kezelése nehéz; - új elemek beiktatása, - heurisztikus megoldások beépítése problémás.
Szakertői rendszerekben gyakran alkalmazott reprezentációs módszer, többnyire hibrid (szabály- és keretalapú) megoldásban.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 25/32
Problémák - 1 Konfliktus öröklődéskor: default értékek és több helyről való öröklődés
Honnan vegyük az értéket? Példa: (1) A marógépek vezérelt tengelyeinek száma általában 3, és státusza szabad. (2) A körasztallal ellátott marógép is maró-
gép. (3) A körasztallal ellátott marógép vezérelt
tengelyeinek száma 4. (4) A karbantartott berendezések státusza
foglalt. (5) TC 3 egy karbantartás alatt álló, körasz-
tallal ellátott marógép. Reprezentáció:
- konfliktus egyik öröklődési út mentén: vezérelt tengelyek száma? - konfliktus a többes öröklődés miatt: státusz?
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 26/32
Problémák - 2 Monoton következtetés: default értékek hatása
monoton következtetés (|—): új tény hozzáadásával egy korábbi konkluzió nem válik hamissá (az ismert állítások halmaza monoton nő).
nem-monoton következtetés: bármit állítunk, megfordítható az igazsága.
Default értékek esetén a monoton következtetés nem működik. Példa: tudjuk, hogy újabb ismereteink:
∀x madar(x) ⇒ repul(x) ∀x pingvin(x) ⇒ ¬repul(x) madar(Pipi) ∀x pingvin(x) ⇒ madar(x)
pingvin(Pipi) tehát: mindebből az (is) következik: repul(Pipi) ¬repul(Pipi) Ellentmondás!
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 27/32
4-22. példa: Írjuk fel a keret alapú tudásreprezentációnak megfelelő formában az alábbi ismeret tartalmakat. A notebookok olyan személyi számítógépek, amelyek mobilitásuk, kis súlyuk, kis terjedelmük miatt egyaránt rugalmasan alkalmazhatók a dön-téshozatal, a karbantartás és az oktatás területén.
Megoldás:
defframe notebook hierarchia is-a személyi számítógép reláció alkalmazható döntéshozatalban
alkalmazható oktatásban alkalmazható karbantartásban
tulajdonság helyhezkötöttség – mobil terjedelem – kicsi súly – kicsi
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 28/32
4.5. Eset-alapú megjelenítés és következtetés Eset-alapú (case based) tudásreprezentáció és következtetés alapfeltevése:
amilyen volt a múlt, olyan lesz a jövő is, az "igazi" tapasztalat nehezen ragad-ható meg szabályok segitségével, azt többé-kevésbé általánosított esetek szö-vevényes kapcsolata alkotja.
Módszer: újra-felhasználás
- korábbi feladatok sikeres megoldásainak újra-felhasználása. Alkalmazása:
- a szakterület nehezen formalizálható szabályokkal, - az alkalmazás átfogó szabályokat igényel, - a szakterület eleve eset alapú (orvosi diagnosztika, jog), - túl sok szabály kellene a szakterület leírásához, - dinamikus változó szakterület, az új problémák megoldásának gyors leírása
szükséges.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 29/32
Esetleírás Nincs rögzített leírási mód, nehezen megoldható feladat az összehasonlíthatóság biztosítása. Legegyszerűbb mód: a probléma leírása (attributum - érték) párokkal. Példa:
- szabad szöveg:
A lézernyomtato maszatos oldalakat nyomtat ki. - numerikus (fuzzy):
(kora=öreg); (kora=8 és 10 év közé esik) (nyomtatott-oldalak-száma=15739)
- szimbolikus:
(típus=LaserWriter_III) (gyártó=Canon)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 30/32
Működése: Keresés: eset illesztés
- hasonlóság = közelség/távolság = attribútum típusonként más
és más módon mérhető - súlyozás
= egyetlen kombinált távolság - irányított kikérdezés és kontex-
tus-függő visszakeresés - a siker kulcsa: a jó indexelés
Választás: illeszkedő esetek közül a legalkalmasabb kiválasztása. Hasonlósági becslés: Mikor hasonló két eset?
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA06- 31/32
Módosítás: - korábbi megoldás új körülményekhez való adaptálása, - nehéz automatizálni.
Előnyök, hátrányok
egyszerű létrehozni, használat közben javul;
de informális (nem egzakt) megoldás, csak az esetek által lefedett problémákat oldja meg.
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
7. ELŐADÁS (előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 2/24
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia fogalma, előzmények. 2. Alapproblémák, a problémamegoldás feltételei
3. Keresési eljárások (informált, nem-informált keresések)
4. Tudásreprezentációs módszerek, következtetés 5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
5.1. Bizonytalanság értelmezése, kezelése 5.2. Valószínűségi alapú bizonytalanságkezelés
5.3. Bizonyossági tényező
5.4. Fuzzy-rendszerek 6. Gépi tanulás módjai (statisztikus, neurális hálók, stb.)
7. Intelligens rendszerek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 3/24
5. BIZONYTALANSÁG KEZELÉS
5.1. Bizonytalanság értelmezése, kezelése A klasszikus logikában a kijelentések eldönthetően
• vagy igazak vagy hamisak. "A Föld a Nap körül kering." .vs. "A Nap a Föld körül kering."
A természetes nyelvekben a mondatok sokszor
• nem világosan megfogalmazottak → homályos tudás "Azt mondják, a Föld a Nap körül kering."
• nem meghatározottak → bizonytalan kijelentések
"A Föld lehet, hogy a Nap körül kering."
Ok: → alapvetően információhiány.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 4/24
A bizonytalanság okai:
• hiányos tudás − hiányos adat, − nem tökéletes ismeret, − csak később megismerhető adat;
• nem megbízható ismeret
− hibás, pontatlan adat
• nem meghatározható, bizonytalan állapot − észlelési, mérési bizonytalanság → valószínűségi megközelítés, − reprezentációs, nyelvi bizonytalanság → fuzzy megközelítés
• ellentmondásos tudás − igazságérték bizonytalansága, változása:
= vannak érvek mellette és ellenében is,
= időben változó lehet.
Bizonytalan tudás → bizonytalan következtetés!
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 5/24
A bizonytalanság kezelésének megoldandó kérdései:
• hogyan reprezentáljuk a bizonytalan ismeretet?
• hogyan kezeljünk több, egymással logikai kapcsolatban lévő ismeretet?
• hogyan következtessünk bizonytalan ismeretek esetén? A bizonytalanság kezelésének módszerei:
• numerikus módszerek: − valószínűségelméleti megközelítés:
= klasszikus valószínűségszámítás, = Bayes-tétel (feltételes valószínűség alkalmazása), = Bayes-háló használata;
− Dempster-Shafer-féle megbízhatósági módszer (valószínűség fogalmá-nak kiterjesztése alapján);
− fuzzy-elvű megközelítés: laza/életlen halmazok elméletére épülő logika; − bizonyossági modell (heurisztikus megközelítés) alkalmazása;
• nem-numerikus, szimbólikus módszerek: − nem-monoton következtetési rendszer → feltételezések, hiedelmek
használata, ellentmondásos helyzetek feloldása
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 6/24
5.2. Valószínűségi alapú bizonytalanság kezelés 5.2.1. Alapfogalmak, összefüggések Alap: az események bekövetkezési lehetőségének mértéke → valószínűsége Elemi esemény: valamely vizsgálat, kisérlet egy lehetséges kimenetele.
(Jelölése: A, B, C,...; A1, A2, A3,...., An; ) Eseménytér (Ω): egy adott kisérlet kapcsán figyelembe vehető elemi események
összessége. Ω = A1, A2, A3,...., An, n ≥ 0
Teljes eseménytér: ha Ai, Aj ∈ Ω, akkor Ai ∩ Aj ∈ Ω; Ai ∪ Aj ∈ Ω ∀i,j -re,
ha Ai ∈ Ω, akkor ~Ai = Ω \ Ai ∈ Ω, ∀i -re Teljes eseményrendszer: ha Ai, Aj ∈ Ω, akkor Ai ∩ Aj = ∅ ∀i≠j -re Események bekövetkezési valószínűsége: 0 ≤ P(Ai) ≤ 1 és Ai ∈ Ω, ∀i -re;
P(∅) = 0 és P(Ω) = 1
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 7/24
Alapvető összefüggések: Jelölések: (A ∪ B) = A+B P(A ∪ B) = P(A+B)
(A ∩ B) = AB P(A ∩ B) = P(AB) ~A = Ω \ A P(~A) = 1 - P(A)
Ekkor: P(A+B) = P(A) + P(B) ha A és B egymást kizáró események, azaz
AB = ∅
Ha A1, A2, A3,...., An teljes eseményrendszer, azaz Ai Aj = ∅ ∀i≠j-re, akkor P(A1)+P(A2)+P(A3)+...+P(An) = P(Ω) =1 és P(Ai) + P(~Ai) = 1, mivel (Ai+~Ai) = Ω és Ai (~Ai) = ∅ P(A+B) = P(A) + P(B) - P(AB),
ha A és B nem egymást kizáró események.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 8/24
(Diszkrét) valószínűségi eloszlás: ha X egy valószínűségi változó, amely x1, x2, x3,..., xn értékeket vehet fel, szeretnénk ismerni ezek bekö-vetkezési valószínűségeit,azaz P(X=x1), P(X=x2), P(X=x3), ...,P(X=xn) értékeket. Pl.: ha az időjárás kapcsán 4-féle le-hetőséget ismerünk: napos, esős, havazásos, szeles időt, akkor a
P(idő=napos) = 0,6 P(idő=szeles) = 0,25 P(idő=esős) = 0,13 P(idő=havazásos) = 0,02
valószínűségek az egyes időjárási események nyári idő-szakra érvényes várható gyakoriságait, eloszlását adják meg.
Együttes valószínűségi eloszlás: több valószínűségi változó egyes lehetséges ér-
tékeinek együttes bekövetkezéseinek eloszlását adja meg. Az aktuális együttes valószínűség értékeket egy n-dimenzi-ós táblázatban jeleníthetjük meg.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 9/24
5-1. példa: legyen X=idő=jó, idő=rossz) és Y=hőmérséklet=magas, hőmérsék-let=alacsony két valószínűségi változó a lehetséges értékeikkel. (Jelöl-je: x az X első értékét (idő=jó), ~x a második értéket és y, ~y hasonló-képpen az Y esetében is) Ekkor az együttes események valószínűségei:
x ~x y P(xy) P((~x)y)
~y P(x(~y)) P((~x)(~y))
Legyen: P(x) = 0,7 és akkor P(~x) = 0,3; P(y) = 0,6 P(~y) = 0,4
ekkor a táblázat:
x ~x y 0,42 0,18
~y 0,28 0,12
A táblázat elemi eseményei egymást kizáró események, azaz teljes ese-ményrendszert alkotnak, ezért valószínűségeik összege 1 lesz. Így a 4 érték helyett elegendő csak 3 értéket megadni, mert a 4-dik már kiszá-mítható.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 10/24
5.2.2. Feltételes valószínűség, Bayes-szabály Kérdés: mennyiben befolyásolja egyik esemény bekövetkezését egy másik ese-
mény bekövetkezése, van-e kapcsolat közöttük? Ennek nagyságát a feltételes valószínűség adja meg, azaz az A ese-mény B eseményre vonatkozó P(A|B) feltételes valószínűsége azt fejezi ki, hogy ha a B esemény bekövetkezik, akkor mennyiben változik meg az A esemény bekövetkezésére vonatkozó korábbi bizonytalanságunk, valószínűségi becslésünk mértéke?
P(AB) P(A|B) = ----------
P(B) Felírható:
P(A|B)P(B) = P(AB) = P(B|A)P(A)
Bayes-szabály: Általánosított Bayes-szabály:
P(B|A)P(A) P(A|B) = ---------------
P(B) )A(P*)A|B(P
)A(P*)A|B(P)B|A(P
i
n
ii
iii
∑=
=
1
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 11/24
5-2. példa: A korábbi példa adatait felhasználva, további eredményeket kapha-tunk. (X = időjárás, Y = hőmérséklet változó)
x ~x y 0,42 0,18
~y 0,28 0,12 Mi a valószínűsége annak, hogy az időjárás jó, feltéve, hogy a hőmér-séklet magas? P(X|Y) = P(XY)/P(Y) = 0,42/(0,42+0,18) = 0,42/0,6 = 0,7
Mi a valószínűsége annak, hogy a hőmérséklet magas, feltéve, hogy az időjárás jó?
P(Y|X) = P(XY)/P(X) = 0,42/(0,42+0,28) = 0,42/0,7 = 0,6
Mi a valószinűsége annak, hogy a hőmérséklet magas, feltéve, hogy az időjárás rossz? P(Y|~X) = P(~XY)/P(~X) = 0,18/(0,18+0,12) = 0,18/0,3 = 0,6
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 12/24
5-3. példa: Egy autószervízben a javítások 8%-ban a hibajelenség az autó rossz gyorsulása (X) volt; a javítások 10%-ban olajcserét kellett végezni (Y) és az esetek 60%-ban, amikor olajcserét végeztek, a csere oka a rossz gyorsulás volt. Felírható:
P(X) = 0,08 P(Y) = 0,1 P(X|Y) = 0,6
Egy behozott autó tulajdonosa a rossz gyorsulásra panaszkodik. A sze-relő olajcserére gyanakszik. Mi a valószínűsége annak, hogy rossz gyorsulás esetén olajat kell cse-rélni?
Megoldás: Bayes-szabály alkalmazása: P(Y|X) = [P(X|Y)*P(Y)] / P(X) = [0,6*0,1]/0,08 = 0,06/0,08 = 0,75
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 13/24
5-4. példa: Cél: olyan e-mail ellenőrző program készítése, amely képes a tarta-lom elemzése alapján meghatározni, hogy egy levél kereskedelmi célú spam-e, vagy sem? A program néhány jellemző szó előfordulását vizs-gálva, döntsön az e-mail besorolásáról (spam (S1=S), nem-spam (S2=~S)). A választott szavak például:
- árleszállítás → Z1 = true/false, - kiárusítás → Z2 = true/false, - [pénz]megtakarítás → Z3 = true/false.
Kérdés: mennyiben módosítják előzetes információnkat (azaz, annak
valószínűségét, hogy az e-mail spam (1500 db), illetve nem spam (4500 db)) a levelek további elemzésével kapott adatok?
Az elemzéshez az alábbi adatok adottak 6000 levél alapján:
előzetes elemzés részletes elemzés
összesen besorolás árleszállítás (Z1) [db]
kiárusítás (Z2) [db]
megtakarítás (Z3) [db]
1500 spam (S1) 825 300 1050 4500 nem spam (S2) 225 60 450 6000 összesen 1050 360 1500
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 14/24
Feladat: a Bayes-tételre alapozva, olyan kérdésekre szeretnénk választ kapni, mint például: a) mi a valószínűsége, hogy a levél spam, ha a szövegben a 'kiárusítás'
szót találja a program, azaz P(S1|Z2) mekkora? b) mi a valószínűsége annak, hogy a levél nem_spam, ha a szövegben
a 'megtakarítás' szó fordul elő, azaz P(S2|Z3) mekkora? c) a levél spam-e, ha a szövegben előfordul az 'árleszállítás' és a 'kiáru-
sítás' szó, de nem található meg benne a 'megtakarítás' szó?
Megoldás: A táblázat adatai alapján kiszámíthatjuk:
- P(S1), P(S2) 'a priori' valószínűségeket; - S1, S2, Z1, Z2, Z3 együttes bekövetkezési valószínűségeit; - P(Z1), P(Z2), P(Z3), a választott szavak előfordulási valószínűségeit. P(S1) = 1500/6000 = 0,25 P(S2) = 4500/6000 = 0,75
P(Z1) = 1050/6000 = 0,175 P(Z2) = 360/6000 = 0,06
P(Z3) = 1500/6000 = 0,25
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 15/24
Az együttes valószínűségeket és a további számított értékeket a következő táblá-zat tartalmazza.
'a priori' vsz. 'a posteriori' vsz.-ek P(Sj) 0,25 0,75
P(S1|Zi) P(S2|Zi) Σ P(Zi) S1 S2 0,175 Z1 0,1375 0,0375 0,786 0,214 1,0 0,060 Z2 0,0500 0,0100 0,833 0,167 1,0 0,250 Z3 0,1750 0,0750 0,700 0,300 1,0
P(Z1|Sj) 0,55 0,050 P(Z2|Sj) 0,20 0,013 P(Z3|Sj) 0,70 0,100 Σ 1,45 (!) 0,163 (!)
Az együttes valószínűségek (sárga cellák) értékei az adattáblázat adatai alapján számíthatók; például:
P(Z2S1) = 300/6000 = 0,05 P(Z3S2) = 450/6000 = 0,075
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 16/24
Megjegyzés: ez az együttes valószínűségi táblázat nem felel meg a korábbi pél-dák táblázatainak, mivel itt a Zi változók nem alkotnak teljes eseményrendszert (egyszerre is bekövetkezhetnek mint események), nem függetlenek egymástól, így a táblázat elemeinek összege ≠ 1-gyel. A P(Zi|Sj) valószínűségek (halványkék cellák) azt fejezik ki, hogy mi annak a való-színűsége, hogy ha a levelet spam-nek(S1) itélte a program, akkor ennek az oka a Zi szó előfordulása volt.
A P(Sj|Zi) valószínűségek (zöld cellák) azt fejezik ki, hogy mi annak a valószínű-sége, hogy ha a levélben előfordul a Zi szó, akkor spam-nek(S1), vagy nem spam-nek(S2) kell tekinteni az e-mailt. Az együttes valószínűségek felhasználásával számíthatók a feltételes valószínű-ségek, a definició, vagy a Bayes-szabály alapján. Pédául:
P(Z2|S1) = P(Z2S1)/P(S1) = 0,05/0,25 = 0,2
Számunkra fontosabb az új információk (→ mérési adatok) alapján módosuló 'a priori' valószínűségek új értéke, az 'a posteriori' valószínűségek (zöld cellák), amelyeket általában a Bayes-szabály felhasználásával számítunk ki. Például:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 17/24
a) ha a levélben előfordul a 'kiárusítás' szó (Z2), akkor
P(S1|Z2) = [P(Z2|S1) P(S1)] / P(Z2) = 0,2*0,25/0,06 = 0,833 Tehát, a levél 0,83 valószínűséggel spam.
b) ha a levélben előfordul a 'megtakarítás' szó (Z3), akkor annak valószínűsége,
hogy az e-mail nem spam:
P(S2|Z3) = [P(Z3|S2) P(S2)] / P(Z3) = 0,1*0,75/0,25 = 0,3
Mi a program feladata?
A program megvizsgál minden új e-mailt, és annak függvényében, hogy talál-e a levélben 'tiltott' szót, beállítja a Z változókat "igaz", vagy "hamis" értékre, majd az előzőekben meghatározott értékekkel kiszámitja annak a valószínűségét, hogy spam-e, vagy sem. Általában a helyzet azonban nem ilyen egyszerű, azaz több feltétel is teljesülhet, vagy nem teljesülhet egyidejűleg. Például:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 18/24
c) ha a levél tartalmazza a “kiárusítás” és az “árleszállítás” szavakat, de nem tartalmazza a “megtakarítás” szót, akkor az a kérdés, hogy
P(S1| Z1Z2 ~Z3) és P(S2| Z1Z2 ~Z3)
mekkora lesz, azaz spam-nek, vagy nem_spam-nek kell-e tekinteni?
Felhasználva a Bayes-tételt, írható, hogy:
= annak a valószínűsége, hogy a levél spam: P(S1| Z1Z2 ~Z3) = [P(Z1Z2 ~Z3|S1)*P(S1)] / P(Z1Z2 ~Z3) = annak a valószínűsége, hogy a levél nem spam:
P(S2| Z1Z2 ~Z3) = [P(Z1Z2 ~Z3|S2)*P(S2)] / P(Z1Z2 ~Z3) Ha ismerjük ezek eredményét, akkor mondhatjuk, hogy amelyik nagyobb azt fogadjuk el és aszerint döntünk.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 19/24
Felhasználva az ún. 'naiv Bayes modell'-t, P(Z1Z2 ~Z3|S1), pontosabban a számláló felírható az alábbi módon (igazából ez csak független változók eseté-ben igaz):
P(Z1Z2 ~Z3|S1)*P(S1) = P(Z1|S1)*P(Z2|S1)*P(~Z3|S1)* P(S1) =
= P(Z1|S1)*P(Z2|S1)*(1-P(Z3|S1))* P(S1) =
= 0,55*0,2*(1-0,7)*0,25 = 0,00825 hasonlóképpen:
P(Z1Z2 ~Z3|S2)*P(S2) = P(Z1|S2)*P(Z2|S2)*P(~Z3|S2)* P(S2) =
= P(Z1|S2)*P(Z2|S2)*(1-P(Z3|S2))* P(S2) =
= 0,05*0,013*(1-0,1)*0,75 = 0,00043875
Mivel a nevezők azonosak, így P(S1| Z1Z2 ~Z3) értéke lesz a nagyobb, azaz a levél 'spam'.
A statisztikai adatok elemzésével kapott 'a posteriori' valószínűségeket mint 'a priori' valószínűségeket használva a továbbiakban, javíthatjuk a program működé-sét. Bizonyos időközönként elvégezve az elemzést, taníthatjuk a programot → gépi tanulás.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 20/24
5.2.3. Valószínűségi logika, következtetés A logikai mondatok, állítások valószínűségi eseményeknek tekinthetők és beszél-hetünk ezen állítások valószínűségéről, azaz ha p egy logikai mondat, akkor en-nek a mondatnak - ha semmi más információ nem áll rendelkezésre - a valószínű-sége:
P(p) = x Egy kijelentéshez rendelt: 0 valószínűség: egyértelmű vélelem, hogy az
állítás hamis
1 valószínűség: határozott vélelem, hogy az ál-lítás igaz.
A 0 és 1 közötti valószínűségek a mondat igaz-ságtartalmában való 'hit' közbenső mértékeinek felelnek meg.
Az állítás valójában persze vagy igaz, vagy hamis. A hiedelem és az igazságtartalom mértéke nem azonos; a hiedelem egy elvárás az állítás igazságával szemben → ezt fejezi ki a valószínűség.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 21/24
A tudásbázishoz hozzáadott állítások módosítják az abból levonható következteté-seket, és ugyanúgy a valószínűség is megváltozik, amikor több tény birtokába ju-tunk.
Mielőtt tények birtokába jutunk: → előzetes, a priori (prior), feltétel nélküli valószínűség;
a tények birtokában: → utólagos, a posteriori, feltételes valószínűség.
Feltételes valószínűség:
P(p|q) = y ha egyedül csak azt tudjuk, hogy q igaz, akkor p vélelme-zett igazságának valószínűségét adja meg a feltételes való-színűség;
P(p|(q∧r)) = z ha már nemcsak azt tudjuk, hogy q igaz, hanem azt is, hogy r is igaz.
P(p|q) ≠ P(q ⇒ p) általában nem teljesül → nem következtetést fejez ki! Bayes-tétel:
P(p|q) = P(q|p)P(p)/P(q)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 22/24
Bayes-módszer előnyei, hátrányai: előny: - szilárd (valószínűség)elméleti alapok,
- jól definiált szemantika;
hátrány: - nagyon sok ('a priori') valószínűséget kell megadni, - a becslés problémája: objektív/szubjektív valószínűség alkalmazása,
- feladat módosítása körülményes,
- az eredmények nehezen magyarázhatók, értelmezhetők. Több változó esetén az ismert, a kiszámítandó feltételes valószínűségek száma rohamosan nő, ezért a
valószínűségszámítás helyett → közelítő módszereket célszerű használni több tény együttes figyelembevételénél, mert bár az így kapott válaszok pontatlanok, azonban kevesebb számolást igényelnek.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA07- 23/24
A gyakrabban használt közelítő módszerek:
− Bayes-hálók (Bayes Nets). − bizonyossági tényezők (Certainty Factors), − Dempster-Shafer elmélet;
illetve
→ a fuzzy halmazok.
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
8. ELŐADÁS (előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 2/30
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia fogalma, előzmények. 2. Alapproblémák, a problémamegoldás feltételei
3. Keresési eljárások (informált, nem-informált keresések)
4. Tudásreprezentációs módszerek, következtetés 5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
5.1. Bizonytalanság értelmezése, kezelése 5.2. Valószínűségi alapú bizonytalanság kezelés
5.3. Bizonyossági tényező
5.4. Fuzzy-rendszerek 6. Gépi tanulás módjai (statisztikus, neurális hálók, stb.)
7. Intelligens rendszerek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 3/30
5. BIZONYTALANSÁG KEZELÉS
5.1. Bizonytalanság értelmezése, kezelése
5.2. Valószínűségi alapú bizonytalanság kezelés 5.2.1. Alapfogalmak, összefüggések 5.2.2. Feltételes valószínűség, Bayes-szabály 5.2.3. Valószínűségi logika
5.2.4. Bayes-hálók, hatásgráfok Állítások közötti oksági kapcsolatok, hatások ábrázolásával csökkenthető a szük-séges, számítandó valószínűségek száma. A Bayes-háló (valószínűségi háló - belief network) az adott feladat oksági kap-csolatainak ábrázolására szolgáló irányított, körpályamentes gráf. A gráf csomó-pontjai képviselik az állításokat/valószínűségi változókat, az irányított élek pedig a közöttük lévő ok-okozati hatásokat.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 4/30
A Bayes-háló teljes leírást ad a vizsgált területről. Segítségével az együttes való-színűség eloszlás bármely értéke, bejegyzése kiszámítható.
- Az éllel összekötött csomópontok közötti ok-okozati hatáskapcsolatot, függő-séget a feltételes valószínűség adja meg.
- Az éllel össze nem kötött csomópontok közvetlenül nem függnek egymástól. A változók közötti feltételes függetlenség egyszerűsítheti a valószínűségek kiszá-mítását, nagyban csökkentheti a megadandó feltételes valószínűségek számát. Függetlenség: X független Y-tól, ha P(X|Y) = P(X) Feltételes függetlenség: a hálóban minden csomópont csak a szülő csomópon-
toktól függ, csak azok hatása érvényesül közvetlenül; a felette lévő többi ősétől feltételesen független. A gyökér csomópont független.
Például: ha az X változó szülő csomópontja Y; és Y szülője Z, akkor X feltételes
valószínűsége Y és Z hatásának figyelembevételére:
P(X|YZ) = P(X|Y), mivel X feltételesen független Z-től és annak őseitől.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 5/30
Minden csomóponthoz meg kell adni a feltételes valószínűségi táblázatot (FVT), amely a szülő csomópontok minden lehetséges állapotához megadja a fel-tételes valószínűség értékét. Kivétel a gyökér csomópont(ok) helyzete, amely ese-tében az 'a priori' valószínűséget adjuk meg.
5-5. példa: A ház helyzete, ha a család távol van. A feleség, ha elmegy ott-honról, gyakran bekap-csolja a külső világítást. Néha azonban akkor is megteszi ezt, ha vendé-geket vár. Ha senki nincs otthon, akkor a kutya kint szokott lenni az előkert-ben. Ám ez akkor is meg-történik, ha emésztési problémája van. Ha a ku-tya kint van, hallani az ugatását, de az nagy ritkán összetéveszthető más kutyákéval is.
család-távol (cst)
lámpa-ég
(lé)
kutya-kinn
(kk)
emésztési probléma
(ep)
P(cst)=0.15 P(ep)=0.01
P(lé | cst)=0.6 P(lé | ¬cst)=0.05
P(kk | cst,ep)=0.99 P(kk | cst,¬ep)=0.90 P(kk | ¬cst,ep)=0.97 P(kk | ¬cst,¬ep)=0.3
ugatás hallható
(uh) P(uh | kk)=0.7 P(uh | ¬kk)=0.01
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 6/30
Együttes eloszlás számítási igénye (bináris változók esetén):
n szülő → 2n - 1 valószínűség adandó meg;
szülő nélküli csomópont(ok):
→ a priori valószínűség(ek).
A példában:
= együttes valószínűség, Bayes-szabály:
5 változó van → 25 -1 = 31 valószínűség;
= Bayes-háló: 1 x 22 + 2 x 21 + 2 (a priori) = 4 + 4 + 2 = 10 valószínűség.
Együttes valószínűség számítása = feltételes valószínűségek szorzata.
P(XY) = P(X|Y)*P(Y) P(UVXY) = P(U|VXY)*P(VXY) = P(U|VXY)*P(V|XY)*P(XY) =
= P(U|VXY)*P(V|XY)*P(X|Y)*P(Y)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 7/30
általánosan:
P(Xn...X1) = P(Xn|Xn-1 ... X1)*P(Xn-1|Xn-2 ... X1)* ... *P(X2|X1)*P(X1) =
= ( ) ( ) ( )11211ii
n
3iXPXXPXXXP **][ K
−=
Π
Feltételes függetlenség
Ha a szülők (szülői feltételek) ismertek, nem érdekes az ős:
P(Xi | Xi-1, …, X1) = P(Xi | Szülők(Xi)), i=1…n; és Szülők(Xi) ⊆ Xi-1,…, X1 azaz
P(Xi | Szülők(Xi), Ősők(Xi)) = P(Xi | Szülők(Xi))
A valószínűségi hálóban található információk alapján:
az együttes valószínűségi eloszlásfüggvény bármely bejegyzése kiszámítható.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 8/30
Egy bejegyzés értéke:
P(x1…x
n) = P(x
i |Szülők(X
i)), i=1,…,n
Az együttes valószínűségi eloszlás minden bejegyzése felbontható a FVT meg-felelő elemeinek a szorzatára. FVT-k: az együttes valószínűségi eloszlás de-komponált leírása.
5-5.példa: Mi a valószínűsége a következő eseménynek: a család nincs távol (~cst), ég a lámpa (lé), a kutya kinn van a kertben (kk), de az emészté-sével nincs probléma (~ep) és ugatás hallatszik (uh) ?
P(uh,kk,lé,~cst,~ep) = P(uh|kk,lé,~cst,~ep)*P(kk,lé,~cst,~ep) = = P(uh|kk)*P(kk|lé,~cst,~ep)*P(lé,~cst,~ep) =
= P(uh|kk)* P(kk|~cst,~ep)*P(lé|~cst,~ep)*P(~cst,~ep) =
= P(uh|kk)* P(kk|~cst,~ep)*P(lé|~cst)*P(~cst|~ep)*P(~ep)
P(uh,kk,lé,~cst,~ep) = P(uh|kk)* P(kk|~cst,~ep)*P(lé|~cst)*P(~cst)*P(~ep) =
= 0,7*0,3*0,05*0,85*0,99 = 0,0088 ≅ 0,9%
∏=
n
i 1
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 9/30
Háló szerkesztése
1. A tárgyterületet leíró állítások és azok változóinak meghatározása.
2. A többi változótól nem függő (gyökér) csomópontok meghatározása, felraj-zolása.
3. Amíg van el nem helyezett változó:
- keressük ki azokat a változókat, amelyek a már felrajzolt csomópontoktól függenek csak és csatoljuk a gráfhoz,
- határozzuk meg azokat a csomópontokat,amelyektől az új csomópont köz-vetlenül függ és rajzoljuk be a szükséges éleket,
- az új elemekhez készítsük el a feltételes valószínűségek táblázatát(FVT-t)
Az így szerkesztett háló teljes és felesleges éleket nem tartalmaz.
Következtetés és a háló szerkesztésének kapcsolata:
A háló felépítése függ a kapcsolat jellegétől:
- oksági (ok → okozat), vagy - diagnosztizáló (hatás → ok) → abdukció!
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 10/30
Általánosan, az alapvető kérdés: az 'a posteriori' valószínűség meghatározása a feltételes, lekérdezéses válto-zókra, ha a tény vagy bizonyíték változóknak az értékei adottak:
P(Kérdéses |Tény) = P(Q|E) A korábbi példában pl.:
P(család_távol | ugatás_hallatszik) A hálóknál alkalmazott következtetési módszerek: Diagnosztikai következtetés (hatásról az okra):
Ha adott Q, akkor kiszámíthatjuk, hogy pl.: P(E|Q) = ?
Okozati következtetés (okról a hatásra):
Ha adott az E, akkor kiszámíthatjuk, hogy P(Q|E) = ?
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 11/30
Okok közötti következtetés (következtetés egy közös hatás/okozat (R) okai kö-zött):
Ha adott a Q, akkor P(R|Q) számítható; ha azonban hozzávesszük azt a tényt is, hogy az E igaz, akkor a P(R|Q∧E) = ?
Bár a Q és az E függetlenek, az e-gyik jelenléte a másik valószínűsé-gét csökkenti. Ez a fajta következtetési mód a ki-magyarázás.
Kevert következtetések (a fentiek kombinált használata):
Ha az E1 ok igaz és az E2 okozat hamis, akkor P(Q|E1 ∧ ¬E2) = ?
Ez a diagnosztikai és okozati következtetés együttes felhasználása.
Hasonlóan kombinálható a diagnosztikai és az okok közötti következtetés is.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 12/30
5.3. Bizonyossági tényező (cf - certainty factors) A módszert a MYCIN (EMYCIN) szakértői rendszer következtetési rendszerében vezették be a '70-es évek elején. Minden állításhoz tartozik egy:
measure of belief (MB), 0 ≤ MB ≤ 1; a hit, a bizalom, elfogadás mérté-ke
measure of disbelief (MD) 0 ≤ MB ≤ 1; a bizalomhiány, az el nem fogadás
mértéke MYCIN szabály [h, e]: if e then h
e: evidencia, bizonyíték, a szabály feltétele, a hipotézist igazoló tény;
h: hipotézis, a szabály következménye.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 13/30
Egy evidencia: vagy megnöveli a h hipotézis elfogadottságát, amely esetben:
MB[h,e] > 0 és MD[h,e] = 0 nincs alapja h-t elvetni, vagy csökkenti a hipotézis elfogadottságát, amely esetben:
MD[h,e] > 0 és MB[h,e] = 0 nincs alapja h elfogadásának. Tagadott hipotézis: MB[¬h,e] = MD[h,e],
MD[¬h,e] = MB[h,e] Bizonyossági tényező (CF - certainty factor) A hipotézisre vonatkozó általános hiedelmet, vélekedést fejezi ki:
( )11
1≤≤−
−
= CFMD,MBmin
MD-MBe][h,CF
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 14/30
Ha CF > 0, a rendszer igaznak véli a hipotézist, CF < 0, hamisnak, CF = 0, akkor egyszerűen nincs róla információ.
A CF bizonyossági tényezőre vonatkozó összefüggések:
Kapcsolat CF kiszámítása Feltétel
ÉS CF(a∧b) min CF(a),CF(b) szabály előfeltétel elemeire
VAGY CF(a∨b) max CF(a),CF(b) szabály előfeltétel elemeire
NEM CF(¬p) -CF(p) szabály előfeltétel elemeire
Szabály CF(h,e) CF(e)*CF(h) CFfeltétel * CFkövetkezmény
Két szabály ugyanarra a hipotézisre
CF(h|e1, e2) = CF(h,e1),CF(h,e2)= CF1, CF2
CF1+CF2-CF1*CF2 ha CF1 és CF2 pozitív
CF1+CF2+CF1*CF2 ha CF1 és CF2 negatív
(CF1+CF2)/(1-min(|CF1|,|CF2|)) ha CF1*CF2< 0
nem meghatározott ha CF1*CF2= -1
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 15/30
5-6. példa: Tekintsük a következő szabálybázist:
1. szabály: Esik → 0,9
Rossz idő van. 2. szabály: Fúj a szél →
0,7 Rossz idő van.
3. szabály: Süt a Nap → -0,9
Rossz idő van.
Modus ponens: A, A → B ________________________
B
CF(Rossz idő van|Esik) = 0,9 szabály CF-je CF(Esik) = 1 tény/előfeltétel CF-je
CF(Rossz idő van) = CF(Rossz idő van|Esik)*CF(Esik) = 0,9*1 = 0,9
a = CF(Rossz idő van|Esik) = 0,9 szabály CF-je CF(Esik) = 1 tény CF-je
b = CF(Rossz idő van|Fúj a szél) = 0,7 szabály CF-je CF(Fúj a szél) = 1 tény CF-je
CF(Rossz idő van|Esik ∧ Fúj a szél)= a + b - a*b = 0,9 + 0,7 - 0,7*0,9 = 0,97
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 16/30
Általános megállapítások:
− szabály végrehajtásakor a következmény CF-je nem lehet nagyobb a feltéte-lek CF értékei közül a legnagyobbnál;
− a következtetési lánc mentén a bizonyossági szint nem nőhet, kivéve ha több feltétel alapján juthatunk ugyanarra a következményre;
− ha a bizonyosság egy adott szint |0,2| alá esik, az aktuális szabály meghiúsul. A bizonyossági tényező modellje nem rendelkezik megalapozott matematikai hát-térrel. A módszer a Dempster-Shafer modell egy változatának is tekinthető. A CF bizonyossági tényező értékének szokásos szöveges kategóriái:
0 0,2-0,2
Ismeretlen
-0,6 0,8 1,00,6-0,8-1,0
Biztosan hamis Biztosan
igaz
Lehet, hogy hamis
Lehet, hogy igaz
Valószínűleg hamis
Majdnem bizonyosan
hamis
Valószínűlegigaz Majdnem
bizonyosanigaz
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 17/30
5.4. Fuzzy rendszerek* A probléma lényege
Adatbázis érték: X=35 éves Klasszikus logika: fiatal(X), ¬fiatal(X) Fuzzy logika: * Seebauer M: Intelligens rendszerek, DF, 2008
X=35 éves
fiatal középkorú idős öreg
X [évek]0
1
µéletkor(X)
10050
fiatal középkorú idős öreg
35
µközépkorú(35)=0,7
µfiatal(35)=0,35
¬fiatal
fiatal
X=35 éves?
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 18/30
Fuzzy halmazok
A halmazelmélet Lotfi Zadeh (1965) által javasolt kiterjesztése.
Jelölje X az alaphalmazt (pl.: kor). Legyen A egy fuzzy halmaz, amelyet X-en értelmezünk és elemei X egy részhalmazát alkotják, A ⊆ X (fiatal, középkorú, idős, öreg). x legyen az X halmaz egy eleme. A - t az ún. tagsági függvénnyel jellemezzük:
A = (x, µA(x))| x∈X, µ
A(x) → [0,1]
azaz, az X azon elemei alkotják az A fuzzy-halmazt, amelyekre a µ
A(x) tagsági
függvény értelmezett és amelyekre [0,1] tartományba eső értéket ad. Ha A és B két X halmazon értelmezett fuzzy-halmaz, akkor az A halmaz a B részhalmazának tekinthető, azaz A ⊆ B akkor, ha minden x ∈ X-re érvényes, hogy
µ
A(x) ≤ µ
B(x)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 19/30
A tagsági függvények szokásos formái:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 20/30
5-7. példa: Az 'eléggé magas' emberek fuzzy-halmazának egy lehetséges tagsági függvénye
0 ha x ≤ 150
µ(x) = x/50 − 3 ha 150 < x ≤ 200
1 ha 200 < x
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 21/30
Műveletek fuzzy-halmazokkal
Ha A és B fuzzy halmazok, akkor A komplementere: A' a következő tagsági függvénnyel határozható meg:
µA‘
(x) = 1- µA(x)
A és B metszete, konjunkciója µ
A∩B(x) = T(µ
A(x), µ
B(x))
a T függvényt t-norma függvénynek nevezik; definiciója lehet: 1. T(a,b) = min (a, b)
2. T(a,b) = max (0, a+b-1) 3. T(a,b) = a*b
A és B egyesítése, diszjunkciója
µA∪B
(x) = S(µA(x), µ
B(x))
a S függvényt s-norma (t-co-norma) függvénynek nevezik; definiciója lehet: 1. S(a,b) = max (a, b)
2. S(a,b) = min (1, a+b) 3. S(a,b) = a+b-a*b
x
x
x
µ(x)
µ(x)
µ(x)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 22/30
Fuzzy logika
Kapcsolat Művelet Értelmezés Megjegyzés
Konjukció, ÉS A ∧ B min(µA(x), µB(x))
Diszjunkció, VAGY A ∨ B max(µA(x), µB(x))
Kiegészítés, NEM ¬ A 1- µA(x)
Implikáció A → B
max1-µA(x); min(µA(x), µB(x)) Zadeh
min(1; 1- µA(x) + µB(x)) Lukasiewicz
max(1- µA(x); µB(x)) Kleen-Dienes
1 - µA(x) + µA(x)*µB(x) Reichenbach
µ(C) = µ(A and B) = min0,4; 0,2 = 0,2 µ(C) = µ(A or B) = max0,4; 0,2 = 0,4
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 23/30
Probléma: A fuzzy-logika nem konzisztens az itéletlogikával és az elsőrendű logikával:
- ott egy-egy állítás vagy igaz, vagy hamis értékű, azaz az igazságértéke:
T(True) = 1, illetve T(False) = 0
a fuzzy-rendszerben: T(magas_atléta(István)) = 0,8
- ott elvárható, hogy T(A ∨ ~A) = T(True) = 1
a fuzzy környezetben: T(A ∨ ~A) ≠ T(True) 5-8. példa: (magas_atléta (A) ∨ ~ magas_atléta (A))
VAGY: maxµ(A); µ(¬A)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 24/30
5-9. példa: nyaralás tervezése
Uticél µidőtartam
µár
µnapsütés
µvízpart
1. modell 2. modell 3. modell
Balaton 0,93 0,9 0,8 0,95 0,9 0,88 0,86
Horvátország 1 0,4 0,9 0,8 0,8 0,8 0,75
Mallorca 0,86 0,5 0,95 0,99 0,86 0,85 0,83
Uticél Időtartam Ár (Ft)
Balaton 06.19. – 07.12. 100000
Horvátország 07.01. – 07.14. 200000
Mallorca 07.30. – 08.12. 180000
CÉL = Időtartam ∧ Vízpart ∧ (Napsütés ∨ Ár)
Nyaralás feltételei: • A nyaralásnak lehetőleg az igé-
nyelt szabadság idejére - június 20 és augusztus 10 – közé kell esnie.
• Az utazás legyen olcsó vagy ga-rantált legyen a napsütés.
• Vízpartra szeretnénk menni. Ajánlatok
X [Ft]0
1µár(X)
200000100000 300000
0,9
0,50,4
Ár "fuzzifikálás"-a
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 25/30
Ha x kicsi pozitiv és y kicsi pozitiv, akkor z kicsi pozitiv
Ha x nagy pozitiv és y kicsi pozitiv, akkor z nagy pozitiv
Fuzzifikálandó x és y értékek
Defuzzifikált z érték
Fuzzy szabályozás Tudásbázis:
• Ha X értéke kicsi pozitív és Y értéke kicsi pozitív, akkor Z értéke kicsi pozitív.
• Ha X értéke nagy pozitív és Y értéke kicsi pozitív, akkor Z értéke nagy pozitív.
Fuzzy szabályozó működése:
• Életlenítés (fuzzifikáció) – konkrét bemenő értékek a-lapján a hozzájuk tartozó tagsági függvény értékének meghatározása
• Fuzzy következtetés – a tu-dásbázisban tárolt szabá-lyok alapján a végkövetkeztetés tagsági függvényértékének kiszámítása
"Mamdani" szabályozási mód
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 26/30
• Élesítés (defuzzifikáció) - a tagsági függvény alapján a kimenet értékének megállapítása. Lehet: terület, súlypont, stb alapján.
A gyakrabban használt módszerek:
- COM - Center of maximum: a tagsági függvények maximum értékeinek
súlyozott átlaga lesz a kimeneti érték, ahol a súlyok az alkal-mazott szabályok kimeneti értékei.
- COA - Center of Area: a tagsági függvények által határolt területek kiszá-
mítása után, azok közös súlypontjánek a helye adja a kimeneti ér-téket. Ez a leggyakrabban használt módszer.
- MOM - Mean of maximum: a legnagyobb érvényességi fokkal rendelkező
kifejezés maximuma lesz a kimeneti érték.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 27/30
Fuzzy szabályozó felépítése
Folyamat
Tudásbázis
Fuzzifikálás(életlenítés)
Fuzzykövetkeztetés
Defuzzifikálás(élesítés)
Fuzzy szabályozó
Mért értékek Vezérlőjelek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 28/30
5-10. példa: Konténerrakodó robot vezérlése
Bemenő értékek: - a teher szöge és - a céltól mért távolsága.
Kimenő érték: - a motorra adott vezérlő jel.
Alkalmazott szabályozási mód: - 'Mamdani'-szabályozás
Teher szöge
Távolság
nagy kicsi nulla
pozitív nagy
gyorsan előre
gyorsan előre
lassan vissza
pozitív kicsi
gyorsan előre
lassan előre
lassan vissza
nulla gyorsan előre
lassan előre állj
negatív kicsi
gyorsan előre
lassan előre
lassan előre
negatív nagy
gyorsan előre
gyorsan előre
gyorsan előre
Távolság
Teherszöge
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA08- 29/30
5-10. példa: Konténerrakodó robot vezérlése
Szabályok:
Bemeneti adatok: Eredmény adat:
Teher szöge: β = -20º Motorteljesítmény: P = 170 W
Távolság: l = 5 m
[m]0 10 20 30 l
1
µtávolság(l)
kicsi
nagy
nulla
[º]
pozitív nagy
0 10 20 30 β-10-20-30
1
µszög(β) nulla
pozitív kicsi
negatív nagy
negatív kicsi
0 100 200 300 [W]P-100-200-300
1
µteljesítmény(P) állj
lassan előre
gyorsanelőre
gyorsanvissza
lassan vissza
1. IF távolság = nagy THEN teljesítmény = gyorsan_előre. 2. IF szög = pozitív_nagy AND távolság = kicsi THEN teljesítmény = gyorsan_vissza 3. IF szög = negatív_nagy AND távolság = kicsi THEN teljesítmény = gyorsan_előre 4. IF szög = pozitív_kicsi AND távolság = nulla THEN teljesítmény = lassan_vissza 5. IF szög = negatív_kicsi AND távolság = nulla THEN teljesítmény = lassan_előre 6. IF szög = nulla AND távolság = nulla THEN teljesítmény = állj
ÍÍÍÍGÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
9. ELŐADÁS (előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 2/34
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia fogalma, előzmények. 2. Alapproblémák, a problémamegoldás feltételei
3. Keresési eljárások (informált, nem-informált keresések)
4. Tudásreprezentációs módszerek, következtetés 5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
6. Gépi tanulás (neurális hálók) 6.1. Bevezetés
6.2. Neurális hálózatok jellemzői, felépítése
6.3. Jellegzetes alkalmazási problémák 6.4. NH típusok, tanulási módok
7. Intelligens rendszerek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 3/34
6. GÉPI TANULÁS - NEURÁLIS HÁLÓ
6.1. Bevezetés cél: a neurális hálók bemutatása
⇒ párhuzamos, elosztott számítás
előzmények:
• igény az emberi gondolkodás modellezésére: = az ember képes rövid idő alatt bonyolult
döntések meghozatalára → ok: erősen párhuzamos feldolgozás;
= az emberi agy: kb. 1011 neuron, mindegyik kb. 10000 kapcsolattal
1943: W.McCulloch - V.Pitts neuron modellje, 1958: F.Rosenblatt perceptron modellje és tanítási algoritmusa, 1960: B.Widrow - M.E.Hoff adaline modellje, 1969: M.Minsky - S.Papert: Perceptrons című könyve visszavetette a ku-
tatási kedvet, 1980-as évek új lendület hoznak:
= önszerveződés, = 'backpropagation' tanulás bevezetése.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 4/34
sikeres alkalmazások száma növekszik, például: = karakter, alakzat felismerés, = szabályozástechnika (pl.: autóvezetés), = összetett (gazdasági) optimalizálási problémák megoldása, = előrejelzések, stb.
6.2. Neurális hálózatok jellemzői, felépítése
a.) NH értelmezése konnekcionizmus (connectionism) fogalma:
erősen csatolt, primitiv feldolgozó elemek (általában) rendezett rendszere, amelyek párhuzamosan dolgoznak és egymás között irányított kapcso-latokkal rendelkeznek.
neurális hálózatok:
• erősen csatolt, • párhuzamos feldolgozást végző, • adaptiv eszközök rendezett halmaza.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 5/34
más megközelítésben: a neurális hálózat (NH) párhuzamos, elosztott működésre alkalmas hard-
ver, vagy szoftver kivitelezésű információfeldolgozó eszköz, amely
• nagy számú, azonos, vagy hasonló típusú feldolgozó elem (neuron, processing element, unit) erősen csatolt rendszere,
• alkalmas a tanulásra, azaz rendelkezik megfelelő tanuló algoritmussal,
• alkalmas a tanultak felhasználására, azaz a tárolt tudás előhívására. jellemzők:
• nincs tárolt program, adatbázis (nem Neumann-elvű rendszer): → max. néhány paraméter,
• nem programozzák → tanítják, • tudás elosztott: = a struktúra és
= a kapcsolatok erőssége adja; • univerzális:
(struktúrától függően, bizonyos körben) tetszőleges bemeneti-kime-neti függvénykapcsolat közelítésére alkalmas.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 6/34
alkalmazhatósági területek:
• a kimeneti érték (a válasz) sok tanító példa tulajdonság-érték párosával meghatározható,
• a kimenet diszkrét, valós, vagy vektor értékű, • a tanító példák hibákkal rendelkezhetnek, • az esetlegesen hosszú tanítási idő elfogadható, • a tanultak gyors előhívása szükséges lehet, • a betanult (függvény)kapcsolat ismerete az ember számára nem lénye-
ges.
b.) NH feldolgozó eleme lényegi részei:
x 1
x 2
x n
w1
w 2
w n
f a f kifb =y
aktivációs függvény
bemeneti függvény
kimeneti függvény
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 7/34
általános felépítés:
wo
w1
wn
s y
x o=1
x 1
x n
f (a) kiaf be=
f (s) a
lokálismemória
a
bemeneti aktivációs kimenetifüggvény függvény függvény
(lineáris) (nemlineáris) (azonosság)
transzfer függvény
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 8/34
jellemző működés:
ha a bemenetek összhatása, gerjesztése (összege) magasabb egy adott küszöbértéknél, a neuron csak akkor módosítja aktivációs értékét (állapo-tát); vannak kimenetet növelő (excitory) és kimenetet csökkentő, tiltó (inhi-bitory) bemenetek; a tárolást be- és kimeneti szűrők valósítják meg.
működés leírása:
• bemeneti függvény (input function):
a bemenetek súlyozott összegét állítja elő; az egyik bemenet (xo=1) speciális funkciójú: a hozzárendelt súlyszám (wo) negativ értéke kép-viseli a küszöbértéket;
s f w xbe i ii
n
= = ==
∑( , )*
w x w x0
lehet több bemeneti összegző (site) is;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 9/34
• aktivációs függvény (activation function):
a feldolgozó elem (a neuron) új aktivációs szintjét (állapotát) állítja elő a súlyozott bemeneti jelek összegéből, figyelembe véve a küszöbér-téket is;
általános forma:
a f s a f f a f au a r a be r a r= = =( , ) ( ( , ), ) ( , )*
w x w x (ahol au = 'a' új értéke, ar = 'a' régi értéke) memória nélkül:
a fa= ( )*
w x
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 10/34
küszöbérték (threshold) kezelése:
= ha a tárolt küszöbérték: wo
af s a ha s w x w
a egyé bké ntu
a r i ii
n
r
== >
=
∑( , )1 0
= ha az xo =1 bemenet wo < 0 súlyszáma képezi a küszöbértéket:
af s a ha s w x
a egyé bké ntu
a r i ii
n
r
== >
=
∑( , )0
0
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 11/34
• kimeneti függvény (output function):
a neuron kimeneti értékét állítja elő az aktivációs értékből; többnyire az azonosság függvényt alkalmazzák:
y f a f f f aki ki a a= = ≡ =( ) ( ( )) ( )* *
w x w x • transzfer függvény (transfer function):
a feldolgozó elem teljes átvitelét írja le; egyszerűbb esetben meg-egyezhet az aktivációs függvénnyel:
y f a f f s a f f f aatv ki a ki a be= = =( , , ) ( ( , )) ( ( ( , ), ))w x w x
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 12/34
szokásos aktivációs függvények:
többnyire nemlineáris kapcsolatot adnak a bemenetek összege és a kimenet között;
• lépcsőfüggvény (vagy egységugrás függvény):
a(s)
s
+1
-1
aha s
ha s=
+ >
− ≤
1 0
1 0
alkalmazása: perceptron, adaline
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 13/34
• szakaszonként lineáris (telítéses) függvény:
a(s)
s
+1
-1
a
ha s
s ha s
ha s
=
+ >
− ≤ ≤
− < −
1 1
1 1
1 1
ritkán alkalmazzák
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 14/34
• tangens hiperbolikusz függvény:
a(s)
s
+1
-1
ae
ek
ks
ks=
−
+
>
−
−
1
10
ha k=2, akkor tanh függvény.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 15/34
• szigmoid (logisztikus) függvény:
a(s)
s
+1
0.5
ae
kks
=
+
>−
1
10
alkalmazása: leggyakoribb
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 16/34
más típusú feldolgozó elemek:
• egyszerűsített feldolgozó elem (perceptron, adaline): (perceptron és az adaline csak a tanulási módszerben különbözik)
az aktivációs érték egyúttal a feldolgozó elem kimeneti értéke is, azaz y = a
wo
w1
w n
s y = a
xo=1
x1
x n
f be= f (s) a
bemeneti aktivációsfüggvény függvény
(lineáris) (nemlineáris)
a
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 17/34
• gátló bemenetes elem (Fukushima, 1988):
(képfeldolgozáshoz javasolt, egy gátló (a kimenet értékét csökkentő) bemenettel rendelkező feldolgozó elem)
u f s xw x
g
g g
= =+
+1
1
1( , )
*w x
és
y f u u= =2 ( )
wo
w1
wn
s y
xo=1
x 1
x n
f (u) 2f be=
x g w g
u f (s, )1 x g
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 18/34
• radiális bázisfüggvény elem (RBF=radial basis function)
bemenetek összegzése elma-rad, a bemenetek közvetlenül csatlakoznak az aktivációs elem-hez; az aktivációs függvény nem rögzített, paraméterezhető; leggyakrabban:
y f uu
a= = −( ) exp( )
2
22σ és u f f= = −( , ) ( )x c x c
- paraméterek: c és σ
- lehet más aktivációs és távolságfüggvényt is használni.
y = a
x o
x 1
x n
f ( , , )a x c σ
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 19/34
c.) Kapcsolatok, rétegek, struktúrák
Lehetőség van több feldolgozó elem összekapcsolására → irányított kapcso-latokkal:
• egy kimenet akárhány bemenethez kapcsolódhat, • a kimenetek nem köthetők össze, • a késleltetést szűrők (tárolók) modellezik a bemeneteken.
elemek csoportosítása:
• bemeneti (input) elemek (csak továbbító szerepük van, nem feldolgozó elemek),
• kimeneti (output) elemek: a külvilág felé továbbítják a jeleket, • belső (rejtett-hidden) feldolgozó elemek:
= bemenetük más elemek kimenetéhez, = kimenetük más elemek bemenetéhez csatlakozik.
• réteg (layer): az információfeldolgozásban azonos szerepet, funkciót
betöltő elemek összessége.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 20/34
kapcsolatok leírása a (leggyakoribb) NH-nál:
• többrétegű perceptron hálózat (MLP=Multi-Layer Perceptron):
elemenként: lineáris összegzés + nem-lineáris aktivációs függvény
0
1
n
1 1
2n
(1) (2) (3)
w32
(1)
w11
(2)
W W (2)(1)
x1
x0
xn
y1
n(1) n (2) (3)n
...
...yn
...
hidden layer input layer output layer
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 21/34
ahol wij
( )1
az (1) és (2) réteg között, az i-dik bemenetet a j-dik rejtett elemmel összekötő kapcsolat súlyozása.
bemenetek (a bemeneti réteg kimeneteinek) összegzése:
s W x= =
=
=∑( )* ( )
( )
1 1
1
1
M
M
M
M
s w xi ji jj
n
y s= → = =f y f s i na i a i( ) ( ) , ...,
( )1
2
W( ) ( )
( ) ( ) ( )
( ) ( ) ( )
( )
( ) ( )
( )
( )
( )
( ) ( ) ( ) ( ) ( )
1 1
01
1
02
1
0
1
11
1
12
1
1
1
21
1
1
1 1
2
2
1 1 2 1 2
= =
×
w
w w w
w w w
w
w w
ij
n
n
n n n n n
L
L
M
M M
L L
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 22/34
általánosan:
)(*(1)*(2)(1)*(2)(2)xWWyWy
af==
• többrétegű radiális bázisfüggvény hálózat (RBF= Radial Basic Func-tion):
elemenként: nem-lineáris aktivációs függvény + lineáris összegzés; a bázisfüggvény:
- ú.n. kör-, illetve gömbszimmetrikus (középponti értékre szimmetri-
kus) függvény, például Gauss-görbe,
- paraméterezhető (középpont, szélesség),
- középértéktől való eltérésre reagál.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 23/34
0
1
n
1
2
(1) (2) (3)w11
W
x1
x0
xn
n(1) n (2)
...
x(1) y (2)
f
g i
wij
y(1)
yj
egy elemre:
y f u f f f fa a a= = =−
( ) ( ( , , )) ( ( ))x cx c
σσ
több elemnél: y gi i i i
( ) ( )( , , )
1 1= x c σ és
y w gj ij i i i
i
( ) ( )( , , )
2 1=∑ x c σ
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 24/34
hálózati struktúrák:
• visszacsatolás nélküli (feed-forward recall networks); csak a vissza-kereséskor (recall), azaz használatkor érvényes a visszacsatolás nélkü-liség, mivel a tanítás alatt létezik a visszacsatolás; leggyakoribbak:
= többrétegű perceptron hálók (MLP) és az = egy rejtett rétegű RBF hálók.
• visszacsatolásos (feed-back recall networks):
= globális: kimenet és bemenet között; = lokális:
- önmagában (recurrent connection),
- rétegen belül (intra-layer, lateral connection) [pl.: on-center, off-surround connection: közvetlen környezetével gerjesztő, távoli környezetével tiltó kapcsolatban lévő elem]
- rétegek között (inter-layer connection).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 25/34
intra-layerconnection
recurrent connection
inter-layer connection
optimális struktúra problémája:
• a tanulóképesség függ a háló méretétől, a rétegek, a feldolgozó elemek
számától; = sok az elem: túlzott illeszkedés (overfitting) jöhet létre:
→ leszűkül a megoldható feladatok köre, → csökken az általánosító képesség (nem ad jó választ egy isme-
retlen feladatra); = kevés az elem: nem képes a tanulásra.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 26/34
• hálózati struktúra előállítása → optimalizálási feladat: = genetikus algoritmussal → erőforrás igényes = meglévő háló módosítása:
→ bővítéssel (tilling algorithm - 'csempéző' algoritmus): mindig csak annyival bővítünk, hogy az összes feladat megoldható legyen;
→ csökkentéssel (optimal brain damage - optimális 'agykárosodás' algoritmus): az információelméleti módszer segítségével kivá-lasztott elem törlése után, javul-e a tanulás utáni működése; (optimal brain surgeon - optimális 'agysebész' módszer) előző-nél jobb módszer.
d.) Tanítási/tanulási módszerek
NH legfontosabb összetevője, vizsgálati területe. lényeges: az adaptivitás, alkalmazkodás a változó környezethez;
→ eszköze: a tanulás, a rendszer olyan módosítása, amely után alkalmassá válik a kívánt feladat megoldására;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 27/34
beavatkozási módok:
• kapcsolatok erősségének(súlyszámainak) módosítása, • aktivációs függvény küszöbértékének módosítása, • feldolgozó elem függvényének módosítása, • szerkezet, struktúra módosítása: új kapcsolatok bevétele, régiek tör-
lése, • új feldolgozó elem beiktatása, törlése; leggyakoribb: a kapcsolatok súlyszámainak módosítása.
tanulás alapelve (súlyszámok módosítása esetén):
valamilyen hibafüggvény segítségével módosítani a súlyértékeket:
w w wú j ré gi= + ∆
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 28/34
• tanulás:
cél: az eredeti, modellezni kívánt rendszert (feladatot) legjobban köze-lítő rendszer kialakítása → modell-illesztés
a módosítás alapja általában: a kívánt kimenettől való eltérés.
y
z zaj
f(.)
y' f '(.)
h(.) kbség- képzõ
x modellezendő rendszer
rendszer tanuló, neurális w := w + w
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 29/34
y x z= f ( , ) valós rendszer,
′ = ′y x wf ( , ) neurális rendszer.
a rendszer módosítása többnyire iterativ.
• hibafüggvény:
∆w y y= ′h( , )
leggyakoribb a négyzetes hiba számítása (más hibafüggvények is al-kalmazhatók, visszavezethetők az előbbire) = a várt, tervezett és a tényleges kimenet eltérését használja, pl.:
∆ w = −==
∑∑h y yt j jj
m
i
p
( ( ) )2
11
ahol p = minták száma, ytj = várt, tervezett kimenet, m = kimenetek száma; yj = tényleges érték.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 30/34
= a súlyszámok összességét figyelembe véve:
∆ w W= h( )
ahol W = az elemek közötti kapcsolatok (súlyszámok) mátrixa
→ tulajdonképpen: szélsőérték számítás a súlyszámok terében; optimális: ha ∆ w W= h( ) → 0
• a tanulás típusát, a hibaérték előállítását befolyásolja:
= optimum kritérium megválasztása,
= hiba csökkentésére választott stratégia:
→ probléma a konvergencia sebessége, = válaszidő követelmény teljesítése,
= a felhasznált minták tulajdonságai.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 31/34
∆w y h y y y y y yij i tj j i tj j i j= − = − =η η η δ( ) ( )
tanulási módok:
• ellenőrzött tanulás (supervised learning):
ismert a kívánt kimenet, az eltérések alapján módosítható a rendszer: → egyre közelebb kerül a jó megoldáshoz; pl. perceptron-, delta-, vagy Widrow-Hoff módszer: → a leképzés hibája adja a módosítás mértékét
yi = w x
*
általában; a módosítás:
ahol η tanulási mérték,
ytj kívánt, tervezett kimenet.
megerősítő tanulás (reinforcement): ha csak az ismert, hogy a kime-net jó, vagy nem jó;
i jw
ij
yi
yj
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 32/34
• nem-ellenőrzött tanulás (unsupervised learning):
a mintákhoz (a bemenetekhez) nem áll rendelkezésre a kívánt kime-net, nincs visszajelzés a helyes működésre; bemenetek vizsgálata:
- van-e hasonlóság, - kialakíthatók-e csoportok (osztályok, klaszterek), → önszervező
hálózatok;
= Hebb-szabály (D. Hebb, 1949):
∆ w y a y yij i j i j= =η η ha y a fj a= = (.)
korlátlanul növekedhet, csökkenhet: → a kimenet korlátozása szük-séges;
ha y yj tj= a kívánt kimenet ⇒ ellenőrzött tanulás, azaz
∆ w y yij i tj= η
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA09- 33/34
= versengő tanulás:
cél: a bemenetek, a minták osztályozása, besorolása → egyetlen kimenet jelezzen;
- "győztes mindent visz" elv: • minden kimenet kiszámításra kerül, • a max(min) értékű lesz a 'győztes' (ennek értéke logikai 'igen',
a többi logikai 'nem' szintű); - automatikus beállítás (on centre, off surround elv → "mexikói ka-
lap görbe") → oldalirányú kapcsolatok szükségesek
• analitikus tanulás:
az adott feladathoz elméleti úton meghatározható a kívánt struktúra → igazából nem tanulás.
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
10. ELŐADÁS (előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 2/43
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia fogalma, előzmények. 2. Alapproblémák, a problémamegoldás feltételei
3. Keresési eljárások (informált, nem-informált keresések)
4. Tudásreprezentációs módszerek, következtetés 5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
6. Gépi tanulás (neurális hálók) 6.1. Bevezetés
6.2. Neurális hálózatok fogalma,felépítése
6.3. Jellegzetes alkalmazási problémák 6.4. NH típusok, tanulási módok
7. Intelligens rendszerek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 3/43
6. GÉPI TANULÁS - NEURÁLIS HÁLÓ
6.1. Bevezetés
6.2. Neurális hálózatok jellemzői, felépítése
a.) NH értelmezése
b.) NH feldolgozó eleme
c.) Kapcsolatok, rétegek, struktúrák
d.) Tanítási/tanulási módszerek
6.3. Jellegzetes alkalmazási problémák
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 4/43
6.3. Jellegzetes alkalmazási problémák
a.) Alkalmazások alapproblémái használat előkészítése
• tanítás/tanulás:
→ programozás helyett, minták segítségével tanítás/tanulás, illetve el-lenőrzés; a minták egy része a tanításra, más része az ellenőrzésre szolgál;
→ a rendszer paraméterei (súlyszámai, más beállítható értékei) változ-nak eközben;
• tesztelés:
a célnak megfelelőség vizsgálata minták segítségével; → a NH paraméterei már nem változnak.
• használat:
a rendszer ismereteinek előhívása alkalmazási feladatok megoldásá-hoz;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 5/43
→ a NH paraméterei általában már nem változnak, de vannak olyan adaptiv rendszerek, amelyek időbeli változás miatt módosíthatják paramétereiket.
A tanítás/tesztelés lassú, hosszadalmas művelet, míg a használat során a működés gyors.
működtetés, vezérlés módja
a feldolgozó elemek működésének nagyfokú párhuzamossága érvényesül → kérdés: milyen legyen a vezérlés?
vezérlés módja:
= szinkron: minden elem egyszerre számítja ki új állapotát, = aszinkron:
- visszacsatolás nélkül, általában az irányítottság szerint; - egyébként, valamilyen (véletlenszerű, sorszámozás szerinti) elv a-
lapján számol a rendszer → stabilitási problémák léphetnek fel.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 6/43
b.) Alkalmazási területek
A tanulás módja határozza meg alapvetően. asszociatív tárolás
tárolás: → tanítás segítségével, olvasás (recall): → alkalmazás
• tartalom szerinti címzés (content addressable memory):
összetartozó (hasonló) bemenetekhez ua. a címet, osztályt társítja; → visszakereséskor, a bemenet hatására azt a 'címet' adja vissza, amelynek a tartalma a legközelebbi;
• asszociativ memória: autoasszociativ: a bemeneti jelvektorokat tárolja és hibás bemenet e-
setén a helyes jelsorozatot adja ki → önmagát asszociálja; heteroasszociativ: a bemeneti jelvektorokhoz tetszőleges más jelsoro-
zatot párosít.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 7/43
• alkalmazható modellek: = perceptron (különböző tanuló algoritmusokkal), = Hopfield-modell (autoasszociativ tárolás), = counterpropagation (autoasszociativ tárolás)
osztályozás, mintafelismerés
több bemeneti mintához ua. a kimenetet társítja → osztályok
• tanítás csoportosított minták segítségével:
a kimenetek száma az osztályok számának felel meg, vagy a kimene-tek kódolt formában adják meg az osztályba sorolást; alkalmazott modellek:
= perceptron (lieárisan szeparálható osztályokhoz, = LVQ, counterpropagation modell (bonyolultabb feladatokhoz);
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 8/43
• osztálykialakítás tanítás közben:
tanulás közben állapít meg összefüggéseket az osztályok, klaszterek (clusters) kialakításához; előírható a kialakítandó osztályok száma;
alkalmazott modellek:
= ART modell (Adaptive Resonance Theory), = Kohonen modell.
optimalizálás
a háló elemeinek paraméterei (súlyok, állapotok, kimenetek) segítségével ú.n. energiafüggvényt lehet felírni, amelynek minimalizálása vezet az opti-mális megoldáshoz; • alkalmazható modellek:
= visszacsatolt modellek, pl. Hopfield modell;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 9/43
időbeli folyamatok, dinamikus rendszerek vizsgálata
az egymást követő állapotoktól függenek a rákövetkező állapotok: = idősorok vizsgálata → előrejelzések, = mozgások irányítása;
tanítása nehéz, időigényes → instabilitásra hajlamos;
• alkalmazható modellek: = Jordan-, Elman-modellek;
approximáció (függvényközelítés)
különböző függvények leképzésének közelítése (pl. képfeldolgozás, osz-tályozás, szabályozástechnika, stb.) • alkalmazható modellek:
= többrétegű perceptron (MLP) modell → 'backpropagation' tanulás, = radiális bázisfüggvény (RBF) modell;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 10/43
• NH approximációs képessége:
= MLP modell:
univerzális közelítő, tetszőleges, folytonos függvény tetszőleges pon-tosságú közelítésére alkalmas; egy rejtett rétegű és egy összegző kimenettel rendelkező NH esetén, ha f ( )x valós, folytonos függvény és az f
a( )x aktivációs függvény kor-
látos, monoton növekvő, folytonos függvény, akkor bármely ε pontos-sághoz van M elemű rejtett réteggel rendelkező NH ú.h.
x
x xmax ( ) ( )f f− ′ < ε és
′ ===
∑∑f c f w xj a ji ii
n
j
M
( ) ( )x11
= RBF modell:
ha az fa( )x aktivációs függvény integrálható, folytonos ú.n. körszim-
metrikus függvény, akkor tetszőleges f ( )x függvény közelíthető:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 11/43
f w g wi i
i
ii
M
i
i
i
i
M
( ) ( ) exp( )xx c x c
=−
= −−
= =∑ ∑
σ σ1
2
21 2
6.4. NH típusok, tanulási módok
6.4.1. Ellenőrzött (felügyelt) tanulású rendszerek
A kimenet és a bemenet ismerete, a kívánt értéktől való eltérés alapján tanul. a.) Perceptron Tulajdonképpen: logikai függvényt valósít meg (+1 → logikai 'igen'; -1 → logikai 'nem').
y f a a f s f f fki a a be a= ≡ = = =( ) ( ) ( ( , )) ( )
*x w w x
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 12/43
yha
egyé bké nt= =
+ >
−
sgn( )*
*
w xw x1 0
1
w o
w 1
w n
s y = a
x o =1
x 1
x n
f be = a
f = a
logikai függvények megvalósítása:
elemi logikai műveletek (ÉS, VAGY, NEM):
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 13/43
w*
( , , ) ( . , . , . )= = −w w w0 1 2 0 8 0 5 0 5 → ÉS )505030()(
210.,.,.w,w,w*
==w → VAGY
w*
( , , ) ( , , )= = −w w w0 1 2 0 1 → NEM
azaz, ha
akkor, w értéke két részre osztja a bemeneti mintahalmazt → lineárisan szeparálhatók a bemenetek (ú.n. hipersík - lineá-ris összefüggéssel felírható sík - választja két részre a bemeneteket),
pl., ha: w w x w x0 1 1 2 21 0+ + =
akkor x
w
wx
w
w2
1
2
1
0
2
= − −
w x
w x
*
*
> ⇒
< ⇒
0
0
IGEN
NEM
X1
X2
0 2-(w / w )
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 14/43
minden x esetén van olyan helyzet, amikor nem választható két összefüg-gő részre a tér → egyetlen perceptronnal a KIZÁRÓ-VAGY (XOR) nem valósítható meg;
több rétegű NH-val tetszőleges logikai függvény megvalósítható (pl. disz-junktiv normál forma → (..AND..) OR (..AND..) OR (..AND..) ... alkalmazá-sával)
tanítási szabály:
w w wi i i← + ∆ ahol
∆ w y y xi t i= −η ( ) és
y s w xi ii= = ∑sgn ( ) sgn ( )
ahol yt a kívánt, helyes válasz, y a kimenet aktuális értéke, η a tanulási mérték;
a perceptron véges számú lépés után, helyesen csoportosít.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 15/43
b.) Adaline (ADALINE = Adaptive Linear Element/Neuron)
jellemzők:
különbség: a perceptron a kimenet,
az adaline a lineáris összegző kimenete alapján tanul;
cél: jó közelítést (approximációt) adni tetszőleges problémára, nem csak lineárisan szeparábilisekre;
tanulás: gradiens alapú → ezért nem lehet a kimenet alapján tanítani
(nem folytonosan differenciálható); jól általánosítható több rétegre is a tanulás módja: → backpropa-gation;
tanítási szabály:
• általános módszer: gradiens alapú Widrow-Hoff szabály
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 16/43
alap: lineáris összegző kimenete (s)
s f w xbe i i
i
= = =∑( , )*
w x w x
hibafüggvény: négyzetes hiba
h s s std d
d D
td d
d D
= − = −
∈ ∈
∑ ∑1
2
1
2
2 2( ) ( ( ) )
*w x
h h= ( )w rögzített x mellett, minden mintára (d ∈ D) vizsgálva, n+1 dimenziós parabolát alkot → van minimuma.
súlyszámok módosítása: h gradiensével
w w wú j ré gi= + ∆ és → ∆ w w= − ∇η h( )
ahol
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 17/43
∇ =
h
h
w
h
w
h
wn
( ) , , ...,w∂
∂
∂
∂
∂
∂0 1
ekkor (az összes feladat hibája alapján): ∆ w s s xi td d id
d D
= −
∈
∑η ( )
probléma: sok esetben a lokális minimumok eltérítik a számítást; → megoldás: az iteráció előrehaladtával η csökkentése, vagy az inkrementális gradiens módszer használata.
• inkrementális, vagy sztochasztikus gradiens módszer (→ delta-sza-
bály, LMS=Least Mean Square módszer):
minden feladat után hibát számol és korrigál:
h s sd td d( ) ( )w = −1
2
2
és
∆ w s s xi td d i= −η ( )
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 18/43
• további módszer lehet: a súlyszámok kiszámítása lineáris programo-zási feladatként.
• összehasonlítás:
= az általános módszer megragadhat egy lokális minimumban, míg az inkrementális módszer konvergál;
= az általános módszer nagyobb számítási kapacitást igényel, de na-gyobb η -val dolgozhat és így gyorsabb;
= kis η mellett, az inkrementális módszer az általános módszer jó kö-zelítése.
• gradiens módszer fontos tanulási alapmódszer:
= alkalmazható: - ha a lehetséges megoldások tere folytonosan paraméterezhető
(pl. a súlyszámokkal a lineáris egység esetén); - a hibafüggvény folytonosan differenciálható a paraméterek függ-
vényében.
= probléma: - néha lassú konvergencia, - lokális minimumok eltérítő hatása.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 19/43
c.) Perceptron, adaline problémái
• sem a perceptron, sem az adaline eredeti formájában nem alkalmas több-rétegű hálózat kialakítására;
perceptron: Boole-függvényt valósít meg; → aktivációs függvénye nem differenciálható, → nem alkalmazható a gradiens módszer a tanuláshoz;
adaline: több rétegben is lineáris marad; → gradiens módszer alkalmazható;
• célszerű: az előnyöket kombinálni;
célszerű a kimenet alapján szabályozni; ezért az aktivációs (és a hiba-) függvény legyen:
→ nem-lineáris, → differenciálható, → egyszerűen kezelhető függvény.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 20/43
feldolgozó elem:
• aktivációs függvény: szigmoid (sgm(.)) típusú
logisztikus függvény:
y f se
a s= =
+−
( )1
1 és 0 1< <y
derivált függvénye:
′ = −y y y( )1
• felépítése: különbség: csak az aktivációs függvény alakja → szigmoid függvény;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 21/43
d.) Többrétegű (MLP = Multi-Layer Perceptrons) hálók
tanulási szabály alapelve:
hiba-visszaterjesztéses (backpropagation) módszer: (J.McClelland - D.Rumelhart: Parallel Distributed Processing, Vol.2., MIT Press, Cambridge,1986)
alap: a kimenetek hibafüggvénye alapján kialakított gradiens-módszer;
w o
w 1
w n
s y = a
x o =1
x 1
x n
f be = a
f =sgm(s) a
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 22/43
alkalmazott aktivációs függvény: = szigmoid típusú, = differenciálható;
hibafüggvény: több kimenetet figyelembe vévő négyzetes hiba:
h y yt kd
k Kd D
( ) ( )w = −
∈∈
∑∑1
2
2
ahol D a feladatok(minták) halmaza, K a kimenetek halmaza;
gond:
= sokkal összetettebb, mint egyetlen feldolgozó elem esetén, = több lokális minimum lehet, = kör (hurok)mentes NH-ra alkalmazható;
legismertebb, vizsgált háló: → a háromrétegű (bemeneti, rejtett, kimeneti rétegű) NH.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 23/43
súlyszámok módosítása:
hasonló az inkrementális (vagy sztochasztikus) Widrow-Hoff módszerhez; a módosítás mértéke
arányos: η tanulási mértékkel, az
x adott súlyszámhoz tartozó bemeneti értékkel, valamint a δ hibatényezővel.
= kimeneti elemek hibatényező értéke:
δ k tk k k ky y y y
derivá lt fgv
k ra= − − ∀ −( ) ( )
.
11 24 34
= rejtett (tetszőleges, nem kimeneti) elemek hibatényező értéke:
arányos a rákövetkező elemek kimeneteihez való hozzájárulásai ösz-szegével; (rákövetkező elemek, amelyek az adott elem kimenetével összekötte-tésben vannak; amelyekre az adott elem hatással van)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 24/43
δ δh h h hr r
r R
y y
derivá lt
w h ra= − ∀ −
∈
∑( )11 24 34
ahol R a h-dik rejtett elemre következő elemek halmaza.
tanulási szabály:
• alapelv: hibavisszaterjesztéses (backpropagation) tanulási szabály: → ez a gradiens módszer alkalmazása minden d D∈ feladat eseté-ben, azaz
w w w w wú j ré gi dé s h d re= + = − ∇ ∀ −∆ ∆ η ( )
• kimeneti hibafüggvény:
legyen W = ( )w jk a kimenetekhez csatlakozó (pl.: j-dik csomópontot a k-dik kimenettel összekapcsoló) élek súlyszámainak mátrixa:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 25/43
h y y d D red tkd kd
k K
( ) ( )W = − ∀ ∈ −
∈
∑1
2
2
∆ wW
wk
d
k
hk K kimenetre= − ∀ ∈η
∂
∂
( )
• kimeneti réteg tanítása:
( ∀ ∈k K kimeneti elem esetén)
a kimeneti hibafüggvény alapján:
∂
∂
∂
∂
∂
∂
h
s
h
y
y
s
d
k
d
k
k
k
=
a két tényező eredményeit figyelembe véve, a δ hibatényező, illetve a súlyszámváltozás nagysága:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 26/43
∂
∂
∂
∂
∂
∂δ
h
s
h
y
y
sy y y yd
k
d
k
k
k
tk k k k k= = − − − = −( ) ( )1
ezt felhasználva:
∆ wh
w
h
sx x j k rajk
d
jk
d
k
jk k jk= − = − = ∀ −η∂
∂η
∂
∂η δ ,
• rejtett réteg tanítása:
a j-dik, rejtett rétegbeli elem a hozzákapcsolódó, rákövetkező r eleme-ken (r R j∈ ) keresztül hat a kimenetekre, azaz felhasználva a
∂ ∂ δh sd r r
/ = − hibatényező jelölést:
∂
∂δ δ
h
sy y w j red
j
j j r jr
r R
j
j
= − − = − ∀ −
∈
∑( )1
így,
∆ wh
w
h
sx x i j reij
d
ij
d
j
ij j ij= − = − = ∀ −η∂
∂
η∂
∂
η δ ,
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 27/43
e.) Többrétegű (MLP) hálók problémái
• MLP hálók tanítása nehézkes: = több tanítandó réteg → lassú a tanulás, = változó környezethez a folyamatos alkalmazkodás nehezen megold-
ható;
• lokális minimumok, konvergencia: sokváltozós felület miatt, lokális minimumok alakulhatnak ki, nincs álta-lános, globális konvergencia kritérium; lehetséges, javító módszerek:
= súlyszámok kezdőértékeinek beállítása:
a számítást célszerű kis ( − < <0 2 0 2. .wij ) értékekkel indítani → ek-kor, a szigmoid függvény kis értékei miatt, a súlyszám felület közel lineáris → lokális minimum nincs !
= az inkrementális (sztochasztikus) tanulási módszer miatt, a véletlen-
szerűen sorra vett minták következtében, a lokális minimumba ra-gadás esélye csökkenthető;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 28/43
= momentum módszer alkalmazása:
a súlyszámok módosításába a megelőző iteráció (módosítás) ered-ményét is bevonjuk, azaz
∆ ∆ ∆w w w= +ú j elõzõα illetve,
∆ ∆w x wij j ij ij elõzõ= +η δ α)
= tanulási mérték (η) módosítása:
nincs kidolgozott módszer rá; minimum közelében célszerű csök-kenteni az η értékét az oszcilláció elkerülése érdekében; ha a gra-diens nem változik, akkor az η tanulási mérték növelhető;
= NH-k párhuzamos tanítása:
a hálók párhuzamos tanításával, az ellenőrző mintákra legjobb vá-laszt adó hálót tekintjük jónak;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 29/43
• reprezentációs képesség:
= logikai függvények: perceptronokkal tetszőleges logikai függvény megvalósítható; szigmoid elemekkel háromrétegű hálózat szüksé-ges, de a rejtett rétegbeli elemek száma exponenciálisan nő;
= korlátos, folytonos függvény közelítése: 3 rétegű, szigmoid NH-val (kimeneti réteg: lineáris, rejtett réteg: szigmoid elemekből kialakít-va); a rejtett réteg elemeinek száma a függvénytől függ;
= tetszőleges függvény közelítése: négy (két rejtett) rétegű NH-val old-ható meg; kimeneti elemek lineárisak;
• leállítási feltétel, túlzott illeszkedés:
= leállás: - adott számú iteráció után → nem biztos, hogy jó lesz az ered-
mény; - adott hiba esetén → könnyen lokális minimumba juthat;
= túlzott illeszkedés (overfitting):
olyan tulajdonságokat is megtanul, amelyek nem jellemzőek a fela-datokra → csak véletlenszerű hasonlóság van a mintákban;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 30/43
→ nem tud általánosítani, → nem lesz hibatűrő a rendszer;
a túlzott illeszkedés kialakulása felismerhető: az eredmények javul-nak, de az ellenőrző minták esetén az eredmények romlanak;
• más hibacsökkentő módszerek:
a gradiens módszereknél - az irány, és - a lépésköz
megválasztása a meghatározó; = momentum módszer:
a lépésköz kialakításában a megelőző lépés eredménye is figye-lembe vételre kerül;
= iránymenti keresés (line-search):
irányválasztás után, a hibaminimum elérése az adott irányban;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 31/43
= konjugált gradiens módszer: több irányban vizsgálja a minimumot, - először a gradiens negatív irányában, - ezt követően, olyan új irányban, hogy a nullává tett változó az is
maradjon;
= véletlenszerű keresés: - kisebb lehetőség a lokális minimumba ragadásra, - bármely hibafüggvényre alkalmazható;
= más módszerek: Kálmán-szűrő alapú, Levenberg-Marquart módszer, genetikus algoritmus, stb.
• NH mérete: nincs jó meghatározási mód;
optimális méretű háló kialakítása: = nagyobb hálózat csökkentése,
-megoldást nem befolyásoló elemek elhagyása, - kimeneti hibára hatással nem rendelkező elemek elhagyása, - hibafüggvény büntető taggal való bővítése;
= kisebb háló bővítése → genetikus algoritmussal.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 32/43
f.) Radiális bázisfüggvény háló (RBF)
• megfelelő működéshez min. 2 aktív réteg kell:
= nem-lineáris rejtett réteg (fix, vagy felügyelet nélküli tanítással), = lineáris, kimeneti réteg (felügyelt tanítással);
→ célszerűen 1 tanítható réteg: a kimeneti; → előnye: - a tanító lépések száma kisebb,
- kevesebb számítást igényel (nincs hibavisszaterjesz-tés)
• lehetséges típusok:
= radiális bázisfüggvény (RBF) háló (az első réteg mintáktól függő transzformációt végez → a transzfor-máció paramétereit a bemenő minták alapján határozzák meg) → nem ellenőrzött tanulás;
= CMAC (cím-asszociációs) háló (az első réteg fix, nem-lineáris leképzést valósít meg);
= counterpropagation (CPN) háló (az első réteg nem-ellenőrzött Kohonen-háló).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 33/43
RBF felépítése: →két aktív réteg
• első (rejtett) réteg: nem-lineáris kap-
csolat:
y gi i i i
i
i
( ) ( )( , , ) exp( )
1 1
2
22
= = −−
x cx c
σσ
x y( ) ( )2 1
=
• második (kimeneti) réteg: lineáris kap-csolat:
y w gi i i i
i
( ) ( )* ( ) ( )* ( ) ( )( , , )
2 2 2 2 1 1= = =∑w x w y x c σ
• a paraméterek( c wi i, ,σ ) megfelelő választásával tetszőleges folytonos függvény közelíthető; σ értékére nem érzékeny a hálózat, ezért többnyire azonos minden i-re.
0
1
n
1
2
(1) (2) (3)w11
W
x1
x0
xn
n(1) n (2)
...
x(1) y (2)
f
g i
wij
y(1)
yj
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 34/43
hálózat bonyolultsága: → a tanító minták száma határozza meg; • kevés a tanító minta:
= minden mintának megfelelhet egy bázisfüggvény központ → hozzá-rendelhető egy feldolgozó elemhez;
= kimeneti súlyszámok kialakítása, tanítása, egy lineáris egyenletrend-szer megoldását jelenti;
• sok a tanító minta:
= minták egy-egy csoportjához rendelhető egy-egy feldolgozó elem → klaszterezés; pl.: tanuló vektor kvantálás (Learning Vector Quantization),
Kohonen-hálók, k-közepes klaszterezés;
= ha a minták száma nagyobb a rejtett elemek számánál, akkor → a súlyszámokat a legkisebb négyzetes eltérés alapján számoljuk:
= klaszterek, paraméterek kialakítása: a tanító pontokat úgy csoportosítjuk, hogy a legközelebbi közép-ponttól mért távolságok négyzetösszege → min legyen;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 35/43
g.) Alkalmazási példák NH kedvelt modellezési mód:
→ viszonylag egyszerű, → könnyen érthető, → megvalósítható;
feladat jellemzők:
= általában nem-lineáris feladatok; a modellezendő feladatról megfigyelés alapján gyűjtünk információt; feltétel: elegendő minta álljon rendelkezésre;
= van ismert megoldó algoritmus, de valamilyen ok miatt nem alkalmazha-tó (nem hatékony, nem gyors)
feladat típusok: = jelfeldolgozás, alakfelismerés (kép, hang), = rendszer identifikáció (meghatározás), vezérlés, = robottechnika, = diagnosztika, = paraméterek becslése (pl. gazdasági folyamatok);
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 36/43
megvalósítások: = statikus, előrecsatolt, = dinamikus: lineáris rendszerek jobban kidolgozottak,
nem-lineáris rendszerekhez a NH-k jól alkalmazhatók (adaptiv, időfüggő lineáris rendszerek is nem-lineárisak-ként kezelhetők);
= típus kiválasztása függ:
- rendelkezésre álló tanítási időtől, - tanuló minták számától, - előzetes információktól;
= probléma az adatelőkészítés (előfeldolgozás) mértéke:
- kevés előkészítés és a NH bonyolult, nehezen tanítható, nem kielégí-tő a működése;
- lényegi részek előkészítése (kiemelése, transzformációja), NH gyor-sabb, könnyebben tanítható, de az előfeldolgozás miatt információ-vesztés léphet fel → rosszabb működés.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 37/43
alakfelismerés:
feladat: kézzel írott számjegyek (irányítószám) felismerése • 1.változat: többrétegű perceptron háló (MLP)
bemenet: 16x16-os raszterkép 1.rejtett réteg: 12 db 8x8-as neuron csoport, minden elemhez a beme-
net 5x5-ös részlete tartozik (a szomszédos elemekhez 2 px-lel eltolt területek tartoznak); minden neuron csoport egy-egy tulajdonságot keres a kép e-gyes részein;
2.rejtett réteg: 12 db 4x4-es neuron csoport; minden csoportban, min-den elemhez az 1.réteg egy 5x5-ös területe kapcsolódik;
3.rejtett réteg: 30 neuron, amelyek mindegyike a 2. réteg minden ele-mével kapcsolatban van;
kimeneti réteg: 10 neuron a tíz számjegynek megfelelően; minden e-lem a 3. réteg minden elemével kapcsolatban van;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 38/43
tanítás: hiba-visszaterjesztéses módszerrel, 7000 tanító, 2000 ellenőr-ző számjegy;
eredmény: 10% bizonytalan → kézi feldolgozás; <1% hibaarány;
• 2.változat: előfeldolgozással rendelkező, egy-rétegű perceptron háló
bemenet: 16x16-os raszterkép,
előfeldolgozás: vonalrészletek (vizszintes, függőleges, átlós) kiemelé-se Kirsch-maszkkal → 4 db 16x16-os kép → 4 db 8x8-asra nor-malizálva → 256 bemenet;
1.rejtett réteg: 45 db neuron, egy-egy számpárért felelős; a lineáris szeparálhatóság miatt, minden neuron 2 számjegy elkülönítését végzi;
kimeneti réteg: 10 db ÉS kapu;
tanítás: hiba-visszaterjesztéses módszer, a küszöbérték növelésével emelték a visszautasítások számát, de csökkentették a hiba-arányt;
alkalmazása: kevesebb a minta, vagy gyors tanulás kell;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 39/43
beszédhang előállítása (NETtalk rendszer):
beszédhangok előállítása a szövegkörnyezet figyelembevételével: 7 egy-mást követő karakter kerül a bemenetekre és a középsőre ad megoldást;
bemenet: 203 db rejtett réteg: 80 db neuron,
kimeneti réteg: 26 db neuron → szintetizátor automatizált autóvezetés (ALVINN=Autonomous Land Vehicle in Neural
Network):
bemenet: 30x32-es kép + kormányállás;
rejtett réteg: 5 neuron, kimeneti réteg: 30 db a lehetséges kormányállásoknak megfelelően
(van olyan megoldás is, ahol a Gauss-görbe csúcsa jelöli ki a kí-vánt irányt)
tanítás: menet közben, de a felvett képek transzformáltjait is használ-
ták;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 40/43
6.4.2. Nem ellenőrzött (nem felügyelt) tanulású hálózatok
tanulási módok: = Hebb-féle tanulás, = versengő tanulási mód;
nem ellenőrzött tanulási forma: tanulásnál a kí-vánt eredményt nem veszi figyelembe a rendszer; → önszervező háló (tulajdonképpen saját működését alakítja);
típusok:
= Kohonen-háló: Hebb-féle + versengő tanulás; ellenőrzött tanulási módú változatai: - tanuló vektor-kvantálási háló (LVQ = Learning Vector Quantization
Network), - counterpropagation háló
= főkomponens-hálózatok: Hebb-tanulási mód; = dinamikus hálók:
Jordan-, Elman-hálók;
0
1
n
1
2
(1) (2)
x1
x0
xn
...
x Kohonen-réteg
y1
y2
y
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 41/43
főbb alkalmazási területek:
→ legtöbb háló lineáris: a feldolgozó elem súlyozott összegzést végez;
= bemeneti minták csoportosítása, osztályozása hasonlóság alapján: - nem csak a minták besorolása, de a - csoportok kialakítása is feladata → Kohonen-térkép;
= adattömörítés (főkomponens analízis, faktoranalízis); adatokat kevesebb paraméterrel írunk le → az eredeti adatok közelíté-se.
6.4.3. Analóg tanítású/tanulású hálózatok
(jellemző: a háló felépítése alapján - elvben -, számíthatók a súlyszámok)
Hopfield-háló (J.Hopfield, 1982)
főbb alkalmazási területek:
• asszociativ tárolás (a betanított értéket adja vissza); → auto-, hetero-asszociativ tárolás;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA10- 42/43
• kombinatorikus optimalizálási feladatok megoldása; • kiszámíthatósági feladatok megoldása;
asszociativ tárolás: zajos, torzított jelsorozat alapján felismerni és vissza-adni a helyes jelsorozatot (képet, jelkombinációt, stb.)
felépítése:
• minden neuron minden neuronnal össze van kötve, • minden neuron kimenete egyúttal a háló kimenete is, • alapmodellben: minden neuron -1, +1, vagy 0, 1 kimenetű percept-
ron; tanulás:
• Hebb-szabály alapján: • energia-függvény alapján:
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
11. ELŐADÁS (előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 2/34
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia fogalma, előzmények. 2. Alapproblémák, a problémamegoldás feltételei
3. Keresési eljárások (informált, nem-informált keresések)
4. Tudásreprezentációs módszerek, következtetés 5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
6. Gépi tanulás (neurális hálók) 7. Intelligens (/tudásalapú) rendszerek
7.1. Tudásalapú rendszerek jellemzői
7.2. TA rendszerek fejlesztése, módszertanok 7.3. Fejlesztendő területek meghatározása
7.4. TA rendszerek kialakítása
7.5. TA rendszerek jellemző formáinak kialakulása
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 3/34
7. TUDÁSALAPÚ RENDSZEREK
7.1. Tudásalapú rendszerek jellemzői
7.1.1.Tudás, tudáskezelés (tudásmenedzsment) tudás előtérbe kerülése, szervezeti tudás
- szervezetnél dolgozók tudása, amely a szervezet munkájához kapcsoló-dik,
- nehezen dokumentálható tapasztalatok, itélőképesség, stb.
- az információ megléte önmagában nem elegendő; használni is tudni kell:→ tudás
tudás fogalma, lényege:
• adat, információ, tudás, ismeret fogalmak keverednek
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 4/34
adat: kezelt jelsorozat: jelentés, tartalom nélkül kérdés:
= mennyi idő alatt érhető el, tárolható-e? = mennyi tárolható? = mibe kerül a tárolása, begyűjtése, szétosztása?
információ: = jelentéssel (tartalommal) bíró adat; az értelmezéssel kap
jelentést. = minden, ami egy adott helyzetben bizonytalanságunkat hi-
vatott csökkenteni kérdés:
= mennyire hasznos? = mekkora az információtartalma?
informális, formális információ
nem az adathordozó az információ !!
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 5/34
tudás: nehezen meghatározható dolog!
= ismeret és tudás különbsége, ismeret alatt olyan információt értünk, amely egy adott terü-leten segítheti a felhasználó döntését;
= a tudás rögzített (tárolt) és hasznosítható ismeret,
tapasztalással, gyakorlással, környezeti (kontextuális) isme-retekkel összekapcsolva jön létre;
= egyén és szervezet számára egyaránt létezik.
szervezeti tudás:
a szervezet tevékenysége során keletkező tapasztalat, rutin, el-járás, döntési módszer, stb.
tudás létrejöttének összetevői, forrásai:
− tapasztalat, − itéletalkotás → dogmává válhat, − igazság, igazolhatóság, − automatizmus (heurisztika), intuició.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 6/34
tudásmenedzsment:
a felfedett, összegyűjtött tudás értékké tétele: szervezni és hasznosítani kell !
→ tudásmenedzsment
7.1.2.Intelligens (tudásalapú) információs rendszerek információs rendszer fogalma:
a szervezet (döntéshozatali, koordinációs, stb.) tevékenységeit kiszolgáló információfeldolgozó, -továbbító, -tároló, -gyűjtő és -szétosztó rendszer.
információs rendszer vizsgálati oldalai:
egyed-tulajdonság-érték hármas valamely részét, vagy egészét kell tá-rolni, feldolgozni
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 7/34
• tárolási, feldolgozási alapegység:
lényeges a legkisebb kezelt, feldolgozott "ismeretegység" → szemcsé-zettség (granularity)
− adattípusú elemek:
= adatelem, = összetett adatstruktúra (rekord, adattár, adatbázis; kép-, hangállo-
mány, dokumentum, stb.), = objektum szerkezet → műveleti elemtípus is van benne;
− művelettípusú elemek:
= elemi művelet (utasítás), = utasítássorozat (program), = összetett műveleti szerkezet (modell):
→ adattípusú elem is van benne
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 8/34
− állítástípusú elemek: = elemi tényállítás (egyed-tulajdonság-érték), = összetett állítás (következtetés, szabály, stb.), = eset leírás: → adat- és művelettípusú elemek is vannak benne.
• ismeretbázis (IB) szerkezete:
Az IB-ban minden ismeretelem típus megtalálható.
− tárolási/továbbítási szerkezet (fizikai, logikai szint)
logikai szint: = hierarchikus,
= hálós, = relációs, = asszociatív
− térbeli szerkezet (centralizált, decentralizált)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 9/34
• feldolgozás, tárolás módja:
− procedurális (→ imperatív programozási nyelvek: C, C++, Basic, Fortran, stb.),
− MI technikára épülő → megfelelő programozási nyelv (→ funkcionális: LISP, deklaratív:
Prolog), → megfelelő szg. architektúra (pl.: LISP-re alapuló?!)
7.2. TA rendszerek fejlesztése, módszertanok
A fejlesztés szokásos lépései, részfeladatai:
rendszerelemzés: = lehetőségvizsgálat, = követelmények meghatározása;
rendszertervezés: = logikai, = fizikai, = végfelhasználó szerepe: résztvenni a fejlesz-
tésben;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 10/34
kivitelezés: = programozás, = tesztelés;
telepítés: = üzembeállítás, átállás,
= üzembehelyezés, = karbantartás.
7.2.1. Jellemző, alkalmazott módszertanok
1. strukturált módszertanok
minőségbiztosítás szempontjából előnyös;
• strukturált elemzés: az információfeldolgozás folyamatának ábrázolá-sára: → adatfolyam diagram (szimbólumai: folyamatvonal, feldolgozás, táro-
ló, külső egyed [inf. forrás, vagy nyelő]); → többszintű ábrázolás (legfelső a kontextus diagram); → adatszótárak (pontos adatleírással, felhasználással); → folyamat (feldolgozás) specifikációk
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 11/34
• strukturált tervezés: felülről-lefelé (top-down) módszer (pl.: Jackson-módszer) → szerkezet ábra
• strukturált programozás (szekvencia, szelekció, iteráció) • folyamatábrák (adat- és program folyamatábrák; utóbbi kevésbé hasz-
nált a strukturált elv miatt) hátrány: lassúság, költségesség, folyamatorientáltság.
2. objektumorientált fejlesztési módszertan
objektum: = adatok, = metódusok.
cél: = fejlesztés gyorsítása,
= költségek csökkentése, = újrafelhasználhatóság növelése.
→ UML (Unified Modeling Language) használata
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 12/34
3. CASE eszközök
• fejlesztési keretrendszer automatizált lépésekkel → általában valamelyik strukturált, vagy objektumorientált módszertan-
ra épülnek;
• lényegi részei:
= diagramkészítő eszközök (adatfolyam ábra, szerkezet ábra, egyed-esemény kapcsolati ábra, stb.),
= prototípus készítő eszközök (képernyő, menü, nyomtatási kép szer-kesztő, stb.),
= formai ellenőrző eszközök (pontosság, teljesség vizsgálata), = dokumentációkezelő (az elkészült részek [program, adatszerkezet,
projekt, ...] dokumentációjának rendezett megőrzése, kezelése), = kód generátor (végrehajtható kód előállítása),
= fejlesztési módszertani ellenőrző eszköz (a fejlesztés folyamatának követésére),
= projekt kezelő eszköz (ütemezés, erőforrás elosztás, kezelés, stb.).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 13/34
7.2.2. Prototípus módszer
TA rendszerek jellemző fejlesztési módszere, különösen a bevezető sza-kaszban. Prototípus: Olyan kis méretű, működő rendszer, amely segít bemutatni a kapcsolati felületeket, az IB szerkezetét, az alkalmazott következtetési rend-szert; segíti a felhasználót igényei, követelményei megfogalmazásában.
Használatának indokai:
• a TA rendszerek bonyolultsága, • a felhasználó ritkán tudja pontosan, hogy mit akar, → nem ismeri a lehe-
tőségeket, • a fejlesztők és a felhasználók közötti gyorsabb információcsere elősegí-
tése, • a felhasználó igényei szerint kell a rendszert kialakítani:
= a fejlesztő nem ismeri olyan mélységben a területet, mint a felhaszná-ló, a szakértő,
= az alkalmazói igények a meghatározók, bár
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 14/34
= a felhasználó nem mindig ismeri fel a lehetőségeket → tudásmérnök szerepe,
= a felhasználói igényeket csak kritikával szabad figyelembe venni.
A prototípus az alkalmazás célja szerint lehet:
• feltáró/kutató prototípus: az igények, a működési mód feltárását segíti; cél a gyors elkészítés és a könnyű módosíthatóság;
• kisérleti prototípus:
a rendszer elemek és azok kapcsolatainak vizsgálatát szolgálja; a fela-datfelbontás alapján kialakított rendszerelemek ellenőrzését segíti;
• evolúciós prototípus:
iterativ módon előállítandó rendszer kezdeti változata; már induláskor át kell gondolni a rendszer szerkezetét és működési jellemzőit, mert később csak többlet ráfordítással módosítható.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 15/34
Felhasználás alapján beszélhetünk:
• eldobható (csak a felméréshez, bemutatáshoz használt), és
• újrahasználható (a végleges rendszerbe beépülő) prototípusról.
Fajtái: • teljes:
a rendszer összes funkcióját tartalmazza; a végső rendszer kifejleszté-sének alapjául szolgál.
• részleges, nem teljes: a rendszer valamelyik területét hangsúlyozzuk, emeljük ki: = vertikálius prototípus: a lényeges funkciók vannak kidolgozva, teljes
mélységben → funkció bemutatása;
= horizontális prototípus: minden funkció jelen van a modellben, de csak bemutatási szinten → kapcsolati felületek bemutatása;
= forgatókönyv prototípus: valamely konkrét feladat feldolgozásának be-mutatásával, a legfontosabb jellemzők kiemelése.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 16/34
Prototípus készítés
előnyei:
• megállapítható, hogy az adott problématerületet érdemes-e TA rend-szerrel kezelni,
• a fejlesztés korai szakaszában tapasztalatokat lehet szerezni a rend-szer működéséről,
• különösen alkalmas a végfelhasználói felületek kialakítására, az igé-nyek meghatározására;
• felgyorsítja az ismeretgyűjtés folyamatát,
• nem kell még figyelmet fordítani a hatékonyságra, a karbantarthatóság-ra;
hátránya:
• nem helyettesíti a szisztematikus tervezést, • készítéséhez a legjobb képességű szakemberek kellenek, • nagy a kockázat, hogy a rendszer nagy részét újra kell írni, • nehéz megszabadulni a prototípusban alkalmazott megoldásoktól.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 17/34
7.3. Fejlesztendő területek meghatározása
Elsősorban a TA problémák, területek kijelölése a cél. A lehetséges területek nem mindegyikét célszerű kiválasztani; → alkalmazási területek a fontosak!
Két fő feladatcsoport van:
• problémamegoldást segítő (valakinek a szakértelmét helyettesítő), és • folyamat működését javító, rutinfeladattá tévő feladatok.
Legfontosabb, lehetséges alkalmazási területek:
• döntési fák, procedurális problémák; → hagyományos programozási nyelvvel megvalósítható feladatok;
• diagnosztizáló feladatok: megfigyelt, vagy gyűjtött adatok alapján következtet; viszonylag kevés kimenet a bemenetekhez képest;
→ szabályalapú, ritkábban keret- és szabályalapú, többnyire célvezé-relt megvalósításúak;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 18/34
• monitorozó feladatok: olyan diagnosztizáló probléma, amely ismétlődően megoldásra kerül;
→ kis méretben szabályalapú, adatvezérelt; bonyolultabb problémánál hibrid megoldású;
• folyamatirányítási feladattípus: monitorozás speciális változata; a folyamattól érkező jelek folyamatos (ciklikus) feldolgozásával, kritikus érték elérésekor ad előírást a be-avatkozásra; → hibrid, adatvezérelt megoldásúak;
• ütemezési, tervezési feladatok: végrehajtandó tevékenységek hozzárendelése erőforrásokhoz, tekin-tettel azok rendelkezésre állására és időbeli használati lehetőségeire; → hibrid, adatvezérelt technika;
• konfiguráló, konstruáló típusú feladatok: a rendelkezésre álló elemkészletből a szerkezet igény szerinti öszeállí-tása a lehetséges kapcsolatokat figyelembe véve; például: = egyszerű struktúrájú (szg.konfigurálás), = bonyolult, konfliktusfeloldó típus (műhelyszintű gyártásütemezés); → hibrid technika;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 19/34
• előrejelző típusú feladatok: beérkező jelek alapján, a korábbi hasonló esetek, vagy szabályok fel-használásával, a jelenlegi helyzetre ad megoldási javaslatot; → hibrid, esetalapú feldolgozás.
Kérdés: a TA rendszer a feladatmegoldás mely szakaszában tud segíteni?
= az információgyűjtésben? = a kiértékelésben, megoldásban, azaz a döntéshozatalban? = az eredmény hasznosításában?
Kerülendők azok a feladatok, amelyek
• nehezen megfogalmazhatók (→ hivatkozás a 'józan paraszti ész'-re) → esetleg kutatási téma,
• gyorsan változik a terület ismeretanyaga → a rendszer könnyen insta-billá, megbízhatatlanná válik,
• a kapcsolódó szakértői vélemények nem egyeznek, ellentmondanak egymásnak.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 20/34
7.4. TA rendszerek kialakítása
Cél: a rendszer logikai szintű megtervezése a prototípus alapján meghatáro-zott követelményeknek megfelelően.
Részei: = IB tervezése, kialakítása,
= rendszerstruktúra kialakítása, = ellenőrzés megtervezése.
7.4.1. IB kialakítása
IB kialakítás lépései:
• ismeretgyűjtés/szerzés: (információk, eljárási módok, döntési szabályok összegyűjtése)
• ismeretek strukturálása: (kapcsolatok feltárása, rendszerezése, elemek csoportosítása)
• megvalósítás, formalizálás: (összegyűjtött ismeretek valamilyen formában történő megvalósí-tása → ismeret/tudás reprezentáció)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 21/34
a.) Ismeretgyűjtés/szerzés
1. Ismeret fogalma, összetevői, szintjei
Ismeret (vs. tudás) alatt olyan információt értünk, amely egy adott területen segítheti a felhasználó döntését.
Kérdés:
• az ismereteknek milyen összetevői, jellemzői vannak? • az ismeretek megjelenésének milyen szintjei vannak?
→ összetevők: az ismeretek lehetséges jellemzőit, vizsgálati oldalait
jelentik. Ezek, pl.:
= elnevezés, megnevezés: (hogy hivatkozni tudjunk rájuk); = leírás, jellemzés: a vizsgált dolog, objektum fontos tulajdonságai,
attributumai, amelyek valamilyen értékkel rendelkeznek; = szervezési, rendezési elv: csoportosítás, birtoklás (magába foglalás)
módja; (pl. az alma egy (is_a) gyümölcs, a gyümölcsnek (has_a) magja van);
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 22/34
= kapcsolat, kapcsolódás: az ismeretelemek közötti kapcsolatok, ösz-szefüggések; ezek lehetnek: - statikusak (pl. rokonsági kapcs.), - dinamikusak (pl. valamilyen procedurális folyamat, következtetés
révén); = korlátozás valamely összetevőre vonatkozóan (pl. attributum értéké-
re, kapcsolatra vonatkozóan); → segít az érvényesség ellenőrzésében, → az IB integrításának megőrzésében.
Ismeret szintjei: attól függ, hogy milyen mértékben lettek figyelembe véve alapelvek, oksági kapcsolatok. = felszíni ismeretek: olyan információk, amelyek egyedi helyzetekre
vonatkoznak; = mély ismeretek: a vizsgált terület belső kapcsolatait, törvényszerűsé-
geit, oksági összefüggéseit tükrözi vissza → modell; nehezebb összegyűjteni.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 23/34
2. Ismeretek forrásai
Igen nagy számú (pl. könyvek, újságok, filmek, megfigyelések, stb.). Ezek le-hetnek:
• dokumentált források (valamilyen formában rögzített, megjelenített); pl. → adatbázisok: egyre nagyobbak, egyre nehezebb kezelni → adatbá-
nyászat;
→ internet: nagy tömegű ismeret gyűjthető össze rövid idő alatt; • nem dokumentált: emberi tudás, nehéz feltárni.
3. Ismeretek megjelenítési típusai
Megjelenítési mód alapján több típusról beszélhetünk:
• deklaratív, leíró megjelenítés: tényeket közöl: mi micsoda; → felszíni ismeret: az IB kezdeti kiépítési szakaszában fontos;
• procedurális megjelenítés: megadja, hogy a dolgok hogyan működnek, viselkednek; → megadja, hogy a deklaratív ismereteket hogyan használjuk, hogyan
következtessünk;
• metaismeret: ismeret az ismeretről.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 24/34
Jellegzetes ismeretelemek az IB-ban:
• tények, kizáró tények, bizonytalan tények, • korlátozások, • tipikus helyzetek, • objektumok és kapcsolataik, • folyamatok, • probléma megoldó eljárások, heurisztikák, döntési szabályok, • viselkedési leírások, hitek, • hipotézisek, elméletek, • szótári definiciók, • metaismeretek.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 25/34
4. Ismeretgyűjtés szervezeti környezete, feltételei
Az IB kialakításának folyamata (tudás előhívása, gyűjtése; ismeretek struktu-rálása; ismeretek formalizálása, megvalósítása) csak megfelelő környezet-ben, feltételek között kivitelezhető.
• szervezeti környezet: − vezetői támogatás, − korábbi fejlesztési, alkalmazási tapasztalatok, − szervezeti struktúra mérete, formája (az elérhető ismeretforrásokat
befolyásolja), − technológia kultúra: új technológia, eljárás befogadásának motivált-
sága;
• projekt környezet: projekt célok és korlátok (pü-i, időbeli, munkaerő, stb.) behatárolják az ismeretgyűjtést;
• ismeretgyűjtés közvetlen környezete: a szakértő számára az eredeti problémamegoldási környezetet célsze-rű kialakítani.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 26/34
5. Ismeretgyűjtés nehézségei
Nehézségek alábecsültek! Problémák:
• ismeretek gyűjtése az első elérhető, vagy legkézenfekvőbb forrásból; → célszerű a szakértő már rendszerezett tudását igénybe venni;
• nehéz 'zajos' környezetből (pl.: híradások, újságok,stb.) kigyűjteni az is-mereteket;
• nehéz megfogalmazni, kifejezni a tényleges problémamegoldó folyama-tot; → az IB-ban megjelenő megoldási módszer eltérhet a szakértő tényle-
ges megoldási módjától;
• nehéz gépi feldolgozási formába önteni az ismereteket, a szakértő nem emlékezik minden lépésre;
• nehéz az ismeretek strukturálása;
• több ember (szakértő, fejlesztő, felhasználó) vesz részt a folyamatban;
• mindenki másként látja a problémát;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 27/34
• a szakértő tudása feltételezetten jó, de célszerű más módon ellenőrizni;
• a szakterület minden oldala nincs körüljárva; fontos területek hiányosak lehetnek;
• lényegtelen információk kerülhetnek az IB-ba; • a kivételes helyzetek kezelése hiányzik;
• a megfigyelés zavarja és befolyásolja a szakértő munkáját, gondolat-menetét;
további problémák:
• a szakértő nem ér rá, nem tud együttműködni a fejlesztővel;
• az ismeretek pontosítása, ellenőrzése nehéz;
• a fejlesztők hajlamosak egy, vagy két forrást felkutatni csak; • az ismeretszerző eljárások nem kidolgozottak
Fontos az ismeretgyűjtő személyisége is !
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 28/34
6. Ismeretgyűjtés módszerei
Az ismeretgyűjtés alapstratégiái:
• a szakértő tevékenysége, megoldási lépései alapján meghatározni az általa alkalmazott modellt, szerkezetet;
• az elérhető információk alapján a modell felállítása, majd a szakértő te-vékenységének beillesztése a modell keretébe.
Ismeretgyűjtési módszerek csoportjai:
• kézi/nem géppel segített módszerek (pl.: interjúkészítés, protokoll elem-zés, megfigyelés, stb.);
• félig automatizált módszerek (pl.: ú.n. 'repertory grid analysis' mód-szer);
• automatizált módszerek (pl.: induktív módszer, döntési fák, adatbányá-szat → eset alapú következtetés, neurális hálók, stb.).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 29/34
7.Automatizált ismeretgyűjtés néhány eszköze
7/1. Szabálygenerálás indukcióval
• lényege:
= példák alapján történő valószínűségi tanulás, = a példák jellemző tulajdonságaikkal és azok értékeivel táblázatosan
tárolásra kerülnek,
tulajdonságok (Tj)
esetek (Ei)
tulajdonság értékek
= példákból (döntési fa segítségével) szabályok generálása,
= új feladat megoldása: az esettárban keresés és a hasonló példa megoldása lesz az eredmény.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 30/34
• szabálygenerálás módszere:
→ leggyakrabban az ID3 (Iterative Dichotomiser 3) módszer:
minimális feltételes entrópia (átlagos információ, bizonytalansági mér-ték) alapján sorolva a tulajdonságokat (a feladatok véletlenszerű cso-portosításának csökkentése érdekében), optimális döntési fa generálá-sa a szabályok előállításához. = jelölések: megoldásosztályok száma: p
példák száma osztályonként: q q qp1 2, , ...., megoldás /eset/ osztályok: E1,E2,.....Ep
példák száma összesen: q qkk
p
==
∑ 1 tulajdonságok száma: n tulajdonságok: T1,T2,...,Tn
= egy példa valamely esetcsoportba kerülésével kapcsolatos entrópia:
q
qlg
q
q
EPlgEPEH ip
i
i
i
p
i i 2121 )(
1)()( ∑∑
==−==
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 31/34
= keressük azt a Tj tulajdonságot, amelyhez tartozó )TE(Hj
feltételes
entrópia alapján, a legkisebb bizonytalansággal tudjuk csoportba sorolni az aktuális példákat, eseteket; majd a tulajdonságok feltéte-les entrópiájának növekvő sorrendje adja a rendezési elvet a dönté-si fa felépítéséhez;
= bármely j-dik tulajdonság esetén, ha a tulajdonság lehetséges érté-keinek, csoportjainak száma: nj és az egyes csoportokba sorolható példák száma:
jjnjkjjq,...,q,...,q,q
21
⇒ a feltételes entrópia:
rejq
q
q
q
q
q
q
q
q
q
TEPTEPq
q
TEHq
qTEHTPTEH
jj
j
jj
n
k
jk
ijkp
i
ijk
jk
ijkp
i
jk
ijkn
k
jk
p
i jkijki
n
k
jk
jk
n
k
jk
jk
n
k jkj
−∀−=⋅−=
=⋅−=
=⋅=⋅=
∑ ∑∑∑
∑∑
∑∑
= ===
==
==
1 1 21 21
1 21
11
lglg
)(lg)(
)()()()(
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 32/34
= az első helyre sorolandó tulajdonság (a leginkább meghatározó tulajdonság a bizonytalanság csökkentésében) feltételes entrópiája:
)(j
j
TEHmin
= a döntési fa következő szintjén, az egyes csomópontokhoz szétosz-tott példák képezik az aktuális E halmazt.
= az így kialakuló döntési fa alapján generálhatók a szabályok; példá-ul: "ha T1 = t1 ÉS T2 = t2 .... ÉS ...Tn = tn akkor Qi a megoldás"
• problémák:
= osztályozó tulajdonságok kiválasztása problémás, = nincs minden tulajdonság figyelembe véve, ami lényeges lenne, = a példák nem fedik le teljeskörűen a döntési teret;
• célszerű alkalmazni, ha = sok mintapélda van, = csak kiindulásként akarjuk használni a szabályrendszer további fino-
mításához, = használat közben a kimenet ellenőrzött a felhasználó által, = fel lehet vázolni, a kérdéses kimenetelű feladatokat, hogy a felhasz-
náló dönthessen további feltételek alapján.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA11- 33/34
7/2. Adatbányászat
• lényeg: az intelligens adatbányászat olyan információkat tár fel az adattárházakban, amelyeket lekérdezéssel, jelentéskészítéssel nem le-hetne elérni.
• fő információ előállítási formák:
= asszociációk, = adatsorok, szekvenciák, = osztályozás, = csoportosítás (klaszterezés), = előrejelzés;
• eszközök: = esetbázis alapú következtetés, = neurális hálózatok, = intelligens ügynök (robot) programok.
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA
12. ELŐADÁS (előadásvázlat)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 2/30
TÉMAKÖRÖK
Bevezetés
1. Mesterséges intelligencia fogalma, előzmények. 2. Alapproblémák, a problémamegoldás feltételei
3. Keresési eljárások (informált, nem-informált keresések)
4. Tudásreprezentációs módszerek, következtetés 5. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
6. Gépi tanulás (neurális hálók) 7. Intelligens (/tudásalapú) rendszerek
7.1. Tudásalapú rendszerek jellemzői
7.2. TA rendszerek fejlesztése, módszertanok 7.3. Fejlesztendő területek meghatározása
7.4. TA rendszerek kialakítása
7.5. TA rendszerek jellemző formáinak kialakulása
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 3/30
7. TUDÁSALAPÚ RENDSZEREK
7.1. Tudásalapú rendszerek jellemzői
7.2. TA rendszerek fejlesztése, módszertanok
7.3. Fejlesztendő területek
7.4. TA rendszerek kialakítása 7.4.1. IB kialakítása a.) Ismeretgyűjtés/szerzés
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 4/30
b.) Ismeretek strukturálása
Az összegyűjtött ismereteket rendezni, szervezni kell. Ez függ a TA rendszer működési módjától.
Leggyakoribb TA rendszer típusok:
• szabályalapú rendszerek:
= az IB-ban szabályokkal leírt ismeretek találhatók, = az ismeretfeldolgozás cél-, vagy adatvezérelt módon történik;
• keretalapú rendszerek:
= az egy fogalomhoz kapcsolódó ismeretek együttes kezelését, tárolását jelenti, → technikai megvalósítása: objektumorientáltság alkalmazása,
azaz adatok és ezen dolgozó metódusok együttes kezelésének megoldását jelenti;
= a feldolgozás alapjaiban esemény-vezérelt, az objektumok közötti üzenetváltással;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 5/30
• hibrid rendszerek: = az IB többféle tárolási módot tartalmaz:
- szabályalapú és - keretalapú ismerettárolási formát;
= a következtetési rendszer alapjaiban esemény-vezérelt (→ adatve-zérelt); függ a szabályokkal megvalósított kapcsolatoktól is;
• induktív (eset-alapú) rendszerek:
= többféle ismerettárolási forma; a megoldott példákat jellemzőikkel és azok értékeivel, az eredménnyel együtt tárolja;
= a következtető rendszerbe be van építve egy szabálygeneráló rész, amely a tárolt esetek alapján dolgozik;
• blackboard (munkatábla) rendszerek:
= több rendszer együttműködése egy közös 'munkatáblá'-n keresztül, üzenetek küldésével.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 6/30
1.Szabályok kialakítása A szabálykészlet kialakítási stratégiái:
• egyik lehetőség:
= kisebb problémák megoldatása a szakértővel, kérdések alapján a következtetési logika feltárása → szabályok kialakítása,
= új probléma megoldásával kiegészíteni a szabálykészletet → fokoza-tos bővítéssel (pl.: indukciós módszerrel);
• másik lehetőség:
= interjú keretében közvetlenül meghatározni a szabályokat. A szabálykialakítás lépései:
• változók feltárása: a szabályokban hivatkozott változók meghatározása; ebben olyan kérdések segítenek, pl.:
→ miről kell tudnia (a szakértőnek) a probléma megoldásához?
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 7/30
→ milyen tényezők befolyásolják döntésében? → milyen kapcsolatok vannak a döntési tényezők között? → milyen dolgokat, hipotéziseket kell meghatározni a probléma
megoldásához?
• változók, fogalmak(objektumok) közötti kapcsolatok feltárása → ontológiai módszer,
• feltárt változók dokumentálása (név, leírás, értéktípus, ... függőség,
stb.), • függőségi diagram készítése (mitől mi függ?), • szabályok felállítása a függőségek alapján (nem célszerű túl bonyolult
szabályokat kialakítani), • szabályhalmaz ellenőrzése, redukálása (átfedések megszüntetése,
összevonás, stb.), • szabályhalmaz kezdőértékezésének meghatározása (sorrend, forrás).
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 8/30
A szabályhalmaz strukturálása:
Nagy szabályhalmazt célszerű kisebb, logikailag összetartozó egységekbe (kontextusokba) szervezni:
• szabály-részhalmazok kialakítása: (logikailag, funkcionálisan szorosan kapcsolódó szabályok alkotják);
• típusai:
= statikus (feldolgozás előtt kialakított szerkezet), = dinamikus (feldolgozás közben kialakított szerkezet; az igénybe vett
modult az adott feladatnak megfelelően kell kezdőértékezni);
• előnye:
= áttekinthetőség, = könnyebb tesztelhetőség, = egy-egy modul több feladat esetén is alkalmazható → kontextusvál-
tás → egyszerűbb keretprogram; • az objektumorientált technika (hibrid technika) háttérbe szorítja az al-
kalmazását.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 9/30
2.Objektumorientált (keretalapú) megközelítés
Az ismeretek strukturálása alapjaiban az objektumorientált módszertan lépé-seit követi.
Főbb lépések:
• a feladat mghatározó objektumainak feltárása → leíró tulajdonságok
összegyűjtése (jellege, értéktartománya, kezdőértéke, stb.),
• az objektumok közötti kapcsolatok felmérése, jellegük (magába fogla-lás, leszármazás, együttműködés, aktivizálás, stb.) meghatározása,
• cselekvésre bíró kapcsolatok megvalósítóinak (metódusoknak) definiá-lása, az objektum változóihoz való kapcsolódásuk meghatározása,
• objektumosztályok (keretek) 'rés'-ei (slots) tartalmának meghatározása, ú.m. adat, szabály, hivatkozás, metódus, stb.
A programozástechnikai háttér miatt, az objektumorientált megközelítés az alapvető, kiegészítve a szabályalapú ismerettárolási formával.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 10/30
7.4.2. TA rendszerek felépítése
TA rendszer főbb egységei:
• ismeretbázis és kezelő rendszere,
• problémakezelő rendszer:= probléma- és feladatszerkesztő egység,= feldolgozó/következtető egység, = keresőrendszer,
• tanuló/tanító/magyarázó rendszer,
• fejlesztő és ismeretgyűjtő rendszer,
• kommunikációs rendszer,
• illesztő és kapcsolati rendszer.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 11/30
Fontosabb részegységek:
Komm.rendszer rendszer
Probléma-feldolg./szerk.
Tanuló/tanító
rendszer rendszerFejlesztõ
rendszer
Ismeret-gyûjtõ
rendszerKeresõ
Ismeretbáziskezelõ rendszer
Külsõismeret-
bázis
I l l e s z t õ é s k a p c s o l a t i r e n d s z e r
rendsz.
Illesztõ
kapcs.és
IS ismeretbázisa
AB MB EB TB
Felhasználó Felhasználó Felhasználó Felhasználó Felhasználó(tudásmérnök)
rendszer
Szervezetiinformáció-feldolgozó
Külsõkapcsolatok
Szervezeti ismeretbázis
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 12/30
a.) IB rendszer
Mind struktúrában, mind tartalomban összetett!
Strukturális felbontás:
• ismeretbázis: = belső IB:
→ szervezeti IB, → helyi, egyéni IB,
= külső IB;
• ismeretbáziskezelő rendszer: = belső és külső források közötti kapcsolat, = ismeretkigyűjtő kapcsolat a szervezeti és a lokális IB között, = IB és a TA rendszer közötti kapcsolatok.
Ismeretbáziskezelõ rendszer
Szervezeti ismeretbázis
AB MB EB TB
rendszer
Szervezetiinformáció-feldolgozó
Kigyûjtõ rendszer
Felhasználó
Egyéniismeret-
bázis
Helyiismeret-
bázis
Szerv.ism.kez.rsz.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 13/30
Tartalmi felbontás: Az IB mindegyik részeleme (szervezeti, helyi és egyéni) hasonló tartalmú: • adatbázis rész, amely a legkidolgozottabb a fejlesztési munkában;
alkalmazott szerkezeti megoldások: = hierarchikus, = hálós, = relációs, = asszociatív;
adatforrások: külső, belső (szervezetre vonatkozó adatok is);
adatbáziskezelő rendszer → globális lekérdező nyelv használata.
• modellbázis rész, amely többnyire végrehajtható eljárásokat, leíró jel-legű, szerkezeti modelleket tartalmaz;
modellek funkcionális (pénzügyi, gazdasági, termelési, stb.) jellegük, hi-erarchián belüli alkalmazási helyük (alsó-, közép-, felsővezetői szint) szerint csoportosíthatók;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 14/30
cél: → a modellek összekapcsolhatósága; modellbázis kezelő rendszer (karbantartás, modellszerkesztés → mo-dellező nyelv).
• esetbázis rész, amely a feldolgozott problémák, feladatok megoldá-
sainak leírásait tartalmazza;
tárolási formák: = esetleírás (script), = (indukcióval levezetett) szabályrendszer;
esetbáziskezelő rendszer (aktuális esethez hasonló keresése, karban-tartás, esetleírás szerkesztés):
• tudásbázis rész, amely tényállításokat, szabályokat, következtetéseket tartalmaz;
tárolási formák: = szabályalapú,
= keretalapú.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 15/30
b.) Problémakezelő rendszer
Feladata: a megoldandó problémák kezelése, előkészítése és megoldása.
Részei:
• problémaszerkesztő (feladat megfogal-mazás, szerkesztés),
• feldolgozó egység (algoritmikus, heu-
risztikus, MI alapú, szimulációs eljárá-sokkal),
• kereső rendszer (az IB felé közvetíti az
alkalmazás kérését valamilyen lekér-dező nyelv segítségével).
Probléma-feldolgozó Tanuló/
tanítórendszer
Illesztõ és kapcsolati rendszer
Felhasználó
Probléma-szerkesztõ
rendszerKeresõ
Ismeretrendszer
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 16/30
c.) Tanuló/tanító/magyarázó rendszer
Tanuló rész feladata: a megoldott problémák alapján, az új ismeretek (té-nyek, modellek, szabályok, stb.) tárolása arra alkalmas formában.
Lehetséges tanulási formák:
• gyakorlás alapján (azonos típusú feladatok megoldásával), • tapasztalat alapján (az eredményesség szerint módosítva a kapcsola-
tok erősségét, valószínűségét).
Tanító/magyarázó rész feladata: a tárolt ismeretek, a megoldott problémák segítségével a felhasználó tudásának bővítése.
Tanítás: kiválasztott feladat megoldásának bemutatása, magyarázata.
Magyarázás: feladat megoldása közben kérdéseket lehet feltenni; a rend-
szer erre ad magyarázatot, indoklást.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 17/30
d.) Fejlesztő/ismeretgyűjtő rendszer
Feladata: a rendszer IB-ának feltöltése, szerkezetének továbbfejlesztése.
Használható módszerek: • automatikus ismeretgyűjtés (a szervezeti IB feltöltése a szervezet
tranzakció feldolgozó részétől függetlenül, amely utóbbi, elsősorban az adatbázis részt érinti);
• megoldott problémák modelljének, szabályainak, leírásának tárolása a tanuló rendszer használatával;
• a felhasználó által bevitt egyedi modellek, esetek tárolása.
e.) Kommunikációs rendszer
Feladata: a szervezet különböző pontjai közötti kapcsolatok, külső és belső ismeretforrásokhoz történő hozzáférés biztosítása.
Módszerek: = közvetlen számítógépes kapcsolat, = internet, intranet használata, = távközlési szolgáltatások (vezetékes, vezeték nélküli), = videokonferenciák, stb.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 18/30
f.) Illesztő és kapcsolati rendszer (felhasználói interfész)
Feladata: a TA rendszer és a felhasználó közötti kapcsolatok megvalósítása.
Felhasználói csoportok:
• döntéshozó, vezető, átlag felhasználó,
• közreműködő specia-lista (mediator): = felhasználó asszisz-
tense, = elemző (akinek a
munkájához állan-dóan kell),
= csoportos (döntéshozatali munka) irányítója;
• TA rendszerszakértő (karbantartás, fejlesztés).
Felhasználó
Felhasználói illesztõkezelõrendszere
Bevitelirendszer
Kivitelirendszer
formátumokbázisa
Beviteli/kiviteli
TA rendszer egyéb részei
Felhasználói
szokásokhasználati
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 19/30
A kapcsolati módokat, használati szokásokat a
• felhasználói használati szokások bázisa, amely - lehetővé teszi az illesztő felületek egyéniesítését, - használati szokások alapján, a munkaterületek elérésének egyszerű-
sítését; és a
• beviteli/kiviteli formátumok bázisa tárolja, amely - a bevitelnél, illetve a kivitelnél alkalmazott megjelenítési formátumokat
tárolja.
Az illesztő felületek kialakításakor figyelembe vehető jellemzők, tényezők:
• független (külső) tényezők: = felhasználó (képzettség, szakértelem, kor, stb.), = környezet (szervezeti hierarchia szintje, szervezeti struktúra, bizony-
talanság), = a feladat bonyolultsága, = illesztő felület iránti igény (eszköz, nyelv, megjelenítési forma, szí-
nek, stb.);
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 20/30
• kialakítástól függő tényezők: = használhatóság, = használat nehézségi foka, = tanulhatóság, = egységesség, = hajlékonyág, = hibakeresés támogatása, = teljesítmény, = felhasználói vélemények, stb.
7.5. Tudásalapú (intelligens) információs rendszerek kialakulása kialakulásuk, generációik: → több generációjuk értelmezhető.
• ösztönös ('történelem előtti') IR − '40-es évek végéig, − esetleges a kialakításuk, − nincs előtérben a fontosságuk, − alapvetően kézi feldolgozásra, papír alapú nyilvántartásokra épül, − nincs szervezési módszertan még;
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 21/30
• kezdeti ('őskori') IR − '60-as évek végéig, − felismerik a fontosságát, − számítógép megjelenik, − mágneses adattárolók használata, − file-kezelő, hierarchikus adatbázis kezelő rendszerek megjelenése, − módszertanok megjelenése (pl.: BISAD);
• tudatos ('középkori') IR − '70-es évek és '80-as évek eleje, − növekvő szervezetek és adatmennyiség, − mikroszámítógépek megjelenése, − adabáziskezelők széleskörű elterjedése, − strukturált módszertanok (SYSTEMATICS, HIPO) megjelenése, − DSS megjelenése;
• szolgáltató ('modernkori') IR
− napjainkig, − tudatosan tervezett szolgáltató IR (SSADM), − információ stratégiai erőforrásá válik, − elemző, előrejelző szolgáltató funkciók,
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 22/30
− számítógép hálózatok, − relációs adatbáziskezelő, SQL használata,
→ adattárházak, adatbányászat;
• intelligens IR − felhasználói környezet (felületek, tartalom) módosítható, beállítható, − felhasználói szokásokat követi → adaptiv IR, − vezeti a felhasználót a problémamegoldásban, − segíti a kapcsolattartást a rendszer más felhasználóival, − IB = adat + modell + állítás
+ → lágy ('soft') információk tárolása, használata, − belső kapcsolatokban:
adatraktár, adatbányászat, globális ismeretkezelő rendszerek; feldolgozásban: következtető rendszerek, kommunikációs részrendszerek;
− külső kapcsolatokban: multimédiás, interaktiv, széleskörű kapcsolattartás a többi felhasz-nálóval, testreszabás lehetősége.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 23/30
7.5.1. IR-ek az alkalmazási cél alapján
Tranzakciófeldolgozó rendszer (TPS=Transaction Processing Systems) Jellemző, hogy
• napi gazdasági események feldolgozására szolgálnak,• operativ, jól szabályozott tevékenységekhez kapcsolódnak,• forrásadatok feldolgozására, adatszolgáltatásra használják,• elemi adatkezelő, majd egyre összetettebb funkciók teljesítésére alkalmas
adatbáziskezelő rendszerrel rendelkeznek.
Irodaautamatizálási rendszer (OAS=Office Automation Systems) Szakmai információs rendszer (KWS=Knowledge Work Systems)
A kezelt tevékenységek:
• irodai, ügyviteli munkák (szövegszerkesztés, táblázatkezelés, levelezés),• dokumentum- és kiadványszerkesztés,• időbeosztások, ütemezések,• műszaki tervezés, dokumentálás, stb.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 24/30
Vezetői információs rendszer (MIS=Management Information Systems) A vezetői információs rendszerek a '60-as években jelentek meg és feladatuk:
• a vezetői munka segítése adatokkal, az eltérések jelzésével, • meghatározott formátumú és tartalmú anyagok, időközönkénti előállítása, • egyszerűbb lekérdezések megadott területeken, • a tervezési, ellenőrzési munka segítése egyszerű elemzésekkel, • a szükséges alapadatokat a tranzakciófeldolgozó rendszer szolgáltatja.
Döntéstámogató rendszer (DSS=Decision Support Systems)
A '70-es évek közepén megjelent rendszerek a rosszul strukturált vezetői dönté-sek kiszolgálását célozták meg. Jellemzőjük, hogy:
• adataikat a tranzakciófeldolgozó, illetve a vezetői információs rendszertől, va-lamint külső forrásokból kapják,
• feladatmegoldásokhoz modellbázissal rendelkeznek, • a modell- és adatbázis segítségével elemzéseket és optimalizálásokat lehet
végezni,
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 25/30
• használatukra az interaktivítás jellemző, • a döntéshozó (a felhasználó) által alakítható, folyamatosan fejleszthető, • szakértői rendszerjellemzőkkel is rendelkeznek.
Szakértői rendszerek (ES=Expert Systems) A mesterséges intelligenciakutatás eredményeit használják fel. A kialakuló rend-szerek következtető részrendszerekkel is rendelkeznek. Hatásuk a döntéstámo-gató (DSS) és a felsővezetői információs (EIS) rendszereken érezhető, amelyek-nek ma már részét képezik.
Felsővezetői információs rendszerek (EIS=Executive Information Systems) A '90-es évek elején jelentek meg. Hatékony információtechnológiai eljárások (pl.: OLAP=On-Line Analytical Processing, adatbányászat). A rendszer jellemzői:
• stratégiai döntések támogatása,
• felsővezetői tervezési, szervezési feladatok támogatása,
• 'lágy' információk (vélemények, elképzelések, előrejelzések) kezelése,
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 26/30
• fejlett grafikus és kommunikációs eszköztárral rendelkeznek,
• nincs feladatmegoldó része, mint a döntéstámogató rendszereknek,
• nem tartalmaz modellbázist,• korszerű információtechnológiai technikák használata.
Felsővezetői szolgáltató rendszer (ESS=Executive Support Systems)
Tulajdonságai megegyeznek a felsővezetői információs rendszerével (EIS), bővít-ve a döntéstámogató rendszerek (DSS) jellemzőivel is.
Vezetői támogató rendszer (MSS=Managerial[management] Support Sys-tems)
A legutóbbi időkben megjelent változat, amely magában foglalja a döntéstámo-gató, a szakértői, valamint a felsővezetői információs rendszerek tulajdonságait.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 27/30
7.5.2. Intelligens információs rendszerek jellemzői
A legfontosabb követelmények a következők: • a felhasználó kérdéseire adjanak gyors (azonnali) válaszokat;
• legyen könnyen kezelhető, kezelése könnyen tanulható;
• felhasználói környezete legyen módosítható, beállítható, az egyéni elképzelé-sekhez illeszkedő formájú és működésű;
• segítse a kapcsolattartást a rendszer más felhasználóival.
A felhasznált információk három fő megjelenítési és tárolási formája különböz-tethető meg:
• adatbázis, amelyben dokumentumok, kép- és hanganyagok is megtalálhatók;• modellbázis, amely összetett problémák többnyire algoritmikus megoldását is
tartalmazza; az ú.n. 'ügynök (ágens)' programok egyre nagyobb szerepet kap-nak az információs rendszerek robotmunkáiban (üzenetek, levelek csoportosí-tása, adatbányászat, stb.);
• tudásbázis, állítások, következtetések, esetek, helyzetleírások tárolására.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 28/30
Egyre fontosabb az ú.n. 'lágy (soft)', valamint a bizonytalan és hiányos informáci-ók szerepe.
A információs rendszer ismeretbázisának szerkezete a gyors működés és a haté-konyság miatt hierarchikus strukturálású.
A tárolt információk között tetszőleges relációs és asszociatív kapcsolatok épít-hetők fel, mind az adatok, mind a modellek, következtetések, esetleírások között.
A működést megszabó belső kapcsolatok legfontosabb területei közé tartozik
• az adatraktárakkal kapcsolatos, adatkeresési (adatbányászati) módszerek ki-dolgozása,
• globális ismeretbáziskezelő rendszerek,• következtető rendszerek továbbfejlesztése, újszerű következtetési módok
alkalmazása,• kommunikációs részrendszer kialakítása.
A felhasználó számára a leglényegesebb a külső kapcsolatok kialakítása: • sokoldalú, multimédiás kapcsolati lehetőség (grafika, virtuális 3D megjelenítés,
mozgókép, párhuzamos feladatmegoldás és megjelenítés, stb.),
Cserny L.: Mesterséges intelligencia, 2018/2019-2 EA12- 29/30
• párbeszédes működtetés, gyors válaszlehetőség (OLAP, adatbányászat),• kapcsolattartási lehetőség a rendszer többi felhasználójával (információcsere,
munkakapcsolatok, elektronikus ügykezelés, csoportmunka, globális kap-csolattartás),
• kiadványszerkesztés, prezentációkészítés,• eszköztár az egyéni arculat kialakításához, a felhasználói szokások megjegy-
zése.
Az intelligens információs rendszerek célja:
• a szervezeti döntéshozatal segítése a szervezet minden szintjén,• a felhasználói illesztő felületeknek az egyes felhasználók egyéni igényeinek és
gyakorlottságának megfelelő kialakítása,
• kommunikációs támogatás nyújtása a felhasználók kapcsolatteremtéséhez,
• a döntéshozók számára fontos háttér ('lágy') információk, a bizonytalan és hiá-nyos információk megfelelő használata.
GÁBOR DÉNES FŐISKOLA
INFORMATIKAI INTÉZET
MESTERSÉGES INTELLIGENCIA (GYAKORLAT - PÉLDATÁR)
DR. CSERNY LÁSZLÓ főiskolai tanár
BUDAPEST, 2018/2019-2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 2/46
TÉMAKÖRÖK*
Bevezetés 1. Feladatreprezentáció
2. Keresési eljárások (informált, nem-informált keresések)
3. Tudásreprezentációs módszerek, következtetés• Logikai reprezentáció
• Szabály-alapú reprezentáció• Keret-alapú reprezentáció
4. Bizonytalanságkezelés (valószínűségi, fuzzy rsz.)
5. Gépi tanulás módjai (statisztikus, neurális hálók, stb.)
* Készült dr. Szalay Tibor (GDF-BME) anyagának felhasználásával.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 3/46
1. FELADATREPREZENTÁCIÓ
1-1. példa: Egy ember kecskét, káposztát és farkast visz magával. Egy folyóhozér, ahol nincs híd csak egy kis csónakot talál, amelybe rajta kívül már csak egy dolog fér. Hogyan tud a folyón úgy átkelni, hogy se a farkas ne falja fel a kecskét, se a kecske a káposztát, ami akkor következne be, ha ezek felügyelet nélkül együtt maradnának? Reprezentálja a fenti feladatot keresési feladatként, tehát adja meg a le-hetséges állapotokat (az állapotteret pl. keresési faként), az operátoro-kat és a céltesztet!
Megoldás: állapotok leírása: 4-elemű 1-0-s vektor → pl.: (1,0,1,1), ahol 1. elem: ember és a csónak helyzete;2. elem: kecske helyzete;3. elem: káposzta helyzete;4. elem: farkas helyzete; az 1-es a kiinduló oldalt, a 0 a túlpartot jelenti.
induló állapot: (1,1,1,1) célállapot: (0,0,0,0) operátor: a vektor max. 2 elemének modósítása.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 4/46
A keresési fa, a nem megengedett állapotok áthúzva:
= tiltott állapot
= már bejárt áll.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 5/46
1-2. példa: Adott a következő alaprajz, amelyben a vonalak falakat, a nyílások aj-tókat jelölnek. A legbelső szobában levő lakó szeretné megtalálni a kijá-ratot. Reprezentálja a keresési feladatot! Egészítse ki a reprezentációt úgy, hogy feltesszük, a lakó a legkevesebb szoba érintésével szeretne kijutni!
Megoldás: állapotok: az aktuális helyzetet a sor- és oszlopsorszám megadásával
jelöljük → (2,1) kezdő állapot → (1,1)-es szoba célállapot: kijutott az épületből → (kinn van) operátor: átmegy a másik szobába, vagy a szabadba költség: egységnyi költség egy-egy átlépés
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 6/46
A keresési fa (részlete):
További lehetőségek: = ajtók a szobák közé → plusz költség → cél: minimális költség; = módosítani a kezdő állapotot.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 7/46
2. KERESÉSI ELJÁRÁSOK
2.1 Nem-informált (vak) keresési eljárások
2-1. példa: Adott az alábbi fa gráf. Az A jelű csomópont-ból szeretnénk eljutni a H jelű csomópontba. Írja fel a meglátogatott csomópontokat sor-rendben, ha a a) keresési stratégia a szélességben előszörkeresés, és az azonos szinten található cso-mópontokat balról jobbra terjesztjük ki!b) keresési stratégia a szélességben előszörkeresés, és az azonos szinten található cso-mópontokat jobbról balra terjesztjük ki!c) keresési stratégia a mélységben először ke-resés, és az azonos szinten található csomó-pontokat balról jobbra terjesztjük ki!
Megoldás: a) A - B - C - D - E - F - G - H b) A - D - C - B - G - F - E - Hc) A - B - E - C - F - H
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 8/46
2-2. példa: Adott az alábbi fa gráf. Az B jelű csomó-pontból szeretnénk eljutni a G jelű csomó-pontba. Írja fel a meglátogatott csomóponto-kat sorrendben, ha a a) keresési stratégia a szélességben először keresés, és az azonos szinten található cso-mópontokat balról jobbra terjesztjük ki! b) keresési stratégia a szélességben először keresés, és az azonos szinten található cso-mópontokat jobbról balra terjesztjük ki! c) keresési stratégia a mélységben először keresés, és az azonos szinten található cso-mópontokat balról jobbra terjesztjük ki!
Megoldás:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 9/46
2-2. példa: Adott az alábbi fa gráf. Az B jelű csomó-pontból szeretnénk eljutni a G jelű csomó-pontba. Írja fel a meglátogatott csomóponto-kat sorrendben, ha a a) keresési stratégia a szélességben először keresés, és az azonos szinten található cso-mópontokat balról jobbra terjesztjük ki! b) keresési stratégia a szélességben először keresés, és az azonos szinten található cso-mópontokat jobbról balra terjesztjük ki! c) keresési stratégia a mélységben először keresés, és az azonos szinten található cso-mópontokat balról jobbra terjesztjük ki!
Megoldás: a) B - E - A - C - D - F - G
b) B - A - E - D - C - G
c) B - E - A - C - F - H - G
A
B
C D
G F
E
H
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 10/46
2-3. példa: Adott az alábbi gráf. Az A jelű csomópontból szeretnénk eljutni a H je-lű csomópontba. Írja fel a meglátogatott cso-mópontokat sorrendben, ha a a) keresési stratégia a szélességben először keresés és az azonos szinten található cso-mópontokat balról jobbra terjesztjük ki! b) keresési stratégia a szélességben először keresés, az azonos szinten található csomó-pontokat jobbról balra terjesztjük ki! c) keresési stratégia a mélységben először keresés és az azonos szinten található cso-mópontokat balról jobbra terjesztjük ki! d) keresési stratégia a mélységben először keresés és az azonos szin-ten található csomópontokat jobbról balra terjesztjük ki!
Megkötés: a hurok miatt, a már érintett csomópontok felé nem terjeszt-
hető ki a keresés.
Megoldás: a) A-B-C-D-E-F-H b) A-D-C-B-F-E-G-H c) A-B-E-H d) A-D-F-G-H
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 11/46
2-4. példa: Adott az alábbi gráf. Milyen sorrendben jár-ja be a mélységben először keresési stratégi-ával az F-ből a H-t kereső algoritmus a gráfot, ha a keresés során az azonos szinten lévő csomópontok közül mindig a '12 órától' indu-ló, óramutató járásával ellenkező irányba eső csomópontok sorrendjében haladunk?
Hányadik lépésben jutunk el a célba? Mi lesz a bejárási sorrend, ha az irányt az óramutató járásának megfelelőre változtatjuk?
Megoldás:
F-C-A-B-E-H, összesen 6 lépésben (hiszen az F-re is lépnünk kell).
Az irány megváltoztatásával a sorrend a következő:
F-D-A-C-E-H → ez is 6 lépés.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 12/46
2-5. példa: Az ábra szerinti gráfon az A csomópontból az Icsomópontba kell eljutni. Milyen sorrendben kell bejárni a gráfot
a.) szélességi kereséskor, b.) mélységi kereséskor,
ha az óra járásával egyező irányban vá-lasztunk új csomópontot; illetve
c.) szélességi kereséskor, d.) mélységi kereséskor,
ha az óra járásával ellenkező irányban vá-lasztunk új csomópontot?
Már bejárt csomópontot nem lehet ismételten igénybe venni!
Megoldás:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 13/46
2-5. példa: Az ábra szerinti gráfon az A csomópontból az I csomópontba kell eljutni. Milyen sorrendben kell bejárni a gráfot
a.) szélességi kereséskor, b.) mélységi kereséskor,
ha az óra járásával egyező irányban vá-lasztunk új csomópontot; illetve
c.) szélességi kereséskor, d.) mélységi kereséskor,
ha az óra járásával ellenkező irányban vá-lasztunk új csomópontot?
Már bejárt csomópontot nem lehet ismételten igénybe venni!
Megoldás:
a.) A - E - B - D - C - F - G - H - I b.) A - E - D - G - I c.) A - B - E - F - C - D - H - G - I d.) A - B - F - C - H - I
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 14/46
2-6. példa: Adott az alábbi kereső-gráf. Határozza meg a csomópontok bejárásisorrendjét: - szélességben először, jobbról-balra (fekete színnel);
- mélységben először, jobbról-balra (piros színnel);- mélységben korlátozott (d=2) b-j-ra keresés esetén (kék
színnel).Megoldás: S
G
1
2 4 3 5
10 9 8 7 6 11
5
6 3
2
1
4
14
12
11
10 7
8
9 13
6
15
16
18
17
1
4
2
3
5
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 15/46
S
G
10 9
7 2 1
8
d=0 szint
d=1 szint
d=2 szint
3 4 6 5 11
12
2-7. példa: Adott az alábbi kereső-gráf. Határozza meg a csomópontok bejárásisorrendjét: -iteratív mélységi kereséssel, balról jobbra.
Megoldás:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 16/46
2-8. példa: Milyen keresési fát épít és milyen sorrendben vizs-gálja a csomópontokat az ábrázolt labirintus bejárása-kor (az azonos szinten levő csomópontokat mindig a fel-balra-le-jobbra sorrendben fejtsük ki!) a) a szélességben először keresés, ha az (1,1) mező-ből indul, és a (4,4) mező a célja?b) a mélységben először kere-sés, ha az (1,1) mezőből indul,és a (4,4) mező a célja?
Megoldás: A már vizsgált csomópontok felé nem terjesztjük ki keresést.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 17/46
2-8. példa: Milyen keresési fát épít és milyen sorrendben vizs-gálja a csomópontokat az ábrázolt labirintus bejárása-kor (az azonos szinten levő csomópontokat mindig a fel-balra-le-jobbra sorrendben fejtsük ki!)
a) a szélességben először keresés, ha az (1,1) mező-ből indul, és a (4,4) mező a célja?b) a mélységben először kere-sés, ha az (1,1) mezőből indul,és a (4,4) mező a célja?
Megoldás: A már vizsgált csomópontok fe-lé nem terjesztjük ki keresést.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 18/46
2.2. Informált (heurisztikus) keresés
2-9. példa: Adott az ábrán látható hálózat, ahol az élekre írt számérték a csomó-pontok közötti valódi távolságot, a csomópontokra írt szám pedig a cso-mópont célponttól (G) „légvonalban mért” legkisebb távolságát jelenti. Milyen fát épít és milyen sorrendben járja be az adott hálózatot S-ből indulva a) a mohó keresés, illet-
ve b) az A* keresés, ha azalkalmazott becslés (he-urisztika) a célponttól mért legkisebb távolság nagysága?
Megoldás: a) A mohó keresés a mindig a becslés alapján rövidebb utat fogja vá-lasztani; a csomópontok sorrendje a következő: 54 – 42 – 25 – 0, ami azösszes megtett valódi távolság tekintetében (71 km) nem optimális.
S
G
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 19/46
b) Az A* keresésnél a választás alapja az ed-dig megtett út és a hát-ralevő út becslésének összege (f(n) = g(n) + h(n)), ahol g(n) értéke az aktuális élekre írt tá-volságok összege, h(n) értéke pedig az aktuális csomópontba írt legki-sebb távolság. A fán a csomópontba írt szám-mal jelzett csomópontok mellé a g(n)+h(n)=f(n) számokkal fölírt össze-get írjuk, ahol mindig a legkisebb érték felé foly-tatódik a fa továbbterjesztése. Természetesen a választás miatt kiter-jesztett csomópontokat itt is tartalmazza az A* által épített keresési fa.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 20/46
b) Az A* keresésnél aválasztás alapja az ed-dig megtett út és a hát-ralevő út becslésénekösszege (f(n) = g(n) +h(n)), ahol g(n) értékeaz aktuális élekre írt tá-volságok összege, h(n)értéke pedig az aktuáliscsomópontba írt legki-sebb távolság. A fán a csomópontba írt szám-mal jelzett csomópontokmellé a g(n)+h(n)=f(n)számokkal fölírt össze-get írjuk, ahol mindig alegkisebb érték felé foly-tatódik a fa továbbterjesztése. Természetesen a választás miatt kiter-jesztett csomópontokat itt is tartalmazza az A* által épített keresési fa.
G
G
S
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 21/46
2-10. példa: Adott egy keresési feladat a háromjegyű számok halmazán (100 és999 közötti számok). A feladat egy tetszőlegesen megadott számból (I-ből) eljutni egy másik megadott számhoz (G-be). A feladat szabályai a következők: I. egy lépés azt jelenti, hogy az adott szám egyik számjegyét eggyel
növeljük vagy eggyel csökkentjük.II. két egymás utáni lépésben nem szabad ugyanazt a számjegyet
módosítani.III. a 9-es számjegyhez nem lehet hozzáadni, a 0-ból nem lehet le-
vonni.IV. nem tehető olyan lépés, amely a tiltott halmazba tartozó számot
állítana elő.A feladat megoldásához az A* algoritmust kell használni. Legyen a h(n) függvény a következőképpen definiálva:
h(n) = |G1-n1| + |G2-n2| + |G3-n3| ahol az aktuális állapothoz tartozó szám számjegyei rendre n1 n2 n3, míg a célállapothoz tartozó szám számjegyei G1 G2 G3.
Rajzolja meg a keresési fát, ha I=567, G=777 és a tiltott számok halma-za: 666,667. Adja meg minden csomópontra a g, h és f függvények ér-tékeit! (g(.) = az adott állapotig tett lépések száma)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 22/46
Megoldás:
5
688
4+3=7
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 23/46
2-11. példa: Adott egy labirintus, jelölje „B1” a kiindulási pontot és „F5” a célpontot. A labirintus egyes négyzetének a távolsága a céltól a Manhattan távolság segítségével számítható. Az egyes négyzetek jósági értékeit úgy képezhetjük, hogy a négyzet Manhattan távolságát 20-ból kivonjuk. a) Eljut-e a célpontba az adott labirintuson a
definiált jósági értékekkel a csúcsramászás algoritmusa?
b) Milyen labirintus esetén nem használható a csúcsramászás algorit-musa?
Megoldás: B1 jósági értéke: M(B1,F5)=|2-6|+|1-5| = 8 → j(B1) = 20-8=12
A1 jósági értéke: M(A1,F5)=|1-6|+|1-5| = 9 → j(A1) = 20-9=11 C1 jósági értéke: M(C1,F5)=|3-6|+|1-5| = 7 → j(C1) = 20-7=13 → (ezt választja) Hasonlóan folytatva a számolást és a lépkedést:
j(C2) = 14 továbblép; j(C3) = 15 továbblép; j(C4) = 16 továbblép; j(B4) = 15, vagy j(C5) = 17 közül ez utóbbit választja; j(D5) = 18 továbblép; j(E5) = 19 továbblép; j(E4) = 18, vagy j(F5) = 20; ez utóbbit választja, és célba ér.
12 11 13
14 12
13
14
16
18 15 17
19 20
15 16
17
18
18
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 24/46
2-12. példa: Az alábbi állapottérnél az ABC betűijelölik a különböző állapotokat, a mellet-tük található szám az állapotok jóságát képviselő értéket adja meg. a.) Adja meg, hogy milyen utat jár be a keresőalgoritmus a csúcsramászás módszerének alkalmazásával, ha az A pontból az N pontba kell eljutni! b.) Változtassa meg valamelyik csomó-pont jósági értékét úgy, hogy a csúcsra-mászás módszere segítségével a fela-dat ne legyen megoldható (a keresés elakadjon)!
Megoldás: az algoritmus mindig a szomszédos csomópontok jóságát vizsgálva, a legjobb (pl. max. értékű) csomópontot választja a következő lépésben.
a.) A(0) - D(5) - I(6) - K(7) - N(8) → ez a max jóságú pont, egyúttal ez volt a célpont is.
b.) Pl., ha a H pont jóságát 8-ra változtatjuk → lokális maximummá válik!
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 25/46
2-13. példa: Az alábbi állapottérnél az ABC betűi jelölik a különböző állapotokat, a hozzájuk tartozó jósági értékeket pedig az alábbi táblázat foglalja össze.
A B C D E F G H I 0 2 3 5 4 7 10 11 9
a) Adja meg, hogy milyen
utat jár be a keresőalgorit-mus a csúcsramászás módszerének alkalmazá-sával, ha az A pontból az H pontba kell eljutni, illet-ve eljut-e a célba!
b) Optimális-e a megoldás és miért (az érintett csomópontok száma alapján dönt-
sük el)? Megoldás: a.) Legjobb jósági értékű pontot választva:
A(0) - C(3) - D(5) - F(7) - I(9) - H(11) b.) Nem optimális, mivel az érintett csomópontok száma = 6.
A legrövidebb út az A-C-E-H lenne.
A
B
C
D
E
F
G
H
I
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 26/46
3. TUDÁSREPREZENTÁCIÓ, KÖVETKEZTETÉS
3.1. Logikai reprezentáció
3-1. példa: Igazolja a következő azonosságokat!
a) (¬A ∨ ¬B) ⇒ (A ∧ B) = (A ∧ B)b) [(¬A ∧ B) ∨ ¬B] ⇒ (A ∨ B) = (A ∨ B)
Megoldás:
a) (¬A ∨ ¬B) ⇒ (A ∧ B) = ¬ (¬A ∨ ¬B) ∨ (A ∧ B)de Morgan szabály alapján: = (A ∧ B) ∨ (A ∧ B) = (A ∧ B)ekvivalens átalakításokat végezve a keresett alakot kaptuk.
b) [(¬A ∧ B) ∨ ¬B] ⇒ (A ∨ B) = ¬[(¬A ∧B) ∨ ¬B)] ∨ (A ∨ B) =¬(¬A ∧ B) ∧ B ∨ (A ∨ B) = (A ∨ ¬B) ∧ B ∨ (A ∨ B) =(A ∧ B) ∨ (¬B ∧ B) ∨ A ∨ B = (A ∧ B) ∨ (False) ∨ A ∨ B =A ∧ (B ∨ True) ∨ B = A ∨ Bekvivalens átalakításokat végezve a keresett alakot kaptuk.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 27/46
3-2. példa: Határozza meg az alábbi logikai mondatok értékét az igazságtábla fel-használásával!
a) (A ∨ B) ⇒ Ab) (A ∨ B) ∧ (A ⇒ C)c) (A ∧ C) ⇒ (¬A ∨ B)
Megoldás:
a) (A ∨ B) ⇒ A
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 28/46
b) (A ∨ B) ∧ (A ⇒ C)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 29/46
c) (A ∧ C) ⇒ (¬A ∨ B)
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 30/46
3-3. példa: Igazolja az igazságtábla segítségével a következő azonosságot!
A ∧ (B ∨ C) = (A ∧ B) ∨ (A ∧ C)
Megoldás:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 31/46
3-4. példa: Adottak a következő premisszák (mondatok):P ∧ ¬Q, P ∨ Q, ¬Q ⇒ R
Igazolja az igazságtáblával, hogy ezek egyik következménye ¬Q !
Megoldás: Legyen Z = (P ∧ ¬Q) ∧ (P ∨ Q) ∧ (¬Q ⇒ R) ekkor Z ⇒ ¬Q minden interpretációban igaz értékű.
A következtetés minden interpretációban igaz, tehát ¬Q következmény.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 32/46
3-5. példa: Ismert a következő TB: kórházban_van ⇒ beteg gyógyszert_szed ⇒ meggyógyul beteg ⇒ gyógyszert_szed idős ⇒ kórházban_van idős
Milyen következményeket állít elő a Modus Ponens következtetési módszer?
idős, idős ⇒ kórházban_van ________________________________________________________________
kórházban_van
kórházban_van, kórházban_van ⇒ beteg ______________________________________________________________________________________________
beteg
beteg, beteg ⇒ gyógyszert_szed __________________________________________________________________________
gyógyszert_szed
gyógyszert_szed, gyógyszert_szed ⇒ meggyógyul ___________________________________________________________________________________________________________________
meggyógyul
Tehát a TB-ból levezethető, hogy 'kórházban_van', 'beteg', 'gyógyszert_szed' 'meggyógyul'.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 33/46
3-6. példa: Alkalmazza a következő tudásbázison a Modus Ponens szabályt új té-nyek előállítására!
Q ⇒ P, ¬P ∨ R, Q
Megoldás: A Modus Ponens alkalmazható az 1., és a 3. mondatra: (Q ⇒ P, Q) → P, tehát P tény; mivel (¬P ∨ R) = (P ⇒ R), így (P ⇒ R, P) → R alapján R is tény.
3.7. példa: Alkalmazza a Modus Ponens szabályt új tények előállítására, ha a tu-dásbázis a következő:
A ⇒ B, B ⇒ C, C ⇒ D.
Megoldás: Mivel nincs tényállítás a TB-ban, tegyük fel, hogy A tény. Ekkor (A ⇒ B, A) → B, azaz B tény; így (B ⇒ C, B) → C is tény, valamint (C ⇒ D, C) → D is tény. De tény: A ⇒ C, A ⇒ D, B ⇒ D is.
B, C, D mondatok csak A igaz volta esetén igazak.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 34/46
3-8. példa: Adott a következő tudásbázis: A ∨ B, ¬B ∨ C, A ∨ ¬C Igazoljuk a rezolúció módszerével, hogy A következik ebből a tudás-bázisból!
Megoldás: a bizonyítandó állítás tagadottját bevesszük a TB-ba; ha a rezolúció
módszerével így ellentmondásra jutunk, akkor az eredeti állítás igaz értékű. 1. Tegyük fel ¬A is része a TB-nak.
2. (¬A, A ∨ B) → B tény
3. (B, ¬B ∨ C) → C tény
4. (C, A ∨ ¬C) → A tény, viszont 5. (¬A, A) → ellentmondás! Tehát A igaz értékű és következik a TB-
ból.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 35/46
3-9. példa: Adott a következő tudásbázis: A ⇒ B, ¬C ⇒ B, A ∨ ¬C A rezolúció módszerét alkalmazva, vizsgáljuk meg, hogy következik-e mindebből B?
Megoldás: A rezolúció alkalmazásához a TB elemeit klóz alakra kell alakítani.
1. A ⇒ B → ¬A ∨ B 2. ¬C ⇒ B → C ∨ B 3. A ∨ ¬C 4. tegyük fel ¬B is eleme a TB-nak. 5. (¬B, ¬A ∨ B) → ¬A (4),(1) alapján, 6. (¬A, A ∨ ¬C) → ¬C (5),(3) alapján, 7. (¬C, C ∨ B) → B (6),(2) alapján, 8. (B, ¬B ) → ellentmondás! (7),(4) alapján. Tehát a feltételezés hamis, így B következménye a TB-nak.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 36/46
3-10. példa: Adott a következő TB: Fáradt ⇒ ¬Kocog kocog ⇒ Egészséges ¬egészséges ⇒ fáradt ¬kocog ⇒ ¬Szomjas ¬szomjas ⇒ ¬Iszik iszik
Bizonyítsuk be rezolúció segítségével, hogy az 'egészséges' következmény!
A TB-t a jelöléseknek megfelelően átírva és átalakítva klóz formába, kapjuk: (1) F ⇒ ¬K ¬F∨¬K (2) K ⇒ E ¬K∨E E∨¬K (3) ¬E ⇒ F E∨F E∨¬S (4) ¬K ⇒ ¬S K∨¬S E∨¬I (5) ¬S ⇒ ¬I S∨¬I E (6) I I ⊥ (7) bizonyítandó: ¬E
Tehát a rezolúció ellentmondásra jutott, így (7) hamis, azaz 'egészséges' igaz.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 37/46
3-11. példa: Adott a következő tudásbázis: Kutyatulajdonos ⇒ ÁllatimádóÁllatimádó ⇒ ¬Macskát_öl János ⇒ Kutyatulajdonos János ∨ Bodri ⇒ Macskát_öl
Határozza meg a rezolúciós következtetési szabály segítségével, hogy a „Bodri ⇒ Macskát_öl” következmény!
Megoldás: A rezolúcióhoz a TB elemeit klóz alakra kell hozni és a bizonyítandó állítás tagadottját, azaz ¬(B ⇒ M) -t hozzáfűzzük a TB-hoz.
(1) K ⇒ A → ¬K ∨ B(2) A ⇒ ¬M → ¬A ∨ ¬M(3) J ⇒ K → ¬J ∨ K(4) (J ∨ B) ⇒ M → ¬( J ∨ B) ∨ M = (¬J ∧ ¬B) ∨ M = (¬J ∨ M) ∧ (¬B ∨ M)
(4a) → (¬J ∨ M)(4b) → (¬B ∨ M) a logikai ÉS miatt (4) szétbontható
(5) ¬(B ⇒ M) → ¬(¬B ∨ M) = B ∧ ¬M(5a) → B(5b) → ¬M
*
Ekkor (¬M, ¬B ∨ M) → ¬B (4b),(5b) alapján; és ez ellentmondásra ve-zet (5a) miatt. Tehát a „Bodri ⇒ Macskát_öl” következmény!
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 38/46
4. BIZONYTALANSÁGKEZELÉS
4.1. Valószínűségi bizonytalanság 4-1. példa: A savanyú szőlő és az érett szőlő logikai mondatok együttes valószí-
nűségi eloszlását az alábbi táblázatban foglaltuk össze. Határozza meg a következő mondatok valószínűségi értékét!
a) savanyú és érett szőlő b) nem savanyú vagy érett szőlő c) savanyú szőlő d) nem savanyú feltéve, hogy érett Megoldás: A valószínűségi eloszlást ábrázoló táblázatban szereplő értékek a megfelelő mon-datok együttes bekövetkezésére, (ÉS) kapcsolatára vonatkoznak. a) Tehát a P(savanyú ∧ érett szőlő) = 0,1 valószínűségi értékkel rendelkezik.
savanyú ~savanyú érett 0,1 0,3 ~érett 0,4 0,2
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 39/46
b) A VAGY kapcsolat a benne szereplő mondatok oszlopában, sorában megtalál-ható valamennyi valószínűségi érték összegeként adódik, de minden elemet csak egyszer számítunk be az összegbe. P(¬savanyú ∨ érett) = (0,3 + 0,2) + (0,1 + 0,3) = 0,6
c) Egy mondat valószínűsége a rá vonatkozó valószínűségek összege, azaz
P(savanyú) = 0,1 + 0,4 = 0,5
d) A feltételes valószínűség a teljes valószínűségi teret leszűkíti a feltételben sze-
replő állításra vonatkozó valószínűségekre. Mivel, általánosan: P(A|B) = P(AB)/P(B), így (A ÉS B) együttes valószínűségét viszonyítjuk B valószínűsé-géhez. Tehát:
P(tétel|feltétel) = P(tétel ∧ feltétel) / P(feltétel) azaz P(¬savanyú | érett) = P(¬savanyú ∧ érett) / P(érett) = 0,3 / (0,1 + 0,3) = 0,75
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 40/46
4-2. példa: Legyenek egy tudásbázis logikai mondatai, tényei: lány, szőke, szép ! Az alábbi táblázat tartalmazza ezen mondatok együttes valószínűsé-gi eloszlását. Határozza meg a következő mondatok valószínűségét!
a) Szép, szőke lány b) ¬Lány és szőke c) Szőke, vagy ¬szép d) (Lány és szőke), vagy szép e) Szép feltéve, hogy szőke f) ¬Lány és szőke feltéve, hogy ¬szép Megoldás: a) P(szép ∧ szőke ∧ lány) = 0,2 b) P(¬lány ∧ szőke) = (0,1 + 0,2) = 0,3 c) P(szőke ∨ ¬szép) = ((0,2 + 0,1) + (0,1 + 0,1)) + ((0,1 + 0,2) + (0,2 + 0,1)) = 0,8
Mindkét táblázatot figyelembe kell venni.
lány szép ~szép szőke 0,2 0,1 ~szőke 0,1 0,1
~lány szép ~szép szőke 0,1 0,2 ~szőke 0,1 0,1
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 41/46
d) P((lány ∧ szőke) ∨ szép) = (0,2 + 0,1) + (0,2 + 0,1 + 0,1 + 0,1) = 0,6 e) P(szép | szőke) = P(szép ∧ szőke) / P(szőke) =
= (0,2 + 0,1) / ((0,2 + 0,1) + (0,1 + 0,2)) = 0,5 f) P((¬lány ∧ szőke) | ¬szép) = P(¬lány ∧ szőke ∧ ¬szép) / P(¬szép) =
= 0,2 / ((0,2 + 0,1) + (0,1 + 0,1)) = 0,4 4-3. példa: Legyenek egy tudásbázis logikai mondatai: zajos, piszkos, rendezett!
Az alábbi táblázatok tartalmazzák ezen mondatok valószínűségi el-oszlását. Határozza meg a következő mondatok valószínűségét!
a) zajos feltéve, hogy piszkos vagy nem rende-
zett b) piszkos és zajos feltéve, hogy rendezett c) nem rendezett feltéve, hogy zajos
rendezett zajos ~zajos piszkos 0,1 0,05 ~piszkos 0,05 0,2
~rendezett zajos ~zajos piszkos 0,3 0,15 ~piszkos 0,05 0,1
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 42/46
Megoldás: a) P(zajos | (piszkos ∨ ¬rendezett)) =
= P(zajos ∧ (piszkos ∨ ¬rendezett)) / P(piszkos ∨ ¬rendezett) = = (0,1 + 0,3 + 0,05) / ((0,1+0,05+0,3+0,15)+(0,3 + 0,15 + 0,05 + 0,1)) = = 0,45 / 0,75 = 0,6
b) P((piszkos∧zajos) | rendezett) = P(piszkos∧zajos∧rendezett)/P(rendezett) =
= 0,1 / (0,1 + 0,05 + 0,05 + 0,2) = 0,25
c) P(¬rendezett | zajos) = P(¬rendezett ∧ zajos) / P(zajos) = = (0,3 + 0,05) / ((0,1 + 0,05) + (0,3 + 0,05)) = 0,35 / 0,5 = 0,7
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 43/46
4.2. Fuzzy bizonytalanságkezelés 4-4. példa: A közlekedési lámpák szabad jelzését a forgalom nagyságától (azaz
adott ponton időegység alatt áthaladó autók számától - sebességé-től) és a lámpáknál várakozó autók számától teszik függővé. Hogyan szabályozható a forgalom, a járművek átlagsebessége a várakozó autók függvényében?
Megoldás: a.) A várakozó autók száma fuzzy halmazai:kevés, sok, nagyon sok a db szám
függvényében:
kevés sok nagyon sok
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 44/46
b.) A forgalom nagysága fuzzy halmazai: alacsony, közepes, magas az elérhető átlagsebesség ([km/ó]) függvényében:
alacsony közepes magas
c.) Tudásbázis szabályhalmaza:
1. ha az autók száma kevés, akkor a forgalom alacsony; 2. ha az autók száma sok, akkor a forgalom közepes; 3. ha az autók száma nagyon sok, akkor a forgalom magas.
d.) Milyen átlagsebesség várható 280 autónál?
A 280 db autó két fuzzy halmazt is érint: a 'kevés' és a 'sok' halmazt. Az első tagsági értéke: ≈ 0,15; a másodiké: ≈ 0,45. Ez azt jelenti, hogy a TB 1. és 2. szabálya is tüzel:
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 45/46
1. ha az autók száma kevés, akkor a forgalom alacsony; 2. ha az autók száma sok, akkor a forgalom közepes;
A két, forgalmi halmazt 0,15-ös (alacsony forgalom), illetve 0,45-ös (közepes forgalom) szinten metszi a következő ábrának megfelelően:
közepes alacsony forgalom Ha a defuzzifikáláshoz (a sebesség meghatározásához) a CoA (Center of Area) módszert használjuk, akkor kb. 43 [km/ó] sebességet kapunk eredmé-nyül.
Cserny L.: Mesterséges intelligencia, 2018/2019-2 GY01- 46/46
KÖVETKEZŐ ALKALOMMAL:
VIZSGA