Állapottér-reprezentálható problémák

Hasonló dokumentumok
Állapottér-reprezentálható problémák

Állapottér-reprezentálható problémák

Állapottér-reprezentálható problémák

A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

Bevezetés az informatikába

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai. INFORMATIKA II. (programozás) kategória

KOVÁCS BÉLA, MATEMATIKA I.

A szemantikus elemzés elmélete. Szemantikus elemzés (attribútum fordítási grammatikák) A szemantikus elemzés elmélete. A szemantikus elemzés elmélete

Adatbázisrendszerek 7. előadás: Az ER modell március 20.

Európai Sporthét

SZAKDOLGOZAT ÓBUDAI EGYETEM. Neumann János Informatikai kar Alba Regia Egyetemi Központ

Sapientia - Erdélyi Magyar TudományEgyetem (EMTE) Csíkszereda IRT- 4. kurzus. 3. Előadás: A mohó algoritmus

Assignment problem Hozzárendelési feladat (Szállítási feladat speciális esete)

Informatikai tehetséggondozás:

Felvételi tematika INFORMATIKA

Oktatási Hivatal. A 2014/2015 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. II. (programozás) kategória

Modellezés Gregorics Tibor Mesterséges intelligencia

út hosszát. Ha a két várost nem köti össze út, akkor legyen c ij = W, ahol W már az előzőekben is alkalmazott megfelelően nagy szám.

38. A gráfalgoritmusok alkalmazása

Budapesti Tollaslabdázók Szövetsége. TOLLASLABDA DIÁKOLIMPIA 2014/2015. tanév BUDAPESTI DÖNTŐ VERSENYKIÍRÁS

Lineáris algebra I. Vektorok és szorzataik

Országos Középiskolai Tanulmányi Verseny 2006/2007-os tanév INFORMATIKA, II. (programozás) kategória második fordulójának feladatai

MintaFeladatok 2.ZH Megoldások

Aromo Szöveges értékelés normál tantárggyal


Csima Judit október 24.

Lineáris algebra. (közgazdászoknak) T C T = ( 1 ) ; , D T D =

Az optimális megoldást adó algoritmusok

Környezet statisztika

4. Fuzzy relációk. Gépi intelligencia I. Fodor János NIMGI1MIEM BMF NIK IMRI

Láthatjuk, hogy az els szám a 19, amelyre pontosan 4 állítás teljesül, tehát ez lesz a legnagyobb. 1/5

8. előadás. Az ER modell. Jelölések, az ER séma leképezése relációs sémára. Adatbázisrendszerek előadás november 14.

Programozási módszertan. Mohó algoritmusok

C programozási nyelv

Próbaérettségi 2004 MATEMATIKA. PRÓBAÉRETTSÉGI május EMELT SZINT. 240 perc

Mesterséges intelligencia 1 előadások

Cselekvési tervek generálása. Máté Annamária

TUDOMÁNYOS ISMERETTERJESZTŐ TÁRSULAT 42. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY MEGYEI FORDULÓ HETEDIK OSZTÁLY JAVÍTÁSI ÚTMUTATÓ

SzA II. gyakorlat, szeptember 18.

OKTV 2005/2006 döntő forduló

Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma) Gráfelmélet II. Gráfok végigjárása

Feladatsor 2012/13 2. félév a Programozási alapismeretek tárgyhoz

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Gráfok

Nemes Tihamér Nemzetközi Informatikai Tanulmányi Verseny 2-3. korcsoport. Maximális növekedés

Dobble Denis Blanchot játéka 2-8 játékos számára 7 éves kortól

Halmazelmélet. 1. Jelenítsük meg Venn-diagrammon az alábbi halmazokat: a) b) c) 2. Milyen halmazokat határoznak meg az alábbi Venn-diagrammok?

A 2015/2016 tanévi Országos Középiskolai Tanulmányi Verseny első forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

12. előadás - Markov-láncok I.

Adatbázisok elmélete 12. előadás

1. feladatsor: Vektorterek, lineáris kombináció, mátrixok, determináns (megoldás)

Mohó stratégia. Feladat: Megoldás:

Műveletek mátrixokkal. Kalkulus. 2018/2019 ősz

INFORMATIKA javítókulcs 2016

