Author |
Topic: Suite of test positions (Read 7518 times) |
|
BlackKnight
Forum Guru
Arimaa player #695
Gender:
Posts: 98
|
|
Re: Suite of test positions
« Reply #30 on: Jan 21st, 2010, 11:00am » |
Quote Modify
|
on Jan 20th, 2010, 2:28pm, doublep wrote: Is there any interest in it? |
| Yes, definitely! Thank you.
|
|
IP Logged |
|
|
|
doublep
Forum Guru
Badger author
Gender:
Posts: 82
|
|
Re: Suite of test positions
« Reply #31 on: Jan 21st, 2010, 12:43pm » |
Quote Modify
|
Not sure how to share files best. I used Google docs: https://docs.google.com/leaf?id=0B3GzxNlUxcpMMDEzZGExMjAtMDRiYi00YmViLWI wYTYtYWYzNWMwMDQ1Zjdk&hl=en I included a short description. If there is interest, I can try formalizing GTP as used by Badger more and share my regression and error-finding tools. As tools depend on a GTP engine, they would be pointless without specification anyway, so I'm not publishing them at this point.
|
|
IP Logged |
|
|
|
froody
Forum Guru
I <3 nurpinar
Gender:
Posts: 103
|
|
Re: Suite of test positions
« Reply #32 on: Jan 23rd, 2010, 4:16am » |
Quote Modify
|
Cool. I'm working on some Arimaa bot stuff at the moment. So far all I've done is find goal moves by brute force. Hope to share some stuff soon. Maybe the Arimaa community should talk more about game formats, and try to standardise something that we can all use?
|
|
IP Logged |
“Arimaa holds its master in its own bonds, shackling the mind and brain so that the inner freedom of the very strongest must suffer”
|
|
|
Janzert
Forum Guru
Arimaa player #247
Gender:
Posts: 1016
|
|
Re: Suite of test positions
« Reply #33 on: Jan 25th, 2010, 11:38am » |
Quote Modify
|
There was a bit of discussion back in the fall in the site development forum. That thread can be found here. Personally for bot development I've pretty much found just the standard board notation to be mostly enough and occasionally have used movelists. Janzert
|
|
IP Logged |
|
|
|
doublep
Forum Guru
Badger author
Gender:
Posts: 82
|
|
Re: Suite of test positions
« Reply #34 on: Jan 25th, 2010, 12:21pm » |
Quote Modify
|
on Jan 25th, 2010, 11:38am, Janzert wrote:Personally for bot development I've pretty much found just the standard board notation to be mostly enough and occasionally have used movelists. |
| I find standard board notation to be not very useful, because it spans several lines and contains a lot of "extra" information. Sure, it is much more human-readable than what I use with 'setup_board', but on the downside it is difficult to parse and copy around or send, e.g. in IRC or console. In fact, it is so cumbersome to parse that you are basically forced to use one position per file if you want any sanity in command parser. [edited for clarity]
|
« Last Edit: Jan 25th, 2010, 12:31pm by doublep » |
IP Logged |
|
|
|
froody
Forum Guru
I <3 nurpinar
Gender:
Posts: 103
|
|
Re: Suite of test positions
« Reply #35 on: Jan 26th, 2010, 5:44am » |
Quote Modify
|
Do you think GTP is the ideal solution?
|
|
IP Logged |
“Arimaa holds its master in its own bonds, shackling the mind and brain so that the inner freedom of the very strongest must suffer”
|
|
|
Janzert
Forum Guru
Arimaa player #247
Gender:
Posts: 1016
|
|
Re: Suite of test positions
« Reply #36 on: Jan 26th, 2010, 12:56pm » |
Quote Modify
|
Yes, when using the full board representation I normally do only have one board per file. Although occasionally I'll have a file with a large number of board and comments in between. For parsing I simply use the next line starting with numerals to signal the start of the next position. A dirty thing to do, but it works fine for what I need. My primary goal here though is generally ease of reading and editing, so a single line format is not something I want to deal with. For communicating a position with an engine, in AEI I exclusively use the single line representation Omar uses in his scripts. This basically boils down to an opening [ followed by a space or piece letter for each square in order of column a through h and rank 8 through 1, closing with a ]. Which looks to be similar to what you are using except you leave out the brackets, replace spaces with dashes and I'm unsure what ordering you are using. Janzert
|
|
IP Logged |
|
|
|
doublep
Forum Guru
Badger author
Gender:
Posts: 82
|
|
Re: Suite of test positions
« Reply #37 on: Jan 27th, 2010, 3:03pm » |
Quote Modify
|
on Jan 26th, 2010, 5:44am, froody wrote:Do you think GTP is the ideal solution? |
| Certainly nothing is ideal. I chose GTP because it was well-defined, I liked it and knew well (I worked for some time on GNU Go several years back). Basically, I wanted a simple human-readable language that I could issue commands to the bot in. E.g. run it from command line and tell to do something or just write down commands to a file and tell it read the file and execute commands from it. That's the way I perform regression testing and debug problems noticed in real games. I have several commands ranging from full-blown 'genmove' (standard GTP for 'produce a move in given position') to more specific like 'capture_anything', 'evaluate' or 'read_branch'.
|
|
IP Logged |
|
|
|
doublep
Forum Guru
Badger author
Gender:
Posts: 82
|
|
Re: Suite of test positions
« Reply #38 on: Jan 27th, 2010, 3:13pm » |
Quote Modify
|
on Jan 26th, 2010, 12:56pm, Janzert wrote:For communicating a position with an engine, in AEI I exclusively use the single line representation Omar uses in his scripts. This basically boils down to an opening [ followed by a space or piece letter for each square in order of column a through h and rank 8 through 1, closing with a ]. Which looks to be similar to what you are using except you leave out the brackets, replace spaces with dashes and I'm unsure what ordering you are using. |
| Yes, that sounds pretty much the same. As I understood the order is actually the same. I use hyphens a lot (e.g. I write moves as Ra1n-Ra2n, not Ra1n Ra2n) because that makes a move a single string from GTP perspective. Then I can unambigously write several moves or other things on one line when needed. The same holds for condensed position representation. Sure, in the latter case you could count number of characters or use delimiters like those [..], but for GTP consistency I chose representation with which it is enough to chop a line into strings (separated with spaces) and then process each string individually. From a more practical usability point of view, many consecutive spaces are hard to count and generally can be messed with when sending over some communication channels. E.g. just embedding in HTML without a <pre>, or any text with word wrapping will corrupt position string.
|
|
IP Logged |
|
|
|
|