It is currently Thu Mar 28, 2024 8:20 am

All times are UTC - 8 hours [ DST ]




Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2  Next
Author Message
Offline
 Post subject: Kaya Open-sources the rating system & updates
Post #1 Posted: Sun Sep 25, 2011 2:19 pm 
Lives with ko

Posts: 294
Liked others: 25
Was liked: 78
Rank: 6d
KGS: Dexmorgan
Wbaduk: c0nanbatt
Hey Guys! Its been a while since i post , so i will give some updates after the announcement.

After reading many different suggestions for rating systems, different ideas and systems, after investigating the different theoretical models and example implementations, i concluded that the problem is rather large and it would be better to make a more informed decision on which system will fit Kaya the best.

Being open sourced means that anyone will be able to write their own rating system and add it to the public repository where anyone can check it out. The point of this is to have not only different systems, but also different implementations of each, and compare their accuracy with the same data set, and compare their performance.

For the first version of the server i will undoubtedly make some Elo-based system, which is easy to implement and with few users, it wont matter much which system is finally used. After that, we will compare the different solutions we/other people make , benchmarking them and testing their accuracy, and pick that system. Naturally that could gradually change over time, with tweaks and improvements, which will be very visible by the community.

The project is hosted here: https://github.com/conanbatt/OpenKaya

To contribute, you have to fork the project ,and once you get a version you would like to be commited, you make a Pull Request. I will look into it and if its good to go, merge it to the official repository.

The link above contains some documentation and a basic structure to deploy plug&play rating systems. There is a very simple example right now, which anyone can run locally on their computer.

Yoyoma made a WHR implementation in python, and id love to assist him into translating it into Ruby.

Along the rating system, there is also a score folder, which is for the Javascript algorithm to count territory given a board. A friend wanted to help us out and make that algorithm, so that is also public. Most likely, score estimation will have to be done from scratch in javascript too, so that algorithmic solution will probably be open source too.

Interested mathematicians-programmers are welcome to help around, your system might be the final system used by the server :). If any developer needs aids understanding current code, github or anything else that blocks him on contributing in this case, you can contact me and i can help you around.


------------------------------------------------------------------------------------------------

All that said and done, id like to share some other news on Kaya from the past 2 weeks of development.

* We have set up a private blog only for supporters, where we are writing the latest news and advancements. IT currently has a snapshot of the actual *running* Kaya server, with chat and board included.

* We have now many new features complete on the server:
- there are go videos you can watch while chatting.
- A count-down timer for server events so you always know what is the next big thing.
- Chat commands like sharing links, sorting go comments, boldifying comments with your nickname, etc.
- Admin commands like announcements and booting
- A sandbox mode (similar to "Demonstrations" on KGS) where you can change the size of the board on the fly, even the url (you can name it as u want!)
- The basis of the karma system (you can +1 users!)
- and soon we are going to deploy the server on Amazon. Probably by the end of the week , founders will be able to log in and check out the current dev server.

Also in the past 2 weeks, the Quebec Go Association decided to get the Kaya.gs T-shirts. We added a new board just for them on the site.
Counting them, we have surpassed 100 supporters and over 4400 dollars!

Development is going full speed and on schedule. We have 15 "working days" to get it running remotely, and be able to play and more. We are currently missing the following things to get to Alpha:

- Deployment on Amazon (I estimate 5 days, only me working on that)
- Styling of the site. We have to contact the designer that did the prototype and come up with a cool whole page look&feel (I estimate 10 days with back&forth with the designer, mostly Polly working on that.)
- Scoring (? Mistery.)
- Rating system (1 or 2 days to make a simple Elo system and integrate it to the server safely and with tests)
- Private chat (optional, but it could end up being a piece of cake. Might be a 2 day thing.)

We are not far at all!

_________________
Founder of Kaya.gs


This post by Kaya.gs was liked by 2 people: Li Kao, SpongeBob
Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #2 Posted: Sun Sep 25, 2011 3:34 pm 
Lives with ko