Az R halmazt a valós számok halmazának nevezzük, ha teljesíti az alábbi 3 axiómacsoport axiómáit.

összeadjuk 0-t kapunk. Képletben:

9. előadás. Programozás-elmélet. Programozási tételek Elemi prog. Sorozatszámítás Eldöntés Kiválasztás Lin. keresés Megszámolás Maximum.

PRÓBAÉRETTSÉGI VIZSGA január 18.

A 2017/2018 tanévi Országos Középiskolai Tanulmányi Verseny döntő fordulójának feladatai. INFORMATIKA II. (programozás) kategória

OEP Gregorics Tibor: Minta dokumentáció a 3. házi feladathoz 1. Feladat. Elemzés 1

A JÁTÉK CÉLJA A játékosok célja megszabadulni az összes kockájuktól. A győztes az lesz, akinek ez elsőként sikerül.

Mátrixjátékok tiszta nyeregponttal

1.1. Halmazok. 2. Minta - 5. feladat (2 pont) Adott két halmaz:

KOVÁCS BÉLA, MATEMATIKA I.

::JÁTÉKLAP:: Társasjáték Portál. Klánok. (Clans)

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny második forduló javítási-értékelési útmutató. INFORMATIKA II. (programozás) kategória

8. GYAKORLÓ FELADATSOR MEGOLDÁSA. (b) amelyiknek mindegyik számjegye különböző, valamint a második számjegy a 2-es?

Struktúra nélküli adatszerkezetek

A GYORS REFLEXEK VÍZHATLAN JÁTÉKA JÁTÉKOS SZÁMÁRA - 4 ÉVES KORTÓL

EGYSZERŰ, NEM IRÁNYÍTOTT (IRÁNYÍTATLAN) GRÁF

Feladatok MATEMATIKÁBÓL

XXVI. Erdélyi Magyar Matematikaverseny Zilah, február II. forduló osztály

Előfeltétel: legalább elégséges jegy Diszkrét matematika II. (GEMAK122B) tárgyból

3. Venn-diagrammok használata nélkül bizonyítsuk be az alábbi összefüggéseket!

O k t a t á si Hivatal

az Energetikai Szakközépiskola és Kollégium kisérettségiző diákjai számára ; halmaz összes részhalmazát!

Dinamikus programozás - Szerelőszalag ütemezése

Klasszikus algebra előadás. Waldhauser Tamás április 14.

Diszkrét matematika 2. estis képzés

Református Pedagógiai Intézet OM

A feladatlap valamennyi részének kitöltése után, küldje meg konzulensének!

Gráfelméleti feladatok. c f

Mesterséges Intelligencia MI

Diszkrét matematika 2.C szakirány

Budapesti Tollaslabdázók Szövetsége A Nemzetközi Tollaslabda Szövetség megalakulásának 80. évfordulója alkalmából

Alapfeladatok halmazábra készítésére, egyszerű halmazműveletekre: különbség, metszet, unió.

OKOS KERTÉSZ Vidám játékok okos kertészeknek A doboz tartalma Ki melyik játékváltozatot próbálja ki először?

Lekérdezések I. Egyszerű választó lekérdezések

I. VEKTOROK, MÁTRIXOK

OKTV 2007/2008 Informatika II. kategória döntő forduló Feladatlap. Oktatási Hivatal

2016, Diszkrét matematika

Matematika B4 II. gyakorlat

17. előadás: Vektorok a térben

Visszalépéses maximumkiválasztás

Adatszerkezetek II. 6. előadás

SHk rövidítéssel fogunk hivatkozni.

Színes érettségi feladatsorok matematikából középszint írásbeli

A gyakorlat során MySQL adatbázis szerver és a böngészőben futó phpmyadmin használata javasolt. A gyakorlat során a következőket fogjuk gyakorolni:

A 2016/2017 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának feladatai. INFORMATIKA II. (programozás) kategória

Időzített átmeneti rendszerek

A programozás alapjai 1 Rekurzió

Átírás:

