Mesterséges Intelligencia Könyv (2000, 110 oldal)

Embed Size (px)

Citation preview

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    1/111

    Mi a MI?Avagy a mestersges intelligencia tmakre, clkitzsei

    A mestersges intelligencia (MI) a szmtstudomnynak az a rsze, amely intelligensrendszerek kifejlesztsvel foglalkozik.

    Az MI pontos fogalmn, definilhatsgn vitznak a mestersges intelligencival foglalkozszakemberek. A legtbbjk ms-mst rt rajta.

    ltalban a mestersges intelligencia olyan feladatok szmtgpes megoldst tzi ki clul,amelyek - ha ember oldja meg ket, intelligencit ignyelnek. Olyan feladatok tartoznak ide,amelyek ltalban nem rendelkeznek fix megold mechanizmussal, hanem szerepet kap a prblkozs s az azt irnyt emberi szakrtelem s intuci. Ilyen problmk pldul asakkozs, matematikai ttelek bebizonytsa, fordts egyik nyelvrl a msikra, alakzatok s

    emberi beszd felismerse, orvosi diagnzis kidolgozsa, stb.Az MI fontosabb rszterletei

    A mestersges intelligencia kt legalapvetbb tmakre atuds-brzols(tuds-reprezentci) s akeress. Az els tmakr avval foglalkozik, hogy mi mdon lehet egyadott trgykrrl szerzett ismereteket brzolni olyan szerkezetben, amely a trgykrbenfelmerl feladatok szmtgpes megoldst megknnyti.

    A keress olyan problmamegold technika, amely szisztematikusan felderti a problmallapotainak tert, vagyis a problma megoldsa sorn add egymst kvet vagy alternatvlehetsget nyjt llomsokat. A feladat llapottere klnbz jtkllsokat tartalmazhat,ha valamely jtkrl van sz, vagy klnbz kvetkeztetsi lpseket, ha egy kvetkeztetsieljrst vizsglunk. Ebben a trben keressk a feladat vgs megoldst. Newell s Simonszerint lnyegben ilyen az emberi problmamegolds is. Valban, amikor egy sakkozvgiggondolja a klnbz lpsek lehetsges hatst vagy egy orvos vlaszt az alternatvdiagnzisok kzl, akkor a szba jhet lehetsgek kztt keresnek.

    Ahogy ms tudomnyterleteknek is, a mestersges intelligencinak is klnbzrszterletei vannak. A kvetkezkben ezekrl adunk rvid ttekintst.

    1. Jtkelmlet A korai MI kutatsok nagy rsze a tbls jtkokra (sakk, kiraks jtk (puzzle), tic-tac-toe(amba), stb.) irnyult. Amellett, hogy ezek intellektulis jtkok, azrt is vltak a kutatsok f clpontjv, mert ezeket a jtkokat jl definilt szablyok jellemzik, amelyek alapjnknnyen fel lehet pteni a keressi teret. A klnbz tbls jtkok llsait knnyszmtgppel brzolni, nem kellenek hozz sszetett formalizmusok. Az elkszlt programok egyszeren tesztelhetek, gy megvalstsuk nem jelent klnsebb anyagimegterhelst.

    A jtkokhoz sokszor hatalmas keressi tr tartozik. Ezrt rdemes olyan technikk utn

    kutatni, amelyek hatkonyan tudnak keresni ebben a trben. Ezek az gynevezett heurisztikuskeressek. Aheurisztikaegy j, vagy jnak tn tlet, amely segtsgvel a keressi trnek

    http://e/MestInt/tudas.htmhttp://e/MestInt/vezerles.htmhttp://e/MestInt/felrepr.htm#allapothttp://e/MestInt/jatek.htmhttp://e/MestInt/felrepr.htmhttp://e/MestInt/felrepr.htmhttp://e/MestInt/prodrend.htm#heurisztikahttp://e/MestInt/tudas.htmhttp://e/MestInt/vezerles.htmhttp://e/MestInt/felrepr.htm#allapothttp://e/MestInt/jatek.htmhttp://e/MestInt/felrepr.htmhttp://e/MestInt/prodrend.htm#heurisztika
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    2/111

    csak egy gretesnek tn rszt jrjuk be, cskkentve evvel a keressek szmt, vagyisnvelve a keress hatkonysgt. Az emberi problmamegolds sorn is az intelligensnek tartott megoldsok j tleteket, heurisztikkat tartalmaznak.

    Termszetesen a heurisztika csak akkor nveli a hatkonysgot, ha valban j tlet s

    segtsgvel valban az gretes utakat jrjuk be. Ahhoz, hogy ilyen ragyog tletek eszkbe jussanak, ltalban szksgnk van az adott trgyterleten szerzett tapasztalatokra. Mivel a jtkok tern a legtbb ember rendelkezik valamicske tapasztalattal s a heurisztikk kialaktsa nem ignyel klnleges szaktudst, ez a tny ismt vlaszt ad arra, hogy mirt isezen a terleten indult el elszr a heurisztikus keressi stratgik kutatsa.

    2. Automatikus kvetkeztets s ttelbizonyts

    A mestersges intelligencia msik legrgibb ga az automatikus ttelbizonyts. Alaptletevisszanylik egszen Russell s Whitehead szzad eleji munkssgig, akik az egszmatematikt gy tekintettk, mint ttelek alapaximkbl val formlis levezetst.

    Az automatikus ttelbizonytsok zme alogikaszigorn s ltalnossgn alapszik.Formalitsbl ereden a logika knlja az automatizlst. Problmk szles kre oldhatmeg gy, hogy a problmalerst s a lnyeges httrinformcikat logikai aximknak tekintjk, a megoldand feladatot pedig bizonytand ttelnek.

    Sajnos, a kompliklt problmkat kvetkezetesen megold rendszer megalkotsra vonatkozksrletek nem rtk el cljukat, mivel egy mg sszeren komplex logikai rendszer is kpesvolt vgtelen sok bizonytand ttelt generlni. Mivel nem voltak hatkony heurisztikuskeres eljrsok, ezrt a ttelbizonyt rengeteg flsleges ttelt bizonytott be, mieltt vgl

    belebotlott a tnylegesen bizonytand lltsba. Ezek a tapasztalatok arra utaltak, hogygyakorlatilag lehetetlen ilyen hatalmas teret pusztn formlis, szintaktikus mdszerekkelkezelni, s az egyetlen kivezet t, megtallni azokat az informlis, ad hoc stratgikat,amelyeket gy tnik, az ember is hasznl a problmamegolds sorn. Ezek az elkpzelsek vezettek aszakrti rendszerek fejlesztshez.

    A fentiek ellenre a formlis matematikai logikn alapul kvetkeztetsek elg ersek ahhoz,hogy csak gy egyszeren mellzhetnnk ket. Sok problma - pl. logikai ramkrk tervezse s tesztelse, szmtgpes programok helyessgnek bizonytsa, komplexrendszerek ellenrzse - kezelhet ilyen mdon. Tovbb menve, ma mr a ttelbizonyteljrsok rendelkeznek hatsos heurisztikkkal, melyek gyorstjk az eljrst.

    Bvebben pl.[FGN], [LS].

    3. Szakrti rendszerek

    A problmamegold mdszerek kutatsa hamar elvezetett annak felismersre, mennyirefontos, hogy milyen terletrl szrmazik a megoldand problma. Nem ltalnos problmamegold mdszerekre, hanem egy-egy konkrt szakterletre vonatkoz tuds,ismeret feldolgozsra van szksg. Az emberi szakrt is a sajt szakterletn tud biztonsgosan dolgozni. Egy orvos, vagy geolgus nemcsak az adott szakterletre vonatkozelmleti s gyakorlati tudssal rendelkezik, hanem sok, a tapasztalatain alapul intucival is.A szakrti tuds a problma elmleti feldolgozsnak s heurisztikus problmamegoldszablyok gyjtemnynek kombincija. A szakrti rendszereket arra ksztettk, hogy az

    http://e/MestInt/logika.htmhttp://e/MestInt/szakert.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/szakert.htmhttp://e/MestInt/szakert.htmhttp://e/MestInt/logika.htmhttp://e/MestInt/szakert.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/szakert.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    3/111

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    4/111

    Szk szkinccsel, egyrtelm szablyokkal felptve tudtak teht beszdfelismer-, illetvefordtprogramokat csinlni, a teljesen ltalnos beszdfelismer ltrehozsa azonban komolynehzsgekbe tkzik - hogy csak egy nehzsget emltsek, meg kell tudni oldani pl. atbbrtelmsg kezelst.

    A beszdfelismer rendszereknek a nyelvi elemzsen kvl a kiejts megrtse is komoly problmt okoz.

    A szavakat megrt rendszer megalkotsa valamivel egyszerbb, mint a folyamatos beszdfelismer, hiszen a szavak kiejtse vltozhat attl fggen, hogy milyenszvegkrnyezetben hasznljk ket. A szavak felismerse leegyszerstve gy trtnik, hogy bizonyos szavak akusztikai mintibl ltrehoznak egy sztrat, majd ennek a sztrnak aszavaival hasonltja ssze a rendszer a felismerend szavakat. Mivel a kiejts egynenkntvltozhat, ezrt egyszerbb egy konkrt szemly beszdt felismer rendszert kszteni. Azegyni beszdhangok felismersre trningknt beolvastatjk az illet szemllyel azalapsztrt.

    Bvebben pl.[LS].

    5. Ltsmodellezs

    A beszdfelismershez hasonlan a kpek felismerse is komoly kihvst jelent aszmtgpes szakemberek szmra. Olyan rendszereket prblnak ltrehozni, amelyek kpesek egyes objektumok felismersre, klnbsget tudnak tenni kis eltrssel rendelkezkpek kztt.

    A kutats mr a 40-es vekben elkezddtt, ebbl fejldtt ki a mintailleszts, illetve azalakfelismers elmlete. Bvebben pl.[W].

    6. Robotika

    Komoly kutatsok folynak olyan programok ltrehozsra, amelyek robotokat mkdtetnek.Kln vizsglatokat vgeznek arra vonatkozan, hogyan lehet egy adott feladatbanoptimlisan mkdtetni (mozgatni) egy robotkart, illetve hogyan kell megtervezni a clelrse rdekben vgrehajtand cselekvsek sorozatt.

    A tervezs egyik emberi mdszere a problma-redukci, vagyis a problmk rszproblmkra bontsa. Ezt a gondolkozsmdot azonban nem knny szmtgpre vinni. Ahhoz, hogy afeladatot egymstl fggetlen rszproblmkra bonthassuk, sokszor heurisztikkatalkalmazunk, illetve felhasznljuk az adott terletre vonatkoz tudsunkat. Ennek szmtgpes megvalstsa nem egyszer feladat.

    Napjainkban egyre tbb helyen hasznljk fel a robotika eredmnyeit. Elssorban az iparbanalkalmazzk a robotokat. A legtbb robot vak, de vannak olyanok is, amelyeket kamervalszerelnek fel (azaz lt robotok), gy a kpi informcikat is tudja tovbbtani egyszmtgpnek.

    A legltvnyosabb alkalmazsok kz tartoznak az rkutats-beli alkalmazsok, mint pl. alegfrissebbek egyike, a Mars-jr.

    http://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/redukcio.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/redukcio.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    5/111

    Bvebben pl.[LS], [Sch], [W].

    7. Mestersges intelligencia nyelvek

    A mestersges intelligencia kutatsok egyik legfontosabb mellktermke a programozsinyelvek fejlesztse. A mestersges intelligencit alkalmaz programok mrete, az a tendencia,hogy a keres algoritmusoknak hatalmas keressi tereket kell feldertenie, az az elvrs, hogyheurisztikkat lehessen bepteni a programokba, mind-mind arra sztnzte, az MI kutatkat,hogy hatkony programozsi metdusokat fejlesszenek ki.

    Ezek a fejlesztsek vezettek az MI nyelvek kialaktshoz, melyek kzl a legismertebbek aLISPs aPROLOG.

    8. Gpi tanuls

    Az emberi intelligencia egyik leglnyegesebb jellemzje, hogy kpes j ismeretek befogadsra, rgebbi ismeretek korriglsra, vagyis tanulsra. Nagy jelentsg lenneennek szmtgpes megvalstsa. Rgta clja a mestersges intelligencival foglalkozkutatknak, hogy olyan szmtgpes rendszert fejlesszenek ki, amely tanthat a programozhatsg helyett. Tbb rdekes ksrletet ismernk erre vonatkozan, olyanrendszereket, amelyek pldk alapjn tanulnak, olyanokat, amelyek kls tant segtsgtveszik ignybe, stb. Bvebben ld. pl.[LS], [W].

    9. Neurlis hlzatok

    A neurlis hlzatok elnevezs eredete az emberi agy idegsejtjeinek, neuronjainak

    hlzatos elrendezdsbl ered. Mr az 50-es vekben, jrszt biolgiai kutatsok eredmnyeknt merlt fel az a gondolat, hogy a termszetes, biolgiai neurlis hlzatok mintjra is ltrehozhatk szmtgpes rendszerek. Ezek a rendszerek a feladatot nemalgoritmikusan oldjk meg, hanem a termszettl ellesett mdon mintkbl, pldkbl nyerttapasztalatok felhasznlsval, tanuls tjn kialaktott feladatmegold kpessggel. Emestersges neurlis rendszerek felptskben is sok hasonlsgot mutatnak a biolgiairendszerekkel; sok, egymssal nagymrtkben sszekttt elemi mveletvgz egysgblllnak, melyek prhuzamos mkdsk rvn bonyolult feladatok gyors megoldsra iskpesek lehetnek.

    Az tvenes vek vgn kezddtt a neuronhlk modellezse, de a korabeli technikaifelttelek nem tettk lehetv a modellek hatkony felptst, alkalmazst. (Br mr a koraikutatsi eredmnyeket is alkalmaztk a gyakorlatban - pl. a 60-as vekben atelefonkszlkek adaptv zajszrsnl.) A technika gyors fejldse lehetv tette, hogy a80-as vek vgtl jra eltrbe kerljn a neurlis hlk kutatsa.

    1988-ban L.Chua s L. Yang professzorok, a Berkeley egyetem kutat laboratriumbanfelfedeztek egy j elektronikus szmtsi mdot, a cellulris neurlis hlzatot (CNN -Cellular Neural Network). Ez egy olyan szablyos geometriai rcs, amely kis analg elemek -elektronikus szmol ramkrk - loklisan kis tvolsgban sszekapcsolt hlzata. Az elsCNN elv chip 1 cm2-en 300 millird mveletet vgez msodpercenknt. Felptse hasonla legtbb rzkszerv anatmijhoz.

    http://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/minyelv.htmhttp://e/MestInt/lisp.htmhttp://e/MestInt/prolog.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/mitort.htm#neuronhttp://e/MestInt/mitort.htm#neuronhttp://e/MestInt/irodalom.htmhttp://e/MestInt/minyelv.htmhttp://e/MestInt/lisp.htmhttp://e/MestInt/prolog.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/mitort.htm#neuron
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    6/111

    Ekzben Roska Tams (MTA SZTAKI) Berkeley-ben azt kutatta, hogyan lehet kt szmtsidiszciplnt, az idkzben kifejlesztett neuro- s a korbbi digitlis szmtgpeket analg-digitlis talakts nlkl kombinlni.

    Chua s Roska professzorok 1992-ben megalkottk a CNN univerzlis s szuperszmtgp

    chip architektrt, amely az els trolt program tmbszmtgp. Ennek egy CNN egysgesajt analg memrival s logikval rendelkez kis szmtgp.

    Frank Werblin, a retina vilghr szakrtje vetette fel azt a gondolatot, hogy a CNNuniverzlis chippel utnozni lehetne a retint, mgpedig programozhat mdon. HmoriJzsef akadmikus - az MTA ltal tmogatott neurobiolgiai kutatcsoportjval - ki isdolgozott nhny CNN modellt a ltrendszer egyes rszeire.

    A neurlis hlzatok modelljei hagyomnyos szmtgpeken is futtathatk. Ezek olyanalgoritmusok, amelyek a kzponti idegrendszer kutatsa sorn elrt eredmnyeken alapulva agpi tanulst teszik lehetv. Ez egy tbb egysgbl ll hlzat, amelyben mindegyik egysgviszonylag egyszer feladatot hajt vgre: jeleket fogad szomszdos neuronoktl vagy klsforrsbl, amiket felhasznlva meghatrozza aktivitst s tovbbtja azt ms neuronok fel.A rendszer prhuzamosan mkdik abban az rtelemben, hogy tbb egysg szmtsaikszlnek el nagyjbl egy idben. A neurlis hlzatokat ezrt szoktk PDP-knt (ParallelDistributed Processing - Prhuzamosan Elosztott Feldolgozs rendszerek) is emlegetni.

    Bvebben ld. pl.[LS].

    10. Az emberi tevkenysg modellezse

    Br a legtbb MI kutatsi terlet az emberi intelligencit veszi kiindulsi pontknt, de amegvalsult programok nagy rsze nem ember szeren mkdik, vagyis nem kvetiszorosan az emberi gondolkodsmdot, az emberi elme problmamegold gondolkodst. Hacsak az emberi tevkenysg merev kvetse lenne a cl, a legtbb MI program nem lenneolyan hatkony, mint amilyen most. (A vilgbajnok sakkprogram is inkbb az erejvel, mintaz eszvel gyztt.- ld.a sakkvilgbajnok programrl alkotott vlemnyt)

    Ugyanakkor az emberi problmamegoldst pontosan (vagy inkbb minl pontosabban) kvetmodellek tervezse termkeny kutatsi terletet jelent mind a mestersges intelligencia, minda pszicholgia szmra.

    Az emberi feladatmegolds modellezse amellett, hogy az MI legtbb alapvetmdszertannak kialakulshoz vezetett, nagyon hasznosnak bizonyult az emberigondolkods, megismers folyamatnak formalizlsban s tesztelsben, gy nagymrtkben hozzjrult a kognitv pszicholgia fejldshez. A szmtgpes szakemberek ltal kifejlesztett problmamegold mdszerek j lehetsget adtak a pszicholgusoknak arra,hogy az emberi agyat szmtgpes kifejezsek krbl vett hasonlatokkal prbljk lerni,modellezni. Ez nem csak arra j, hogy jabb sztrunk legyen az emberi intelligencialershoz, hanem arra is, hogy ezeket az elmleteket szmtgpes implementcikkal lehettesztelni, kritizlni, mdostani.

    Bvebben ld. pl.[A],[LS], [M1],[Pe],[SFG].

    http://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/sakk.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/sakk.htmhttp://e/MestInt/irodalom.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    7/111

    A teljessg ignye nlkl soroltuk fl a legfontosabb rszterleteket. Vgezetl szeretnmmegemlteni, hogy a mestersges intelligencia fejlesztse filozfiai problmkat is felvet, gya filozfusokat sem hagyja munka nlkl.

    Ilyen krdsek pldul, hogy egyltaln, mi is az intelligencia, mit tekintnk intelligens

    viselkedsnek s hogyan lehet lerni azt. Mi a tuds termszete? Lehet reprezentlni a tudst?Mit jelent a gyakorlottsg, tapasztalat? Hogyan kapcsoldik egy adott alkalmazsi terletrevonatkoz tuds az ezen a terleten alkalmazott problmamegold szoksok-kal?

    Az MI alkalmazsi terletek is felvetnek szmos mly filozfiai krdst. Milyen rtelembenmondhatjuk pldul azt, hogy egy szmtgp megrti a termszetes nyelvi kifejezseket?Ahhoz, hogy egy nyelvet megrthessnk, szimblumokat kell rtelmeznnk. Nem elgazonban a formlis rtelmezs - a vizsglt szvegeknek jelentstartalma is van. Mit rtnk ezen? Mi a jel s a jelents?

    Ilyen s szmtalan hasonl krds foglalkoztatja az MI filozfijval foglalkoz tudsokat,laikusokat.

    Bvebben pl.[LS], [Pe], de ki-ki sajt maga is elgondolkozhat hasonl krdseken.

    Feladatreprezentci

    Az ember nap mint nap valamilyen problma megoldsra knyszerl. Mit is jelent megoldaniegy feladatot?

    A megoldand problma egy, az adott problmakrrel kapcsolatos vilgot, krnyezetethatroz meg az ember krl. Ez a vilg minden pillanatban valamilyen llapotban van. Azltalunk elkpzelt eredmnyt nevezzk clllapotnak. Ilyen megkzeltsben a feladatot akkor tekinthetjk megoldottnak, ha a pillanatnyi llapot s a clllapot megegyezik, vagylegalbbis nincs kztk szmunkra fontos klnbsg. A feladatmegolds pedig azt jelenti,hogy keressk azt a mveletsorozatot, amely segtsgvel a kezdllapotbl a vgllapotba juthatunk. Ezt a mveletsort a problma egy megoldsnak nevezzk. A mestersgesintelligenciban problmamegolds alatt mindig ennek a mveletsorozatnak a meghatrozstrtjk.

    Ahhoz azonban, hogy egy feladatot jl s hatkonyan tudjunk megoldani, fontos, hogy magta feladatot, a feladathoz tartoz vilgot jl s pontosan tudjuk lerni. Ezt nevezzk a feladatspecifiklsnak.

    A hagyomnyos programozsi feladatok megoldsa is a feladatspecifikcival kezddik. Haszablyosan jrunk el, akkor elszr megadjuk a feladat llapottert, amelyen ltalban azsszes lnyeges adatszerkezet elfordul rtkeinek halmazt rtjk. Ezutn megadjuk, hogyezen llapottr elemei kzl melyek a kiindul llapotok, majd definiljuk a clllapotok halmazt. Az adatszerkezeteken rtelmezett mveleteket ltalban nem adjuk meg kln,mivel ezek a gyakran hasznlt adattpusok szoksos mveletei.

    http://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    8/111

    Az MI feladatok megoldst is specifikcival kezdjk, itt azonban sokszor nagyon specilismveleteket hasznlunk, ezrt itt a specifikciban az llapottren rtelmezett mveleteket ismegadjuk. A specifikci magban foglalja az rtelmezsi tartomnyokat, azaz a mveletek vgrehajthatsgnak feltteleit is. Olyan is elfordulhat, hogy a mveletekhez klnbzvgrehajtsi kltsgeket is rendelnk. Ebben az esetben ezeknek a kltsgeknek a megadsa is

    a specifikci rsze.Az elzekben vzolt feladatspecifiklst a mestersges intelligenciban llapottr-reprezentcinak nevezzk.

    Az llapottr-reprezentcit irnytottgrf okkal szemlltetjk. A grf cscsai az egyesllapotoknak, az irnytott lek pedig az alkalmazhat mveleteknek felelnek meg. Akezdllapotnak a grf startcscsa, a clllapotoknak a clcscsok halmaza felel meg. Ezt agrfot reprezentcis grfnak nevezzk. Ez sokszor nagy mret, esetleg vgtelen, ezrt vagynem clszer, vagy nem is lehet explicit mdon flrajzolni, hanem csak implicit mdonmegadni. A grf azonban roppant szemlletes eszkz a megold algoritmusok ltrehozsban.Egy ltalnos grfban sokszor nehz megtallni a megoldst, egy fa grfban azonbanltalban jval knnyebb. Ezrt a reprezentcis grfot gyakran fv alaktjk.

    Ismerkedjnk meg az llapottr-reprezentci pontosabb fogalmval!

    Az llapottr-reprezentci

    A mestersges intelligenciban ez az egyik legltalnosabb s legrgebben hasznlt fogalom.

    Az llapottr-reprezentcikomponenseia kvetkezk:

    1. A feladat llapottere.2. Az llapottren rtelmezett mveletek.3. A kezdllapot vagy kezdllapotok.4. A clllapotok halmazt ler clfelttelek.

    Az llapottr a feladat adatszerkezeteinek sszes lehetsges rtkt tartalmazza. Az egyesllapotokban a feladat minden adata kpviselteti magt egy-egy rtkkel, az llapottr pedigaz sszes lehetsges adat-kombincit tartalmazza. Egy algoritmus vgrehajtsa egyllapotbl egy msik llapotba vezet t vgigjrsnak felel meg, hiszen minden egyes lpsmdostja bizonyos adatok rtkt, vagyis minden egyes lps egy llapotbl egy msik

    llapotba vezet.A mveletek az llapottren rtelmezett transzformcik. A reprezentciban megadjuk azegyes mveletek rtelmezsi tartomnyt, vagyis a vgrehajthatsguk felttelt. Ha amveletekhez vgrehajtsi kltsget is rendelnk, akkor ezt is itt adjuk meg. Ha a feladatbannem szerepelnek kltsgek, akkor szoks egysgnyinek tekinteni ket, gy egysgesenkezelhetek a feladatok. A tovbbiakban mi is ezt tesszk.

    A kezdllapotok halmaza rsze az llapottrnek. A kezdllapot megadsval kapcsolatbanmeg kell klnbztetnnk egy feladat specifiklst az sszes szba jhet kiindul adatra segy konkrt feladat kitzst egy konkrt kiindul adatra. A klnbz feladatok reprezentlsakor lehet, hogy az llapottr brmely pontjbl kiindulhatunk, lehet, hogyennek csak egy rszhalmazra rtelmes a feladat, s az is lehet, hogy csak egyetlen

    http://e/MestInt/graf.htmhttp://e/MestInt/graf.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    9/111

    kezdllapot jhet szba.

    A clfelttel lerja a clllapotok halmazt, amely szintn rszhalmaza az llapottrnek. Afeladatmegolds clja egy ilyen llapot elrse. Clllapot lehet tbb is. Elfordulhat, hogy aclllapotokat explicit mdon meg tudjuk adni, de az is, hogy nem ismerjk ket konkrtan,

    s csak felttelekkel tudjuk lerni ezeket.Egy feladat megoldsn egy olyan mveletsorozatot rtnk, amely adott kezdllapotblelvezet egy clllapotba. A lehetsges megoldsok kzl sokszor a minimlis kltsgmveletsorozat megkeresse a cl, nha azonban megelgsznk avval, hogy valamilyenmdon elrjnk egy clllapotot. A minimlis kltsg megoldsi mveletsorozatot optimlismegoldsnak nevezzk. Olyan esetben, amikor a kltsgek egysgnyiek, az optimlismegolds a legrvidebb megoldsi t. Vannak olyan feladatok, ahol csak a clllapotellltsa a fontos, az odavezet mveletsorozat csak mellktermke a feladatot megoldalgoritmusnak. Mskor, pp ellenkezleg, a clllapotot mr ismerjk, s az ellltst vgzmveletsorozatot keressk.

    A reprezentcis grf

    Az llapottr-reprezentcit irnytottgrfok segtsgvel szemlltethetjk. Az llapottr elemei alkotjk a grf cscsait. Egy cscsbl egy msikba akkor vezet irnytott l, ha vanolyan mvelet, amely az ezen cscsoknak megfelel llapotokat sszekti. Az ily mdonmegadott grfot nevezzk reprezentcis grfnak.

    A grfnak azt a cscst, amely a feladat kezdllapotnak felel meg, kezdcscsnak, vagystartcscsnak nevezzk.

    A clfelttelt kielgt llapotok cscsai a clcscsok. Ezek halmaza a terminlis halmaz.

    Egy feladat megoldsnak sikert, a megolds megtallshoz szksges idt nagyban befolysolja a reprezentcis grf bonyolultsga. Olykor gyes reprezentcival magt azllapotteret szkthetjk le, mskor a mveletek rtelmezsi tartomnynak gyesmegvlasztsa vezet egyszerstshez.

    A leggyakoribb egyszerstsi lehetsg a reprezentcis grf fv alaktsa. Ennek lnyege,hogy megengedjk ugyanannak az llapotnak tbb elfordulst, azaz tbb, neki megfelelcscsot a reprezentcis grfban. Elkpzelhet, hogy gy vges grfbl egy vgtelen sok

    cscsot tartalmaz fhoz jutunk. Ez azonban nem baj, mert a legtbb keres eljrs sokkalinkbb rzkeny arra, hogy fn keres-e vagy ltalnos grfon, mint arra, hogy ez a grf vgesvagy vgtelen.

    A fv alakts lpsei:

    1. Ha kt cscs kztt oda-vissza irny l van, akkor trljk a startcscs fel visszairnyullet. gy az lek mindig a startcscs fell a grf egyre tvolabbi cscsai fel vezetnek. Ezeketa krket azrt lehet elhagyni, mert ha egy megoldsi tnak rsze egy kr, akkor azt elhagyvais megoldsi utat kapunk, mgpedig ennl rvidebbet.

    2. Minden llapotnak annyi klnbz cscsot feleltetnk meg, ahny klnbz cscsblrhet el a startcscsbl. Ilyenkor jabb utakat nem vesztnk, viszont elrjk azt, hogy

    http://e/MestInt/graf.htmhttp://e/MestInt/graf.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    10/111

    minden cscsnak csak egy szlje legyen.

    A reprezentcis grf fv alaktsa nem mindig clszer. Ha az eredeti grf sok rvidvisszacsatols krt tartalmaz, vagy az elz mdon kialaktott fban a cscsok szmarobbansszeren megn, akkor nem rdemes ttrni erre a szerkezetre.

    A tovbbiakban nzznk nhny pldt az llapottr-reprezentcira!

    Pldk

    A produkcis rendszerA produkcis rendszerek fontos szerepet jtszanak a mestersges intelligenciban.Tekinthetek keres rendszereknek is, hiszen a feladatok megoldsnak meghatrozsaltalban keresst ignyel, de ugyanakkor tekinthetjk az emberi problmamegolds

    modelljnek is.A produkcis rendszer sajtos problmamegold szemllettel rendelkezik. Lnyege, hogy egyfeladat megoldsa sorn egymstl fggetlenl, elklntve kezeli a feladat adatait, az ezekenrtelmezett mveleteket, s mveletek sorrendjt meghatroz vezrlst.

    A produkcis rendszer mkdst elssorban vezrlse hatrozza meg. Mint ltni fogjuk, aklnbz keres algoritmusok a produkcis rendszerbl a vezrls megadsval szrmaznak.

    A produkcis rendszer komponensei:

    1. Globlis adatbzis - a feladat reprezentcis grfjnak a megolds sorn ellltottrsze.2. Produkcis szablyok - a globlis adatbzison rtelmezett opertorok.3. Vezrlsi stratgia - az alkalmazhat produkcis szablyok sorrendjnek meghatrozsa.

    A hagyomnyos programokban a vltozk mindig csak az llapottr egyetlen llapottrgztik. A globlis adatbzis azonban lehetsget ad a feladatrl megszerezhet sszesinformci megrzsre s gy, egy korbbi llapothoz val visszatrsre. Legtbbszr tartalmazza a mr bejrt llapotok egy rszt, vagy akr az sszes bejrt llapotot. ltalbannemcsak a mr bejrt llapotokat tartalmazza, hanem az azokat sszekt mveleteket is, azaza reprezentcis grf egy rszgrfjt.

    Kezdetben a globlis adatbzis a feladat kiindul adatait, a kezdllapotot tartalmazza. A produkcis szablyokat alkalmazva jabb s jabb llapotok kerlnek az adatbzisba, majd -ha a feladatnak van megoldsa - bekerlnek a clfelttelt kielgt llapotok, a clllapotok is.Ilyenkor azt mondjuk, hogy a globlis adatbzis kielgti a terminlsi felttelt.

    A produkcis szablyok klnbznek az llapottren rtelmezett mveletektl, hiszen a produkcis szablyok a globlis adatbzisra vonatkoznak, azaz tulajdonkppen grfokonrtelmezett transzformcik. Ltezhet olyan produkcis szably is, amely pl. trl egytszakaszt a globlis adatbzisbl. Termszetesen a produkcis szablyoknak is megvannak avgrehajtsi feltteleik.

    Ha egy idpontban tbb produkcis szably is alkalmazhat, akkor ezek kzl a vezrlsi

    http://e/MestInt/plfelrep.htmhttp://e/MestInt/plfelrep.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    11/111

    stratgia alapjn lehet vlasztani. A vezrlsi stratgia legfontosabb feladata teht azalkalmazsra kerl szably kivlasztsa, de ellenrzi a szablyok alkalmazhatsgifelttelnek teljeslst, nyilvntartja a mr alkalmazott szablyokat s figyeli a terminlsifelttel bekvetkezst is.

    A terminls utn az alkalmazott produkcis szablyok azonostinak nyilvntartsa alapjnmegadhat a kezdllapotbl a clllapotba vezet mveletsorozat. A legtbbszr erre amveletsorozatra vagyunk kvncsiak.

    Nzzk meg a produkcis rendszer algoritmust!

    Algoritmus:

    Procedure PRODUKCIS RENDSZER Adat : = {kezdllapot}while Adat nem elgti ki a terminlsi felttelt do

    R : = egy Adat-ra alkalmazhat szablyAdat : = R(Adat) (* R alkalmazsa Adat-ra *)

    enddoend

    Az algoritmusban jl lthat a hrom elklnlt komponens: Adat a globlis adatbzis, azAdat tartalmt jra s jra megvltoztat szablyok (R) s a szablyokat kivlaszt vezrls.

    Az algoritmus a feladat kezdeti adatait figyelembe vve addig alkalmazza a produkcisszablyokat, amg a terminls felttele nem teljesl, azaz a kezdllapotbl kiindulvafokozatosan ptette fel a clllapotba vezet mveletsorozatot. Az ilyen irnyban mkd produkcis rendszert elre halad, vagy mskpp adatvezrelt produkcis rendszernek nevezzk.

    Ha a feladat egyetlen s ismert clllapottal rendelkezik, akkor alkalmazhatunk gynevezettvisszafel halad vagy clvezrelt produkcis rendszert. Ennek globlis adatbzisa kezdetbena clllapotot tartalmazza s a produkcis szablyok inverzeit alkalmazza amg el nem ri akezdllapotot.

    Azt, hogy mikor melyik irny produkcis rendszert alkalmazzuk, mindig a konkrt feladatdnti el. Bizonyos esetekben clravezet lehet a ktirny produkcis rendszerek hasznlata.

    Ezek egyidejleg kt irnybl, a kezd s a clllapot fell keresik a kt llapotot sszektmveletsorozatot, s akkor terminlnak, ha ez a kt t sszer.

    Heurisztika

    Ha a feladatokat vak keresssel, azaz minden lehetsges t szisztematikusvgigprblsval akarjuk megoldani, akkor gyakran hatalmas adattmeghez jutunk (kombinatorikus robbans), melyeket nem, vagy csak nagy hardver erforrssal (ld. deep blue) tudunk kezelni. A keressi eljrsokat azonban hatkonny tehetjk, ha a feladatra jellemz specilis ismereteket is figyelembe vesznk. Ezeket a specilis ismereteket nevezzk heurisztiknak.

    A heurisztiknak mig nincs ltalnosan elfogadott pontos defincija. ltalban egy olyan

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    12/111

    j tletet rtnk alatta, amely a legtbb esetben cskkenti a prblkozsok szmt, gylnyegesen nveli a problmamegold program hatkonysgt. A heurisztikus eljrsok ltalban elg j megoldst adnak, br nem garantlnak optimlis megoldsi utat, st,valjban semmifle megoldst nem garantlnak.

    A heurisztika feladata, hogy a produkcis szablyok vezrls ltal meghatrozott sorrendjt pontostsa.

    A heurisztika s a kltsgek kapcsolata

    Az eredmny szempontjbl a feladatokat a kvetkez mdon csoportosthatjuk:1. Meghatrozand egy, a clllapotot elr mveletsorozat.2. Egy viszonylag olcs mveletsorozatot keresnk.3. Minimlis kltsg (optimlis) mveletsorozatot keresnk.

    Az ellltand mveletsorozat kltsgt nevezzk a megolds kltsgnek. Megfigyelhet,hogy ms-ms vezrlsi stratgit alkalmazva a produkcis rendszer klnbz kltsgmegoldsokat llthat el. De ugyanaz a vezrlsi stratgia is ms-ms kltsg megoldshozvezethet a beptett heurisztiktl fggen. Minl tbb tudst, minl ersebb heurisztiktalkalmazunk, annl alacsonyabb kltsg megoldshoz jutunk.

    A megfelel heurisztika megvlasztsakor nem egyedli szempont az ellltand megoldskltsge, hanem figyelembe kell venni ezen megolds megkeressnek kltsgt, is.

    A megoldskeress hatkonysga kt kltsgtnyezvel jellemezhet:az algoritmus trignybl szrmaz kltsgaz algoritmus futsidejbl szrmaz kltsg.

    Ez a kt kltsg nem teljesen fggetlen, ltalban a heurisztika alkalmazsval mindkettegyszerre cskkenthet.

    Vizsgljuk most a futsi idt! A futsi id kltsge is kt komponensbl tevdik ssze:a vezrlsi stratgia kltsgbl - ez a kivlaszt fggvny bonyolultsgval fgg ssze

    a produkcis szablyok alkalmazsi kltsgbl - amely az alkalmazott produkcisszablyok szmtl fgg.

    Minl ersebb a produkcis rendszerbe beptett heurisztika, annl jobban informlt arendszer, ezltal n egy szably kivlasztsnak, azaz a vezrlsi stratginak a kltsge,cskken viszont az alkalmazand szablyok szma, azaz a szablyok alkalmazsi kltsge.

    Fordtva: kevesebb informci, primitv heurisztika esetn egyszerbb, gyorsabb egy szablykivlasztsa, de jval tbb prblkozsra van szksg, azaz nvekszik az alkalmazottszablyok szma. A kt szls esetben a futsi idt jellemz teljes kltsg nagy, a futsi idkltsgnek optimumt valahol kzpen kapjuk, ott, ahol az algoritmus elg ersheurisztikval dolgozik, de nem tlinformlt.

    A kvetkez bra a kltsg vltozst mutatja az informltsg fggvnyben:

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    13/111

    Vezrlsi stratgik A hatkony problmamegoldshoz nem elg egy j reprezentci megtallsa, hanem az adottreprezentcihoz illeszked hatkony keressi stratgit kell vlasztani. A hatkonysgot avezrlsi stratgia befolysolja. A produkcis rendszer hrom komponense (globlisadatbzis, produkcis szablyok, vezrlsi stratgia) kzl ez utbbi a legmeghatrozbb.Alkalmas vlasztsval hatkonyabb tehet a problmamegolds. A vezrlsi stratgiameghatrozsa hatssal van a globlis adatbzis s a produkcis szablyok kialaktsra is.

    A vezrlsi stratgik kt nagy csoportra oszthatak, a mdosthat s a nem mdosthatstratgikra. Az elbbiek mg kt jabb csoportra oszthatak, neminformlt s informlt, azazheurisztikus vezrlsi stratgik:

    Az els csoportosts arra utal, hogy egy adott llapot esetn kivlasztott szably vglegesnek tekinthet-e vagy sem. A mdosthat stratgik lehetsget adnak a prblkozsra. Kpesek arra, hogy egy korbban alkalmazott szablyrl felismerjk, hogy annak alkalmazsahelytelen, tves lps volt. Ilyenkor visszatrnek egy korbbi llapothoz, hogy onnan jabbirnyba indulva keressk a clllapotot. A gyakori visszalpsek termszetesen nvelik azeljrs mveletignyt. A nem mdosthat stratgia - amelyben minden lpstvgrvnyesnek tekintnk - viszont gyakran vezethet tvtra bennnket, ha nem rendelkeznk elg informcival a megoldand feladatrl. Ekkor ugyanis nincs lehetsgnk arra, hogy egytves lpst visszavonjunk, mdostsunk.

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    14/111

    A msodik csoportosts a heurisztika alkalmazsra utal. Nem informlt esetben azalgoritmus minden vlasztsi dntst elre rgztett stratgia alapjn hozza meg, mg aheurisztikus esetben a vezrls felhasznl az adott problmra vonatkoz specilis ismereteketis.

    Nem mdosthat vezrlsi stratgik A hagyomnyos feladatmegoldsok esetn (pl. adatfeldolgozs) lnyegben mindig nemmdosthat vezrlst alkalmaznak. A mestersges intelligencia feladatoknl azonbanltalban nem rendelkeznk olyan ers informcival az llapottr egy-egy llapotban, hogy biztosak lehessnk a kivlasztott produkcis szably vglegessgben. Emiatt a nemmdosthat stratgit ritkn hasznljk MI feladatok megoldsra. Alkalmazhatsghozvagy nagyon sok informcit kell beptennk a szably-kivlaszt rutinba, hogy nagy biztonsggal a megfelel alkalmazhat opertort vlassza, vagy a rendszernek kell olyanspecilisnak lennie, hogy ilyen stratgit alkalmazhassunk.

    A nem mdosthat vezrlsi stratgik esetn a globlis adatbzis a feladatnak csak egyetlen,ppen aktulis llapott tartalmazza. A produkcis szablyok az llapottr mveletei, amelyek alkalmazsuk sorn fokozatosan vltoztatjk az adatbzis tartalmt. Mivel a globlis adatbzisnem tartalmazza a korbbi llapotokat, elfelejti azokat, ezrt egy szably alkalmazsavgrvnyes, vissza nem vonhat. Csak akkor clszer nem mdosthat vezrlst alkalmazni,ha vagy annyi ismeretet halmoztunk fel a produkcis rendszerben, amely alapjnegyrtelmen kivlaszthat egy megfelel szably, vagy brmely pillanatban mindenalkalmazhat szably megfelel.

    Az egyik legismertebb, az MI keretein kvl is gyakran hasznlt nem mdosthat stratgia a gradiens mdszer (hegymsz algoritmus - hill climbing). Ezt a mdszert fggvnyek maximumnak megkeressre szoktk alkalmazni. Az adatbzison rtelmeznk egy valsrtk fggvnyt. A vezrls minden lpsben azon szablyok kzl vlaszt egyet,amelyekkel a fggvnyrtk legnagyobb nvekedst kapjuk, azaz mindig a legmeredekebbrint mentn haladunk a keressben. Ha nincs olyan szably, amely nveln a fggvnyrtkt, akkor a stratgia olyan szablyt vlaszt, amelyik legalbb nem cskkenti a fggvnyrtkt. Ha ilyen sincs, akkor megll az eljrs. Ha tbb, ugyanakkora fggvnyrtk-nvekedst okoz szably kzl kell vlasztani, akkor egy elre rgztett sorrend szerintvlaszthatunk a szablyok kzl. A fggvnyt gy kell definilni, hogy akkor vegye fel amaximumt, amikor a globlis adatbzis kielgti a terminlsi felttelt, azaz egy clllapotottartalmaz.

    A mdszer nem mkdik minden fggvny esetn. Pldul loklis maximummal rendelkezfggvny esetn gyakran elfordulhat, hogy a mdszer egy loklis maximumhoz konvergl agloblis maximum helyett. Ha pedig olyan a fggvnynk, hogy gynevezett fennskottartalmaz, akkor elfordulhat, hogy az algoritmus ezen a fennskon bolyong avgtelensgig.

    Pldaknt nzzk meg a gradiens mdszert a tili-toli jtk esetn.

    Plda

    A visszalpses vezrlsi stratgia

    http://e/MestInt/plvezer.htm#hegyhttp://e/MestInt/plvezer.htm#hegy
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    15/111

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    16/111

    if Eredmnylista hiba then Tallt : = igazenddoif Tallt then return ( fz (R, Eredmnylista))

    else return ( hiba )end

    A Cscs s jcscs vltozk rtke a reprezentcis grf egy-egy cscsa. Az R egyalkalmazhat szablyt tartalmaz, gy jcscs leszrmazottja Cscsnak.

    A Szablyok lista kezdetben a vizsglt llapotra alkalmazhat sszes produkcisszablyt tartalmazza. A Szablyok lista ltrehozsval dl el az alkalmazhatszablyok sorrendje, vagyis megfelel heurisztika beptsvel itt befolysolhatjuk akivlasztott mveletek sorrendjt.

    A nil az res listt jelenti, elselem a lista els elemt, maradk pedig a listamaradkt adja. A fz opertor egy elemet fz egy lista el.

    Az Eredmnylista az algoritmus vgn a startcscsbl a clba juts sorn alkalmazottszablyok listjt tartalmazza. Az eljrst az

    Eredmnylista : = VISSZALPS ( Start )utastssal hvjuk meg, ahol Start a kezdllapotot jelenti.

    Az algoritmus mindig egy Startbl kiindul utat tart nyilvn a reprezentcis grfban.

    A legals szinten meghvott eljrs akkor tr vissza tovbbi rekurzv hvs nlkl afltte lev szintre, ha az ltala vizsglt cscs clllapot, vagy ha erre a cscsraegyetlen mvelet sem alkalmazhat.

    Ha az adott cscsra van alkalmazhat mvelet, akkor ezeket az eljrs sorbanmegvizsglja, vagyis vgignzi, hogy ez a mvelet alkothatja-e egy megold

    mveletsorozat soronkvetkez elemt. Ha az aktulis R mvelet nem vezet clcscsfel, akkor erre a szintre hibajelzssel tr vissza a vezrls. Ha a vizsglt cscs esetnminden mveletre ez a negatv eredmny igaz, akkor errl a szintrl hibajelzsseleggyel magasabb szintre tr vissza a vezrls.

    Ha az eljrs terminl, akkor eredmnye az Eredmnylistban kpzdik. Ha rtkehiba, akkor nincs megoldsi t, ha rtke egy mveletsorozat, akkor az astartcscsbl vezet egy clllapotba.

    Ez az algoritmus csak olyan feladatok esetn mkdik elvrsunknak megfelelen,amelynek reprezentcis grfja vges, s nem tartalmaz krket. Ilyenkor az

    algoritmus biztosan terminl, s ha ltezik megolds, akkor ezek kzl egyet megtall.

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    17/111

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    18/111

    A visszalpses stratgia elnye, hogy az ltala ltrehozott produkcis rendszer

    knnyen megvalsthat, mkdse kevs trolhelyet ignyel. Htrnya viszont,hogy egy magas szinten elkvetett sikertelen lps visszavonsra esetleg csak sok flsleges prblkozs utn kerl sor. Msik htrny, hogy ha egy cscsbl nemrhet el a clcscs, de ez a cscs tbb ton is megkzelthet a startcscsbl, akkor astratgia kpes jra s jra vgigvizsglni a szban forg cscsbl tovbb vezetzskutckat. Ennek oka az, hogy az eljrs egyszerre egy utat tart nyilvn, s nem rzimeg a visszalpskor sikertelennek tallt cscsokat.

    Plda

    Grfkeres stratgik

    A grfkeres stratgik is a mdosthat keressi stratgik kz tartoznak. Mg avisszalpses stratgiknl mindig egy utat prblunk vgigjrni, addig agrfkeressnl szimultn prbljuk vgignzni a kezdllapotbl kiindul utakat,vagyis minden olyan, a startcscsbl kiindul utat nyilvntartunk, amelyet mr megvizsgltunk. Ez lehetv teszi azt, hogy minden lpsben azon az ton haladjunk tovbb, amelyik legigretesebbnek tnik a clcscs elrse szempontjbl. Hogy mitrtnk leggretesebb alatt, azt klnbz szempontok alapjn dnthetjk el. Az egyesgrfkeres algoritmusok pontosan ezen szempontok megfogalmazsban klnbznek egymstl.

    A visszalpses algoritmusban egy llapotban kivlasztottunk egy alkalmazhatszablyt, a grfkeres stratgiknl viszont a nyilvntartott, mg meg nem vizsgltllapotok kzl vlasztunk ki egyet, s erre alkalmazzuk az sszes alkalmazhatszablyt. Ez azt jelenti, hogy a kivlasztott t vgn lv cscs minden utdjtltrehozzuk. Ezt nevezzk a cscs kiterjesztsnek. A grfkiterjeszts vgetr, haelrtnk egy clcscsot. Az ilyen stratgit kvet produkcis rendszereket grfkeresalgoritmusoknak nevezzk.

    Az llapotgrfot termszetesen explicit mdon is megadhatjuk, pldul gy, hogytblzatba foglaljuk, hogy mely pontokat kt ssze l a grfban. Egy feladat

    llapottere azonban lehet olyan nagy, hogy az llapotgrfot nem lehet explicit mdonmegadni. A mestersges intelligencia terletn a legtbb feladat ilyen. Ha nemismerjk explicit mdon egy feladat llapotgrfjt, akkor a grfkeres stratgiknak nemcsak az a feladatuk, hogy bejrjk a grfot, hanem az is, hogy felptsk a grfnak azon rszt, amit bejrnak. A grfkeresk csak addig ptik az llapotgrfot, amg elnem rnek egy clllapotot. gy a reprezentcis grf egy rszgrfjt ptjk fel. Ezt arszgrfot keresgrfnak nevezzk. Ez tartalmazza a startcscsbl kivezet s azeljrs ltal mr megismert utakat. Mindegyik t vgn tallunk egy olyan cscsot,amelyik utdait az algoritmus mg nem ptette be a keresgrfba. Ezeket nyltcscsoknak nevezzk. A keresgrf tbbi cscst pedig zrt cscsoknak hvjuk.Amikor valamelyik utat folytatja az algoritmus, akkor a nylt cscsok kzl jell kiegyet kiterjesztsre.

    http://e/MestInt/plvezer.htm#visszahttp://e/MestInt/plvezer.htm#vissza
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    19/111

    A grfkeres algoritmus is egy produkcis rendszer. A globlis adatbzis a Gkeresgrf. A produkcis szablyok egy-egy cscs teljes kiterjesztst vgzik. A produkcis rendszer vezrlse pedig a soronkvetkez cscs kivlasztsvalazonosthat, ekkor kerl kijellsre az a cscs, amelyre a kiterjeszts produkcisszablyt kell alkalmazni.

    A grfkeressalapalgoritmusaa kvetkez:Procedure GRFKERESS

    G : = {Startcscs} Nylt : = {Startcscs}Cscs : = Startcscswhile nem (cl (Cscs) vagy res(Nylt)) do

    Nylt : = Nylt \ {Cscs}G : = G (Cscs) Nylt : = Nylt (Cscs)Cscs : = eleme (Nylt)

    enddoend

    Az eljrs a startcscsbl kiindulva pti fel a G grfot. A nylt cscsokat a Nylt

    halmazban troljuk. A cscskiterjesztst a opertor vgzi. Cscs jelli az ppenaktulis cscsot s a G (Cscs) mvelet a Cscs utdait a megfelel lekkelegytt hozzfzi a keresgrfhoz. Az eljrs, amennyiben terminl, akkor ktflekppen terminlhat: vagy clcscsot tall, vagy nincsen kiterjeszthet cscs, azaz a Nylt halmaz res.

    Az ltalnos grfkeres algoritmus

    A gyakorlati alkalmazsokban gyakran egy fggvny rtkei alapjn vlasztjuk kikiterjesztsre a nylt cscsok egyikt. Az erre a clra bevezetett fggvnyt kirtkelfggvnynek nevezzk. Megllapods szerint az eljrs mindig egy olyan cscsotvlaszt kiterjesztsre, amelyikre ennek a fggvnynek az rtke minimlis. (Ha tbbilyen cscs is van, akkor tetszleges kzlk a vlaszts.)

    Szksg van az utak nyilvntartsra is, mert a feladat nem csupn egy clcscselrse, hanem egy odavezet t megadsa is. Mivel elg meghatrozni egyetlenmegoldsi utat, ezrt elegend minden cscs esetn egyetlen, a startcscsbl hozzvezet utat nyilvntartani. Ha egy grfban minden cscshoz egyetlen utat tntetnk ki,akkor a grf egy gynevezett fesztfjhozjutunk.

    Az egyes utak megjellsre visszafel mutat pointereket hasznlunk. A startcscsotkivve minden keresgrfbeli cscs pointere - p(Cscs) egy szl cscsra mutat.Clszer arra trekedni, hogy ezek a pointerek lehetleg az eddig tallt utak kzl alegolcsbbat jelljk ki, hiszen a feladatok nagy tbbsgben egy optimlis megolds

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    20/111

    meghatrozsa a cl.

    Bevezetjk akltsgfggvnyt , amely az algoritmus brmely lpsben egy cscsramegadja a fesztfban hozzvezet t kltsgt. Az n cscsba vezet t kltsgt jelljk g(n)-nel.

    Ha g*(n) - nel jelljk a startcscsbl az n - be vezet utak teljes grfon kpzettminimlis kltsgt ( k*(start, n) ), akkor nyilvnvalan igaz a kvetkez sszefggs:

    g*(n) g(n)Egy grf fesztfjtoptimlis fesztfnak nevezznk, ha ez minden thoz optimlisutat tartalmaz.

    Mind a pointer, mind a kltsgfggvny kiszmtsa az algoritmus mkdse sorntrtnik.

    Ha a grfkeress egy n cscs kiterjesztsvel az m cscsot lltja el, akkor kiszmtjaa hozztartoz g(m) rtket s a p(m) pointert n-re lltja. Nyilvnvalan g(m) = g(n)+ c(n,m), ahol c(n,m) az (n,m) l kltsge.

    Ha az m cscsot nem elszr lltja el az eljrs, akkor meg kell vizsglni, hogysikerlt-e hozz most az eddigieknl kisebb kltsg utat tallnia. Ha igen, akkor azj, cskkentett g(m) rtket kell megrznie s a p(m) pointert t kell lltani az jszlcscsra, egybknt pedig g(m) s p(m) vltozatlan marad.

    Plda

    Egy cscs jbli ellltsnl jabb problmt jelenthet az, ha az jbl ellltottcscs mr zrt, azaz az eljrs korbbi kiterjesztsei kvetkeztben mr vannak utdaia keresgrfban. Tegyk fel, hogy egy m cscs jbli ellltsakor az elbbieknlkisebb kltsg utat talltunk, de m zrt, azaz leszrmazottai egy kiterjedt rszgrfotalkotnak. Ekkor ennek minden cscsban sor kerlhet a pointer tlltsra, vagyis azm-bl kiindul teljes rszgrf fellvizsglatra van szksg.

    A problma megoldsra hrom mdszer knlkozik, azonban a harmadik lesz aleginkbb megvalsthat t.

    Az egyik megolds az, hogy az m-bl elrhet sszes cscsot tvizsgljuk valamilyengrfbejrsi algoritmus segtsgvel s elvgezzk a szksges mdostsokat. Ezazonban nehzkesnek tn eljrs.

    A msik megolds, hogy olyan gyesen vlasszuk meg a kirtkel fggvnyt, hogyaz ltala meghatrozott grfkiterjesztsi sorrend ne tegye szksgess a pointerek tlltst. Ez azt jelenti, hogy egy cscsot nem terjesztnk ki addig, amg meg nemtalljuk a hozz vezet optimlis utat. Ilyen fggvnyt azonban nem mindig sikerltallnunk, csak ha beptnk az eljrsba a konkrt feladatra vonatkoz specilisismereteket.

    Legegyszerbben megvalsthatnak a harmadik megolds tnik. Ebben az esetben haaz eljrs egy mr ltez zrt m cscsot llt el, akkor ennek ellenre gy kezeli az

    http://e/MestInt/plvez?r.htm#atallithttp://e/MestInt/plvez?r.htm#atallit
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    21/111

    eljrs, mintha j cscs lenne, azaz mintha nem lennnek feltrt utdai. Ezt gyvalstjuk meg, hogy az m cscsot jbl berakjuk a nylt halmazba. Ebbl addan akeress az m cscsot ksbb jra kiterjesztheti. Ennek az egyszer mdszernek az ahtrnya, hogy egy cscs tbbszr is kiterjesztsre kerlhet, gy esetenknt nemhatkony. [FGN] bemutatja ennek az algoritmusnak egy javtott vltozatt, amely mr

    megfelel hatkonysg.A kvetkezkben megadjuk a grfkeres algoritmus kltsgszmtssal s pointertlltssal bvtett vltozatt. Ezt nevezzk ltalnos grfkeresalgoritmusnak .Procedure GRFKERESS

    G : = {Startcscs} Nylt : = {Startcscs}Cscs : = Startcscs; g(Startcscs) : = 0; p(Startcscs) : = nilwhile nem (cl (Cscs) vagy res(Nylt)) do

    Nylt : = Nylt \ {Cscs}jcscsok : = (Cscs)while nem res (jcscsok) do

    jcscs : = eleme (jcscsok)jcscsok : = jcscsok \ {jcscs}if nem (jcscs G) vagy g(jcscs) > g(Cscs) +c(Cscs,jcscs) then

    g(jcscs) : = g(Cscs) + c(Cscs,jcscs) p(jcscs) : = Cscs Nylt : = Nylt {jcscs}

    endif enddo

    G : = G (Cscs)Cscs : = minf (Nylt)enddo

    end

    Vegyk szre, hogy az algoritmusba beptettk az elzekben emltett kivlasztsifggvnyt is, a nylt halmazbl azt vlasztjuk kvetkez kiterjesztend cscsnak,amelyre vonatkozan ennek a fggvnynek minimlis az rtke.

    Specilis esetben a keresgrf egy fa. Ilyenkor nincs lnyeges szerepe a pointereknek s nyilvnvalan nem is vltozhatnak az eljrs sorn, hiszen minden cscspontnak maximum egy szlje van. Emiatt is rdemes volt a hrom emltett megolds kzl aharmadikat vlasztani.

    Az ltalnos grfkeres eljrs alapvet tulajdonsga, hogyvges reprezentcis grf esetn mindig terminl . Ha a grf krmentes, akkor minden cscshoz vges sok klnbz t vezet a startcscsbl, gy egy cscs legfljebb vges sokszor kerl be anylt halmazba s vges sok lpsben eltvolthat onnan. Ha az eljrs nem tallclcscsot, akkor vges szm kiterjeszts utn res nylt halmazzal terminl. Ha a

    http://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    22/111

    vges reprezentcis grf tartalmaz krket, akkor is igaz, hogy minden cscshozvges sok krmentes t vezet. A krt tartalmaz t feltrsa pedig nincs semmilyenmdost hatssal a nylt halmazra, ugyanis egy cscshoz vezet krt tartalmaz tkltsge mindig nagyobb, mint a megfelel krmentes t.

    Belthat az is, hogyha egy vges reprezentcis grfban ltezik megolds, akkor azltalnos grfkeres eljrs megtall egyet.Az llts bizonytsa megtallhat[FGN] ill. [LS] knyvben.

    Az egyes grfkeres eljrsok a kivlasztsi fggvny megadsban trnek el egymstl . A tovbbiakban ezen fggvny klnbz megvlasztsval ms-mskeres algoritmust fogunk trgyalni.

    A grfkeres algoritmusok kt nagy csoportba sorolhatk attl fggen, hogykivlasztsi fggvnyk tartalmaz-e az adott feladatra vonatkoz specilis ismereteket,vagyis heurisztikt, vagy sem. Ily mdon beszlhetnk informlt s neminformltgrfkeressi eljrsokrl.

    Neminformlt grfkeres eljrsok

    Ezen eljrsok esetn az f kirtkel fggvnybe nem ptettnk be semmilyen, azadott feladatra jellemz ismeretet. A kiterjesztsi sorrendet mindig valamilyen, azadott feladattl fggetlen, elre rgztett stratgia szerint llaptjuk meg. Ezeket vakonkeres eljrsoknak is szoktk nevezni, utalva evvel arra, hogy a keress nem vesztudomst a feladat specilis tulajdonsgairl.

    Hrom ilyen eljrst ismertetnk. Ezek kzl kettben a sorrend a grf mlysgtlfgg. Ahhoz, hogy errl preczen tudjunk beszlni, szksgnk van amlysgi fggvnyfogalmra.

    Egy m cscs d(m) mlysgt a kvetkez kppen definiljuk:d(s) : = 0 , ahol s a startcscsd(m) : = d(n) + 1 , ahol n szlje m - nek.

    Egy cscs mlysge azonos a hozz vezet t hosszval. A d mlysgfggvnytugyangy, ahogy a g kltsgfggvnyt, az algoritmus szmtja. Ha minden l kltsgeegysgnyi, akkor g(n) = d(n) minden n G cscsra.

    Szlessgi keressSzlessgi keress esetn a grf cscsait mlysgk szerint nvekv sorrendbenhelyezzk el a nylt halmazban, s ebben a sorrendben vlasztunk kiterjesztendcscsot. Ez azt eredmnyezi, hogy a grfot szintenknt teljes egszben vgigjrjuk.Ezt formlisan gy oldhatjuk meg, hogy a kirtkel fggvnyt a mlysgifggvnnyel azonosnak vesszk:f(n) : = d(n)Vagyis a keress minden lpsben a legmagasabb szint cscsok kzl vlaszt kiegyet kiterjesztsre. A szlessgi keress mindig tall megoldst, ha az ltezik.Ebbenaz esetben alegrvidebb megoldsi utat tallja meg .

    Plda

    http://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/plvezer.htm#szeleshttp://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/plvezer.htm#szeles
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    23/111

    Mlysgi keress

    Mlysgi keress esetn a cscspontokat mlysg szerint cskken sorrendberendezzk, s ebben a sorrendben terjesztjk ki ket. gy az eljrs mindig alegmlyebben fekv cscsot terjeszti ki. Formlisan tekintve, a kirtkel fggvnyt akvetkez mdon adhatjuk meg:f(n) : = - d(n)A negatv tvolsgrtk miatt a keress minden lpsben olyan cscsot terjeszt ki,amely a keresgrfban a legmlyebben fekszik.

    Nagy hasonlsg van a visszalpses keress s a mlysgi keress kztt, a mlysgikeressnl azonban a visszalpsre nincs szksg, hiszen egyszerre tbb utat tartnyilvn. A msik eltrs ltalnos grfok esetn rzkeltethet: mivel a mlysgikeress megrzi a mr bejrt zskutakat, gy nem fordulhat el, hogy ugyanarra azskutcra mg egyszer rtrjen a vezrls, mg a visszalpses algoritmusnl ezelfordulhat.

    Mivel sok problma esetn mlysgt tekintve vgtelen nagy lehet az llapotgrf, ezrtitt is meg szoktak adni mlysgi korltot. Az eljrs a mlysgi korltnl mlyebbenfekv cscspontokat nem terjeszti ki. Ha a mlysgi korltot rosszul vlasztjuk meg,akkor elkpzelhet, hogy az algoritmus nem tallja meg a megoldst.

    Plda

    Egyenletes keress

    Az elz kt keressnl az lkltsgeket egysgnyinek tekintve a mlysgi fggvnytfelfoghattuk kltsgfggvnynek is. Az egyenletes grfkeres algoritmus az eredeti,kzelebbrl nem definilt g(n) kltsg fogalmt hasznlja. Mindig olyan nylt cscsotvlaszt kiterjesztsre, amelyhez a keresgrfban a legkisebb kltsg t vezet.Formlisan:f(n) : = g(n)A keresfggvny defincijbl addanaz egyenletes keress mindig optimlismegoldst tall, feltve, hogy ltezik megolds. A msik tulajdonsga, hogymindencscsot legfljebb egyszer terjeszt ki az algoritmus. A cscsok ugyanis olyansorrendben kerlnek kiterjesztsre, hogy egy zrt cscsot sohasem kell a nylthalmazba visszahelyezni.

    Vegyk szre, hogy a szlessgi keress az egyenletes keress specilis vltozataegysgnyi lkltsg mellett.

    Az egyenletes keress ltalban nem tl hatkony, az optimlis megoldst gyakrancsak nagyon sok cscs kiterjesztse rn tallja meg.

    Heurisztikus grfkeres algoritmusok

    Az informci nlkli keres eljrsokban tl sok cscspontot kell feleslegesenmegvizsglni. Ezrt arra treksznk, hogy minl tbb heurisztikus informcithasznljunk fel a keress cskkentsre. A heurisztika gyakorlatilag az adott feladatravonatkoz j tlet. A jl megvlasztott heurisztikk nagymrtkben redukljk a

    http://e/MestInt/plvezer.htm#melyhttp://e/MestInt/plvezer.htm#mely
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    24/111

    keresst, de elkpzelhet, hogy nem biztostjk a minimlis kltsg t megtallst.A heurisztikus informcikat arra hasznljuk fel, hogy a kiterjesztsre vr cscsok esetn azok gretes voltt is figyelembe vegyk. Ha sikerlne mindig azt acscspontot kivlasztani kiterjesztsre, amelyik rajta van a megoldsi ton, akkor akeresgrf mrete jelentsen cskkenne. Az olyan heurisztikt, amely mindig ennek

    megfelelen vlasztja ki a kiterjesztend cscsot, perfekt heurisztiknak nevezzk.Ha egy konkrt feladat esetn ismernnk a perfekt heurisztikt, akkor tulajdonkppenimplicit mdon ismernnk a feladat megoldst. De a gyakorlatban hasznltheurisztikk csak becslik a perfekt heurisztikt, s minl jobban megkzeltik, annlhatkonyabb a keres algoritmus. Egy konkrt feladat esetn a f problma ppen az,hogy milyen heurisztikkat s hogyan ptsnk be az gretes cscspontokatkivlaszt rutinba.

    A keres eljrsokban hasznlt heurisztikkat tbbfle szempont szerint iscsoportosthatjuk. Beszlhetnk egyrszt globlis s loklis heurisztikkrl . A loklisheurisztikk mindig az eljrs megkezdse eltt, pusztn az egyes cscspontok tulajdonsgai alapjn rendelnek valamilyen rtket a cscspontokhoz. Pldul a tili-toli jtk esetn ilyen loklis heurisztika lehet a nem megfelel helyen lv ngyzetek szmnak meghatrozsa.

    A globlis heurisztikk a keress addigi lefutsa alapjn minstik a cscspontokat.Tegyk fel pldul, hogy egy jtknl megfigyeltk, hogy a tizedik lpsig legalbbegyet tni kell ahhoz, hogy nyerhessnk. gy a jtk elrehaladtval egyre inkbbeltrbe kerlnek az tlpsek annak ellenre, hogy esetleg loklisan szemllve ezek a lpsek nem lennnek gretesek.

    Feloszthatjuk a heurisztikkat gy is, hogy azt nzzk, az egyes llapotok melytulajdonsgait prbljk megragadni. Ilyen szempontbl beszlhetnk minsgi smennyisgi heurisztikkrl . A mennyisgi heurisztikk az adott problma llapotainak valamilyen szmszer tulajdonsgai alapjn rendelnek valamilyen rtket az egyesllapotokhoz. A minsgi heurisztikk egyb tulajdonsgok alapjn hatrozzk meg azegyes cscspontok gretessgt. Pldul tbls jtkoknl nyer lls lehet egykonfigurci, amit nem valamifle szmszer tulajdonsg alapjn, hanem a jtk ismeretben lehet eldnteni. Pldul a kzismert malom jtkot vve, tapasztalatok alapjn tudjuk, hogy clszer az tellenes sarkokba helyezni a bbuinkat. Ezt aheurisztikt is nehz lenne szmszeren lefordtani az egyes llapotokra.

    A legkzenfekvbb mennyisgi heurisztikk is klnbz elmleteken alapulhatnak.Elkpzelhet pldul, hogy ksrletek segtsgvel meghatrozzuk annak valsznsgt, hogy egy adott cscspont a legjobb ton van-e s ezen valsznsgirtkek alapjn vlasztjuk a kvetkez kiterjesztend cscsot. Az is elkpzelhet,hogy klnbz hasonlsgi s tvolsgi metrikkat rtelmeznk egy tetszlegesllapot s a clllapotok halmaza kztt, s ennek megfelelen haladunk tovbb.

    Egy keres eljrsban egyszerre tbb heurisztikt is alkalmazhatunk. Mindig az adottszitucitl fggen hol egyik, hol msik heurisztikt rszestjk elnyben. Aszakrti rendszerekre pldul kimondottan jellemz a sok heurisztika egyszerre val

    hasznlata.

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    25/111

    A tanul rendszerekre nemcsak az igaz, hogy egyszerre tbb heurisztikval isdolgoznak, hanem az is, hogy az addigi letk sorn tapasztaltakat beptik aheurisztikjukba, vagy mdostjk a korbbi heurisztikkat, vagy jakat vesznek fel argiek mell, vagy esetleg a flslegess vlkat elhagyjk.

    Kltsgfggvnyekkel rendelkez problmk esetn a heurisztika kltsg jellegmennyisgre ad becslst, mgpedig az adott cscsponton thalad utak minimliskltsgre vonatkozan. Mivel a grfkeres eljrsok esetn kltsgfggvnnyelrendelkez problmrl van sz, a tovbbiakban ezt a fajta heurisztikt tekintjk.

    Az elzekben trgyalt neminformlt grfkeres algoritmusok a nylt cscsok kiterjesztsi sorrendjt a startcscsbl hozzjuk vezet t kltsgei (specilis esetbenaz t hossza) alapjn hatroztk meg. A kirtkel fggvnyben gy a nylt cscsoknak csak az ellete tkrzdik, s nem kap szerepet a valamelyik clcscsba vezethtralv t kltsge. Egy nylt cscs gretes voltt pedig pp avval minsthetjk,ha becslst adunk a clcscsok halmaztl val (minimlis) tvolsgra. Az ltalunk vizsglt heurisztikus grfkeres eljrsok kirtkel fggvnyben mindig ez a fajtakltsgbecsls jelenik meg.

    A reprezentcis grf egy tetszleges n jel cscsra bevezetjk, s h*(n) - nel jelljk azt a legkisebb kltsget, amellyel n-bl valamely clcscsba lehet jutni:

    h*(n) : = min k*(n,t) t ahol T a clcscsok halmaza. Tbb olyan t cscs lehet, s ezekhez rendre tbb olyan tvezethet n-bl, amelyeknek kltsge h*(n) - nel azonos. Ha n - bl nem vezet t T - be, akkor a h*(n) rtk nincs definilva. A ksbbiek egyszerbb megfogalmazsakedvrt h*(n) - et ilyenkor vgtelennek szoktk tekinteni.

    A nehzsget az okozza, hogy a keress egy olyan llapotban, amikor egy n cscskiterjesztsre vr, a h*(n) rtket mg nem ismerjk, mint ahogy a reprezentcis grf ltre nem hozott rszt sem. Ezrt h*(n) - et becslni prbljuk. Ezt a becslfggvnyt h(n) - nel jelljk s heurisztikus fggvnynek nevezzk. A heurisztikusgrfkeres algoritmusok mindegyiknek kirtkel fggvnyben szerepel ez aheurisztikus fggvny.

    Elre tekint keress

    Az elretekint keress is az ltalnos grfkeres algoritmus egy specilis vltozata, bizonyos rtelemben ellentte az egyenletes keressnek. Mg az egyenletes keressegy olyan nylt cscsot terjeszt ki minden lpsben, amelyhez addig a legkisebbkltsg utat tallta, addig az elretekint keress a cscsok ellett figyelmenkvl hagyva egy olyan cscsot vlaszt, amelybl vrhatan a legkisebb kltsggellehet clcscsba jutni.

    A kirtkel fggvny teht most megegyezik a heurisztikus fggvnnyel:f(n) : = h(n)gyes heurisztikus fggvny vlasztssal az elre tekint keress keresgrfja jvalkisebb mret lesz, mint az egyenletes keress esetn, rosszul megvlasztottheurisztika esetn azonban mg az is elfordulhat, hogy az eljrs nem terminl.ltalnossgban mondhatjuk azt, hogy az egyenletes keress vatos, mg az

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    26/111

    elretekint kalandor jelleg, eredmnyessge nagyban fgg a h(n) heurisztikusfggvny megvlasztstl. Az eljrs sikeres terminlsa nem garantlt, knnyenlehet, hogy a keress elmegy egy megolds mellett.

    Plda

    Az A algoritmus

    Az egyenletes keress vatossgt s az elretekint keress btorsgt,hatkonysgnvel lehetsgeit tvzi az A algoritmus. Legyen most a kirtkelfggvny:f(n) : = g(n) + h(n)Ez azt jelenti, hogy a keress mindig olyan cscsot vlaszt kiterjesztsre, amelybevezet t kltsgnek s a clbars vrhat kltsgnek sszege minimlis. Aheurisztikus fggvnyre mindssze a h(n) 0 felttelt ktjk ki. Az ilyen kirtkelfggvnnyel mkd algoritmust nevezzk A algoritmusnak.

    Nzzk meg, milyen kltsget becsl az f(n) fggvny! Vezessk be azf*(n) : = g*(n) + h*(n)fggvnyt. Ennek rtke a startcscsbl kiindul, az n jel cscson thalad svalamelyik clcscsban terminl utak kltsgeinek minimuma, vagyis f*(n) egy, astartcscsbl kiindul, az n cscson thalad, clcscsban vgzd optimlis tkltsge. Ez azonban nem azonos az optimlis megoldsi t fogalmval, hiszen arrlnem kveteljk meg, hogy haladjon t egy adott cscson. Az f(n) fggvny tagonknt becsli az n jel cscshoz tartoz optimlis kltsget. Azt tudjuk, hogy g(n) g*(n), deh(n) s h*(n) viszonyrl semmit sem tudunk.

    Belthat (ld. [FGN] ,[LS],[ST]), hogyaz A algoritmus mindig tall megoldst, ha azltezik.

    A tbbi heurisztikus grfkeres algoritmust az A algoritmus finomtsval kapjuk,mgpedig gy, hogy a h(n) fggvnyre egyre ersebb feltteleket ktnk ki.Megjegyezzk, hogy az egyenletes keress is az A algoritmus specilis esetnek tekinthet, az azonosan nulla heurisztikus fggvnnyel (h 0 ).

    Plda

    Az A* algoritmusAz A* algoritmus kivlasztsi fggvnye is az f(n) : = g(n) + h(n) fggvny, de h(n)-re vonatkozan megkveteljk, hogyh(n) h*(n)legyen, vagyis a heurisztikus fggvny minden cscsnl alulrl becslje a htralevoptimlis kltsget. Ha az n cscsbl nem rhet el egyetlen clllapot sem, akkor h*(n) rtkt vgtelennek tekintve, a h(n) rtk tetszleges lehet.

    Az A* algoritmus a legismertebb s leggyakrabban alkalmazott grfkeres eljrs.Jelentsge abban van, hogyoptimlis megoldst tall . Ennek bizonytst ld. [FGN],[LS].

    http://e/MestInt/plvezer.htm#elorehttp://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/plvezer.htm#AesAhttp://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/plvezer.htm#elorehttp://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/plvezer.htm#AesAhttp://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    27/111

    Plda

    A kvetkezetes algoritmus

    Ha a heurisztikus fggvnyre vonatkozan jabb megszortst tesznk, akkor jutunk akvetkezetes algoritmushoz. Pontosabban: Ha egy A algoritmus heurisztikusfggvnye brmelyik l mentn legfeljebb az l kltsgvel cskken, akkor azalgoritmust kvetkezetesnek nevezzk. A mondott felttelt monoton megszortsnak hvjuk. Formlisan:h(n) - h(m) c(n,m)teljesl a reprezentcis grf minden (n,m) lre. Kiktjk mg azt is, hogy h(t) = 0teljesljn minden clcscsra.

    A monoton megszorts szemlletesen azt jelenti, hogy a clhoz kzeledve nem romlik a htralv kltsg becslse.

    A kvetkezetes algoritmus nevezetes tulajdonsga, hogy minden cscsot legfljebbegyszer terjeszt ki, mivel ha egy cscsot kiterjesztsre kivlaszt, akkor mr n - beoptimlis utat tallt. Az llts bizonytst ld. [FGN]. Szintn belthat ([FGN]),hogy a kvetkezetes algoritmus optimlis megolds megtallsval terminl, feltve,hogy ltezik megolds.

    Hogy igazoljuk a fejezet els mondatnak igazsgt, vagyis azt, hogy a monotonmegszorts tovbbi szigortst jelent a heurisztikus fggvnyre vonatkozan, beltjuk a kvetkez lltst:

    llts:

    Ha egy h heurisztikus fggvny kielgti a monoton megszorts felttelt, akkor egyben als becslse a h* kltsgfggvnynek.

    Bizonyts:

    Ha az n cscsbl nem vezet t a clcscsba, akkor az llts rdektelen, de formailagteljesl, mivel h* rtkt ilyenkor vgtelennek tekintjk.

    Ha ltezik t n-bl a clcscsok T halmazba, akkor tekintsnk egy optimlis (n =n0,n1,...,nk-1, nk = t ) utat. Minden benne szerepl lre rjuk fel a monoton megszortsfelttelt:

    h(n) - h(n1) c(n,n1)h(n1) - h(n2) c(n1,n2)...h(nk-1) - h(t) c(nk-1,t)

    sszeadva az egyenltlensgeket, a jobboldalon az optimlis t kltsgt kapjuk, azazh*(n) -et, a baloldalon pedig, kihasznlva, hogy h(t) = 0, h(n) - et.Vagyis h(n) h*(n).

    Az llts azt jelenti, hogy minden kvetkezetes algoritmus egyben A* algoritmus is.

    http://e/MestInt/plvezer.htm#AesAhttp://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/plvezer.htm#AesAhttp://e/MestInt/irodalom.htmhttp://e/MestInt/irodalom.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    28/111

    Fordtva viszont nem igaz a tartalmazs, vagyis megadhat olyan A* algoritmus,amely nem kvetkezetes. Erre mutat pldt [FGN] is.

    A grfkeres algoritmusok kapcsolata

    Az albbiakban egy brn sszefoglaljuk a grfkeres algorimusokat s egymssalval kapcsolatukat. Szrke folttal emeltk ki a nem informlt keres eljrsokat.

    Problmamegolds S/VAGY grfokkal

    A mestersges intelligencia sok terletn alkalmazzk az egyszer irnytott grfok ltalnostsaknt kapott S/VAGY grfokat. A kt f alkalmazsi terlet egyike azgynevezett felbonthat (dekomponlhat) rendszerek modellezse, vagy ms nven a problma-redukcis reprezentci, a msik aktszemlyes jtkok elemzse, de sok egybolyan helyen is alkalmazzk ezeket a grfokat, ahol logikai megfogalmazsok segtsgvellehet felpteni egy problma llapottert.

    Az S/VAGY grfok fogalma

    A logikakt fontos mvelete az S (konjunkci), illetve a VAGY (diszjunkci). Ezeket,illetve a segtsgkkel felptett formulkat szemlltethetjk az S/VAGY grfokkal, vagyms nven hipergrfokkal. Ebbl addan ezek a grfok minden olyan terletenalkalmazhatak, ahol a problmk ezen kt mvelet segtsgvel fogalmazhatak meg.Hipergrfok esetn egy cscspontnak lehetnek S utdai s VAGY utdai. Egy S kapcsolatakkor valsulhat meg, ha a kapcsolat sszes tagja megvalsul, a VAGY kapcsolat igazz

    vlshoz elg egy tagjnak igaz volta. Ezrt brzolskor krvvel ktjk ssze az Sutdokhoz vezet leket s nem ktjk ssze a VAGY utdhoz vezetket. Ha egy grfban

    http://e/MestInt/irodalom.htmhttp://e/MestInt/redukcio.htmhttp://e/MestInt/pljatek.htm#esvagyhttp://e/MestInt/logika.htmhttp://e/MestInt/logika.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/redukcio.htmhttp://e/MestInt/pljatek.htm#esvagyhttp://e/MestInt/logika.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    29/111

    minden cscspont utda VAGY utd, akkor az adott grf tulajdonkppen egy egyszerirnytott grf.

    Az S utdokhoz egy (krvvel sszekttt) l kteg vezet. Ezt nevezzk hiperlnek , vagymskppenk-adrend lnek . Pontosabban, egy k-adrend l mindig egy cscsbl egy k

    elem cscshalmazba vezet. (n,M) jelli azt a hiperlet, amelyik az n cscsbl az M ={m1,...,mk } cscshalmazba mutat. Az n jel cscsotszlnek , az M halmaztutdhalmaznak ,elemeit utdoknak nevezzk.

    Az olyan grfot, amelyik hiperleket tartalmazhipergfnak , vagy mskppenS/VAGYgrfnak nevezzk.

    Bevezetjk ahipert foglamt: Hipertnak neveznk egy olyan rszgrfot, amelynek mindencscsbl egyetlen hiperl indul ki. Ha a hipert kezdcscst n-nel, vgpontjainak halmaztK-val jelljk, akkor nK jelli az n-bl K-ba vezet hiperutat. Az n cscsot snek, a K cscshalmaz elemeit leszrmazottaknak nevezzk. { nK} - val az sszes n-bl K-ba vezethiperutak egyttest jelljk. Ahol a szvegkrnyezetbl addan egyrtelmsthet, ottsokszor a hipert elnevezs helyett egyszeren csak az t megnevezst hasznljuk.

    Az S/VAGY grfokban is definilhatjuk a megolds, vagy megoldgrf fogalmt. Egy olyanutat neveznk megoldsnak, amely a startcscsbl indul ki s a clcscsok halmazba vezet.Egy ilyen t az S/VAGY grfban egy rszgrfot hatroz meg. Ezt nevezzk megoldsgrfnak .

    Az albbi hipergrfban ngy hipert van, melyek egyttal megoldsgrfok is, feltve, hogyebben a grfban az n4, n5, n6, n7 cscsok alkotjk a clcscsokat.

    A megoldsgrfok:

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    30/111

    A kznsges grfokhoz hasonlan a hipergrfokban is bevezethetjk akltsgfogalmt.

    Jellje c(n,M) az (n,M) hiperl kltsgt. Egy t kltsgt az utat alkot hiperlek kltsgeinek sszegeknt rtelmezzk. Egy hiperlet azonban tbbszr is figyelembevehetnk a kltsgszmtsban. Az nK ton fekv m cscsbl kivezet hiperl kltsgtannyiszor szmtjuk bele a hipert kltsgbe, ahny kznsges irnytott t vezet n-bl m-

    be.A kltsg pontos fogalma a kvetkez:

    Jelljk az nK t kltsgt k(n,K) - val. Ekkor, ha az n cscs eleme a K cscshalmaznak,akkor k(n,K) : = 0, egybknt pedig

    ahol {n1,...nr } az n cscs utdhalmaza.

    Ha felttelezzk, hogy az elz brn minden k-adrend l kltsge k, akkor az egyes utak kltsge rendre 5, 4, 7 s 6. Lthatjuk, hogy a c) megoldsgrfban az n2 cscsbl kivezet lkltsge ktszer szerepel a kltsgszmtsban, ugyanis ktfle irnybl jutottunk el hozz ahiperton bell.

    S/VAGY grfkeres stratgik

    Ezek a stratgik akznsges grfoknl alkalmazott stratgikonalapulnak, de azok nem

    alkalmazhatak vltoztats nlkl, hiszen S/ VAGY grfok esetn nem csupn egy, astartcscsbl egy terminlis cscsba vezet utat keresnk, hanem egy rszgrfot, amely a

    http://e/MestInt/vezerles.htm#grafkereseshttp://e/MestInt/vezerles.htm#grafkereses
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    31/111

    problma megoldsgrfja. Ahhoz, hogy egy algoritmus alkalmazsa sorn el tudjuk dnteni,hogy ellltottuk-e mr a megoldsgrfot, szksgnk van kt j fogalomra, illetve a nekik megfelel rutinokra.

    A keres eljrsok futtatsa sorn amikor lehetsgess vlik, cmkkkel ltjuk el a grf

    bizonyos cscspontjait. A cmkzsi szablyok a kvetkezk:Azt mondjuk, hogy egy cscspontmegoldott, ha

    - megfelel egy primitv(azaz tovbb nem bonthat) problmnak;- van legalbb egy VAGY utdja, amely mr megoldott cmkvel rendelkezik;- az sszes S utdja mr megoldott cmkvel rendelkezik.

    Azt mondjuk, hogy egy cscspontmegoldhatatlan, ha- nincs utdja s nem primitv problma;- az sszes VAGY utdja megoldhatatlan;- van legalbb egy S utdja, ami megoldhatatlan.

    Az algoritmusban hasznlatos MEGOLDOTT, illetve MEGOLDHATATLAN rutinok a fentidefincik alapjn alulrl felfel megcmkzik a grfokban a lehetsges cscspontokat.

    Az S/VAGY_KERES eljrsban is van egy eleme fggvny, amely szintn arra szolgl,hogy kivlasszon egy kiterjesztend cscspontot. Most is (n)-nel jelljk n utdainak ahalmazt, de a kiterjeszts most nemcsak az utdok meghatrozst jelenti, hanem azt is,hogy bizonyos esetekben n utdait gy kapjuk, hogy az n llapotot S kapcsolat llapotokra bontjuk.

    Az algoritmusban szerepel egy PRIMITV nev prediktum, ami akkor igaz, ha azargumentumban szerepl cscspont egy primitv problmnak felel meg.

    Az algoritmus akkor terminl, ha a gykr valamilyen cmkt kap. Ha a kezdllapotmegoldott cmkt kap, akkor az algoritmus mr ellltott egy megoldsgrfot, melynek cscspontjai mind megoldott cmkvel rendelkeznek. Ha a kezdllapot megoldhatatlancmkt kap, akkor viszont flsleges tovbb keresni, mert ez a cmke mr nem fogmegvltozni.

    Mivel az S/VAGY grfokhoz is rendelhet kltsg, ezrt itt is beszlhetnk optimlismegoldsrl, illetve annak megkeressrl. Most azonban csak a grfkeres alapalgoritmusS/VAGY grfokra val talaktst trgyaljuk. A kltsgeket is figyelembevv algoritmustallhat pldul [FGN] knyvben.

    Algoritmus:

    Procedure S/VAGY_KERESG : = {Startcscs} Nylt : = {Startcscs}Cscs : = Startcscswhile Startcscs cmkzetlen do

    Nylt : = Nylt \ {Cscs}M : = (Cscs) Nylt : = Nylt Mif M = then Cscs-ot cmkzzk megoldhatatlannak, s futtassuk le aMEGOLDHATATLAN rutint

    http://e/MestInt/redukcio.htmhttp://e/MestInt/redukcio.htmhttp://e/MestInt/irodalom.htmhttp://e/MestInt/redukcio.htmhttp://e/MestInt/redukcio.htmhttp://e/MestInt/irodalom.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    32/111

    else while nem (M = ) dom : = eleme (M)M : = M \ {m}if PRIMITV(m) then m-et cmkzzk megoldottnak, s futtassuk le a

    MEGOLDOTT rutintenddoVegyk ki a Nylt halmazbl az sszes cmkzett cscspontot, s az olyan cscspontokat,

    amelyeknek van cmkzett eldjeCscs : = eleme (Nylt)

    enddoif Startcscs cmkje megoldott then az eljrs sikeresen terminl

    else HIBA.end

    Problma-redukcis reprezentciA htkznapi letben is s egyb problmk megoldsa sorn is sokszor prblunk gymegoldani egy feladatot, hogy azt egyszerbb rszfeladatokra bontjuk, majd az gy kapottrszeket tovbbi rszekre, egszen addig, amg kzvetlenl megoldhat problmkhoz nem jutunk, vagy amg el nem jutunk egy olyan pontig, amelyrl biztosan tudjuk, hogymegoldhatatlan. Az olyan problmt, melynek valahonnan ismerjk mr a megoldst,primitv problmnak nevezzk. Egy problmamegoldhatatlan, ha mr valahonnan tudjuk,hogy biztosan nincs megoldsa, vagy ha az adott problmt nem tudjuk tovbb bontaniegyszerbb problmkra s nem ismerjk a megoldst.

    A problma rszekre bontsnak szemlletre pl feladat-reprezentcitproblma-redukcis reprezentcinak nevezzk. Tbb helyen dekomponlhat rendszereknek nevezik ezt a fajta problmakezelst.

    A problma-redukcis reprezentci szemlltetsre azS/VAGY grfokat, vagy ms nvenhipergrfokat alkalmazzuk. Az ily mdon megfogalmazott feladatok egy S/VAGY grfonval keressi problmaknt rtelmezhetek.

    Egy problma redukcija a kvetkez mdon brzolhat:

    A szemlltet grf cscsai a problmalersoknak felelnek meg. A megoldand problma agrf gykere. Ha egy problmt rszproblmkra vezethetnk vissza, akkor a problmnak megfeleltetett cscsbl hiperl vezet a rszproblmkat jelkpez cscshalmazba. Ha egy problmt tbbflekppen is fel lehet bontani rszproblmkra, akkor az adott cscsbl tbbhiperl is indul, mgpedig annyi, ahny flekppen bonthat fel rszekre az adott problma.

    Mint lthatjuk, egy hiperl, azaz az S kapcsolatban lev cscsok olyan rszproblmkatreprezentlnak, amelyek mindegyikt meg kell oldani, mg ha egy cscsbl tbb hiperl vezetki, vagyis ezek VAGY kapcsolatban vannak, akkor elg a lehetsges lek kzl csak egyetkivlasztani s az annak megfelel rszproblmkat megoldani.

    Sokszor clszer elkerlni a vegyes elgazsokat, azaz arra trekedni, hogy egy cscspontnak vagy csak S utdai, vagy csak VAGY utdai legyenek. Ezt legegyszerbben gy oldhatjuk

    http://e/MestInt/esvagy.htmhttp://e/MestInt/esvagy.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    33/111

    meg, hogy vegyes elgazs esetn j, kzbls cscspontokat iktatunk be.

    A kvetkez brn a logikailag A = (BC) (D E) F mdon felrt problma vegyeselgazsokkal brzolhat. Ha azonban bevezetjk az N : = BC, illetve az M : = DEcscsokat, akkor a problma A = NM F mdon fogalmazhat meg s ezen cscsok bevezetsvel elkerltk a vegyes elgazst.

    Nzznk meg kt konkrt pldt a problma-redukcira! Mindkt pldban megprbljuk egyszerbb problmkra bontani az eredetit, s azok megoldsait megkeresve megvlaszolniaz eredetit.

    1. Hanoi torony

    A feladatreprezentci trgyalsnl pldaknt bemutatottfeladat a kvetkez:

    Adott hrom klnbz mret korong (A, B s C) s hrom rd (1, 2 s 3). Kezdetbenmindhrom korong az 1-es rdon helyezkedik el gy, hogy fell van a legkisebb korong (A),alul a legnagyobb (C). Helyezzk t a korongokat a 3-as rdra a 2-es segtsgvel gy, hogyegyszerre csak egy korong mozdthat, s nem helyezhet egy korong egy nla kisebb korongtetejre.

    Egy llapot egy hromelem vektorral reprezentlhat, melynek indexei rendre A, B, C, azegyes komponensek rtke pedig az 1, 2, 3 valamelyike. Ez a reprezentci azt adja meg,hogy az A, B, C korongok rendre melyik rdon tallhatak meg. Ennek megfelelen akezdllapotot az (1,1,1), a clllapotot a (3,3,3) hrmas rja le.

    Ennek a feladatnak megoldsa tipikus pldja a rszfeladatokra bontsnak. A feladat akvetkez hrom rszproblmra bonthat:

    1. Tegyk az A s B korongot az 1-es rdrl a 2-esre.2. Tegyk C-t az 1-esrl a 3-asra.3. Tegyk A-t s B-t 2-rl 3-ra.

    Mindegyik problma egyszerbb az eredetinl, mert kevesebb korongot mozgat. A msodik rszproblma tovbb mr nem reduklhat, vagyis ez primitv problma, amely egyszerenmegoldhat. Az 1. s 3. rszproblma mg tovbb reduklhat az eredeti felbontshozhasonl mdon.

    Az albbi brn lthatjuk a problma-redukci S/VAGY grfjt.

    http://e/MestInt/plfelrep.htm#hanoihttp://e/MestInt/plfelrep.htm#hanoi
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    34/111

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    35/111

    Problma-redukcis reprezentciA htkznapi letben is s egyb problmk megoldsa sorn is sokszor prblunk gymegoldani egy feladatot, hogy azt egyszerbb rszfeladatokra bontjuk, majd az gy kapottrszeket tovbbi rszekre, egszen addig, amg kzvetlenl megoldhat problmkhoz nem jutunk, vagy amg el nem jutunk egy olyan pontig, amelyrl biztosan tudjuk, hogymegoldhatatlan. Az olyan problmt, melynek valahonnan ismerjk mr a megoldst,primitv problmnak nevezzk. Egy problmamegoldhatatlan, ha mr valahonnan tudjuk,hogy biztosan nincs megoldsa, vagy ha az adott problmt nem tudjuk tovbb bontaniegyszerbb problmkra s nem ismerjk a megoldst.

    A problma rszekre bontsnak szemlletre pl feladat-reprezentcitproblma-redukcis reprezentcinak nevezzk. Tbb helyen dekomponlhat rendszereknek nevezik ezt a fajta problmakezelst.

    A problma-redukcis reprezentci szemlltetsre azS/VAGY grfokat, vagy ms nvenhipergrfokat alkalmazzuk. Az ily mdon megfogalmazott feladatok egy S/VAGY grfonval keressi problmaknt rtelmezhetek.

    Egy problma redukcija a kvetkez mdon brzolhat:

    A szemlltet grf cscsai a problmalersoknak felelnek meg. A megoldand problma agrf gykere. Ha egy problmt rszproblmkra vezethetnk vissza, akkor a problmnak megfeleltetett cscsbl hiperl vezet a rszproblmkat jelkpez cscshalmazba. Ha egy

    problmt tbbflekppen is fel lehet bontani rszproblmkra, akkor az adott cscsbl tbbhiperl is indul, mgpedig annyi, ahny flekppen bonthat fel rszekre az adott problma.

    http://e/MestInt/esvagy.htmhttp://e/MestInt/es3n.htmhttp://e/MestInt/esvagy.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    36/111

    Mint lthatjuk, egy hiperl, azaz az S kapcsolatban lev cscsok olyan rszproblmkatreprezentlnak, amelyek mindegyikt meg kell oldani, mg ha egy cscsbl tbb hiperl vezetki, vagyis ezek VAGY kapcsolatban vannak, akkor elg a lehetsges lek kzl csak egyetkivlasztani s az annak megfelel rszproblmkat megoldani.

    Sokszor clszer elkerlni a vegyes elgazsokat, azaz arra trekedni, hogy egy cscspontnak vagy csak S utdai, vagy csak VAGY utdai legyenek. Ezt legegyszerbben gy oldhatjuk meg, hogy vegyes elgazs esetn j, kzbls cscspontokat iktatunk be.

    A kvetkez brn a logikailag A = (BC) (D E) F mdon felrt problma vegyeselgazsokkal brzolhat. Ha azonban bevezetjk az N : = BC, illetve az M : = DEcscsokat, akkor a problma A = NM F mdon fogalmazhat meg s ezen cscsok bevezetsvel elkerltk a vegyes elgazst.

    Nzznk meg kt konkrt pldt a problma-redukcira! Mindkt pldban megprbljuk egyszerbb problmkra bontani az eredetit, s azok megoldsait megkeresve megvlaszolni

    az eredetit.1. Hanoi torony

    A feladatreprezentci trgyalsnl pldaknt bemutatottfeladat a kvetkez:

    Adott hrom klnbz mret korong (A, B s C) s hrom rd (1, 2 s 3). Kezdetbenmindhrom korong az 1-es rdon helyezkedik el gy, hogy fell van a legkisebb korong (A),alul a legnagyobb (C). Helyezzk t a korongokat a 3-as rdra a 2-es segtsgvel gy, hogyegyszerre csak egy korong mozdthat, s nem helyezhet egy korong egy nla kisebb korongtetejre.

    Egy llapot egy hromelem vektorral reprezentlhat, melynek indexei rendre A, B, C, azegyes komponensek rtke pedig az 1, 2, 3 valamelyike. Ez a reprezentci azt adja meg,hogy az A, B, C korongok rendre melyik rdon tallhatak meg. Ennek megfelelen akezdllapotot az (1,1,1), a clllapotot a (3,3,3) hrmas rja le.

    Ennek a feladatnak megoldsa tipikus pldja a rszfeladatokra bontsnak. A feladat akvetkez hrom rszproblmra bonthat:

    1. Tegyk az A s B korongot az 1-es rdrl a 2-esre.2. Tegyk C-t az 1-esrl a 3-asra.3. Tegyk A-t s B-t 2-rl 3-ra.

    http://e/MestInt/plfelrep.htm#hanoihttp://e/MestInt/plfelrep.htm#hanoi
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    37/111

    Mindegyik problma egyszerbb az eredetinl, mert kevesebb korongot mozgat. A msodik rszproblma tovbb mr nem reduklhat, vagyis ez primitv problma, amely egyszerenmegoldhat. Az 1. s 3. rszproblma mg tovbb reduklhat az eredeti felbontshozhasonl mdon.

    Az albbi brn lthatjuk a problma-redukci S/VAGY grfjt.

    Ennl a pldnl minden lpsben S kapcsolat problmkra bontjuk a feladatot, gy a teljesfa egyben a megoldfa is. A cscspontokban mindig a megoldand rszproblmk szerepelnek.

    Megjegyzs:A feladat tetszleges szm korong esetn is hasonl mdon reprezentlhat.

    2. Szimbolikus integrls

    A felbonthat rendszerek msik klasszikus pldja a szimbolikus integrls, vagyis egyfggvny primitv fggvnynek meghatrozsa. Formlisan ez azt jelenti, hogy egyintegrljelet tartalmaz szimblumsorozatbl megadott szablyok alapjn egy integrljeletnem tartalmaz szimblumsorozatot kell ellltani.

    Egy integrl kiszmtsakor olyan szablyokat alkalmazunk, amelyek hatsra vagy tovbbrais egy integrl kiszmtsa a feladatunk, vagy tbb integrl kiszmtsra bomlik a feladat. Haegy fa segtsgvel nyomon kvetjk a lehetsges integrlok menett, akkor az els esetben

    VAGY utdot, a msodik esetben S utdokat kapunk. VAGY utdok szrmaznak pldultrigonometrikus-, algebrai azonossgok, helyettestses integrls stb. alkalmazsa esetn.Ugyanakkor pldul sszeg integrlsakor S utdokhoz jutunk, hiszen az egyes tagokatkln-kln kell integrlnunk. Ebben a feladatban az alapintegrlok tekinthetek primitv problmknak, mert azok rtke mr elre elksztett tblzatokbl kiolvashat.

    A kvetkez brn egy konkrt integrl kiszmtsnak S/VAGY fja lthat. Az brban azleken az alkalmazott szablyok vannak feltntetve. Az eredeti integrlsi problmamegoldsa a rszintegrlok megfelelen visszahelyettestett sszegeknt addik.

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    38/111

    Ktszemlyes teljes informcij jtkok A jtkelmlet viszonylag fiatal tudomnya a matematiknak. Egyre bvl alkalmazsilehetsgei miatt nvekszik irnta az rdeklds a nem matematikusok krben is.

    A jtkok matematikai elemzsre irnyul ksrletek mr a renesznsz korbanmegkezddtek. A vizsglat trgyt a szerencsejtkok kpeztk, vagyis azok a jtkok (pl.kockajtkok), amelyekben a jtk kimenetele csak a vletlentl (a szerencstl) fgg, a jtkosok cselekvstl nem. A szerencsejtkok vizsglata vezetett a vletlentrvnyszersgeinek felismershez, a valsznsgszmts kialakulshoz.

    A 20. szzad elejn kezddtt meg a stratgiai jtkok elemzse. Ezek olyan jtkok,amelyekben vagy egyltaln nincs szerepe a vletlennek (pl. sakk), vagy csak rszben van.Ezekben a jtkokban a jtk kimenetelt dnt mrtkben a jtkosok tudsa, ravaszsgaszabja meg. A stratgiai jtkok elemzse vezetett a jtkelmlet felfedezshez. Az elmlet

    megalapozja Neumann Jnos (1903 - 1957), els jelents tovbbfejlesztje s alkalmazjaWald brahm (1902 - 1950).

    A jtkelmlet a stratgiai jtkokkal foglalkozik. Feladata pedig az egyformn intelligensnek tekintett jtkosok optimlis cselekvseinek (stratgiinak) meghatrozsa, figyelembe vve atbbi jtkos ellenlpseit, a jtkszablyok adta korltokat s esetleg a vletlen szerept. A jtkosok optimlis cselekvsi egyenslyi helyzetet teremtenek a jtkban, amelytl egyik rsztvevnek sem rdemes eltrni. A jtkelmlet feladata teht az egyenslyi helyzetek keresse. A vletlen szerepe miatt a jtkelmlet legtbb megllaptsa statisztikus jelleg,rvnyeslsk a jtk sokszori lejtszsa esetn valsul meg.

    A stratgiai jtkokban a rsztvevk rdekei ltalban ellenttesek, vagy legalbbis eltrek,az ilyen jtkokra a konfliktusok jellemzek. Emiatt minden jtk egy konfliktushelyzet

    http://e/MestInt/es3n.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    39/111

    modelljnek tekinthet. Ez az alapja a jtkelmlet szles kr alkalmazhatsgnak, hiszenaz let klnbz terletein sok, jtkelmletileg modellezhet konfliktushelyzet tallhat. A jtkelmlet klnsen a hadszatban, kzgazdasgtanban, a szociolgiban nagy jelentsg,de behatolt a pedaggiba, st az irodalomtudomnyba is. A gazdasg pldul - kissleegyszerstve - olyan jtknak tekinthet, amelyben a jtkosok az egyes gazdasgi

    egysgek s van egy olyan jtkos, az llam, amely ha nem nyer eleget, megvltoztatja a jtkszablyokat (gazdasgi szablyzkat).

    A jtkelmleti kutatsok fontossgt jelzi az a tny is, hogy az 1994-es kzgazdasgi Nobel-djat a jtkelmlet kzgazdasgi alkalmazsrt kapta e tma hrom kiemelked kutatja:J.F.Nash, Harsnyi Jzsef s R.Selten.

    Vannak olyan izgalmas ksrletek is, amelyek a jtkelmletet kapcsolatba hozzk azevolci-kutats eredmnyeivel, a gnszelekcival, a kvantumelmlettel, s mg sok mindenmssal is. Evvel foglalkozik Mr Lszl nagyon izgalmas s szrakoztatan olvasmnyosknyve. ([M2])

    A tovbbiakban csak egy specilis jtktpussal, a ktszemlyes jtkok elmletvelfoglalkozunk. Ez a tmakr az elsk kztt keltette fel a mestersges intelligencia kutatinak rdekldst. Ez nem csoda, hiszen a MI olyan szellemi feladatok szmtgpes megoldsttzte ki clul, amelyek az ember rszrl magas fok intelligencit, gondolkodtevkenysget kvnnak. Senki sem vitatja, hogy az olyan jtkokra, mint a sakk, vagy a go,rillik ez a meghatrozs. Az MI kutatk clja: szmtgpes programokkal tlszrnyalni azember teljestmnyt.

    Nzzk meg pontosabban, mit is neveznk teljes informcij ktszemlyes jtknak. Ezt a jtkosztlyt a kvetkezkppen definilhatjuk:

    - Kt jtkos lp felvltva egyms utn, a megadott szablyok szerint.- Mindkt jtkos birtokban van a jtkkal kapcsolatos sszes informcinak. Ez azt jelenti, hogy ismerik a jtszma sorn megtett korbbi lpseket, s minden rszlettltjk a kialakult llsnak. Lnyeg, hogy a szerencsnek semmilyen vonatkozsbansincs szerepe egy adott jtszma alakulsban.- A jtk minden egyes llsban vges szm szablyos lps kzl lehet vlasztani.- A jtk szablyai olyanok, hogy vgtelen jtszmk nem fordulhatnak el.- A jtszmk vgn az egyik jtkos nyer, mg a msik veszt, illetve bizonyosesetekben a dntetlen eredmny is elkpzelhet.

    Lthat, hogy ez a jtkosztly alapos leszktse az ltalnosan emltett jtkelmletilehetsgeknek, azonban jl kzbentarthat, egyrtelmen megfogalmazhatak a rjuk vonatkoz trvnyszersgek, ezrt alkalmasak arra, hogy a mestersges intelligencivalfoglalkoz kutatk komolyabb figyelmet szenteljenek r. Sok ismert tbls jtk tartozik ide,egyik legismertebb s legkedveltebb a sakk, de idetartozik a go, a malom, a dmajtk, stb.

    A jtkokkal kapcsolatos problma a nyers lehetsgnek s mdjnak meghatrozsa.Vizsglatainkhoz elszr is alkalmas reprezentcis eszkzt kell vlasztani. Erre nagyon jlmegfelelnek az irnytott grfok. Ezt nevezzk jtkgrfnak. Egy jtkgrf az adott jtk minden lehetsges jtszmjt tartalmazza. Az ltalnos grfok helyett ltalban inkbb fkatkpeznk, mivel az jval egyszerbben kezelhet szerkezet, s mert a felvltva lp

    jtkosoknak a fa pros, illetve pratlan szintjei feleltethetek meg. Mivel definci szerint

    http://r/OKTAT/MI3/MESTINT/irodalom.htmhttp://r/OKTAT/MI3/MESTINT/irodalom.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    40/111

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    41/111

  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    42/111

    A nyer stratgia ltezsre vonatkoz llts rdekes kvetkezmnye, hogy pldul a sakk esetn (vagy a nlunk kevsb ismert, de a sakknl bonyolultabb go jtk esetn is) ltezik valamelyik jtkos szmra nyer, de legalbbis nem veszt stratgia. Ennek meghatrozsa a jtkfa risi mrete miatt gyakorlatilag megvalsthatatlan. (Becsls)

    Nem csak a sakk jtkfja ilyen hatalmas. ltalban a teljes jtkfa mrete arnyos a jtk bonyolultsgval. A nagyobb intelligencit ignyl jtkok fi mg a mai nagy teljestmnyszmtgpek szmra is kezelhetetlenek: teljes elemzsk messze meghaladn arendelkezsre ll memriakapacits s mveleti sebessg korltait.

    Emiatt vlik indokoltt a jtkfa rszleges kirtkelse.

    A jtkfa rszleges kirtkelse

    Mivel egy kicsit is rdekesebb jtk jtkfja ltalban terjedelmes mret, ezrt a jtkfateljes mlysg kirtkelsrl le kell mondanunk. Ennek megfelelen le kell mondanunk arrl, hogy egy biztos nyer stratgit hatrozzunk meg. Ehelyett csupn soronkvetkez jtkos szmra egy ers, jnak tn lpst keresnk. Az ellenfl vlasza utn jabb jlpst keresnk a szmra, s gy tovbb. Teht egyszerre mindig csak a soronlv lpsthatrozzuk meg.

    A keressnek valamilyen mlysgi korltot kell szabni, mivel nem akarjuk a ft teljesmlysgben generlni. A legegyszerbb korltot egy rgztett szintszm jelenti, dekorltozhatjuk a keressi id, vagy memriakorltok alapjn is.

    Az adott mlysgig kiterjesztet keresfa levelei ltalban nem egzakt nyer vagy veszt

    llsok, mivel azokbl mg nem vgllsok. Nem tudjuk teht ezeket az llsokat nyervagy veszt cmkvel elltni. Ehelyett egy gynevezett statikus kirtkel fggvnytalkalmazunk a keresfa terminlis cscsaira. Ez a fggvny szmszeren jellemzi az illetcscsban lv lls jsgt, azt minsti, hogy a szban forg lls mennyire gretes a fagykerben szerepl jtkos nyerse szempontjbl. A statikus jelz arra utal, hogy afggvny rtke csupn az adott llstl fgg. A statikus fggvnyt az adott jtkra vonatkozismeretek, tapasztalatok alapjn adhatjuk meg. Megvlasztstl nagyban fgg a kirtkelsjsga, vagyis az, hogy valban kedvez els lpshez jutunk-e a kirtkels utn.

    A minimax eljrs

    Az egyik legismertebb rszleges kirtkel eljrs a minimax algoritmus. Ez egy adottllsban az egyik jtkos szmra kedveznek tn els lpst hatrozza meg, az llsblkiindul, elre rgztett mlysg, teljes szlessgben generlt jtkfa kirtkelsvel.

    Konvencik alapjn nevezzk MAX-nak azt a jtkost, aki szmra a kedvez els lpstkeressk, ellenfelt pedig hvjuk MIN-nek. A kirtkel fggvny pozitv rtket rendelminden olyan llshoz, amelyben MAX-nak van nyersi eslye, mgpedig minl nagyobbnak tnik ez az esly, annl nagyobb rtket. Hasonl mdon negatv rtket rendel a MINszmra kedvez llsokhoz. Dntetlen sznezet llsokhoz nulla vagy nulla kzeli rtketrendel. A MAX szmra nyer llshoz szoks - t, a MIN szmra nyer llshoz pedig - - trendelni.

    http://r/OKTAT/MI3/MESTINT/sakkbecs.htmhttp://r/OKTAT/MI3/MESTINT/sakkbecs.htm
  • 8/6/2019 Mestersges Intelligencia Knyv (2000, 110 oldal)

    43/111

    Az eljrs a kvetkez mdon mkdik. Tegyk fl, hogy talltunk a vizsglt jtkra egyalkalmas statikus kirtkel fggvnyt. Ha az adott mlysgig felptjk a jtkft, akkor annak leveleire alkalmazhatjuk a kirtkel fggvnyt. MAX szmra az lenne a kedvez, haeljuthatna egy maximlis rtk llsba. Elkpzelhet azonban, hogy mikzben errefeligyekszik, MIN tud olyanokat lpni, hogy MAX vgl kedveztlen llsba jut. Ezrt

    figyelembe kell venni MIN lehetsges lpseit is. Nyilvnvalan olyan kezdlpst clszervlasztani, amellyel - minden tovbbi llsban MIN legersebb ellenlpst felttelezve -MAX a legkedvezbb llsba juthat.

    Maga az eljrs nagyon hasonlt a cmkzsi eljrshoz. Itt is a levelektl indulva a grf felsbb szintjeire feladott rtkekkel vgl a gykrhez is rendelhetnk egy, az llsjsgra jellemz rtket, s az rtk alapjn megadhatjuk a legkedvezbbnek tnkezdlpst.

    Ha egy adott szinten MAX lp, akkor a szinten lv cscsokhoz az utdjaikhoz tartozfggvnyrtkek maximumt, ha MIN lp, akkor ezen rtkek minimumt rendeljk. Ilymdon a gykr is kap egy szmrtket s az evvel az rtkkel rendelkez utdcscsba vezetlpst kell meglpnie. Formlisan:

    Egy adott mlysg jtkfban alulrl felfel haladva minden n cscshoz egy v(n) - nel jelltrtket rendelnk az albbiak szerint:

    1. Ha n terminlis cscs, akkor v(n) : = f(n), ahol f(n) jelli a statikus kirtkelfggvny rtkt.

    2. Ha n nem terminlis cscs s rkvetkezit n1,...,nk jelli, akkor

    v(n) : = max(v(n1),...,v(nk )) ha n pros szinten tallhat (azaz MAXkvetkezik), illetve v(n) : = min(v(n1),...,v(nk ))