Re: [Computer-go] Javascript go programs

2015-10-18 Thread Tobias Pfeiffer
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 wa 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  > 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
> Computer-go@computer-go.org 
> http://computer-go.org/mailman/listinfo/computer-go
>
>
>
>
> ___
> Computer-go mailing list
> Computer-go@computer-go.org
> http://computer-go.org/mailman/listinfo/computer-go

___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] Javascript go programs

2015-10-16 Thread Ben Ellis
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  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
> Computer-go@computer-go.org
> http://computer-go.org/mailman/listinfo/computer-go
>
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] Javascript go programs

2015-08-27 Thread Urban Hafner
Hey there,

there are none that I'm aware of. But if you're looking for ideas I'd
suggest having a look at https://github.com/pasky/michi. It's written in
Python but should be fairly easy to read as the code base is so small. I'm
still in the process of implementing/stealing stuff from Michi for my Go bot
 (written in Rust).

Urban

On Thu, Aug 27, 2015 at 3:28 AM, Daily Pro Go  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
> Computer-go@computer-go.org
> http://computer-go.org/mailman/listinfo/computer-go
>



-- 
Blog: http://bettong.net/
Twitter: https://twitter.com/ujh
Homepage: http://www.urbanhafner.com/
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go