Opcionális feladat 5p. A négyoszlopos hanoi tornyok feladata

Hasonló dokumentumok
Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2010/2011 1/363

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

2005_01/1 Leírtunk egymás mellé hét racionális számot úgy, hogy a két szélső kivételével mindegyik eggyel nagyobb a két szomszédja szorzatánál.

Felvételi tematika INFORMATIKA

V. Kétszemélyes játékok

Műveletek egész számokkal

Latin négyzet és SUDOKU a tanítási órákon. készítette: Szekeres Ferenc

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

Megoldások 4. osztály

Babeş Bolyai Tudományegyetem, Kolozsvár Matematika és Informatika Kar Magyar Matematika és Informatika Intézet

Mesterséges Intelligencia. Csató Lehel. Csató Lehel. Matematika-Informatika Tanszék Babeş Bolyai Tudományegyetem, Kolozsvár 2007/2008

1. Halmazok, számhalmazok, alapműveletek

1. beadandó feladat: egyszerű grafikus felületű alkalmazás. Közös követelmények:

INFORMATIKA javítókulcs 2016

Függvények Megoldások


A 2016/2017 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

end function Az A vektorban elõforduló legnagyobb és legkisebb értékek indexeinek különbségét.. (1.5 pont) Ha üres a vektor, akkor 0-t..

2. forduló. MEGOLDÁSOK Pontszerző Matematikaverseny 2014/2015 tanév. 1. Számkeresztrejtvény:

1. Ábrázolja az f(x)= x-4 függvényt a [ 2;10 ] intervallumon! (2 pont) 2. Írja fel az alábbi lineáris függvény grafikonjának egyenletét!

Sarokba a bástyát! = nim

Egyenletek, egyenletrendszerek, egyenlőtlenségek Megoldások

2) Írja fel az alábbi lineáris függvény grafikonjának egyenletét! (3pont)

GEOMATECH TANULMÁNYI VERSENYEK ÁPRILIS

Számelmélet Megoldások

1. tétel. 1. Egy derékszögű háromszög egyik szöge 50, a szög melletti befogója 7 cm. Mekkora a háromszög átfogója? (4 pont)

Írjon olyan programot a standard könyvtár alkalmazásával, amely konzolról megadott valós adatokból meghatározza és kiírja a minimális értékűt!

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Alkalmazott modul III 3. feladatcsoport. Közös követelmények:

Megjegyzés: A programnak tartalmaznia kell legalább egy felhasználói alprogramot. Példa:

Számelmélet, műveletek, egyenletek, algebrai kifejezések, egyéb

46. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY HARMADIK OSZTÁLY

Matematika. 1. osztály. 2. osztály

Abszolútértékes és gyökös kifejezések Megoldások

függvény grafikonja milyen transzformációkkal származtatható az f0 : R R, f0(

KOVÁCS BÉLA, MATEMATIKA I.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Számelmélet

Kétszemélyes játékok Gregorics Tibor Mesterséges intelligencia

A fejlesztés várt eredményei a 1. évfolyam végén

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Paraméter

Felvételi vizsga mintatételsor Informatika írásbeli vizsga

Matematika 11 Koordináta geometria. matematika és fizika szakos középiskolai tanár. > o < szeptember 27.

KOVÁCS BÉLA, MATEMATIKA I.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉPSZINT Függvények

Megoldások. Brósch Zoltán (Debreceni Egyetem Kossuth Lajos Gyakorló Gimnáziuma)

a) A logaritmus értelmezése alapján: x 8 0 ( x 2 2 vagy x 2 2) (1 pont) Egy szorzat értéke pontosan akkor 0, ha valamelyik szorzótényező 0.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Számelmélet

Egész számok. pozitív egész számok: 1; 2; 3; 4;... negatív egész számok: 1; 2; 3; 4;...

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI EMELT SZINT Abszolútértékes és Gyökös kifejezések

b) Ábrázolja ugyanabban a koordinátarendszerben a g függvényt! (2 pont) c) Oldja meg az ( x ) 2

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

