[ StratOS @ 26.09.2002. 19:44 ] @
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] |