Posts: 199
Liked others: 6
Was liked: 55
Rank: KGS 3 kyu
Isn't an end-game scoring function enough?
I just had a look at score_test.js and you seem to be testing some pretty dubious situations such as test 1 or 2.

By end-game scoring I mean a function which proposes something in the "mark dead groups" phase. Scoring as it is requires perfect play; even pros have a certain degree of uncertainty in complicated fights. I think it should be made clearer what we request from this specific function, what is off-limits and what is not.

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #3 Posted: Sun Sep 25, 2011 3:52 pm 
Lives in gote

Posts: 566
Liked others: 39
Was liked: 59
Rank: 1k
Universal go server handle: mw42
Have you plans to drop the .gs and Go Server from your name to avoid potential confusion with KGS?

Also,
Quote:
We are not far at all!

Means you are not close to launching. Is this your intended meaning? The exclamation mark makes me think you might mean "we are not far away at all" which would mean you are close to launching.

EDIT: Need to find new words that mean "mean."


Last edited by mw42 on Sun Sep 25, 2011 7:45 pm, edited 3 times in total.
Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #4 Posted: Sun Sep 25, 2011 4:55 pm 
Oza

Posts: 2264
Liked others: 1180
Was liked: 552
mw42 wrote:
Have you plans to drop the .gs and Go Server from your name to avoid potential confusion with KGS?

hasn't this already been discussed to death in the other thread?

the only confusion is from those who are looking for it.


This post by xed_over was liked by 3 people: betterlife, danielm, SpongeBob
Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #5 Posted: Sun Sep 25, 2011 9:13 pm 
Lives with ko

Posts: 294
Liked others: 25
Was liked: 78
Rank: 6d
KGS: Dexmorgan
Wbaduk: c0nanbatt
uPWarrior wrote:
Isn't an end-game scoring function enough?
I just had a look at score_test.js and you seem to be testing some pretty dubious situations such as test 1 or 2.

By end-game scoring I mean a function which proposes something in the "mark dead groups" phase. Scoring as it is requires perfect play; even pros have a certain degree of uncertainty in complicated fights. I think it should be made clearer what we request from this specific function, what is off-limits and what is not.


As the test shows, groups are already marked as dead, that decision has to be made by the players, and not a computer (regardless of how good computers can be at doing that).

Test cases 1 and 2 are not dubious at all, they just look edgy. The same scoring function that gives off results of typical games, should also give that result in those edge cases too (which is whole board neutral space and whole board territory of one color).

Besides counting sorrounded spaces, which is a rather straight forward algorithm, it has to count seki properly which is not so obvious.

_________________
Founder of Kaya.gs

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #6 Posted: Mon Sep 26, 2011 3:12 am 
Lives with ko

Posts: 159
Liked others: 5
Was liked: 36
Rank: EGF 3d
Hi,
About the rating system: you say you will benchmark/compare different rating implementations. How will you do that? I had a look to the repository, couldn't see anything related to that. I don't mean to run a rating system with data, but to compare results of multiple rating systems. You mention "Our decision will be based mainly on the balance of Accuracy and Performance." I guess performance is computation time. But how do you define accuracy?

Another related thing, is the initial ratings. E.g., on KGS when you insert a new player there is no initial rating. But it is possible to add a player only once you have established players in the pool. Even when you have the pool already, and just adding one player there is the problem that same initial rating may not "feel" the same. If you add me to KGS and Tygem, both with initial rated as 3 dan, Tygem may have more work to do to stabilize me, as it has weaker ranks (3 dan KGS is about 5 dan Tygem).

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #7 Posted: Mon Sep 26, 2011 4:16 am 
Lives with ko

