d2jsp
Log InRegister
d2jsp Forums > Off-Topic > International > Magyar > Informatikai Kérdések
Prev18308318328338341214Next
Add Reply New Topic New Poll
Member
Posts: 14,235
Joined: Apr 20 2007
Gold: 15.00
Nov 17 2013 12:04pm
Quote (Anarkin @ Nov 17 2013 05:58pm)
np tesa etc
kérdezhetsz, most egy hét szabin leszek anál4 tanulási célzattal, legalább kizökkent belőle egy kicsit

PIZSI-HÉT LOL


te hol dolgozol most? épp melót keresek, ahol elbírják ha nem vállalok teljes munkaidőt, és nem ilyen biszembaszom párforintos "gyakornok"-ként vagyok ott.

.net/asp/javascript érdekel. nem tudsz valami faszányos helyet? jó PM-ben is

This post was edited by kuzdithom on Nov 17 2013 12:05pm
Member
Posts: 22,595
Joined: Jun 5 2005
Gold: 10,257.50
Nov 17 2013 12:42pm
Quote (Anarkin @ 17 Nov 2013 18:58)
np tesa etc
kérdezhetsz, most egy hét szabin leszek monkot p100-ra felhúzási célzattal, legalább kizökkent belőle egy kicsit

PIZSI-HÉT LOL


correct'd
Member
Posts: 35,546
Joined: Jun 18 2008
Gold: 5,390.00
Nov 17 2013 01:13pm
Quote (jarabekg @ Nov 17 2013 07:02pm)
majd ha haladok vele, akkor postolok még, eddig 4 változóval dolgoztam és azt írtam át, mert rájöttem hogy egyszerűbb lesz
http://4.ii.gl/TRjCeK.png

eleinte csak annyit csináltam, hogy a cuccok összegét páratlanon tartotta azzal, hogy 1-et vagy kettőt vett el, mostmár ha egy lépésre van a győzelemtől, akkor is nyerni fog, illetve azt fogom beleírni ha van két egyes és egy nullás akkor is nyerjen

aztán postolom ide tesztelésre, holnapra verhetetlennek kéne legyen : d


jo hogy rajottem igy este nyolckor, hogy teljes hulyeseget csinaltam egesz nap, es magamtol ez nem fog menni

utana olvastam es most meg kell prokramozni az egeszet ujra

;_;
Member
Posts: 53,925
Joined: Apr 15 2007
Gold: 11,500.00
Trader: Trusted
Nov 17 2013 01:17pm
ez (amit írtam) természetesen nem fog működni, csak jegyzettömbnek használtam a VS-t

csak hogy mit kéne, körvonalakban....

// ahol ExecuteSearch egy sima lokális hegymászó keresés, az se biztos hogy az jó erre a célra (= hogy egyáltalán talál-e IsGoal() State-et) // E sőt szerintem biztos hogy ide gráfkeresés kell (nyíltcsúcsok, bejárt csúcsok etc)

majd postolom a heurisztikát, ha sikerült kigugliznom a "nim-sum"-ot, de valami olyasmi lesz hogy

Code
int t = this.Data[0] ^ this.Data[1];
for (int i = 2; i < this.N; i++)
{
t ^= this.Data[i];
}

ebben azért nem vagyok biztos mert nem tudom pontosan hogy mit is akar, de valami olyasmi hogy bitenként összeadjuk az elemeket, majd rávágunk egy xort, mindjárt megnézem rendesen

viszont ezt nem fogod csak úgy 1 óra alatt összedobni ^^



This post was edited by Anarkin on Nov 17 2013 01:23pm
Member
Posts: 35,546
Joined: Jun 18 2008
Gold: 5,390.00
Nov 17 2013 01:27pm
Quote (Anarkin @ Nov 17 2013 08:17pm)
ez (amit írtam) természetesen nem fog működni, csak jegyzettömbnek használtam a VS-t

csak hogy mit kéne, körvonalakban....

// ahol ExecuteSearch egy sima lokális hegymászó keresés, az se biztos hogy az jó erre a célra (= hogy egyáltalán talál-e IsGoal() State-et)

majd postolom a heurisztikát, ha sikerült kigugliznom a "nim-sum"-ot, de valami olyasmi lesz hogy

Code
int t = this.Data[0] ^ this.Data[1];
for (int i = 2; i < this.N; i++)
{
      t ^= this.Data[i]; 
}

ebben azért nem vagyok biztos mert nem tudom pontosan hogy mit is akar, de valami olyasmi hogy bitenként összeadjuk az elemeket, majd rávágunk egy xort, mindjárt megnézem rendesen