1. fejezet Állapottér-reprezentálható problémák 1.1. Irány a Margitsziget! 1.1.1. A feladat Végre itt a tavasz, irány a természet! Amennyiben a fővárosban élünk, s a zöldbe vágyunk, ám mégsem szeretnénk hosszú túrára indulni, célozzuk meg a Margitszigetet! Persze, ha ezt egy napsütötte szombat délután tesszük, nem mi leszünk az egyetlenek. Kótyagosan bóklászó turistákkal, szerelmesen andalgó fiatalokkal, s önfeledten játszó-sportoló családokkal találkozhatunk lépten-nyomon. Rejtvényünkben ezúttal az utóbbiakra fókuszálunk, egészen pontosan öt családot veszünk górcső alá. A megadott információk segítenek eldönteni, hogy az egyes famíliák hány gyermeket számlálnak, honnan érkeztek, s hogy mivel múlatják az időt a Margitszigeten. 1. Az angyalföldi család tagjai egész délután görkorcsolyáztak. Kardosék is gurulva közlekedtek, igaz, ők két keréken, s a Duna másik oldaláról érkeztek. 2. Az ötgyerekes anyuka nagy bánata, hogy egyetlen kislányt sem hozott még világra. Férje azonban nem panaszkodik, fiaival ugyanis remek focimeccset vívhat. 3. A csillaghegyi családban kevesebb a gyerek, mint a tollaslabdázó famíliában. 4. Nem Bognárék azok, akik kocogással töltik ezt a szép délutánt. 5. A belvárosi házaspár egy csemetével, Szűcsék kettővel büszkélkedhetnek. Vadászék egy hatalmas családi házban élnek Újpesten, de náluk sincs öt gyerek. A feladat eredeti szövege megtalálható a [14] folyóiratban. 1.1.2. Egy lehetséges állapottér-reprezentáció Problémánk lényeges jellemzői a családok, valamint hozzájuk kapcsolódóan az, hogy hány gyerek van a családban, honnan érkeztek, és hogy milyen szabadidős tevékenységet választottak. Ez a fajta megközelítés egyúttal azt is meghatározza, hogy a gyerekszámokat, a lakóhelyeket és a tevékenységeket a családokhoz próbáljuk meg majd hozzárendelni. 1 Hogy a későbbiekben sorrendet tudjunk értelmezni a családok között, rendeljünk hozzájuk sorszámokat a következőképpen: Család neve: Bognárék Kardosék Szűcsék Vadászék Vargáék Sorszám: 1 2 3 4 5 Hasonlóan a kategóriákhoz is rendeljünk sorszámokat: Kategória neve: gyerekszám lakóhely tevékenység Sorszám: 1 2 3 1 Lehetne másképp is csinálni: megpróbálhatnánk például meghatározni azt, hogy az egyes lakóhelyekről melyik család hány gyerekkel érkezett, s milyen szabadidős tevékenységet választott.

