Re: [Computer-go] Photo of an AlphaGo Girl

2016-12-31 Thread Tobias Pfeiffer
Wow that is... astonishing. Thanks for the post Ingo!

This reddit is later on linked in the forum and includes speculations
that it's not AlphaGo based on answers in similar positions. I'd
disagree though - no whole game is the same and AlphaGo evolves and
changes so much still through self-play.

https://www.reddit.com/r/baduk/comments/5l3l7e/chinese_ai_crushing_pros_on_fox_server/

On 12/31/2016 10:31 AM, "Ingo Althöfer" wrote:
> click here!
>
> http://www.dgob.de/yabbse/index.php?action=dlattach;topic=6381.0;attach=5571;image
>
> Ingo.
> ___
> 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] Introductory presentation about Computer Go and AlphaGo (Video)

2016-09-15 Thread Tobias Pfeiffer
Hi everyone,

long time reader, sometimes poster.

I gave a talk last week at Full Stack Fest about Computer Go and the
advances that AlphaGo brought (but about MCTS as well of course). It's a
40mins presentation so I had to cut a lot. I think it's a good
introduction and the talk was well received, it is more meant for people
that know programming but don't know Go, AI or Machine learning (the
audience in the conference). Hence, Neural networks are also briefly
introduced.

Video: https://www.youtube.com/watch?v=b9H9AtbxpPM

Post with slides:
https://pragtob.wordpress.com/2016/09/15/video-what-did-alphago-do-to-beat-the-strongest-human-go-player/

Maybe it's interesting for people new here or the ones that haven't yet
read the AlphaGo paper (and its predecessor). Information is based on
many papers, presentations of Aja and this mailing list (of course!).

As a corollary, if someone wants to level up on their neural networks
skills and enjoy it I can immensely recommend this free online book:
http://neuralnetworksanddeeplearning.com/index.html

Hope some of you enjoy it, happy for some feedback + thanks for all your
interesting conversations!

Tobi

PS: I know that Lee Sedol doesn't seem to be widely regarded as the
strongest human player (Ke Jie is to my understanding), but I don't
really follow pro Go that much and on this ML everyone seemed quite
satisfied with the choice of Lee Sedol of an opponent so I just assumed
it when I submitted the talk. Shame on me :|

-- 
http://www.pragtob.info/


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

[Computer-go] Introductory computer go/MCTS presentation: slides and video

2015-12-06 Thread Tobias Pfeiffer
Hi there lovely computer-go mailing list,

I gave a presentation titled "Beating Go Thanks to the Power of
Randomness" at Rubyconf 2015. It is a full introductory talk which means:

* the rules of Go are introduced (leaving out Ko and seki though.. time)
* the discussion of MCTS is on a very high level, RAVE/AMAF is mentioned
and heuristics are only briefly discussed
* A lot of it focusses around the complexity of Go, why can't we beat it
yet and some Chess vs. Go is included

So it's not useful for anyone that has been on here for some time. If
you want to share some introductory material with friends or so or for
total newcomers it might be useful.

Slides + video:
https://pragtob.wordpress.com/2015/11/21/slides-beating-go-thanks-to-the-power-of-randomness-rubyconf-2015/

Also this was before we got further information about the Facebook Go
AI, so that information is less than complete and I didn't yet know how
strong it was (wow 3d KGS! :) )

Otherwise the information is up to date and correct to the best of my
knowledge, sorry for any mispronunciations.

If a more experienced Go programmer had the time to watch it and give
feedback on the talk of any kind, I'd be very happy about that!

Tobi

-- 
www.pragtob.info




signature.asc
Description: OpenPGP digital signature
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] Facebook Go AI

2015-11-04 Thread Tobias Pfeiffer
Thanks for that observation Nick!

For those that don't want to look for themselves:

https://www.gokgs.com/gameArchives.jsp?user=darkforest
https://www.gokgs.com/gameArchives.jsp?user=darkfores1