viszont ezt nem fogod csak úgy 1 óra alatt összedobni ^^

http://ws-dev.net/_public/a/d/asd.png


szomorú vagyok hogy naivan nekiálltam, hogy majd magamtól kitalálom a heurisztikát

de amúgy annyira nem nehéz, a lényeg, az hogy átváltod kettes számrendszerbe az összeset, és úgy adod össze, hogy nem viszel át semmit, tehát az oszlop ahol páratlan egyes van oda egyes kerül, ahol páros oda 0

1 3 5 7

001
011
101
111
-----
000

és ezt az összeget mindig 000-n kell majd tartani

ebből a játékos húz akkor a nim összeg változik

1 1 5 7

001
001
101
111
-----
010

ezt vissza kell állítani 000-ra így

001
001
101
101
----
000

tehát 1 1 5 5

és így a gép biztosan nyerni fog.

Ezt szerintem annyira nem nehéz leprogramozni, és nem kell keresési fát építeni, és gyorsan meglesz.

Mondjuk gecigusztustalan lesz, eléggé ég a pofám, látszani fog hogy kiguglizott shiet, de az ötöst csak megadja.

This post was edited by jarabekg on Nov 17 2013 01:29pm
Member
Posts: 53,925
Joined: Apr 15 2007
Gold: 11,500.00
Trader: Trusted
Nov 17 2013 01:29pm
igazából a keresés nem is kell konkrétan a feladathoz


a program nyílván máshogy nézne ki, ott egy CurrentState-et tartana karban a GUI

a CurrentState nyílván ez az osztály lenne

és a GetChildren pedig helyben kiértékeli a gyerekeit (mint lehetséges következő lépéseket) aszerint hogy melyiknek 0 a heurisztikája, és azt választaná az AI player


.. csak hogy támpontot adjak arra hogy ezt hogy lehetne visszabutítani és felokosítani a konkrét feladathoz

Quote (jarabekg @ 17 Nov 2013 21:27)
Ezt szerintem annyira nem nehéz leprogramozni, és nem kell keresési fát építeni, és gyorsan meglesz.

Mondjuk gecigusztustalan lesz, eléggé ég a pofám, látszani fog hogy kiguglizott shiet, de az ötöst csak megadja.


jaja az kicsit overkill volt hogy odaírtam

This post was edited by Anarkin on Nov 17 2013 01:30pm
Member
Posts: 35,546
Joined: Jun 18 2008
Gold: 5,390.00
Nov 17 2013 01:34pm
Quote (Anarkin @ Nov 17 2013 08:29pm)
igazából a keresés nem is kell konkrétan a feladathoz


a program nyílván máshogy nézne ki, ott egy CurrentState-et tartana karban a GUI

a CurrentState nyílván ez az osztály lenne

és a GetChildren pedig helyben kiértékeli a gyerekeit (mint lehetséges következő lépéseket) aszerint hogy melyiknek 0 a heurisztikája, és azt választaná az AI player


.. csak hogy támpontot adjak arra hogy ezt hogy lehetne visszabutítani és felokosítani a konkrét feladathoz


Annyira gyönyörű a megoldás amit mondasz, hogy könnyezik a szemem, de lusta leszek úgy csinálni (felokosítás lépést kihagyom)

Csak szorgalmi feladat, annak simán beadom ezt a kókány verziót, nem fogom szégyellni magamat xd.
Member
Posts: 35,546
Joined: Jun 18 2008
Gold: 5,390.00
Nov 17 2013 03:36pm
Quote (jarabekg @ Nov 17 2013 08:34pm)
Annyira gyönyörű a megoldás amit mondasz, hogy könnyezik a szemem, de lusta leszek úgy csinálni (felokosítás lépést kihagyom)

Csak szorgalmi feladat, annak simán beadom ezt a kókány verziót, nem fogom szégyellni magamat xd.


jól haladok, a programom már tökmindegy mi történik veszíteni fog, és nem lehet bebugolni
alakul, már mindig nyer, de néha nem akar lépni xd

gecire úgy érzem, hogy amit programozás címén művelek, az nevetséges

This post was edited by jarabekg on Nov 17 2013 03:46pm
Member
Posts: 14,235
Joined: Apr 20 2007
Gold: 15.00
Nov 17 2013 04:27pm
Quote (jarabekg @ Nov 17 2013 09:36pm)
jól haladok, a programom már tökmindegy mi történik veszíteni fog, és nem lehet bebugolni
alakul, már mindig nyer, de néha nem akar lépni xd