8 1. Állapottér-reprezentálható problémák A továbbiakban a családokra is és a kategóriákra is a sorszámaikkal fogunk hivatkozni. Ezek után definiáljuk azoknak a lehetőségeknek a halmazait, amelyek azt írják le, hogy az egyes családokhoz milyen gyerekszámokat rendelhetünk: H i,1 = { 1, 2, 3, 4, 5 } { 0 }, i { 1, 2, 3, 4, 5 } A 0 szimbólum itt azt fogja jelenteni, hogy az i-vel jelölt családhoz még nem rendeltünk hozzá semmilyen gyerekszámot sem. Ezt követően definiáljuk azoknak a lehetőségeknek a halmazait, amelyek azt írják le, hogy az egyes családokhoz milyen lakóhelyeket rendelhetünk: H i,2 = { Angyalföld, Belváros, Csillaghegy, Óbuda, Újpest } { 0 }, i { 1, 2, 3, 4, 5 } A 0 szimbólum itt azt fogja jelenteni, hogy az i-vel jelölt családhoz még nem rendeltük hozzá egyik lakóhelyet sem. Végezetül definiáljuk azoknak a lehetőségeknek a halmazait, amelyek azt írják le, hogy az egyes cslaádokhoz milyen tevékenységeket rendelhetünk: H i,3 = { görkorcsolya, foci, kerékpár, kocogás, tollaslabda } { 0 }, i { 1, 2, 3, 4, 5 } A 0 szimbólum itt azt fogja jelenteni, hogy az i-vel jelölt családhoz még nem rendeltünk hozzá semmilyen tevékenységet sem. Képezzük a fenti halmazok Descartes-szorzatát! H 1,1 H 2,1 H 3,1 H 4,1 H 5,1 H 1,2 H 2,2 H 3,2 H 4,2 H 5,2 H 1,3 H 2,3 H 3,3 H 4,3 H 5,3 = 0 0 0 0 0 1 0 0 0 0 2 0 0 0 0 = 0 0 0 0 0, 0 0 0 0 0, 0 0 0 0 0,..., 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 Csillaghegy 0,..., 1 5 0 0 0 0 0 0 Csillaghegy 0,..., 0 0 0 0 0 0 0 görkorcsolya 0 0 0 1 0 0 0 0 0 Csillaghegy 0 0,..., kerékpár görkorcsolya tollaslabda foci kocogás 1 0 0 0 4 Óbuda 0 0 Csillaghegy 0,..., tollaslabda 0 görkorcsolya 0 foci 1 2 3 4 5 Angyalföld Belváros Csillaghegy Óbuda Újpest,..., görkorcsolya foci kerékpár kocogás tollaslabda 5 3 2 4 1 Óbuda Csillaghegy Angyalföld Újpest Belváros,... foci kerékpár görkorcsolya tollaslabda kocogás Ennek a halmaznak az elemei rendezett számtizenötösök (3 5-ös mátrixok, ha az elemeiket mátrix alakban rendezzük el). Sokan vannak, számuk 6 15 = 470 184 984 576. Ha azonban figyelembe vesszük azt, hogy ugyanazt a gyerekszámot, lakóhelyet, illetve tevékenységet nem rendelhetjük hozzá egyszerre több családhoz, rögtön kevesebb elemtizenötössel lesz dolgunk. Ráadásképpen tehetünk olyan megszorításokat is, melyek szerint a gyerekszámokat, a lakóhelyeket és a tevékenységeket ebben a sorrendben rendeljük hozzá a családokhoz, azaz először azt mondjuk meg, hogy melyik családban hány gyerek van, aztán azt, hogy melyik család hol lakik, végül pedig azt, hogy ki milyen szabadidős tevékenységgel kapcsolódott ki. Még tovább szűkíthetjük az állapotok halmazát, ha a családok között is felállítunk valamilyen

1.1 Irány a Margitsziget! 9 sorrendet, például azt a sorrendet követjük, amelyet az alaphalmazok definiálásánál is megadtunk: először Bognárékhoz rendelünk adatot, aztán Kardosékhoz, később Szűcsékhez, ezt követően Vadászékhoz, befejezésképpen pedig Vargáékhoz. Az előzőekben megfogalmazottak alapján egy h = h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 H 1,1 H 2,1 H 3,1 H 4,1 H 5,1 H 1,2 H 2,2 H 3,2 H 4,2 H 5,2 H 1,3 H 2,3 H 3,3 H 4,3 H 5,3 elemtizenötös a probléma állapota, ha teljesülnek rá a következő kényszerfeltételek: két tetszőleges (de nem azonos) családot kiválasztva, ha mindkettőhöz rendeltünk már gyerekszámot, akkor azok különbözőek: i j (h i,1 0 h j,1 0 h i,1 h j,1 i = j) (1) két tetszőleges (de nem azonos) családot kiválasztva, ha mindkettőhöz rendeltünk már lakóhelyet, akkor azok különbözőek: i j (h i,2 0 h j,2 0 h i,2 h j,2 i = j) (2) két tetszőleges (de nem azonos) családot kiválasztva, ha mindkettőhöz rendeltünk már tevékenységet, akkor azok különbözőek: i j (h i,3 0 h j,3 0 h i,3 h j,3 i = j) (3) a mátrixot felülről lefelé, az egyes sorokon belül pedig balról jobbra töltjük ki (ez azt jelenti, hogy ha a mátrix egy eleme már nem 0 értékű, akkor a tőle balra lévő elemek, valamint a felette lévő sorokban lévő elemek sem 0 értékűek): i j (h i,j 0 k (k < j h i,k 0) s (s < i o(h s,o 0))) (4) ha már tudjuk, hogy mivel töltötte az időt az angyalföldi család, akkor az a tevékenység csak a görkorcsolyázás lehetett: i (h i,2 = Angyalföld h i,3 0 h i,3 = görkorcsolya) (5) az a család, amelyik görkorcsolyázással töltötte az idejét, Angyalföldön lakik: i (h i,3 = görkorcsolya h i,2 = Angyalföld) (6) ha tudjuk, milyen tevékenységet folytattak Kardosék (a 2-es számú család), akkor ezt csak kerékpárral tehették: h 2,3 0 h 2,3 = kerékpár (7) ha tudjuk, hogy hol laknak Kardosék (a 2-es számú család), akkor a lakóhelyük csak Csillaghegy vagy Óbuda lehet: h 2,2 0 h 2,2 = Csillaghegy h 2,2 = Óbuda (8) ha tudjuk, hogy kik laknak Csillaghegyen és Óbudán, akkor közülük az egyiknek Kardoséknak (a 2-es számú családnak) kell lenni: i j (h i,2 = Csillaghegy h j,2 = Óbuda i = 2 j = 2) (9) ha tudjuk, hogy mivel töltötte az idejét az ötgyerekes család, akkor az a tevékenység csak a foci lehetett: i (h i,1 = 5 h i,3 0 h i,3 = foci) (10)