>From a quick look it seems like it is winning most of its games, even
against 1d/2d players, but there also looses. I also found a rather
curois account where it often won by a large difference against a 10k,
but then also lost 2 times against the same player (sometimes by a lot)
- probably a couple of slip ups.

Tobi

On 03.11.2015 20:32, Nick Wedd wrote:
> I think this Facebook AI may be the program playing on KGS as
> darkforest and darkfores1.
>
> Nick
>
> On 3 November 2015 at 14:28, Petr Baudis  > wrote:
>
>   Hi!
>
>   Facebook is working on a Go AI too, now:
>
> https://www.facebook.com/Engineering/videos/10153621562717200/
> https://code.facebook.com/posts/1478523512478471
>
> 
> http://www.wired.com/2015/11/facebook-is-aiming-its-ai-at-go-the-game-no-computer-can-crack/
>
> The way it's presented triggers my hype alerts, but nevertheless:
> does anyone know any details about this?  Most interestingly, how
> strong is it?
>
> --
> Petr Baudis
> If you have good ideas, good data and fast computers,
> you can do almost anything. -- Geoffrey Hinton
> ___
> Computer-go mailing list
> Computer-go@computer-go.org 
> http://computer-go.org/mailman/listinfo/computer-go
>
>
>
>
> -- 
> Nick Wedd  mapr...@gmail.com 
>
>
> ___
> Computer-go mailing list
> Computer-go@computer-go.org
> http://computer-go.org/mailman/listinfo/computer-go

-- 
www.pragtob.info

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

[Computer-go] AMAF/RAVE + heavy playouts - is it save?

2015-11-03 Thread Tobias Pfeiffer
Hi everyone,

I haven't yet caught up on most recent go papers. If what I ask is
answered in one of these, please point there.

It seems everyone is using quite heavy playouts these days (nxn
patterns, atari escapes, opening libraris, lots of stuff that I don't
know yet, ...) - my question is how does that mix with AMAF/RAVE? I
remember from the early papers, that they said it'd be dangerous to do
it with non random playouts and that they shouldn't have too much logic.

Which, well, makes sense (to me) because the argument is that we play
random moves so they are order independent. With patterns that doesn't
hold true anymore.

What's the experience out there? Does it just still work? Does it not
matter because you just "warm up" the tree? Or do you need to be careful
with what heuristics you apply not too break RAVE/AMAF?

Thank you!
Tobi

-- 
www.pragtob.info




signature.asc
Description: OpenPGP digital signature
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Re: [Computer-go] AMAF/RAVE + heavy playouts - is it save?

2015-11-03 Thread Tobias Pfeiffer
This helps very much, thank you for taking the time to answer!

You might be looking for for "Combining Online and Offline Knowledge in
UCT" [1] by Gelly and Silver. Silver Tesauroreference it in "Monte-carlo
Simulation Balancing" [2] with "Unfortunately, a stronger simulation
policy can actually lead to a weaker Monte-Carlo search (Gelly & Silver,
2007), a paradox that we explore further in this paper."

I'll make it a priority to read both papers in detail thank you! If you
meant another paper, someone else knows one I'm happy to see more
references.

Thanks!
Tobi


[1] http://www.machinelearning.org/proceedings/icml2007/papers/387.pdf
[2] http://www.machinelearning.org/archive/icml2009/papers/500.pdf


