MESTERSÉGES INTELLIGENCIA (ARTIFICIAL INTELLIGENCE) Kivonat Nagy Sára Fekete István Gregorics Tibor munkái alapján
N királynő probléma reprezentáció állapot – egy állás (N x N-es mátrix) állapottér – lehetséges állások 1..N királynővel – mezők megcímkézése (KN, ütésben, szabad) nem lehetnek ütésben álló KN-k KN=N esetén célállapot művelet – 1 KN elhelyezése ütésben álló mezők száma nő korlátozás kielégítés (constraint satisfaction) költség – minden megoldás költsége azonos (N hosszú műveletsorozat) kezdőállapot – üres tábla célállapot – N királynő a táblán
N királynő probléma reprezentációs gráf – inkrementális megfogalmazás
Heurisztikák az n-királynő problémára 1. 3. reprezentáció mellett Neminformált: Diagonális és ptl-ps heurisztika Diagonális heurisztika: * 4 3 3 4 4 3 3 4 * * * * * * * 3 * 4 4 3 3 4 4 3 * * * * * * * * 3 4 4 3 3 4 4 3 * * * * * * 4 3 * 3 4 4 3 3 4 22 visszalépés 2 visszalépés 0 visszalépés
Visszalépéses keresés visszalépés feltételei: zsákutca, azaz végpontjából nem vezet tovább út zsákutca torkolat, azaz végpontjából kivezető utak nem vezettek célba kör, azaz végpontja megegyezik az út egy megelőző csúcsával mélységi korlátnál hosszabb terminálási feltétel: az aktuális út végén megjelenik egy célcsúcs, vagy ha a startcsúcsból vissza akarunk lépni sorrendi heurisztika, vágó heurisztika Ariadne fonala
Visszalépéses keresés CSÚCS, ÚJCSÚCS: reprezentációs gráf. 1-1- csúcsa SZABÁLYOK: lista kezdetben az összes szabály, de az AlkalmazhatóSzabályok operátor hozza létre NIL: Üres lista Első: Lista elő eleme Vége: Lista maradéka Fűz 1 elemet fűz a lista elé Rekurzív eljárás visszalépés1(CSÚCS) HA cél(CSÚCS) akkor visszatér(NIL) Szabályok :=AlkalmazhatóSzabályok(CSÚCS) Talált:=hamis Ciklus amíg nem (üres(Szabályok) vagy Talált) R :=elso(szabályok); szabályok :=vége(szabályok) Újcsúcs :=R(CSÚCS) Szablista :=visszalépés1(Újcsúcs) ha szablista ≠hiba akkor Talált :=igaz Ciklus vége Ha Talált akkor visszatér(fűz(R,Szablista)) különben visszatér(hiba) Eljárás vége
Visszalépéses keresés Meghívása: visszalépés1(STARTCSÚCS) Rekurzív eljárás visszalépés1(CSÚCS) HA cél(CSÚCS) akkor visszatér(NIL) Szabályok :=AlkalmazhatóSzabályok(CSÚCS) Talált:=hamis Ciklus amíg nem ( üres(Szabályok) vagy Talált ) R :=elso(szabályok); szabályok :=vége(szabályok) Újcsúcs :=R(CSÚCS) Szablista :=visszalépés1(Újcsúcs) ha szablista ≠hiba akkor Talált :=igaz Ciklus vége Ha Talált akkor visszatér(fűz(R,Szablista)) különben visszatér(hiba) Eljárás vége
Visszalépéses keresés 2. A visszalépés1 algoritmus terminálása nem garantált végtelen, vagy kört tartalmazó gráfon Javítás: Mélységi korlát bevezetése Csak be nem járt csúcsok vizsgálata
4 királynő – visszalépéses kereséssel