Posts: 294
Liked others: 25
Was liked: 78
Rank: 6d
KGS: Dexmorgan
Wbaduk: c0nanbatt
kivi wrote:
Hi,
About the rating system: you say you will benchmark/compare different rating implementations. How will you do that? I had a look to the repository, couldn't see anything related to that. I don't mean to run a rating system with data, but to compare results of multiple rating systems. You mention "Our decision will be based mainly on the balance of Accuracy and Performance." I guess performance is computation time. But how do you define accuracy?

Another related thing, is the initial ratings. E.g., on KGS when you insert a new player there is no initial rating. But it is possible to add a player only once you have established players in the pool. Even when you have the pool already, and just adding one player there is the problem that same initial rating may not "feel" the same. If you add me to KGS and Tygem, both with initial rated as 3 dan, Tygem may have more work to do to stabilize me, as it has weaker ranks (3 dan KGS is about 5 dan Tygem).


Right now the current code benchmarks how long it takes for a rating system to process a set of data. It gets automatically written in the output file (a simple matter of showing how long it took to run).

Accuracy is measured in the following manner: given a large set of real games, you process a first part (say 90%) and then after you achieve a rating on the current players, you attempt to guess future results. You compare that with the remaining 10% of games, and thats how you get accuracy.
Current code right now doesn't make that comparison. I will get on that once i get a real data-set. Yoyoma had a few k's games at hand.

I dont get if the initial rating comment is a question or an affirmation.

_________________
Founder of Kaya.gs

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #8 Posted: Mon Sep 26, 2011 5:15 am 
Lives with ko

Posts: 159
Liked others: 5
Was liked: 36
Rank: EGF 3d
Guess-future-results as accuracy test makes sense, thanks.

Let me turn the second part into a question. As a player I am curious: When a new user registers to Kaya, will he start with unknown rank (as in KGS), or will he enter his self-approximated level (as in many other servers)?

Also while benchmarking; will the rating system (that is being tested) be aware of the ratings of the players at the start. In other words, does the test data include any initial rating information (may it be self-assessed or, e.g., KGS given)?

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #9 Posted: Mon Sep 26, 2011 6:18 am 
Lives with ko

Posts: 294
Liked others: 25
Was liked: 78
Rank: 6d
KGS: Dexmorgan
Wbaduk: c0nanbatt
kivi wrote:
Guess-future-results as accuracy test makes sense, thanks.

Let me turn the second part into a question. As a player I am curious: When a new user registers to Kaya, will he start with unknown rank (as in KGS), or will he enter his self-approximated level (as in many other servers)?

Also while benchmarking; will the rating system (that is being tested) be aware of the ratings of the players at the start. In other words, does the test data include any initial rating information (may it be self-assessed or, e.g., KGS given)?


That question is highly tied to the rating system being picked, so the answer is "depends on the rating system".

For the second part, it depends exclusively on the data-set.

Kivi, are you considering writing code? we can take the details to a private channel.

_________________
Founder of Kaya.gs

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #10 Posted: Mon Sep 26, 2011 12:10 pm 
Lives in gote
User avatar

Posts: 499
Location: Germany
Liked others: 213
Was liked: 96
Rank: Fox 3D
GD Posts: 325
Thanks for the update, it sounds very promising!

_________________
Stay out of my territory! (W. White, aka Heisenberg)

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #11 Posted: Mon Sep 26, 2011 2:15 pm 
Lives in gote

Posts: 653
Location: Austin, Texas, USA
Liked others: 54
Was liked: 216
I am learning Ruby now, will convert my WHR implementation. Maybe throw in a Glicko implementation as well.


This post by yoyoma was liked by: Kaya.gs
Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #12 Posted: Mon Sep 26, 2011 2:44 pm 
Lives with ko

Posts: 199
Liked others: 6
Was liked: 55
Rank: KGS 3 kyu
Kaya.gs wrote:
uPWarrior wrote:
Isn't an end-game scoring function enough?
I just had a look at score_test.js and you seem to be testing some pretty dubious situations such as test 1 or 2.