10 1. Állapottér-reprezentálható problémák abban a családban, amelyik focival múlatta az időt, öt gyereknek kell lenni: i (h i,3 = foci h i,1 = 5) (11) az a család, amelyik tollaslabdázással töltötte el az időt, nem Csillaghegyen lakik: nem a csillaghegyi családban van a legtöbb (öt) gyerek: i (h i,3 = tollaslabda h i,2 Csillaghegy) (12) nem a tollaslabdázó famíliában van a legkevesebb (egy) gyerek: i (h i,2 = Csillaghegy h i,1 5) (13) i (h i,4 = tollaslabda h i,1 1) (14) ha tudjuk, hogy hány gyerek van abban a családban, amelyik Csillaghegyen lakik, és azt is tudjuk, hogy hány gyerek van abban a családban, akik tollaslabdáztak, akkor az előbbi család gyerekszáma kisebb az utóbbiénál: i j (h i,2 = Csillaghegy h j,3 = tollaslabda h i,1 0 h j,1 0 h i,1 < h j,1 ) (15) Bognárék (az 1-es számú család) nem kocogással töltik ezt a szép délutánt: a belvárosi házaspárnak egy csemetéje van: h 1,3 kocogás (16) i (h i,2 = Belváros h i,1 = 1) (17) ha tudjuk, hogy hol lakik az a család, ahol csak egy gyerek van, akkor ez a lakóhely csak a Belváros lehet: i (h i,1 = 1 h i,1 0 h i,2 = Belváros) (18) ha tudjuk, hogy hány gyerekük van Szűcséknek (a 3-as számú családnak), akkor ez az érték csak a 2 lehet: h 3,1 0 h 3,1 = 2 (19) Szűcsék (a 3-as számú család) nem a Belvárosban laknak: h 3,2 Belváros (20) ha tudjuk, hogy hol laknak Vadászék (a 4-es számú család), akkor ez a lakóhely csak Újpest lehet: Vadászéknál (a 4-es számú családnál) nincs öt gyerek: h 4,2 0 h 4,2 = Újpest (21) h 4,1 5 (22) Ezeknek a kényszerfeltételeknek mindössze 341 értéktizenötös tesz eleget, így problémánk állapotterét ennyi állapot alkotja: A = h h = h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 kényszerfeltétel(h), ahol kényszerfeltétel(h) = (1) (2) (3) (4) (5) (6) (7) (8) (9) (10) (11)

