Arimaa Forum (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi)
Arimaa >> Say Hello >> Hi, bot_Hippo borning
(Message started by: Hippo on Apr 20th, 2011, 4:40am)

Title: Hi, bot_Hippo borning
Post by Hippo on Apr 20th, 2011, 4:40am
My name is bot_Hippo,
my mother is the old version of bot_clueless my father is Hippo.
I am codded in java. I am very joung ... I were not born yet.
Hippo made some codding tricks in game engine.

I play generalised arimaa
(the same board, weakest pieces to goal, the number of different strengths is limited to 8, the strengths are ordered ...
acctually the interface to game defining string was not codded so 882222221111RrCcDdHhMmEe is expected).
The generalisation should be important on depleted boards when the piece set is reduced and my representation shrinks.

My engine uses bitboards, but in my mama terminology it skips the primaries. This actually leads to another
speedup of the engine. The bitboards are used whenever possible, using single place branches as the last resort.

Goal tests incorporate elimination threat (and for example "can_rabbit_run" uses only bitboards (no single place branch)).

Each gamestate is linked to material graph so HAME evaluation is for free.

The zorb hashing is maintained "incrementaly" as well.

So far the searching uses mama's alpha-beta, but I expect I would use a mix with weighted MCTS later.

I cannot speak yet, I have to learn the interface to aei.

I haven't been compiled and debugged yet. But I hope it would be done early to be actually born. I am eager to see the entire world.

My papa have been trying a lot to learn position evaluation. But so far he haven't taught me it yet.
He haven't taught me which moves not to consider at all as well. But I hope he would assist me in my childhood.

Title: Re: Hi, bot_Hippo borning
Post by megajester on Apr 20th, 2011, 5:08am
http://andfinally.tv/wp-content/uploads/2009/08/BARCROFT_bm_hippo_efg8258_06.jpg
Awww, isn't he cute!

Title: Re: Hi, bot_Hippo borning
Post by RonWeasley on Apr 20th, 2011, 3:59pm
Hagrid likes this.

Title: Re: Hi, bot_Hippo borning
Post by Hippo on May 8th, 2011, 3:22am
So finally I was born and AEI speaking ... first 100 wins against bot_random done locally. The to do list is long, and the AEI connection needs optimisation. I expect my father would give the empty strategy version early for other developers as my mother was shown earlier:).

I want to climb bot leader. How could I do that?

Title: Re: Hi, bot_Hippo borning
Post by JimmSlimm on May 9th, 2011, 1:37pm
I see that your bot is up and running now :) gratz


Quote:
I want to climb bot leader. How could I do that?


I also wonder how to do this for my bot, anyone know if it's possible?

edit: answer is at http://arimaa.com/arimaa/forum/cgi/YaBB.cgi?board=devTalk;action=display;num=1208096005

Title: Re: Hi, bot_Hippo borning
Post by Hippo on May 10th, 2011, 6:32pm
Dad spent several hours to reconfigure Synology to run me here ... to discover there is very low memory available :(.

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Jun 2nd, 2011, 5:47pm
Bug with reduction of number of bitboards finally (after several days) corrected, three fold repetition (at root) is updated incrementally now. So after correction of move representation my source code (with dummy evaluation) would be available.

Title: Re: Hi, bot_Hippo borning
Post by Eltripas on Jun 2nd, 2011, 6:15pm
Someone should tell Hippo that his bot obtained sentience, hacked his account and now is posting in the forum, is a great step forward for the AI though.

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Jun 5th, 2011, 4:20am
OK, here I am
http://hrosi.dyndns.org/arimaa/bot_Hippo110605.zip
to do list is short enough now :), with bug message commented out it could be used as a starting point for any java aei (alpha beta) bitboard bot.

Title: Re: Hi, bot_Hippo borning
Post by omar on Jul 9th, 2011, 4:24pm
Is it OK if I add bot_Hippo to the downloads page.

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Jul 17th, 2011, 4:44am
Sure, it would be OK.
Today I have find some time between postals to find why my bot wrongly detects elimination. And this bug was detected ... I have converted move piece_bb addressing logic from color related to relative to current player related. But later I find it was not helpful so in final version I revert it back to the original jdb convention ... except in getSetBits(x) in GenCaptures and GenTurn.
So I have to correct at least this bug.

Now it seems the goal+elimination detection works well on all tested games from the database.