3 függvény. Számítsd ki az f 4 f 3 f 3 f 4. egyenlet valós megoldásait! 3 1, 3 és 5 3 1

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK MEGOLDÁSAI KÖZÉP SZINT Függvények

1. Olvassuk be két pont koordinátáit: (x1, y1) és (x2, y2). Határozzuk meg a két pont távolságát és nyomtassuk ki.

Nyerni jó évfolyam

Vektorok és koordinátageometria

Koordináta-geometria feladatok (középszint)

Gyakorló feladatok 9.évf. halmaznak, írd fel az öt elemű részhalmazokat!. Add meg a következő halmazokat és ábrázold Venn-diagrammal:

Első zárthelyi dolgozat megoldásai biomatematikából * A verzió

HORVÁTH ZSÓFIA 1. Beadandó feladat (HOZSAAI.ELTE) ápr 7. 8-as csoport

1 = 1x1 1+3 = 2x = 3x = 4x4

10. Koordinátageometria

Algoritmusok és adatszerkezetek 2.

Rekurzív logikai játékok

A 2010/2011 tanévi Országos Középiskolai Tanulmányi Verseny második fordulójának megoldása. II. (programozás) kategória

Az egyenlőtlenség mindkét oldalát szorozzuk meg 4 16-al:

Matematika (mesterképzés)

Állapottér reprezentáció/level1

angolul: greedy algorithms, románul: algoritmi greedy

IV. RADÓ FERENC EMLÉKVERSENY. Kolozsvár, június 3. V. osztály

HALMAZOK. A racionális számok halmazát olyan számok alkotják, amelyek felírhatók b. jele:. A racionális számok halmazának végtelen sok eleme van.

III. Vályi Gyula Emlékverseny december

NULLADIK MATEMATIKA ZÁRTHELYI

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉPSZINT Függvények

Érettségi feladatok: Függvények 1/9

A 2014/2015. tanévi Országos Középiskolai Tanulmányi Verseny első forduló MATEMATIKA I. KATEGÓRIA (SZAKKÖZÉPISKOLA) Javítási-értékelési útmutató

Visszalépéses keresés

5.osztály 1.foglalkozás. 5.osztály 2.foglalkozás. hatszögéskörök

I. VEKTOROK, MÁTRIXOK

Tartalom Keresés és rendezés. Vektoralgoritmusok. 1. fejezet. Keresés adatvektorban. A programozás alapjai I.

Regresszió. Csorba János. Nagyméretű adathalmazok kezelése március 31.

Hadamard-mátrixok Előadó: Hajnal Péter február 23.

44. ORSZÁGOS TIT KALMÁR LÁSZLÓ MATEMATIKAVERSENY. Megyei forduló április mal, így a számjegyeinek összege is osztható 3-mal.

Trigonometria Megoldások. 1) Igazolja, hogy ha egy háromszög szögeire érvényes az alábbi összefüggés: sin : sin = cos + : cos +, ( ) ( )

Koordinátageometria. , azaz ( ) a B halmazt pontosan azok a pontok alkotják, amelynek koordinátáira:

Algebra es sz amelm elet 3 el oad as Permut aci ok Waldhauser Tam as 2014 oszi f el ev

Függvény fogalma, jelölések 15

Keresés és rendezés. A programozás alapjai I. Hálózati Rendszerek és Szolgáltatások Tanszék Farkas Balázs, Fiala Péter, Vitéz András, Zsóka Zoltán

Matematika kisérettségi I. rész 45 perc NÉV:...

törtet, ha a 1. Az egyszerűsített alak: 2 pont

Adatszerkezetek 2. Dr. Iványi Péter

Algoritmuselmélet. 2-3 fák. Katona Gyula Y. Számítástudományi és Információelméleti Tanszék Budapesti Műszaki és Gazdaságtudományi Egyetem. 8.

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK KÖZÉP SZINT Függvények

Algoritmuselmélet 1. előadás