On 03.11.2015 21:03, robertfinkng...@o2.co.uk wrote:
> You have to be careful what heuristics you apply. This was a
> surprising result: using a playout policy which in itself is a
> stronger go player can actually make MCTS/AMAF weaker. The reason is
> that MCTS depends entirely on accurate estimations of the value of
> each position in the tree. Any playout policy which introduces a bias
> therefore weakens MCTS. It may increase precision (lower standard
> deviation) but gives a less accurate assessment of the value (an
> incorrect mean). Most playouts at the moment (at least published ones)
> are based on Remi's Mogo playout policy, which increases precision
> without sacrificing accuracy.
>
> There's a really nice diagram in one of David Silver's papers
> illustrating the effect that bias can have on playouts. As soon as you
> see it you understand the problem. Unfortunately I don't have it to
> hand and have unfortunately run out of time looking for it, otherwise
> I'd reference it. Hopefully somebody else can give the reference. I
> suspect David probably co-authored the paper in which case apologies
> to the other author for not crediting them here!
>
> I hope this helps
>
> Regards
>
> Raffles
>
> On 03-Nov-15 19:38, Tobias Pfeiffer wrote:
>> Hi everyone,
>>
>> I haven't yet caught up on most recent go papers. If what I ask is
>> answered in one of these, please point there.
>>
>> It seems everyone is using quite heavy playouts these days (nxn
>> patterns, atari escapes, opening libraris, lots of stuff that I don't
>> know yet, ...) - my question is how does that mix with AMAF/RAVE? I
>> remember from the early papers, that they said it'd be dangerous to do
>> it with non random playouts and that they shouldn't have too much logic.
>>
>> Which, well, makes sense (to me) because the argument is that we play
>> random moves so they are order independent. With patterns that doesn't
>> hold true anymore.
>>
>> What's the experience out there? Does it just still work? Does it not
>> matter because you just "warm up" the tree? Or do you need to be careful
>> with what heuristics you apply not too break RAVE/AMAF?
>>
>> Thank you!
>> Tobi
>>
>>
>>
>> ___
>> Computer-go mailing list
>> Computer-go@computer-go.org
>> http://computer-go.org/mailman/listinfo/computer-go
>>
>>
>> -
>> No virus found in this message.
>> Checked by AVG - www.avg.com
>> Version: 2016.0.7163 / Virus Database: 4457/10906 - Release Date: 10/28/15
>
>
>
> ___
> Computer-go mailing list
> Computer-go@computer-go.org
> http://computer-go.org/mailman/listinfo/computer-go

-- 
www.pragtob.info

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

[Computer-go] Codecentric Go Challenge is over! FJD won!

2015-11-01 Thread Tobias Pfeiffer
Hi everyone,

haven't seen this on the mailing list yet (well anything after the
second game), but the code centric go challenge is over, the last game
was played yesterday. FJD won the best of five 3-1 only losing the first
game.

More information here: https://go.codecentric.de/

Congrats to Franz-Josef Dickhut!

Tobi

-- 
www.pragtob.info




signature.asc
Description: OpenPGP digital signature
___
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-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] Report KGS Slow Tournament

2015-09-27 Thread Tobias Pfeiffer
thanks for this link, there are some really interesting papers there :)

On 27.09.2015 03:10, Hiroshi Yamashita wrote:
> His paper is also interesting.
> Abakus got +130 Elo by online learning.
>
> Adaptive Playouts in Monte Carlo Tree Search with Policy Gradient
> Reinforcement Learning
> https://www.conftool.net/acg2015/index.php?page=browseSessions=adminSessions=export=list=show
>
>
> Regards,
> Hiroshi Yamashita
>
> - Original Message - From: "Aja Huang" 
> To: 
> Sent: Sunday, September 27, 2015 7:08 AM
> Subject: Re: [Computer-go] Report KGS Slow Tournament
>
>
> 2015-09-26 2:48 GMT+01:00 Hideki Kato :
>
>> Aja Huang: <
>> calqb9_kdkgkxsvrjksjmnvywe3tpjw1ct_n-tpjt_sdmmit...@mail.gmail.com>:
>> >Congrats to Abakus. Does anyone know who is Abakus` author?
>>
>> Tobias Graf is the author.
>> See http://www.computer-go.info/db/operson.php?a=Graf%2C+Tobias
>
> I see, thanks. It's a strong program from Germany. :)
>
> Aja
>
> ___
> Computer-go mailing list
> Computer-go@computer-go.org
> http://computer-go.org/mailman/listinfo/computer-go

-- 
www.pragtob.info




signature.asc
Description: OpenPGP digital signature
___
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go