Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Program za najbolje poteze za oba igraca kod igre reversi (othello)

[es] :: Art of Programming :: Program za najbolje poteze za oba igraca kod igre reversi (othello)

[ Pregleda: 3799 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

StratOS
Slovenija

Član broj: 2234
Poruke: 989
*.dsl.siol.net



+1 Profil

icon Program za najbolje poteze za oba igraca kod igre reversi (othello)26.09.2002. u 19:44 - pre 262 meseci
Probao sam da to uradim na papiru, ali nije islo.

Engleska verzija tog problema (original) se nalazi na :



http://www.angelfire.com/ma/BorisMacek/=%20=%20=/programming/12/



Evo malog prevoda :
Pocetna pozicija :



prvi je na redu crni ( kompjutor ).
I crni i bijeli treba da naprave najbolje poteze u svakom potezu.

Sve vrijednost i pozicije se kalkuliraju na kraju poteza.
Pazite na poteze kod kojih nije moguč sledeči potez ( pat polozaj ).

Crni (Comp) minimizira bodove od bijelog i obratno.

Funkcija vrijednosti polja je odvisna od 3 parametra :
f=f(M,S,A)

M (Mobility)
M=((broj svih mogucih nasih poteza)-(broj svih mogucih poteza suprotnika))*2


S (Structure)
To je vrijednost strateskog polozaja, a definirana kao :



GLEDAJ SLIKU :
Ako je tko otisao van iz unutrasnjeg 4x4 kvadrata vrednosti unutrasnjeg kvadrata se ponistavaju na 0.

S=((suma vrijednosti nasih polja)-(suma vrijednosti protivnika - comp))*3 (ako je tko otisao izvan unutrasnjeg 4x4 kvadrata))

A (Advantage)

Ukupna vrijednost polja = (M+S)*W1 + A*W2
W1 = exp(-nz) i W2 = 1-exp(-nz)
i n = broj svih figura na cijelom polju
i z = 0.035

Treba mi sequenca paraova najboljih poteza na obije strane ( kao string ).
Na primjer "d6e6" bi reprezentirao 2 najbolja poteza, treba mi prvih 12 poteza.
Ako imamo na izbor vise istih mogucnosti onda uzmemo onaj potez (A,x) kod koga su A slova i x brojevi, a uzmemo ono slovo koje prvo dolazi po abecedi, znaci prije c3 od d5 i f4 i tako dalje.


Moj algoritam je strasno (uzasno uzasno slowwwwww ...).
Napravio sam ga u VB, no nije tacan, ne znam gdje sam pogresio.

Mene upste ne zanima kako ste dosli do pravog rezultata, vec sam algoritam i rezultat.
Kakav pristup problemu mi priporucate ?

Sam sam nasao veliko programa sa slicnima algoritmima na webu, no ne znam gdje sam grijesim (moj program )

Svaka pomoc je dobrodosla !

poz. Boris

[Ovu poruku je menjao StratOS dana 27.09.2002. u 17:09 GMT]
Pozdrav StratOS
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications."
"The one who is digging the hole for the other to fall in is allready in it."
 
Odgovor na temu

mucky
Aleksandar Mastilović
Freelancer
Novi Sad - Srbija

Član broj: 237
Poruke: 412
*.telekom.yu



+1 Profil

icon Re: Program za najbolje poteze za oba igraca kod igre reversi (othello)27.09.2002. u 11:15 - pre 262 meseci
Nisi napisao kako se sam potez odigrava? Pomeramo to dugme za jedno, dva polja? U kojim sve smerovima?
 
Odgovor na temu

StratOS
Slovenija

Član broj: 2234
Poruke: 989
*.dsl.siol.net



+1 Profil

icon Re: Program za najbolje poteze za oba igraca kod igre reversi (othello)27.09.2002. u 14:51 - pre 262 meseci
Citat:

mucky
Nisi napisao kako se sam potez odigrava? Pomeramo to dugme za jedno, dva polja? U kojim sve smerovima?


Hm, pa mislim, da znas kako se igra Othello odnosno reversi.

Ako neznas evo linka http://www.rainfall.com/othello/rules/othellorules.asp

