1. A keresesi algoritmusokat 4 kriterium alapjan hasonlithatjuk ossze. Ezek a teljesseg, optimalitas, idoigeny es a tarigeny. Nezzuk sorba hogy melyik mit jelent. A teljesseg, illetve angolul completeness azt jelenti hogy az algoritmus biztosan megtalalja a megoldast amennyiben az letezik. A teljesseg a keresesi algoritmus egy kivanatos tulajdonsaga. Az optimalitas, illetve angolul optimality, annyit jelent hogy a megoldasi strategia azt a megoldast talalja meg amelyiknek a legkisebb az utkoltsege. Akarcsak a teljesseg, az optimalitas is a keresoalgoritmus egy kivanatos tulajdonsaga. A kovetkezo tulajdonsag az idoigeny, angolul time complexity, azt mondja meg hogy az algoritmus mennyi ido alatt talalja meg a megoldast. Kivanatos hogy ez az ido minel rovidebb legyen. Az utolso tulajdonsag a tarigeny, angolul space complexity, ez arra ad valaszt hogy a megoldas megtalalasahoz mennyi memoriara van szukseg. Minel kevesebb annal jobb. Tehat az idealis keresoalgoritmus teljes, optimalis, gyorsan megtalalja a megoldast es ehhez keves memoriat hasznal. Ezek a kivanatos dolgok surun egymassal ellentetben vannak, es nem lehet mindegyiket teljesiteni, ezert kompromisszumra van szukseg. 2. A keresei modszerek ket nagy csoportba oszthatok. Az elso az informalatlan keresesi modszerek, amelyek csak a feladat definiciojaban megadott informaciokra tamaszkodnak. Az informalatlan keresest meg vak keresesi algoritmusnak is nevezzuk mert kifejtes kozben nincs tudomasunk arrol hogy a csomopontok kozul melyik van kozelebb a megoldashoz. Ez azert tortenik mert a csomopontok nincsenek kiertekelve. Ezzel szemben, a masik csoport az informalt keresesi modszerek, itt az algoritmusnak mar van valamilyen elkepzelese arrol hogy a megoldast a keresesi ter melyik reszen keresse. Ebben az eloadasban az informalatlan modszereket vizsgaljuk, az informalt modszerek az egyik kovetkezo eloadas temaja. 3. Az informalatlan keresesi modszerek csak a csomopontok kifejtesi sorrendjeben kulonboznek. Ennek alapjan a kovetkezo modszereket kulonboztetjuk meg: - szelessegi kereses (angolul Breadth First Search, roviditve BFS) - Melysegi kereses (angolul Depth First Search, roviditve DFS) - Egyenletes koltsegu kereses (Uniform Cost Search) - Melysegkorlatozott kereses (Depth limited search) - Iterativan melyulo kereses (Iterative Deepening Search) - Ketiranyu kereses (Bidirectional Search) Mielott reszletesen megismerkednenk az egyes informalatlan keresesi modszerekkel, definialunk egy fontos fogalmat. A perem, illetve hullamfont, angolul fringe, a legeneralt, de meg nem kifejtett csomopontok halmaza. A perem fogalmat surun fogjuk hasznalni minden keresesi modszernel. 4. A szelessegi strategia egy egyszeru strategia ahol mindig a legsekelyebben fekvo csomopontot fejtjuk ki. Minden adott melysegu csomopont hamarabb lesz kifejtve mielott egy melyebben fekvo csomopontot kifejtenenk. 5. Ebben az esetben a perem egy FIFO sor, ezert az utodcsomopontok mindig a sor vegere kerulnek. Mindig a gyokercsomoponttol indulunk, ebben az esetben ez az A csomopont, ellenorizzuk hogy celcsomopont-e. Ha igena kkor befejezzuk a keresest, ha nem akkor kifejtjuk. Igy nyerjuk a B es C csomopontokat. Mindig a perem elso elemet fejtjuk ki, ez most a B, es igy tovabb amig ra nem talalunk a celra. 6. A perem elso eleme a B, ezert ez a kovetkezo csomopont. Kifejtesevel kapjuk a D es E csomopontokat amelyeket a FIFO sor vegere helyezunk, ezert a perem allasa most C, D, E. 7. Most a soronlevo kifejtesre varo csomopont a C, mivel nem celcsomopont, kifejtjuk. Ezutan a perem allapota D, E, F, G. Az F es G ismet a FIFO sor altal reprezentalt perem-lista cegere kerul. 8. A keresessel ugyanilyen modon haladunk tovabb amig meg nem talaljuk a megoldast vagy amig el nem fogynak a kifejteni valo csomopontok. Amennyiben az osszes csomopontot kifejtjuk es nem talaljuk meg a megoldast akkor az adott keresesi feladatra nincs megoldas. 9. Vizsgaljuk most ki a szelessegi keresest a teljesseg, optimalitas, idoigeny es tarigeny szempontjabol. A szelessegi kereses teljes, tehat mindig megtalalja a megoldast amennyiben az letezik es ha a b elagazasi tenyezo veges. A szelessegi kereses optimalis ha minden lepes koltsege azonos, mivel akkor a melyebben fekvo csomopontoknak nagyobb a koltsege. Ami az idoigenyt es a tarigenyt illeti, mind a ketto ekszponencialis. Ha feltetelezzuk, hogy a b elagazasi tenyezo allando, akkor a gyokercsomopontot koveto melysegen b, a kovetkezo melysegen b a negyzeten, a d-edik melysegen pedig b a d-n csomopont van. A legrosszabb eset hogy a megoldas a d-edik szint utolso csomopontja, ezert a kifejtendo csomopontok szama 1+b+b negyzet, stb, ami ekszponencialis komplekszitast jelent. A tarigeny ugyszinten ekszponencialis, mivel minden legeneralt csomopontot tarolni kell mert vagy a perem eleme, vagy egy perembeli csomopont ose. Az ekszponencialis komplekszitas miatt a szelessegi keresessel csak a legegyszerubb keresesi feladatokat lehet megoldani. 10. A kovetkezo informalatlan keresesi modszer az egyenletes koltsegu kereses. Amint emlitettuk, a szelessegi kereses akkor optimalis ha a lepeskoltseg allando mert az algoritmus mindig a legsekelyebben fekvo csomopontot fejti ki. Ezzel szemben, az egyenletes koltsegu kereses nem a legsekelyebben fekvo csomopontot, hanem a legkisebb utkoltsegu csomopontot fejti ki. Amennyiben a lepeskoltseg allando, az egyenletes koltsegu kereses azonos a szelessegivel. Ez a modszer nem torodik azzal hogy egy ut hany lepesbol all, csak az ut koltsegevel torodik. Ezzel a modszerrel az a gond, hogy vegtelen ciklusba kerul ha egy csomopont kifejtese nulla. Ezt a gondot ugy harithatjuk el, hogy minden lepeshez legalabb egy kis epszilon erteket rendelunk. 11. Az uniform koltsegu keresesnel mindig a legkisebb koltsegu csomopontot fejtjuk ki. Az adott abran az a cel hogy megtalaljuk az utat az S kezdocsomopont es a G celcsomopont kozott uniform koltsegu keresessel. Eloszor az S gyokercsomopontot fejtjuk ki, ennek utodai az A, B, C es D. A peremre nagysag szerint vesszuk fel oket, ez lesz a kifejtesi sorrend. Mivel az A csomopontnak van a legkisebb koltsege (2), ezert most ezt fejtjuk ki, es igy nyerjuk a G celcsomopontot. Viszont a keresesnek itt meg nincs vege mert a G erteke, illetve koltsege 14, a C erteke pedig csak 5, igy most a C csomopont kovetkezik. A peremen most a B, G, G es D csomopontok vannak, kozuluk a legkisebb koltsege a B-nek van, kifejtesevel ismet a G csomopontot kapjuk, de ezuttal ez mar a megoldas mert a perem osszes csomopontja kozul a G-nek a legkisebb a koltsege. Tehat a megtalalt utvonal az S-B-G amelynek koltsege 11. Ebben a konkret esetben ez az optimalis megoldas, altalanos esetben az optimalis megoldas nem lesz mindig megtalalva.