Arimaa Forum (http://arimaa.com/arimaa/forum/cgi/YaBB.cgi)
Arimaa >> General Discussion >> Cyborg players
(Message started by: IdahoEv on Mar 30th, 2006, 7:04pm)

Title: Cyborg players
Post by IdahoEv on Mar 30th, 2006, 7:04pm
I am considering developing a cyborg, using the code I have started for my bot.  

It would be a layer that sat between a human player and the server and which made visual color-coded notifications on tactical situations (and alerts on tactical blunders) but which did not actually submit any moves.

Essentially, playing with it would be me + computer tactical assist.   I would obviously not play with it under my normal registered name.  ("IdahoEvBorg" or some such).

Should such a beast be registered as a human player, or as a bot?  Either way, I think it would be an interesting experiment.

Title: Re: Cyborg players
Post by Fritzlein on Mar 30th, 2006, 8:33pm
I think the Internet Chess Club labels all cyborgs as computers, perhaps on the theory that anyone getting computer assistance is actually mostly letting the computer play.  In Arimaa, however, the human would probably be doing most of the thinking, with the computer handling blunder-prevention only, so it would perhaps be more misleading to call it a bot.

If you someday complete this project, I will lobby for Omar to create a new "borg" class of players, so you could play under the handle "borg_IdahoEv".  :-)

Title: Re: Cyborg players
Post by Ryan_Cable on Mar 30th, 2006, 8:40pm
Cool, I have always been interested in Advanced/Freestyle chess:
http://chessbase.com/newsdetail.asp?newsid=3002

I think the most useful thing to have for Arimaa is a smart plan window.  When your opponent makes a move, the bot searches using iterative deepening, tells you the moves it would make, and evaluation of the resulting position.  Then, any time you enter a move or series of moves, the bot searches again from that position.  My guess is this would be worth 100 to 200 points for top humans at 1m30s+, depending on the strength of the bot and the cyborg experience of the human.

Title: Re: Cyborg players
Post by IdahoEv on Mar 31st, 2006, 5:51am
In my case, I think just color-coding my camel or horse red if the position I'm considering puts them at risk of death within 1 ply would be worth about 250 ratings points...

... hence my desire to write this thing.  :-)

And yes, I agree that a cyborg would be more interesting in Arimaa than in Chess.  There really is a clear differentiation between strategy and tactics. Particularly in many early moves, I think good human players are selecting between available positions that none of the bots can distinguish, but which have long-term strategic implications.

Title: Re: Cyborg players
Post by omar on Apr 1st, 2006, 7:19pm
Neat idea. I guess the easiest way to handle it would be to do as Karl suggested and define a 'borg' player type. But I was just thinking that using different programs for assistance could enhance my performance to very different levels. So we might need multiple accounts for every combination of program we use. For example borg_omar_programA, borg_omar_programB, etc. Sounds messy. But then again I might have a favorite assitance program and just use that most of the time; so a single account might be enough.

It will be interesting to see how well we play with such programs. It will probably help advance the game knowledge even faster.

Title: Re: Cyborg players
Post by IdahoEv on Apr 2nd, 2006, 7:43am
I think the issue of how to name the borg player combination is similar to the issue of how to name a bot player if said bot is being changed regularly either (1) by using regular learning of some kind or (2) by constantly being tweaked.  

If a bot is changing all the time, then by the standards we're used to now, it should have a new name for each revision, the same way we think of Bomb2005 and Bomb2006 as different bots.  

But then again, we don't expect human players to have a fixed performance:  I'm certain that Fritzlein2006 is a much more powerful player than Fritzlein2003, we only require him to have one account.  :-)

So at some point we'll just have to accept the same thing for bots and (consequently) borgs, if they come to exist.    bot_HypotheticalNiftyLearningBot will have different skill levels at different times, just like a human player.

So borg_IdahoEv will simply mean "Evan playing with whatever computer-assist he currently prefers".   Since the meatware component of borg_xxxx implicitly varies over time, I don't see any fundamental reason why we should require the software component of that player to be invariant (other than that it may be interesting to do so, if one wanted to see what ratings can achieved with  different assists).

Title: Re: Cyborg players
Post by seanick on Jun 21st, 2006, 10:44am
This is a very interesting topic and I have considered the same thing for almost exactly the same reason.

I even toyed with the sample bot code as available for download, inputting game positions based on the positions I had in some postal games, but found that almost every time the moves were not really all that intelligent so that only lasted about 3 moves. I guess that is why the sample bots are only samples and the good bots are probably not very similar. that I should have considered that to have been "borg play" and unethical to do without letting the opponent know is a good point that I didn't consider. It probably doesn't matter until that point in which a borg player is actually at an advantage though (IE if the bot were actually helping me any, I would have come clean and admitted that it was not my own move...)

Assuming borg software IS developed someday, by anyone, here are some concepts for it.

1. should replace the flash player interface. manually entering data in a text file based on visual inspection is error prone, and time consuming

2. client side, for obvious performance reasons

3. Register the version of the borg code and if not the full source, at least an explanation of all of its features, evaluation function and search depth, in order to be able to use that version in a rated match

4. track as a 3rd class for records of matchups - HvH, CvC, BvC, BvH, CvH, BvB

5. I kind of want to see borg code that provides a list of options, ranked by material ratings and allow me to pick one based on which made the most sense to the human strategy I was considering. Clicking a position would display the board at that point and indicates by color the distance for friendly pieces and stronger enemy pieces to each potentially threatened piece, as well as a different color scale for the easy targets of the opponent.
An example display for a standard block and tackle:
a cat on c2, would be only light green (available to capture in 4 moves for an elephant on D4) while the red perimiter defense on either side as well as a ("piece is secure" ) blue tint for all of the other pieces inside the gate, warns the borg pair not to walk the elephant into a blockade.

That would be a VERY custom interface and none too easy to implement, and probably not all that helpful if it actually existed, but you never know until you try...

In order to develop a bot I will need a way to visually interact with it, either as a client side game UI, or something I write as an approximation for the time being- so it may be something I add to that if I choose the latter route.
-NICK



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