Egy sakk feladat megoldása algoritmussal

Slides:



Advertisements
Hasonló előadás
Készítette: Kosztyán Zsolt Tibor
Advertisements

A Dijkstra algoritmus.
Nevezetes algoritmusok
Kezdő hadsereg játékosként:
egy egyszerű példán keresztül
Egy kis segítség kezdő pps kedvelőknek !
A normalizálás az adatbázis-tervezés egyik módszere
DREAM-HOME Agency & Consulting Értékbecslés eladástechnika.
Kiegészítés a turulmánia 7. részéhez
Matematika II. 4. előadás Geodézia szakmérnöki szak 2010/2011. tanév Műszaki térinformatika ágazat tavaszi félév.
Prímtesztelés Témavezető: Kátai Imre Komputeralgebra Tanszék Nagy Gábor:
A Venn-diagram használata
Dijkstra algoritmus Irányított gráfban.
Gazdaságmatematika 5. szeminárium.
Excel: A diagramvarázsló használata
Dominók és kombinatorika
Minimax és problémaredukció, egyszerű példák INCK431 Előadó: Dr. Nagy Benedek Norbert Gyakorlatvezető: Kovács Zita 2011/2012. II. félév A MESTERSÉGES INTELLIGENCIA.
Szállítási probléma - fogalmak
ABC   A1B1C1 .
S ZÖVEG ÍRÁSA. Kurzor: megmutatja, hogy hová írunk. Szabályok: Felesleges szóközöket ne helyezzünk el a szövegben! Sorok végén nem szabad Entert ütni,
H o t l i n e PéPéeS Hotline: Milyen számítógépe van? Ügyfél: Fehér. Ügyfél: Nem tudom a lemezt kivenni a meghajtóból. Hotline: Próbálta.
Nevezetes algoritmusok Beszúrás Van egy n-1 elemű rendezett tömbünk. Be akarunk szúrni egy n-edik elemet. Egyik lehetőség, hogy végigszaladunk a tömbön,
Mélységi bejárás.
A négyzetes mátrixok (nxn-es kétdimenziós tömbök)
Lénárt Szabolcs Páll Boglárka
Az elektronszerkezet 7.Osztály Tk oldal.
Matematika felvételi feladatok 8. évfolyamosok számára
Edényrendezés.
Az szabály nem megfelelő 1.AlapokA sakkot két játékos játsza egymás ellen. Egyik játékos a sötét, a másik a világos bábukat irányítja. Mindkét játékosnak.
Tíz játék, tizenegy tüskén Székely Márton
RADIX bináris számokra ___A___ Szembe 2 mutatóval, ha a felsőnél 1-es, az alsónál 0, akkor csere.
Logikai programozás 5..
Mélységi bejárás Az algoritmus elve: Egy kezdőpontból kiindulva addig megyünk egy él mentén, ameddig el nem jutunk egy olyan csúcsba, amelyből már nem.
2. Feladat. És akkor kezdjük is el! Menü Mint ahogy már megszokhattuk módosítsuk az editek text mező tulajdonságát a minta szerint! Tovább.
Beillesztéses rendezés
Négy gyertya égett szép csendben.
Gazdasági informatikus - Szövegszerkesztés 1 Bekezdések formázása 2.
Grafikus programozás Készítette: Csernok László
Edényrendezés Név: Pókó Róbert Neptun: OYJPVP. Példa RADIX „előre” algoritmusra d=3 hosszú bináris számokra (r=2) Ekkor egy tömbbel meg lehet oldani a.
DIJKSTRA- ALGORITMUS. A Dijkstra-algoritmus egy mohó algoritmus, amivel irányított vagy irányítás nélküli, negatív élsúlyokat nem tartalmazó, véges gráfokban.
Szállításszervezés.
Bernát Péter Minimumkiválasztásos rendezés.
Memóriakezelés feladatok Feladat: 12 bites címtartomány. 0 ~ 2047 legyen mindig.
4. Bináris Bónusz! 10% Az Ön Bináris struktúrájának két ága /lába/ van . Kétféleképpen kerülhet új tag a rendszerébe. Vagy Ön csatlakoztat új tagokat.
MÉLYSÉGI BEJÁRÁS FZGAF0 – PINTÉR LÁSZLÓ. ALGORITMUS ELMÉLETE Egy s kezdőpontból addig megyünk egy él mentén, ameddig el nem jutunk egy olyan csúcsba,
Számok világa.
Az amőba játék algoritmusa. A játék  Az amőba játék, vagy ahogy Magyarországon sokan ismerik, az ötödölő, az egyik legnépszerűbb logikai játék. Sikerét.
„Játékos matek” – Logikai játékok
(Ki)használjuk a környezetet
HÓDítsd meg a biteket! 2. sorozat
Sudoku.
Cím elrendezés Alcím.
A mi apró örömeink.
Cím elrendezés alcím.
A bűvös négyzet játék algoritmusa
Cím elrendezés Alcím.
Cím elrendezése képpel
Problémamegoldási stratégiák
Informatikai gyakorlatok 11. évfolyam
Címdia elrendezés Alcím.
Cím elrendezés Alcím.
Cím elrendezés Alcím.
Cím elrendezés Alcím.
Cím elrendezés alcím.
Cím Alcím.
Címdia elrendezés Alcím.
Cím elrendezés Alcím.
Cím elrendezés Alcím.
Cím és kép elrendezés Alcím
Előadás másolata:

Egy sakk feladat megoldása algoritmussal

Nyolc vezér probléma Helyezzünk el egy 8x8-as sakktáblán 8 vezért úgy, hogy azok ne üssék egymást! (Tehát helyezzük el a vezéreket úgy, hogy se egy sorban, se egy oszlopban, se átlósan ne legyen egy vonalban kettő.)

A feladatunk tehát a következő: helyezzünk el egy 8x8-as sakktáblán 8 vezért úgy, hogy azok ne üssék egymást (tehát helyezzük el a vezéreket úgy, hogy se egy sorban, se egy oszlopban, se átlósan ne legyen egy vonalban kettő)! Általánosítva a feladatot: helyezzünk el egy NxN-es sakktáblán N vezért úgy, hogy azok ne üssék egymást!

Az biztos, hogy minden oszlopban csak egy vezért helyezhetünk el, mivel egyébként a két vezér ütné egymást. Ezért megpróbáljuk mindegyik oszlopoban egymás után elhelyezni a vezéreket: Az első vezért letesszük az első oszlop első sorába. Majd a második oszlopba megpróbáljuk elhelyezni a vezért az első sortól haladva a negyedik sorig úgy, hogy az ne üsse az első oszlopban levő vezért. Ha sikerült, megyünk tovább a harmadik oszlopba; ha nem sikerült, akkor visszamegyünk az első oszlophoz és ott a vezért eggyel lejjebb tesszük. Így haladunk tovább, amíg nem sikerül a negyedik oszlopba is lerakni a vezért.

A feladat lépésenként Az első oszlopban letesszük az első helyre (1. sorba) a vezért, feltételezve, hogy ez a jó hely:

A második oszlop 1. és 2. sorába nem tehetünk vezért, mivel akkor ütné a már fent levőt (ábrán pirossal jelölve). A 3. sorba le lehet rakni a vezért, ezért letesszük oda, feltételezve hogy ez is a jó helyre került:

A harmadik oszlopban sem az 1. , 2. , 3. , sem a 4 A harmadik oszlopban sem az 1., 2., 3., sem a 4. helyre nem tehetünk vezért, mivel mindegyik helyen ütné valamelyik már eddig fent levő vezért:

Most a harmadik oszlopban az 1 Most a harmadik oszlopban az 1. sorba nem tehetünk vezért (mivel ütné az első oszlopban levőt), de a 2. sorba már tehetünk, ezért kitesszük oda:

A negyedik oszlopban nem tudunk az 1. , 2. , 3. , de a 4 A negyedik oszlopban nem tudunk az 1., 2., 3., de a 4. helyre sem tenni vezért, mivel ütné valamelyik már fent levőt: Ezért visszalépünk a harmadik oszlopba és megpróbáljuk ott máshová (a sorra következő helyekre, tehát a 3., 4. sorba) tenni a vezért. Azonban itt sem tehetjük a vezért sem a 3., sem a 4. sorba, mivel akkor ütné az első két oszlopban levőket: Ezért visszamegyünk a második oszlopba. Mivel itt már kipróbáltuk mind a négy helyet, ezért semmi mást nem tehetünk, mint hogy visszamegyünk egészen az első oszlopba és ott tesszük a vezért eggyel lejjebb:

Most a második oszlop 1., 2., 3. sorába nem rakhatjuk le a vezért, mivel akkor ütné az első oszlopban levőt. A 4. sorba azonban lerakhatjuk:

A harmadik oszlop 1. sorába letehetünk vezért, ezért lerakjuk oda:

A negyedik oszlop 1. , 2. sorába nem tehetünk vezért, de a 3 A negyedik oszlop 1., 2. sorába nem tehetünk vezért, de a 3. sorba lerakhatjuk: Mivel sikerült a negyedik oszlopban is leraknunk a vezért, ezért megtaláltuk a feladat egyik megoldását, így befejeződhet az algoritmus.

Ha az összes megoldást meg szeretnénk találni, akkor a megtalált megoldás után csak megjegyeznénk (esetleg kiírnánk) azt és mennénk tovább a keresésben. Tehát a fenti példában a negyedik oszlop 4. sorával folytatnánk a keresést, majd ismét visszalépnénk a harmadik oszlopoz. Hasonlóan folytatnánk mindaddig, amíg ki nem próbáltuk az összes lehetőséget.