MATEMATIKA ÉRETTSÉGI TÍPUSFELADATOK EMELT SZINT Koordinátageometria

Feladatok MATEMATIKÁBÓL II.

Permutáció n = 3 esetében: Eredmény: permutációk száma: P n = n! romámul: permutări, angolul: permutation

Kirakós játék. Döntő február 22. Alakzatok (katalógus) DUSZA ÁRPÁD ORSZÁGOS PROGRAMOZÓI EMLÉKVERSENY 2013/2014

Kereső algoritmusok a diszkrét optimalizálás problémájához

KÉSZÍTSÜNK ÁBRÁT évfolyam

Átírás:

1. Laborfeladat Opcionális feladat 5p. A négyoszlopos hanoi tornyok feladata % harom oszloppal hanoi(1,i,j,_,[i >J]) :!. hanoi(d,i,j,k,leplista) : D1 is D 1, hanoi(d1,i,k,j,l1), hanoi(1,i,j,k,egylep), append(l1,egylep,lt), hanoi(d1,k,j,i,l2), append(lt,l2,leplista). A klasszikus három oszlopos hanoi feladatnál három oszlopunk adott, a harmadik oszlopon D korong csökkenő sorrendben. A célunk a korongoknak az első oszlopra való helyezése úgy, hogy szintén csökkenő sorrendben legyenek az oszlopon és az áthelyezés során nem helyezünk nagyobb korongot kisebbre. Mellékelve a háromoszlopos Hanoi tornyot megoldó Prolog kód látható. A megoldás a predikátumok negyedik argumentumában található lépések listája. Belátható, hogy a lista hossza 2 D 1. Feladat, hogy írjunk kódot, mely a hanoi tornyok feladatát négy oszlop esetén oldja meg. A cél, hogy minél kevesebb lépésszámmal tudjuk a negyedik oszlopról az elsőre áthelyezni a korongokat. Alább található egy ábra, mely a négy oszlopos hanoi tornyok feladatát összehasonlítja. Az első a klasszikus megoldás, ahol a negyedik oszlopot nem vesszük figyelembe. A másik két sor két más megoldás, mely sokkal kevesebb idő alatt végzi el az áthelyezést (figyeljük meg a logaritmikus skálát). Írjunk programot, mely az alábbi grafikonok által megjelenített időnél gyorsabban elvégzi az áthelyezést. Negy oszlopos Hanoi torony 1e10 1e9 Hanoi 3 Tobbet leveszunk Kettot leveszunk 1e8 1e7 1e6 1e5 5 10 15 20 25 30 35

2. Laborfeladat Kötelező feladat 8p. Bűvös négyzet Bűvös négyzet az az N N-es négyzet, melyben az elemek összege megegyezik sorok, oszlopok, valamint a két átló szerint. Minden pozícióban az 1... N 2 számok valamelyike van. Mivel minden oszlopban ugyanaz az összeg, a soronkénti összeget a következő: S sor = 1 N N 2 n=1 n = 1 N N2 ( N 2 + 1 ) 2 = N ( N 2 + 1 ) Feladatunk, hogy ábrázoljuk a bűvös négyzetek keresését gráf-kiterjesztési feladatként: építsük fel a feladat állapotterét (definiáljunk a gráfot a helyes megoldásokat eredményező kitöltések folyamataként) definiáljunk egy gráfkiterjesztési procedúrát a feladatra; keressük meg az összes lehetséges megoldást gráfkereső (?backtracking?) módszerrel. Követelmények: Dokumentáció, mely tartalmazza a 1. paraméterterét a feladatnak, 2. a gráfkiterjesztés lépéseit, 3. a gráfbejárás sorrendjét. Program, mely az N szám ismeretében kiírja (egy TXT állományba) az összes megoldást valamint kiírja a képernyőre a megoldások számát. 2

