Hi there, I started on a JavaScript engine quite some time ago :) At the time for a Mozilla competition but didn't quite complete it. It is already parallelized through web workers (performance + otherwise you get the busy JS popup etc.).
https://github.com/PragTob/web-go It is written in CoffeeScript (http://coffeescript.org/) though :) It does work (MCTS UCT, no RAVE - yet), is still sort of weak though and has a couple of problems: - I implemented incremental liberty counting and I believe I introduced a bug in the process :'( - the data structures are inefficient/too memory heavy (2d Array and I often create small objects) and so it sort of blows up memory (every web worker has its own context and lands at ~400/500 MB) and the Garbage Collection due to the many objects slows overall performance down significantly - random move choice is wayyyy too stupid (like super stupid right now) and could be sped up considerably - no heuristics/heavy playouts yet Currently I'm not working on it, as I work on my Ruby(*) Go-Engine for a presentation at rubyconf ( https://github.com/PragTob/Rubykon ). Getting back into the Go game and reading the code of michi (https://github.com/pasky/michi) and implementing the ruby one I also realized some of the things I did wrong in the CoffeeScript one and how to correct it. I want to get back to it eventually, but I might also want to do a Crystal (http://crystal-lang.org/) port of my Ruby engine before. If someone wants to work on it I'm happy to write some good issues - right now it's still not really "released" - it's more my playground. Cheers, Tobi PS: Sorry for the long post :) (*) - if you wonder about someone implementing Go engines in way too slow languages like Ruby/JavaScript - it's fun, a hobby and I want to see how far I can push boundaries and how fast they can get :) Also I think it's nice benchmark for language implementations or inbetween languages (if same algorithms/heuristics are used) On 10/16/2015 01:41 PM, Ben Ellis wrote: > I made a start on this but I decided to start over as I didn't like > the data structures I was using and my unit test coverage wasn't good > enough for me to debug problems effectively. > > My goal was to make an program that was suitable for beginners (beat a > double digit (ideally 12k) player) and that could play using different > rule sets (Ing, AGA, Japanese, Chinese, etc) > > I would be interested in starting again or contributing to an > open-source javascript implementation should you have one started already. > > > On 27 August 2015 at 02:28, Daily Pro Go <[email protected] > <mailto:[email protected]>> wrote: > > Short version: Is anyone aware of any attempts at writing a > program to play go in javascript? > > Long version: I am a longtime (4-5dan) go player and hobbiest > programmer and wanted to try exploring some of the challenges > around writing a go playing program. However, javascript is by far > my strongest coding language and I didn't think it would be wise > to dive into a less familiar language at the same time I'm > learning about lots of other new things like MCTS. I know there's > a performance penalty for a language like js, but since my first > attempts will probably be quite crude anyway, this seems like > something I can defer until later. With all that said, do you know > of any other js go playing programs that could provide some good > initial stubs/ideas as I try to dive in? I'd be particularly > interested if anyone has already made a link between gogui and a > javascript program. > > Thanks! > > _______________________________________________ > Computer-go mailing list > [email protected] <mailto:[email protected]> > http://computer-go.org/mailman/listinfo/computer-go > > > > > _______________________________________________ > Computer-go mailing list > [email protected] > http://computer-go.org/mailman/listinfo/computer-go
_______________________________________________ Computer-go mailing list [email protected] http://computer-go.org/mailman/listinfo/computer-go