1.1 Irány a Margitsziget! 11 (12) (13) (14) (15) (16) (17) (18) (19) (20) (21) (22). A kezdőállapot az a helyzet, amikor még senkihez nem rendeltünk hozzá semmit: kezdő = 0 0 0 0 0 0 0 0 0 0. (23) 0 0 0 0 0 A célállapotok halmazának azok az állapotok lesznek az elemei, amelyekben már azt is meghatároztuk, hogy a Varga család milyen szabadidős tevékenységet választott (azaz a mátrix jobb alsó elemének az értéke nem 0): C = h h = h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 h 5,3 0 A. (24) ahol Az operátorok halmazát a következő, beszédes nevű operátorazonosítókkal definiáljuk: O = {Gyerek(cs, gyerekszám), Lakóhely(cs, lakóhely), Tevékenység(cs, tevékenység)}, cs { 1, 2, 3, 4, 5 } gyerekszám { 1, 2, 3, 4, 5 } lakóhely { Angyalföld, Belváros, Csillaghegy, Óbuda, Újpest } tevékenység { görkorcsolya, foci, kerékpár, kocogás, tollaslabda } A Gyerek(cs, gyerekszám) operátor akkor alkalmazható egy h = h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 állapotra, ha teljesülnek a következő alkalmazási előfeltételek: a cs sorszámú családhoz még nem rendeltünk hozzá gyerekszámot: h cs,1 = 0 (25) ha nem a Bognár családról van szó (azaz nem az első családhoz próbálunk hozzárendelni gyerekszámot), akkor az eggyel kisebb sorszámú családhoz már rendeltünk gyerekszámot: cs 1 h cs 1,1 0 (26) a gyerekszámot még nem rendeltük hozzá egyetlen olyan családhoz sem, akinek cs-nél kisebb a sorszáma: i (i < cs h i,1 gyerekszám) (27) Szűcsékhez (a 3-as számú családhoz) csak 2 gyereket rendelhetünk: 2 gyereket csak Szűcsékhez (a 3-as számú családhoz) rendelhetünk: cs = 3 gyerekszám = 2 (28) gyerekszám = 2 cs = 3 (29) Vadászékhoz (a 4-es számú családhoz) nem rendelhetünk öt gyereket: cs = 4 gyerekszám 5 (30)