3. Laborfeladat Opcionális feladat 10p. A Rubik-kígyó 3 3 3 kocka elemeinek összefűzése az alábbi ábrán látható. Az ábrán kiterített kígyót össze lehet göngyölni egy kockává, melynek minden oldala három kockából áll. Az ábrán látható konfiguráció egy síkbeli kiterítése a kockának: olyan konfiguráció, ahol a harmadik koordináta azonos (például nulla). Feladatunk, hogy alakítsuk vissza a kígyót egy kockává. A göngyölést csak megengedett műveletekkel tudjuk végrehajtani: csak olyan hajlatot fordíthatunk, mely a fordítás során az alatt és annak eredményeként nem vezet két kocka ütközéséhez. 1. Ábrázoljuk a feladatot Prolog nyelven: találjunk egy ábrázolást, mely kompakt és ugyanakkor a kígyó teljes állapotterét tárolni képes;. 3p. 2. Fogalmazzunk meg predikátumokat úgy, hogy a kezdeti konfigurációból amint azt az alábbi ábrán is látjuk az óhajtott konfigurációba eljutó parancs-listát generál. A cél-konfiguráció a kígyó kompakt állapot, amely egy 3 3 3-as kockát teljesen kitölt. Kitétel a parancs-listánál az, hogy az átalakítások során az elemek ne ütközzenek.. 4p. 3. program Írjunk egy megjelenítő programot, mely a fentebb kapott lépések szerint a hajtogatást elvégzi.. 3p.

4. Laborfeladat Opcionális feladatok Össz: 6p. Számjegyek A háromjegyű számok halmazán értelmezzük a következő feladatot: jussunk el egy I számból egy adott G-hez a következő szabályok szerint: 1. Egy számjegyet eggyel növelünk vagy csökkentünk, 2. Egymásutáni lépésekben különböző a számjegyeket módosítunk, 3. A 9-es számjegyhez nem lehet hozzáadni; a 0-ból nem lehet kivonni, 4. Nem tehető olyan lépés, mely a tiltott halmazba tartozó számot állítana elő (a tiltott lista adott). A feladat megoldásához használjuk az A algoritmust, ahol a kiértékelő függvény a következő: h(i) = G 1 I 1 + G 2 I 2 + G 3 I 3 Forrás: Szalay 2p. Particionálás Vizsgáljuk meg, hogy létezik-e az {1,..., N}, N = 10 halmaznak a következő tulajdonságokkal rendelkező k = 8 darab részhalmaza: 1. bármely két (2) elem legtöbb két (2) halmazban szerepel, illetve 2. bármely két (2) halmaz metszete legkevesebb két (2) elemből áll. Feladat: írjunk egy programot, mely megkeresi az első ilyen részhalmazrendszert. A program paraméterezhető kell, hogy legyen, a paraméterei az (N, k) páros. Nagyobb teszt: létezik az (N = 15, k = 12) esetre megoldás? http://www.maths.qmw.ac.uk/~pjc/oldprob.html 3p. Pénz Legyen a következő összeadás : ahol: A betűk mindegyike számjegy. S E N D M O R E M O N E Y értelmes számok: S és M nem lehet 0. Feladat: Írjunk egy programot, mely a keresést végrehajtja. Forrás: Szalay 1p.

