kléni 7 Share Posted October 28, 2018 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? Link to comment Share on other sites More sharing options...
payskin 949 Share Posted October 28, 2018 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. Link to comment Share on other sites More sharing options...
Bowie 16 Share Posted October 28, 2018 Nem értek hozzá, de akkor már miért nem valami machine learninget tolsz rá? Az ma a "divat", meg talán érdekesebb is. Link to comment Share on other sites More sharing options...
kléni 7 Author Share Posted October 28, 2018 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ő. Link to comment Share on other sites More sharing options...
payskin 949 Share Posted October 29, 2018 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. Link to comment Share on other sites More sharing options...
Recommended Posts
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 accountSign in
Already have an account? Sign in here.
Sign In Now