By end-game scoring I mean a function which proposes something in the "mark dead groups" phase. Scoring as it is requires perfect play; even pros have a certain degree of uncertainty in complicated fights. I think it should be made clearer what we request from this specific function, what is off-limits and what is not.


As the test shows, groups are already marked as dead, that decision has to be made by the players, and not a computer (regardless of how good computers can be at doing that).

Test cases 1 and 2 are not dubious at all, they just look edgy. The same scoring function that gives off results of typical games, should also give that result in those edge cases too (which is whole board neutral space and whole board territory of one color).

Besides counting sorrounded spaces, which is a rather straight forward algorithm, it has to count seki properly which is not so obvious.


You are right, I didn't look at the test cases carefully enough.
I'll implement it if I find free time. This is not a promise tough.

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #13 Posted: Mon Sep 26, 2011 5:10 pm 
Lives with ko

Posts: 294
Liked others: 25
Was liked: 78
Rank: 6d
KGS: Dexmorgan
Wbaduk: c0nanbatt
yoyoma wrote:
I am learning Ruby now, will convert my WHR implementation. Maybe throw in a Glicko implementation as well.


Thats awesome! if you need any help dont hesistate to ask. Whats missing from the code right now is the accuracy test for comparison.
Id love to do that after i get and parse a reasonable dataset. What games were you using for your WHR implementation?

the only thing that might confuse you from the code is the ->() notation, which is one of many ways to pass functions. Functions are not really first class citizens in ruby as in python.

uPWarrior wrote:
You are right, I didn't look at the test cases carefully enough.
I'll implement it if I find free time. This is not a promise tough.


:). Emiliano should have a first version this week actually, to do overall scoring. What he probably wont do is recognize those edge seki cases, and details with different rulesets.
Today i visited GoShrine and i found that its scoring system mis-counts the seki position. Polly couldnt find the algorithm they use to count in a few minutes, i didnt take a close look at it either.

_________________
Founder of Kaya.gs

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #14 Posted: Mon Sep 26, 2011 9:28 pm 
Lives in gote

Posts: 653
Location: Austin, Texas, USA
Liked others: 54
Was liked: 216
Kaya.gs wrote:
yoyoma wrote:
I am learning Ruby now, will convert my WHR implementation. Maybe throw in a Glicko implementation as well.


Thats awesome! if you need any help dont hesistate to ask. Whats missing from the code right now is the accuracy test for comparison.
Id love to do that after i get and parse a reasonable dataset. What games were you using for your WHR implementation?

the only thing that might confuse you from the code is the ->() notation, which is one of many ways to pass functions. Functions are not really first class citizens in ruby as in python.


I have Glicko working. It is rough, for example I'm not sure how I should be doing my own local constants. Also I need the player class to have some more attributes, such as "RD" the rating deviation, and also a DateTime of the last game a player was in. I just added them to the system.rb file, maybe I should have added them from my own glicko.rb file.

Also I am having some trouble with git. I'm running Windows, and it's having trouble with the file ".rvmrc.09.25.2011-00:43:51". I would bet it's a compatibility issue with the filename being strange... Maybe you could just get rid of it if it's not necessary to help me workaround that? It looks like some sort of unneeded backup.

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #15 Posted: Mon Sep 26, 2011 10:08 pm 
Oza

Posts: 2264
Liked others: 1180
Was liked: 552
yoyoma wrote:
Also I am having some trouble with git. I'm running Windows, and it's having trouble with the file ".rvmrc.09.25.2011-00:43:51". I would bet it's a compatibility issue with the filename being strange...

yeah, Windows doesn't allow ':' in filenames.

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #16 Posted: Tue Sep 27, 2011 5:06 am 
Lives with ko

Posts: 294
Liked others: 25
Was liked: 78
Rank: 6d
KGS: Dexmorgan
Wbaduk: c0nanbatt
yoyoma wrote:
I have Glicko working. It is rough, for example I'm not sure how I should be doing my own local constants. Also I need the player class to have some more attributes, such as "RD" the rating deviation, and also a DateTime of the last game a player was in. I just added them to the system.rb file, maybe I should have added them from my own glicko.rb file.