5. Laborfeladat Kötelező feladat 10p. Sudoku. A sudoku egy japán játék, melyben célunk, hogy számokat helyezzünk el egy négyzetrácsban úgy, hogy bizonyos szabályoknak eleget tegyenek. A rács mérete N 2 N 2, ahol N egy természetes szám és a nagy rács fel van bontva kis négyzetekre, melyek méretei egyenként N N (lásd ábra). A szabályok: egy oszlopban illetve egy sorban egy szám egyszer szerepelhet; minden kisebb négyzetben (ezek száma N 2 ) egy szám egyszer szerepelhet. 1. Tekintsük az N = 2 esetet. Mi lesz ekkor a paramétertér?. 1p. 2. Szintén az N = 2 esetre generáljuk a megoldások halmazát egy listában (javasolt a prolog alkalmazása).. 1p. 3. Írjunk egy modult, mely szépen megjelenít egy megoldást a N = 2 illetve a N = 3 esetekre.. 1p. Sudoku rejtvény megoldása N = 3 azaz 9 9 esetre: A sudoku rejtvény egy olyan feladat, melyben csak adott pozíciókban vannak számjegyek, és feltételezzük, hogy létezik egy az összes szabályt kielégítő - megoldása a részlegesen kitöltött táblázatnak. 4 Írjunk programot, mely megtalálja egy részlegesen kitöltött sudoku rejtvény kitöltött változatát (a rejtvényt egy TXT file-ből olvassuk be). Ellenőrizzük, hogy csak egy megoldás van.. 3p. 5 Írjunk feladatot, mely generál egy sudoku rejtvényt. Azaz generál egy részlegesen kitöltött feladatot, melynek csak egy megoldása van.. 4p.

6. Laborfeladat Opcionális feladat 12p. A háromszög-puzzle A mellékelt ábrán háromszög-alapú puzzle-t kell kiraknunk, a helyes sorrend a fentről lefele és balról jobbra haladó számozás, az utolsó két háromszög helye üres. Amennyiben a keret egy oldala az alapháromszögek K-szorosa, összesen K 2 2 számozott háromszögünk van. 12 23 8 2 11 16 19 18 17 5 15 6 20 9 14 1 10 13 21 3 22 7 4 Feladat: 1. Határozzuk meg a feladat állapotterét. Írjunk függvényt, mely egy állapotból megadja az összes lehetséges lépéseket. 2. Írjunk programot, mely egy adott állapotból a cél-állapotba vivő lépések sorozatát adja meg. 3. Írjunk egy grafikus megjelenítőt. Írjunk egy programot, mely (a) megjeleníti a puzzle-t; (b) generál egy puzzle-t (olyan konfigurációt, melyből el lehet jutni a célba); (c) generálja a megoldás lépéseit, majd azokat animálva végrehajtja; (d) amennyiben egy üres mező szomszédjára kattintunk, az illető kocka a szabad mezőre megy ; jelzi a felhasználónak azt, hogy cél-állapotban vagyunk-e.. 4pt.

7. Laborfeladat Opcionális feladat Forgatós rendezés 6 5 2 4 8 1 7 3 7pt. http://www.inf.unideb.hu/~jeszy 1 2 3 4 5 6 7 8 A játék szabálya, hogy egy köteg korongot tudunk mozgatni: a legfelül elhelyezkedő k darabot. Célunk, hogy a jobb oldalon látható sorrendet kapjuk. Feladat: 1. Határozzuk meg a feladat állapotterét. Írjunk függvényt, mely egy állapotból megadja az összes lehetséges lépést. 2. Írjunk programot, mely egy adott állapotból a cél-állapotba vivő lépések sorozatát határozza meg. 3. Írjunk egy grafikus megjelenítőt. A program a következőket kell, hogy tudja: (a) generál egy kezdőállapotot, melyet megjelenít; (b) generálja a megoldás lépéseit, majd azokat animálva végrehajtja;

8. Laborfeladat Kötelező feladat 10p. (+5p. opc) Az amőba-játék Az amőba-játékban a feladatunk egy négyzetekből álló mezőre felváltva rajzolni köröket és kereszteket úgy, hogy előbb nekünk gyűljön ki J = 5 darab azonos jel egy sorban vagy egy átló mentén. Tegyük fel, hogy egy K K méretű mezőn játszunk, ahol K > 4. Ha a K értéke nagy, akkor a játékot nem tudjuk teljesen kiterjeszteni, közelítő becsléseket kell használnunk. Ha J = K = 3, akkor bizonyítható, hogy racionális játék során nem lesz győztes. o x x x o o o x o Feladatok: 1. Implementáljuk az amőba játékot, ahol be tudjuk állítani a J és K értékeket, valamint tudjuk ellenőrizni, hogy egy állapotban egyik játékos nyert-e vagy mehet tovább a játék. 2. A J = K = 3 esetre implementáljuk a BOT játékost, amely racionálisan játszik. A lépésekhez használjuk a nyerő stratégia keresésének algoritmusát.. 3pt. 3. Implementáljuk az automata játékost a K = 4, J = 4 konfigurációra. Ezekre a paraméterekre a játékos kezdése mindig nyerést jelent. Ha mi kezdünk és nem játszunk jól, akkor is a BOT játékos nyer. Használjuk az ALFA-BÉTA vágást, mellyel gyorsíthatjuk a programunkat.. 4pt. 4. Próbáljuk kiterjeszteni a játékot a K = 5 és J = 4 esetre. 5. Írjunk programot a J = 5 esetre, amikor a K mérete nagyobb, mint 8.. Opcionális rész: *5pt.