gecire úgy érzem, hogy amit programozás címén művelek, az nevetséges


nyugodtan postolj néha kódrészleteket, szívesen megerősítünk benne bármikor :)
Member
Posts: 35,546
Joined: Jun 18 2008
Gold: 5,390.00
Nov 17 2013 05:03pm
Quote (kuzdithom @ Nov 17 2013 11:27pm)
nyugodtan postolj néha kódrészleteket, szívesen megerősítünk benne bármikor :)



switch (o0)
{
case 1: t1[0] = 0; t1[1] = 0; t1[2] = 1; break;
case 0: t1[0] = 0; t1[1] = 0; t1[2] = 0; break;
}
switch (o1)
{
case 3: t2[0] = 0; t2[1] = 1; t2[2] = 1; break;
case 2: t2[0] = 0; t2[1] = 1; t2[2] = 0; break;
case 1: t2[0] = 0; t2[1] = 0; t2[2] = 1; break;
case 0: t2[0] = 0; t2[1] = 0; t2[2] = 0; break;
}
switch (o2)
{
case 5: t3[0] = 1; t3[1] = 0; t3[2] = 1; break;
case 4: t3[0] = 1; t3[1] = 0; t3[2] = 0; break;
case 3: t3[0] = 0; t3[1] = 1; t3[2] = 1; break;
case 2: t3[0] = 0; t3[1] = 1; t3[2] = 0; break;
case 1: t3[0] = 0; t3[1] = 0; t3[2] = 1; break;
case 0: t3[0] = 0; t3[1] = 0; t3[2] = 0; break;
} switch (o3)
{
case 7: t4[0] = 1; t4[1] = 1; t4[2] = 1; break;
case 6: t4[0] = 1; t4[1] = 1; t4[2] = 0; break;
case 5: t4[0] = 1; t4[1] = 0; t4[2] = 1; break;
case 4: t4[0] = 1; t4[1] = 0; t4[2] = 0; break;
case 3: t4[0] = 0; t4[1] = 1; t4[2] = 1; break;
case 2: t4[0] = 0; t4[1] = 1; t4[2] = 0; break;
case 1: t4[0] = 0; t4[1] = 0; t4[2] = 1; break;
case 0: t4[0] = 0; t4[1] = 0; t4[2] = 0; break;
} for (int j = 0; j < 3; j++)
{ nimsum[j] = (t1[j] + t2[j] + t3[j] + t4[j]) % 2; }

if (nimsum[0] == 1 && t3[0] == 1) { o2 = o2 - 4; nimsum[0] = 0; }
if (nimsum[0] == 1 && t4[0] == 1) { o3 = o3 - 4; nimsum[0] = 0; }
if (nimsum[1] == 1 && t2[1] == 1) { o1 = o1 - 2; nimsum[1] = 0; }
if (nimsum[1] == 1 && t3[1] == 1) { o2 = o2 - 2; nimsum[1] = 0; }
if (nimsum[1] == 1 && t4[1] == 1) { o3 = o3 - 2; nimsum[1] = 0; }
if (nimsum[2] == 1 && t1[2] == 1) { o0 = o0 - 1; nimsum[2] = 0; }
if (nimsum[2] == 1 && t2[2] == 1) { o1 = o1 - 1; nimsum[2] = 0; }
if (nimsum[2] == 1 && t3[2] == 1) { o2 = o2 - 1; nimsum[2] = 0; }
if (nimsum[2] == 1 && t4[2] == 1) { o3 = o3 - 1; nimsum[2] = 0; }

jelenleg így néz ki ikszde
fingom nem volt hogy kell átváltani kettes számrendszerbe rendesen, így megkókányoltam
most próbálom megcsinálni a válaszlépést, a nimsumot már jól megcsinálja

úgy kéne lépjen, hogy mindig 0 legyen a nimsum, és elvileg ez biztos győzelem: http://www.archimedes-lab.org/How_to_Solve/Win_at_Nim.html
de gond van ha 1 1 5 7 a kezdő lépés, akkor arra ugye 1155 lesz a válaszlépés, ha erre azt lépem, hogy 1150 akkor kiakad az egész, mert a nimsum 101 lesz, viszont ha így kivenné az ötöt és 0-ra rendezné, akkor vesztene 1100, miközben ha 1150 ra azt lépné hogy 111 akkor nyerne

szóval nem tudom, hogy most az algoritmussal van alapvető gond, vagy csak elbaszarintok valamit
Go Back To Magyar Topic List
Prev18308318328338341214Next
Add Reply New Topic New Poll