12 1. Állapottér-reprezentálható problémák A Gyerek(cs, gyerekszám) operátort egy h = állapotra alkalmazva a következőképpen definiált h = h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 h 1,2 h 2,2 h 3,2 h 4,2 h 5,2 h 1,3 h 2,3 h 3,3 h 4,3 h 5,3 h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 H 1,1 H 2,1 H 3,1 H 4,1 H 5,1 H 1,2 H 2,2 H 3,2 H 4,2 H 5,2 H 1,3 H 2,3 H 3,3 H 4,3 H 5,3 elemtizenötöst kapjuk: h i,j = { gyerekszám, ha i = cs j = 1, h i,j egyébként. (31) A Lakóhely(cs, lakóhely) operátor akkor alkalmazható egy h = h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 állapotra, ha teljesülnek a következő alkalmazási előfeltételek: a cs sorszámú családhoz még nem rendeltünk hozzá lakóhelyet: h cs,2 = 0 (32) Bognárékhoz (az 1-es számú családhoz) csak akkor rendelhetünk lakóhelyet, ha Vargáékhoz (az 5-ös számú családhoz) már rendeltünk gyerekszámot: cs = 1 h 5,1 0 (33) ha nem Bognárékhoz (az 1-es számú családhoz) szeretnénk lakóhelyet rendelni, akkor az eggyel kisebb számú családhoz már rendeltünk lakóhelyet: cs 1 h cs 1,2 0 (34) a lakóhelyet még nem rendeltük hozzá egyetlen olyan családhoz sem, akinek cs-nél kisebb a sorszáma: i (i < cs h i,2 lakóhely) (35) a (2-es számú) Kardos család lakóhelye Csillaghegy vagy Óbuda lehet: cs = 2 lakóhely = Csillaghegy lakóhely = Óbuda (36) ha Csillaghegy a lakóhely, akkor azt nem rendelhetjük hozzá olyan családhoz, ahol öt gyerek van: lakóhely = Csillaghegy h cs,1 5 (37) ha a lakóhely a Belváros, akkor a cs családban egyetlen gyereknek szabad csak lennie: lakóhely = Belváros h cs,1 = 1 (38) Szűcsékhez (a 3-as számú családhoz) nem rendelhetjük a Belvárost: cs = 3 lakóhely Belváros (39)

1.1 Irány a Margitsziget! 13 Vadászékhoz (a 4-es számú családhoz) csak Újpestet rendelhetjük: Újpestet csak Vadászékhoz (a 4-es számú családhoz) rendelhetjük: A Lakóhely(cs, lakóhely) operátort egy h = állapotra alkalmazva a következőképpen definiált h = h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 h 1,2 h 2,2 h 3,2 h 4,2 h 5,2 h 1,3 h 2,3 h 3,3 h 4,3 h 5,3 cs = 4 lakóhely = Újpest (40) lakóhely = Újpest cs = 4 (41) h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 H 1,1 H 2,1 H 3,1 H 4,1 H 5,1 H 1,2 H 2,2 H 3,2 H 4,2 H 5,2 H 1,3 H 2,3 H 3,3 H 4,3 H 5,3 elemtizenötöst kapjuk: h i,j = { lakóhely, ha i = cs j = 2, h i,j egyébként. (42) A Tevékenység(cs, tevékenység) operátor akkor alkalmazható egy h = h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 állapotra, ha teljesülnek a következő alkalmazási előfeltételek: a cs sorszámú családhoz még nem rendeltünk hozzá tevékenységet: h cs,3 = 0 (43) Bognárékhoz (az 1-es számú családhoz) csak akkor rendelhetünk tevékenységet, ha Vargáékhozz (az 5-ös számú családhoz) már rendeltünk lakóhelyet: cs = 1 h 5,2 0 (44) ha nem Bognárékhoz (az 1-es számú családhoz) szeretnénk tevékenységet rendelni, akkor az eggyel kisebb sorszámú családhoz már rendeltünk tevékenységet: cs 1 h cs 1,3 0 (45) a tevékenységet még nem rendeltük hozzá egyetlen olyan családhoz sem, amelynek cs-nél kisebb a sorszáma: i (i < cs h i,3 tevékenység) (46) az Angyalföldön lakó családhoz csak a görkorcsolyázást rendelhetjük: h cs,2 = Angyalföld tevékenység = görkorcsolya (47) a görkorcsolyázást csak az Angyalföldön lakó családhoz rendelhetjük: tevékenység = görkorcsolya h cs,2 = Angyalföld (48)

14 1. Állapottér-reprezentálható problémák a kerékpározást csak a (2-es azámú) Kardos családhoz rendelhetjük: tevékenység = kerékpár cs = 2 (49) a (2-es azámú) Kardos családhoz csak a kerékpározást rendelhetjük: a focit csak az ötgyerekes családhoz rendelhetjük: az ötgyerekes családhoz csak a focit rendelhetjük: cs = 2 tevékenység = kerékpár (50) tevékenység = foci h cs,1 = 5 (51) h cs,1 = 5 tevékenység = foci (52) ha a cs sorszámú család Csillaghegyen lakik, akkor nem rendelhetjük hozzájuk a tollaslabdát tevékenységként: h cs,2 = Csillaghegy tevékenység tollaslabda (53) ha a tollaslabdázás a tevékenység, akkor azt nem rendelhetjük hozzá olyan családhoz, ahol mindössze egyetlen gyerek van: tevékenység = tollaslabda h cs,1 1) (54) a tollaslabdázást csak olyan családhoz rendelhetjük hozzá, amelyiknek a gyerekszáma nagyobb, mint a csillaghegyi család gyerekszáma: tevékenység = tollaslabda i (h i,2 = Csillaghegy h i,1 < h cs,1 ) (55) Bognárékhoz (az 1-es számú családhoz) nem rendelhetjük hozzá a kocogást: A Tevékenység(cs, tevékenység) operátort egy h = állapotra alkalmazva a következőképpen definiált h = h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 h 1,2 h 2,2 h 3,2 h 4,2 h 5,2 h 1,3 h 2,3 h 3,3 h 4,3 h 5,3 cs = 1 tevékenység kocogás (56) h 1,1 h 2,1 h 3,1 h 4,1 h 5,1 H 1,1 H 2,1 H 3,1 H 4,1 H 5,1 H 1,2 H 2,2 H 3,2 H 4,2 H 5,2 H 1,3 H 2,3 H 3,3 H 4,3 H 5,3 elemtizenötöst kapjuk: { h i,j = tevékenység, ha i = cs j = 3, h i,j egyébként. Mivel operátorainkat úgy sikerült definiálni, hogy állapotból bizonyíthatóan állapotot állítanak elő, és a kezdőállapotunk állapot, ezért a megoldáskeresés során előállított elemtizenötösökre a kényszerfeltételek ellenőrzése elhagyható. Az állapottérnek, a probléma kezdőállapotának, a célállapotok halmazának, az operátorok alkalmazási előfeltételeinek és hatásának a definiálásával megadtuk az A, kezdő, C, O négyest, a probléma egy lehetséges állapottér-reprezentációját. (57)