Also I am having some trouble with git. I'm running Windows, and it's having trouble with the file ".rvmrc.09.25.2011-00:43:51". I would bet it's a compatibility issue with the filename being strange... Maybe you could just get rid of it if it's not necessary to help me workaround that? It looks like some sort of unneeded backup.



Its fine i shouldnt have uploaded that fine either.

I merged your code to the branch "glicko" on the official repository. I will be cleaning it up a bit and mainly adding some tests. I run the code and it made an output with negative ranks, and rating "0". So i will add some automated tests and verifications to have some sanity checks.

Maybe i should ask wms for a db-dump of some sort.

BTW, I contacted Remi and he sent me his WHR implementation on C/C++. He wasnt interested in doing a ruby version himself, but i can forward it to you if you want to compare it to your python impl.

Also, you are AWESOME. :).

_________________
Founder of Kaya.gs

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #17 Posted: Tue Sep 27, 2011 3:00 pm 
Lives with ko

Posts: 199
Liked others: 6
Was liked: 55
Rank: KGS 3 kyu
I've searched this in a few places but I haven't found one that covers this with enough depth.
Also, looking at the rules didn't quite help as this are situations which give the same point difference to both players. The question is: what's the score in this games?

Click Here To Show Diagram Code
[go]$$B
$$ -------------
$$ | . X X O O |
$$ | X X X O O |
$$ | X X X O O |
$$ | X X X O O |
$$ | X X . O . |
$$ -------------[/go]

Obvious seki. 0 points for each.

Click Here To Show Diagram Code
[go]$$B
$$ -------------
$$ | . X X O O |
$$ | . X X O O |
$$ | X X X O O |
$$ | X X X O . |
$$ | X X . O . |
$$ -------------[/go]

Obvious seki. 0 points for each

Click Here To Show Diagram Code
[go]$$B
$$ -------------
$$ | . X X O O |
$$ | . X X O O |
$$ | . X X O . |
$$ | X X X O . |
$$ | X X . O . |
$$ -------------[/go]

No idea. Each player is able to either create a seki or to make life, but this certainly seems an endgame position.

Click Here To Show Diagram Code
[go]$$B
$$ -------------
$$ | . . X . O O |
$$ | . . X O O O |
$$ | X X X O O O |
$$ | X X O O O O |
$$ | X X O . . O |
$$ | X X O . . O |
$$ -------------[/go]

No idea. Same situation?


Can we just say that if the eye is bigger than or equal to 3 spaces, then it's alive?
These are simple positions, I might post a few more complicated ones.

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #18 Posted: Tue Sep 27, 2011 3:04 pm 
Site Admin
User avatar

Posts: 1125
Location: Allegan, MI, USA
Liked others: 18
Was liked: 121
Rank: KGS 9k
Universal go server handle: Jordus
Diagram 2 and 4 are not seki..

*edit* nvm... :oops:

_________________
I'm thinking...

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #19 Posted: Tue Sep 27, 2011 4:30 pm 
Dies in gote

Posts: 52
Location: Chevy Chase, MD
Liked others: 0
Was liked: 8
Rank: AGA 7K
KGS: gurujeet
DGS: gfromdc
Under AGA rules and in Japanese scoring, points fully enclosed by a single color within a seki are scored.

Top
 Profile  
 
Offline
 Post subject: Re: Kaya Open-sources the rating system & updates
Post #20 Posted: Tue Sep 27, 2011 4:38 pm 
Oza

Posts: 2264
Liked others: 1180
Was liked: 552
gurujeet wrote:
Under AGA rules and in Japanese scoring, points fully enclosed by a single color within a seki are scored.

I thought it was Chinese rules, not Japanese
http://senseis.xmp.net/?Seki#toc10

(so AGA rules are basicly same as Chinese rules)

Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 32 posts ]  Go to page 1, 2  Next

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