It is currently Sun Apr 28, 2024 12:48 am

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 7 posts ] 
Author Message
Offline
 Post subject: New go engine i am developing.
Post #1 Posted: Fri Feb 25, 2011 7:20 pm 
Dies with sente
User avatar

Posts: 77
Liked others: 1
Was liked: 2
Rank: KGS 9kyu
Hello. This is my first post on the forums. I am developing a computer go engine, mostly as a hobby, with a unique algorithm for analysis of the board.

The algorithm, essentially, relies on treating columns and rows of the board as separate objects. And the board is percieved by the computer as two separate arrays of length 9.

A move is counted as essentially a division between one row of one object. In addition, there is an additional variable to determine different colors between divisions.

The analysis of the board is essentially an additive process, with only the distance between the ne divided columns having to be recalculated with each move, while state of the rest of the data structures don't have to be reassesed.

In addition, liberties are counted as rows are divided, and subtracted on each side for every row or column of length zero(which indicates that two stones are adjacent), I scale the algorith of counting liberties for groups of dividedx rows, ad keep a hash table of the adjacent length 0 row and columns. Those that, upon an update, would reach 0 liberties, are considerex dead.

I estimate the program's strength to be about 9kyu or so. I am still in the development stage, and I may look to combine a monte carlo algorithm with the main routines as well.

Thank you for reading!

Top
 Profile  
 
Offline
 Post subject:
Post #2 Posted: Fri Feb 25, 2011 8:17 pm 
Honinbo
User avatar

Posts: 8859
Location: Santa Barbara, CA
Liked others: 349
Was liked: 2076
GD Posts: 312
Nice. Will it ever be available as a robot program to play on KGS? :)

Top
 Profile  
 
Offline
 Post subject: Re: New go engine i am developing.
Post #3 Posted: Fri Feb 25, 2011 9:59 pm 
Dies with sente
User avatar

Posts: 77
Liked others: 1
Was liked: 2
Rank: KGS 9kyu
Perhaps. I am not certain which server to test it on.

Top
 Profile  
 
Offline
 Post subject: Re: New go engine i am developing.
Post #4 Posted: Sat Feb 26, 2011 4:26 am 
Dies in gote
User avatar

Posts: 38
Location: Cachan, Paris, France
Liked others: 0
Was liked: 14
Rank: FFG 5k
Intriguing working. Do you plan to make it available on download? GTP interface?

_________________
Drago is freeware

Top
 Profile  
 
Offline
 Post subject: Re: New go engine i am developing.
Post #5 Posted: Sat Feb 26, 2011 7:40 am 
Lives in gote

Posts: 338
Location: Las Vegas, NV
Liked others: 163
Was liked: 62
Or, if you can post a game record, that would also be interesting.

Top
 Profile  
 
Offline
 Post subject: Re: New go engine i am developing.
Post #6 Posted: Sat Feb 26, 2011 11:55 am 
Dies with sente
User avatar

Posts: 77
Liked others: 1
Was liked: 2
Rank: KGS 9kyu
Constant internet access is a problem. For testing purposes it might be on kgs once a month. Eventually It will be available for download. But let's not get ahead of ourselves.

I just rewrote the liberty assessment function and integrated it into the copy constructor for the row and column class. I am also working on something special. Gotta go.

Top
 Profile  
 
Offline
 Post subject: Re: New go engine i am developing.
Post #7 Posted: Sun Feb 27, 2011 6:20 pm 
Dies with sente
User avatar

Posts: 77
Liked others: 1
Was liked: 2
Rank: KGS 9kyu
Sorry for Double Posting.

Updates:

Today I did some major restructring of the program. I folded the row and col objects into a single class that has access to a new data structure that will now hold positional data and color data for stones. Stones have been given their own data structures as well.

I also added an additional variable that holds an array of rows much the same as the column and row objects do, only the array is ordered by the sequence of moves. This has proved to speed up searches by a factor of thirty.

Also, am in the process of refining an algorithm that, essentially, treats the number of objects in a division as a pointer to the stone class. This allows me to update the relative thickness of a row or column of stones somewhat efficiently. There are--some small details of implementation that need to be worked out.

Things that still need to be done:

I need to write the functions for tactical divisions and liberty counting.

Also need to bind the code for relevancy and tenuki thresholding into the classes.

Need to write the user interfaces, bind the gtp protocols in, and a whole bunch of other stuff.

I'll keep you guys posted.

Estimated time to completion: 2 months.


This post by oso was liked by: Phelan
Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 7 posts ] 

All times are UTC - 8 hours [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group