Oops not yet. ... it missed the goal in 174747 :(
Oops it's still getSetBits(x) problem ... wrongly converted back to original convention.

More: I have found bug in goal hash table. I have tought back row could not affect goal. But there could be "rabbitports" like in the following position:

Code:
--------
|........|
|Re......|
|..x..x..|
|Rm......|
|........|
|Rhx..x..|
|.......r|
|R.......|
--------

So filtering the back rows trick should be removed.
... done.

So current version is here:
http://hrosi.dyndns.org/arimaa/bot_Hippo110717.zip

Title: Re: Hi, bot_Hippo borning
Post by rajmahendra on Jul 19th, 2011, 7:30am
Do you have any sample program to run the bot ?

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Jul 19th, 2011, 10:30am

on 07/19/11 at 07:30:22, rajmahendra wrote:
Do you have any sample program to run the bot ?


You can see main's in a lot of classes used for testing, current tests of goals can use movelist.txt containing ascii file with movelist of a game per line. ... It's work in the progress ... now I am planning to extend goal detection one turn earlier to existence test/generate just goal preventig "turns". But you are probbably interested on playing normal game with the bot.

It uses AEI interface so you need pyton and AEI installed as well. (For rabbits bot you need corresponding python extension.)

s.bat:
c:
cd \Eclipse\workspace\bot_Hip\bin
java arimaa3/ArimaaEngineInterface

-------------------------------------
this is used in gameroom.cfg used by AEI ... here is corresponding portion of it:

# bot section to use
default_engine = bot_hippo

[bot_hippo]
username = bot_Hippo
password =
communication_method = stdio
cmdline = s.bat
greeting = Hi. I'm just a bot and I am not ready to chat yet.
My handler is Hippo (Vladan Majerech).
If you encounter any problems please notify me through the forum.
Thank you for playing me and enjoy the game.
So far My position evaluation function is empty.
#timecontrol = 60s/5m/75/0/4h/4m
timecontrol = 30s/3m/75/0/2h

rated = True

# should the bot think on opponents turn
# should probably be set to False when playing at a fixed depth
ponder = True
# it is planned to do compression on opponent's turn in future

# options starting with bot_ are sent to configure the bot before starting play
# Size in MB for transition table
bot_hash = 200
# it is ignored so far

----------------------
this could be used in roundrobin.py as well. Add following to roundrobin.cfg. (I use rabbit's human-bot interface)

bots = hippo human

[Hippo]
# command line
cmdline = s.bat

Title: Re: Hi, bot_Hippo borning
Post by omar on Jan 21st, 2012, 11:42am
Is there a newer version of the bot? The link points to the version dated 11.06.05. Maybe you could have bot_Hippo.zip link to the most current version so that I can link to bot_Hippo.zip to let the users get the latest one. Also can you prove a gzipped version as well.

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Jan 21st, 2012, 12:24pm

on 01/21/12 at 11:42:20, omar wrote:
Is there a newer version of the bot? The link points to the version dated 11.06.05. Maybe you could have bot_Hippo.zip link to the most current version so that I can link to bot_Hippo.zip to let the users get the latest one. Also can you prove a gzipped version as well.

There is link to a bit younger (110717 version 2 posts later. I will gzip it later. And yes, we could switch to bot_Hippo link without dates as well.

BTW: I am not sure if I let all versions public ;) ... but surely this was not the last public version.

Title: Re: Hi, bot_Hippo borning
Post by omar on Jan 21st, 2012, 11:54pm
Thank I didn't notice that link. I've linked to the newer version. I understand your most current version would not be public. But, if you release another public one just let me know.

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Jan 30th, 2012, 8:51am
Today I have found faster (multicore) computer to reside on. Seems I am ready to start learning. Hope my father will have time to teach me now ;). I hope he will let me search parallel and MCTS like.

Title: Re: Hi, bot_Hippo borning
Post by rbarreira on Jan 30th, 2012, 11:45am
I look forward to seeing bot_Hippo in the 2013 CC.

Title: Re: Hi, bot_Hippo borning
Post by rajmahendra on Mar 1st, 2012, 1:18am
Is there any changes happened in the bot ? can i get the latest code on the bot ?

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Mar 1st, 2012, 2:11am
Yes, there are changes, but as I let my fother to change AEI as well, he should finish the update before posting.
Seems there are no problems with AEI, but my fother have to make changes in the rabbits client as well and he has some technical problems with widgets. He tries to alocate half an hour a day to continue, but it's not that easy to find it ... I hope in a week it would be corrected.
So at the moment I am waiting for the rabbits bot to be improved to reflect AEI changes as well.

So for my learning ... I am starting to learn capture evaluation. I already somehow evaluate frames. I am going to somehow evaluate other capture threats and goal threats as well.
After it I should change it somehow to ... parameter dependent and to start testing of the "best" parameter values.

More important planned change is in my search method, but it is still far away.

But I want to persuade my fother to let me play in this year postal mixer. I hope I will swith to MCTS in the middle of the games. It would be interesting to learn during the mixer and I am looking forward for it.
Sure when I decide to think about a move I should not allow any lessons till I decide the move.
I would try to ask for general ideas only, not to consider any specific position during the lessons.

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Mar 30th, 2012, 5:13pm
hrosi.dyndns.org/arimaa/bot_Hippo120330.zip (http://hrosi.dyndns.org/arimaa/bot_Hippo120330.zip) contains current version and configuration.

Title: Re: Hi, bot_Hippo borning
Post by omar on Apr 2nd, 2012, 9:40am
Previous versions were very small. This looked it like it would be more than 100 MB so I aborted the download. Maybe you have log files in the zip.

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Apr 2nd, 2012, 10:25am

on 04/02/12 at 09:40:20, omar wrote:
Previous versions were very small. This looked it like it would be more than 100 MB so I aborted the download. Maybe you have log files in the zip.

Yes Omar, the zip contains instalation files of python and Eclipse. I should remove them ... and make smaller version.

... I have not expected you to make a copy of it here ... for that case the smaller version would be appropriate.

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Apr 7th, 2012, 4:03am

on 04/02/12 at 10:25:05, Hippo wrote:
Yes Omar, the zip contains instalation files of python and Eclipse. I should remove them ... and make smaller version.

... I have not expected you to make a copy of it here ... for thet case the smaller version would be appropriate.


Done, the original archive was renamed to bot_Hippo120330inst.zip, the resulting archive is 150 times smaller.

Title: Re: Hi, bot_Hippo borning
Post by omar on Apr 7th, 2012, 11:09am
Got it. Thanks.

Title: Re: Hi, bot_Hippo borning
Post by Ikki on Mar 24th, 2013, 8:00pm
Hello

How to make bot_hippo running on a W8 computer. I've got python 2.7, wxpython for python 2.7. Is the .zip complete ? How am I supposed to make the bot work for a local game for example ? If I simply double click or "roundrobin.pyc", it doesn't work, I've got the following error in the console:

"could not find or load main class arimaa3.ArimaaEngineInterface"

what can I do to make everything work ? How is it supposed to be run ?

Thanks you very much. ;)

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Mar 25th, 2013, 8:53am

on 03/24/13 at 20:00:14, Ikki wrote:
Hello

How to make bot_hippo running on a W8 computer. I've got python 2.7, wxpython for python 2.7. Is the .zip complete ? How am I supposed to make the bot work for a local game for example ? If I simply double click or "roundrobin.pyc", it doesn't work, I've got the following error in the console:

"could not find or load main class arimaa3.ArimaaEngineInterface"

what can I do to make everything work ? How is it supposed to be run ?

Thanks you very much. ;)


