Jump to content
Sign in to follow this  
kléni

Mastermind titkos kód kereső

Recommended Posts

kléni

Deklaratív környezetben kéne megoldanunk egy feladatot minél hatékonyabban. Ehhez keresnék ötleteket.

A Mestermind játékhoz kell olyan programot csinálni, ami egy pillanatkép alapján megmondja, mik a lehetséges titkos kódok. Tehát ismert már a táblán néhány tipp, és a rá adott fekete-fehér pálcikák száma, ez alapján fel kell sorolni minden olyan számlistát, ami lehetne a letakart kód. Pl. ha eddig ezek a tippek érkeztek:

1. tipp és válasz: 1 2 1 2 W      
2. tipp és válasz: 5 1 3 5 W      
3. tipp és válasz: 2 3 4 4 B B    
4. tipp és válasz: 2 3 6 6 B W    

akkor biztosan tudjuk, hogy a titkos kód csak 2 6 5 4 lehet. De ebben az esetben:

1. tipp és válasz: 1 1 1 B    
2. tipp és válasz: 1 2 2 W    
3. tipp és válasz: 3 1 3 B B  

Lehet 3 1 4 vagy 4 1 3 is.

Nyilván minden számsor felsorolásával és a tippek-válaszok alapján a feltételek ellenőrzésével megtalálható az összes lehetséges titkos kód, de az elég pazarló. Olyan stratégia kéne, ami csak a minimális lehetőségeket tartja meg. Pár szabályt már észrevettem, de ezek még elég speciális, alapvető esetet fednek le, így általánosságban nem a legjobbak. Van valami ötletetek? :)

Share this post


Link to post
Share on other sites
payskin

Kétszer is írtam Mastermind megfejtő programot. Egyszer még siheder koromban, C64-re, egyszer a "főiskolán" Pascalban. Halovány fogalmam nincs, mi volt az algoritmus, gondolkodnom kell rajta.

Share this post


Link to post
Share on other sites
Bowie

Nem értek hozzá, de akkor már miért nem valami machine learninget tolsz rá? Az ma a "divat", meg talán érdekesebb is.

Share this post


Link to post
Share on other sites
kléni

A gépi tanulás ott használatos, ahol a feladat ismétlődik (ebből lehet tanulni), bizonytalan és komplex az eredmény kikalkulálása, az eredmények meghatározásához használhatók minták, stb. Ez a feladat nem ilyen típusú. Itt adott minden lehetséges variáció, minták helyett szabályok (a fekete-fehér pálcikák száma) vannak, az eredményt az adott pillanatban kell előállítani. Akkor lenne érdemes MI-t használni, ha a következő tippet kell kikalkulálni, és lehetőség van többször futtatni a játékot tanulás céljából. A mostani feladatom a titkos kód generálása, nem a következő lehető legjobb tipp meghatározása. Egyébként érdekes, hogy az eredeti Mastermind játék pár lépésben megnyerhető. :D

Share this post


Link to post
Share on other sites
payskin

Bosszant a dolog. Szinte biztos, hogy az volt a módszer, hogy először legenerálta az összes lehetséges kombinációt, majd tippelt egyet, és az így kapott fekete-fehér eredmény alapján eliminálta azokat az elemeket, amik nem jöhettek már szóba, így 5-6 lépésben kitalálta az eldugott színeket. Egyszerűen nem emlékszem rá, hogy mi volt az algoritmus, de újra kitalálni sem tudom.

Annyi ilyen dolgon veszem észre, hogy öregszem, olyan bosszantó. :(

---

Oké, utánaolvastam, kezd derengeni, hogy tényleg ezt csinálta a program, de most meg azon őrülök meg, hogy nem értem, miért. Mostanában ilyen "nem látom be, mitől működik" állapotban vagyok. A hétvégén néztem a Youtube-on egy kártyatrükköt, állítólag az is simán a matek miatt működik, de egyszerűen hiába számoltam, nem látom be, mitől. Úgyhogy ma veszek egy pakli kártyát, hogy kipróbálhassam.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...