9. Laborfeladat Opcionális feladat 9p. Egyszerű kugli-játék. Az alábbi egyszerűsített kuglijátékban minden bábu (teke) egy sorban van elhelyezve, ez közelítően merőleges arra az irányra, ahonnan a kugligolyó érkezik. A golyó mérete akkora, hogy vagy egyszerre egy bábút vagy két szomszédosat képes leütni. Vesztes az a játékos, aki nem üt le nem tud leütni bábut. Feladat: 1. Határozzuk meg a játék állapotterét K = 3 bábura. Minden lépés előtt határozzuk meg, hogy a lépő játékos nyer vagy veszít (K = 3). 2. Számítsuk ki, hogy a kezdő játékos nyertes-e K = 7 esetén. 3. Írjunk programot, mely meghatározza, hogy a kezdő játékos nyer-e tetszőleges K esetén.. 3pt. 4. Írjunk programot, mely játszik a felhasználóval és minden lépésnél optimális lépés szerint cselekszik.. 4pt.

10. Laborfeladat Kötelező feladat 12p. (+5p. opc) Felügyelt gépi tanulás. Az OCR tanulási halmazban kézzel írott számjegyek képei találhatók. Az tanulási és teszt adatokat egyenként 8 8 + 1 = 65 hosszúságú vektorok alakjában tároljuk, ahol az első 64 szám a 8 8-as bittérkép szürke-árnyalatának a kódja, az utolsó érték pedig az osztály kódja 0 és 9 között. Az adathalmaz a következő állományokból áll: Egy kettes számjegy. optdigits.tra tanulási adatok (3823 darab); optdigits.tes teszt adatok (1797 darab); optdigits.tra az adatok leírása. Feladat: 1. Írjunk egy távolságszámoló függvényt, amely két, egyenként 64 = 8 8 hosszú adatra megadja azok euklideszi távolságát.. 2pt. 2. Az adatok terében definiáljunk egy általánosított skaláris szorzatot kernel függvényt: x, y def = k(x, y) majd definiáljuk a skaláris szorzat függvényeként a távolságot: x y 2 = x y, x y = k(x, x) + k(y, y) 2 k(x, y). Implementáljuk a lineáris, polinomiális és Gauss-féle kerneleket.. 2pt. 3. Implementáljuk a knn (k-nearest Neighbor k legközelebbi szomszéd) algoritmust úgy, hogy az tetszőleges kernelt használhasson.. 3pt. 4. Implementáljuk a centroid módszert úgy, hogy az tetszőleges kernelt használhasson.. 3pt. 5. Számítsuk ki a tanulási és a teszt hibát minden osztályra. 6. 5-szörös kereszt-megerősítést (cross-validation) használva határozzuk meg a kernelek optimális paramétereit a knn és centroid módszerekhez.. opc *5pt. Skaláris szorzatok: ( d k lin (x, y) = x i y i, k pol (x, y; p) = 1 + i=1 ) p d x i y i, i=1 ) x y 2 k gauss = exp ( 2σ 2 Adatbázis: Optical Recognition of Handwritten Digits http://archive.ics.uci.edu/ml/machine-learning-databases/optdigits