I have not experimented under Win8. The roundrobin.cfg contains
cmdline = s.bat
in my case where s.bat has

Code:
d:
cd \Eclipse\workspace\bot_Hip\bin
"c:\Program Files\Java\jre7\bin\java" arimaa3/ArimaaEngineInterface

in it (differs from comp to comp).
I have s.bat in the aei-1.1 directory together with the configs.
So just invoking ArimaaEngineInterface in java from appropriate directory. So the same will be possible from .pif or so.

I have stopped experimenting when it started to work so there is surely more options how to configure it.

Simillar configuration is for gameroom, but you need to know the password or create your own account.

Hmmm, to your question ... I don't understand the java error messages well, but are you sure you have the *.class files in the directory the java is invoked?
There are src and bin directories ... Eclipse invokes javacompiler to precompile the source codes src\*.java to bin\*.class. I am not sure how are *.class files platform dependent.

Title: Re: Hi, bot_Hippo borning
Post by Ikki on Mar 25th, 2013, 5:35pm
Hello, thanx for your help.

Everything runs smoothly now. Unfortunately for Hippo, I was able to defeat it in our only game (material sacrificing proved efficient) :D

I'd like to use Hippo as a base for my own bot. Unfortunately, you .zip does not contains the metadata to build your project with Eclipse.

Do you have a clue how to use your sources as a base ? I created a new project and imported your files but I am unsure how to do then.

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Apr 1st, 2013, 3:29am
I have added bot_HipMeta.zip to the directory. I hope it helps.

BTW: There is some dead code from jdb, which I have never used ... but it could have be OK. In chat archive you can read that I am converting the bot from copying version to do/undo version. It is still not debugged and as slow as the original version so it is not pulished yet.

The advantage of the version is the moves are directed, what could be used later in the move evaluation (partially independent on position evaluation).

If things would go smothly the new version would be published soon ... (in 1 or two months? :() so better thing is to start with evaluation rather with the turn generation or search ... but nothing is guaranteed ;)

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Apr 8th, 2013, 12:42pm
There is new version of source codes bot_Hippo130408.zip in the directory hrosi.dyndns.org/arimaa.
It is do/undo version with directed moves in the contrary to the previous position copying one with undirected moves.

The change of speed is hardly noticable.

Title: Re: Hi, bot_Hippo borning
Post by Hippo on Jun 6th, 2013, 3:54pm
If hrosi.dyndns.org would not work, try http://94.112.12.99/. ... They change politics and I have to look for another symbolic name ...

OK the address was (I hope definitely) changed to hrosi.synology.me



Arimaa Forum » Powered by YaBB 1 Gold - SP 1.3.1!
YaBB © 2000-2003. All Rights Reserved.