Ako hoces igrati http://www.rainfall.com/othello

Sto me zanima jest algoritam kako doci do najboljih mogucih poteza crnog i bjelog ( formule za vrijednosti polja imas napiasane ), sto veca vrijednost polja ( ukupna ) to bolji pozez ( najbolji ).

Ali pazi, pocetne pozicije i vrijednosti funkcija tu imaju poglavitnu vaznost, a ne koji drugi algoritam drugih programa !!!
Pozdrav StratOS
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications."
"The one who is digging the hole for the other to fall in is allready in it."
 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: Program za najbolje poteze za oba igraca kod igre reversi (othello)27.09.2002. u 17:50 - pre 262 meseci
Mislim da programi za Othelo, kao i za neke druge logicke igre (npr. sah), koriste minimax algoritam sa alfa-beta potkresivanjem stabla (ili krace alfa-beta stablo za pretrazivanje).
Funkcija koju si dao je, cini mi se, funkcija za vrednovanje pozicije koju algoritam koristi.
 
Odgovor na temu

StratOS
Slovenija

Član broj: 2234
Poruke: 989
*.dsl.siol.net



+1 Profil

icon Re: Program za najbolje poteze za oba igraca kod igre reversi (othello)27.09.2002. u 21:22 - pre 262 meseci
Da funkciju imas, a trebas pravu sequenciju za rjesenje.
Izgleda lako, no nije tako.

Neznam ni gdje grijesim u algoritmu izrade najboljih sequencija poteza.
Pozdrav StratOS
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications."
"The one who is digging the hole for the other to fall in is allready in it."
 
Odgovor na temu

leka
Dejan Lekić
senior software engineer, 3Developers
Ltd.
London, UK

Član broj: 234
Poruke: 2534
*.racasse.se

Sajt: dejan.lekic.org


+2 Profil

icon Re: Program za najbolje poteze za oba igraca kod igre reversi (othello)15.10.2002. u 23:44 - pre 261 meseci
Momci, ja mislim da stvar nece biti mnogo komplikovana ako se prolazi kroz sve moguce poteze i trazi najbolji. Moze da se "odvoji" jedna ili vise niti za svaki moguci potez koji protivnik odigra koja ce da proracunava nas najbolji "potez-reakciju". Kad protivnik odigra samo vidimo sta je odgovarajuca nit "pronasla". Napravi se neki kriterijum prema kome je neki potez najbolji i to je to.

Mozda lupam, nije iskljuceno - vi se time bavite, pa procenite sami. Ja mislim da ovde nema toooliko puno kombinacija, tako da bi stvar trebalo da radi bez frke.
Dejan Lekic
software engineer, MySQL/PgSQL DBA, sysadmin
 
Odgovor na temu

StratOS
Slovenija

Član broj: 2234
Poruke: 989
*.dsl.siol.net



+1 Profil

icon Re: Program za najbolje poteze za oba igraca kod igre reversi (othello)23.10.2002. u 18:34 - pre 261 meseci
Pa nisu te funkcije izrađene samo tako.
Ja ne želim "najbolji moguče poteze", nego poteze, koje slijede tom algoritmu.

Citat:

Treba mi sequenca paraova najboljih poteza na obije strane ( kao string ).
Na primjer "d6e6" bi reprezentirao 2 najbolja poteza, treba mi prvih 12 poteza.
Ako imamo na izbor vise istih mogucnosti onda uzmemo onaj potez (A,x) kod koga su A slova i x brojevi, a uzmemo ono slovo koje prvo dolazi po abecedi, znaci prije c3 od d5 i f4 i tako dalje.


A za algoritam sam pogledajte TOP temu!
Pozdrav StratOS
"Multitasking - ability to f##k up several things at once."
"It works better if you plug it in."
"As a rule, software systems do not work well until they have been used, and have failed repeatedly, in real applications."
"The one who is digging the hole for the other to fall in is allready in it."
 
Odgovor na temu

[es] :: Art of Programming :: Program za najbolje poteze za oba igraca kod igre reversi (othello)

[ Pregleda: 3799 | Odgovora: 6 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.