Nikolavlasotince @ 23.03.2008. 00:23
Poceo sam da pravim igru MasterMind ali sam naisao na problem kako naterati kompjutera da misli. Kompjuter uvek zna koja je dobitna kombinacija a bilo bi glupo da kompjuter u prvom potezu napise resenje. Da li neko moze da mi pomogne kako to da napravim? Treba da u 6 pokusaja, od 6 ponudjenih znakova (neka budu 1, 2, 3, 4, 5 i 6) dodjem do resenja koje se sastoji od 4 znakova. Nadam se da me razumete. Potrebna mi je pomoc pls.
Pozz
vlaiv @ 25.03.2008. 14:42
Probaj nekim "tezinskim" sistemom, odnosno sistemom verovatnoce.
recimo da si izbacio kombinaciju
1,2,3,4
i dobio 2T i 1P (dva tacna i jedan prisutan)
svakom od brojeva 1,2,3,4 dodeljujes odgovarajuce verovatnoce (verovatnocu da je prisutan i verovatnocu da je na tacnoj poziciji)
Sledece sto trebash da uradish jeste da smislis nacin provere da li si bio u pravu odnosno korekcije verovatnoca (dok ih ne doterash do jedan)
tako sto ces u sledecem potezu neke ostaviti a neke druge brojeve ubaciti.
Nivo tezine mozes da organizujes tako sto ces ubaciti randomnes u procesu dodeljivanja verovatnoce (recimo 80% ce tacno dodeliti verovatnocu
a 20% slucajeva ce nesto prevideti)
Naravno sve na kraju ide na empirijsku proveru.
Nadam se da sam ti dao bar neke kvalitetne smernice.
Nikolavlasotince @ 28.03.2008. 11:26
OK. Thanks. Pomoglo mi je dosta. Sad cu pokusati da napravim nesto.
Fitopatolog @ 22.06.2008. 12:03
Proveren algoritam je sledeći:
1. korak: nasumice generišeš četvorocifren broj (umesto cifara možeš koristiti i boje, ali da se zadržimo na ciframa), npr 4223. Ovaj broj ćemo zvati "tekući".
2. korak: igrač unosi ocenu (broj belih i broj crnih poena). Ako je broj crnih poena 4 - pogodio si, kraj programa.
3. korak: povećaš tekući broj za jedan.
4. korak: proveriš da li novi tekući broj može da dobije svaku od ocena koje je do sada dobio (crne i bele poene). Ako može, izbaciš ga na ekran kao predlog za sledeće rešenje i ideš na korak 2. Ako si došao do broja 4222 (jedan manje od broja generisanog u koraku 1), igrač je negde uneo pogrešnu ocenu (rešenje nije nađeno) i zbog toga izlaziš iz programa. Ako tekući broj ne može da dobije sve do sada dobijene ocene, ideš na korak 3.
Za početak možeš da u prvom koraku kreneš od 0000, ali je interesantnije ako se ovaj broj generiše na slučaj. Mislim da je srednji broj pokušaja (do tačnog rešenja) (za četvorocifrene brojeve) u tom slučaju oko 5.
Copyright (C) 2001-2008 by www.elitesecurity.org. All rights reserved.