Alphago Zero pseudo code?

For discussing go computing, software announcements, etc.
Post Reply
deungsan
Dies in gote
Posts: 32
Joined: Thu Jan 24, 2019 5:23 pm
GD Posts: 0
Been thanked: 9 times

Alphago Zero pseudo code?

Post by deungsan »

Is there a pseudo code for Alphago Zero or leela zero?
There is a diagram "Alphago Zero cheap sheet", but I need more details than this, and less details than the real program C codes of Leela Zero.

For this purpose, I traced the lz codes instruction by instruction, followed paticularly "'genmove", used to be missing somewhere in those recursive functions.

I wonder if there might be some people who had tried what I have tried and left pseudo codes. If there is no, then can you make one?
sorin
Lives in gote
Posts: 389
Joined: Wed Apr 21, 2010 9:14 pm
Has thanked: 418 times
Been thanked: 198 times

Re: Alphago Zero pseudo code?

Post by sorin »

deungsan wrote:Is there a pseudo code for Alphago Zero or leela zero?
There is a diagram "Alphago Zero cheap sheet", but I need more details than this, and less details than the real program C codes of Leela Zero.

For this purpose, I traced the lz codes instruction by instruction, followed paticularly "'genmove", used to be missing somewhere in those recursive functions.

I wonder if there might be some people who had tried what I have tried and left pseudo codes. If there is no, then can you make one?
It may be easier if you can tell what is your goal in looking at pseudo-code, are you trying to figure out something in particular, or is it just exploratory?
deungsan
Dies in gote
Posts: 32
Joined: Thu Jan 24, 2019 5:23 pm
GD Posts: 0
Been thanked: 9 times

Re: Alphago Zero pseudo code?

Post by deungsan »

sorin wrote: It may be easier if you can tell what is your goal in looking at pseudo-code, are you trying to figure out something in particular, or is it just exploratory?
I like to replicate the whole process with my codes and see if there can be improvements or different ways of getting moves.
sorin
Lives in gote
Posts: 389
Joined: Wed Apr 21, 2010 9:14 pm
Has thanked: 418 times
Been thanked: 198 times

Re: Alphago Zero pseudo code?

Post by sorin »

deungsan wrote:
sorin wrote: It may be easier if you can tell what is your goal in looking at pseudo-code, are you trying to figure out something in particular, or is it just exploratory?
I like to replicate the whole process with my codes and see if there can be improvements or different ways of getting moves.
So you tried to read the LeelaZero code and got lost in the details? Maybe the Minigo code is easier to read, give it a try: https://github.com/tensorflow/minigo

You can see some of the latest Minigo models here: https://cloudygo.com/v16-19x19/eval-graphs and it seems to be around the same strength as LZ.
deungsan
Dies in gote
Posts: 32
Joined: Thu Jan 24, 2019 5:23 pm
GD Posts: 0
Been thanked: 9 times

Re: Alphago Zero pseudo code?

Post by deungsan »

I asked for a pseudo code for Alphago Zero, not for another program, besides I am not familiar with Python.
sorin
Lives in gote
Posts: 389
Joined: Wed Apr 21, 2010 9:14 pm
Has thanked: 418 times
Been thanked: 198 times

Re: Alphago Zero pseudo code?

Post by sorin »

deungsan wrote:I asked for a pseudo code for Alphago Zero, not for another program, besides I am not familiar with Python.
Minigo is a very accurate implementation of the AlpphaGo Zero algorithm, as described in the published DeepMind paper.

What programming language do you plan to use for your program?
deungsan
Dies in gote
Posts: 32
Joined: Thu Jan 24, 2019 5:23 pm
GD Posts: 0
Been thanked: 9 times

Re: Alphago Zero pseudo code?

Post by deungsan »

sorin wrote: Minigo is a very accurate implementation of the AlpphaGo Zero algorithm, as described in the published DeepMind paper.

What programming language do you plan to use for your program?
I started this thread because I need a pseudo code. If Minigo is a accurate implementation of Alphago, then could you write down a pseudo code on the basis of Minigo? Unless otherwise you are wasting time and hijacking what this thread is meant to be.
jaca

Re: Alphago Zero pseudo code?

Post by jaca »

this is probably as good an explanation of the basics of Alpha Zero as you can find anywhere on the web. Note that it is chapter 4, so there are 3 chapters before it. i recommend asking any questions in the video maker's own site.
User avatar
EdLee
Honinbo
Posts: 8859
Joined: Sat Apr 24, 2010 6:49 pm
GD Posts: 312
Location: Santa Barbara, CA
Has thanked: 349 times
Been thanked: 2070 times

Post by EdLee »

deungsan wrote:I need more details
can you make one?
deungsan wrote:I asked for a pseudo code for Alphago Zero
deungsan wrote:I started this thread because I need a pseudo code. If Minigo is a accurate implementation of Alphago, then could you write down a pseudo code on the basis of Minigo? Unless otherwise you are wasting time and hijacking what this thread is meant to be.
No. Nobody is obligated to answer any of your questions. You come here asking for free advice, for your needs; you, you, you, you, you, without so much a single please or thank you to sorin who's trying to help you.

What preposterous sense of entitlement and ungratefulness.
User avatar
drmwc
Lives in gote
Posts: 452
Joined: Sat Dec 01, 2012 2:18 pm
Rank: 4 Dan European
GD Posts: 0
Has thanked: 74 times
Been thanked: 100 times

Re: Alphago Zero pseudo code?

Post by drmwc »

You may be interested in this book:
https://www.manning.com/books/deep-lear ... game-of-go

It has Python code, and seems to be well explained from my brief perusal so far. (It uses the Keras library for the convolutional nets.) They have put all their code on GitHub as well, although my vague intention is to programme my own version.
Mike Novack
Lives in sente
Posts: 1045
Joined: Mon Aug 09, 2010 9:36 am
GD Posts: 0
Been thanked: 182 times

Re: Alphago Zero pseudo code?

Post by Mike Novack »

It is unclear what you need and what your limitations might be. So let me ask some questions.

You have been told that a description of the algorithm is available. Since I have not looked at that myself, I don't know in what way the algorithm is described. But at least confirm that you have looked at it. In other words, that you cannot convert the formal definition of the algorithm into what you would call pseudo-code.

In some ways I agree with your approach and disagree that you would find an implementation useful to look at. I might (probably could) reverse engineer from a python implementation (even without really knowing python!) but that's because I have LOTS of experience << things like turning the output of a disassembler into human readable assembler code to replace lost source code, etc.>>

The problem is that given the formal definition of an algorithm I would expect to be able to describe it in pseudo-code as that is a good way to proceed in writing an implementation << after retirement, bored, and choosing to learn c, I picked a direct (but finite) implementation of the 2nd Lemple-Zeve universal compression algorithm from the definition of the algorithm as my "case problem".

I would THINK if your objective is to write "a more efficient implementation" you need that skill (go from algorithm definition to your own pseudo-code). The reason is that a poor choice for something in the pseudo-code is at least as possible a source of inefficiency as poor coding of the implementation of a pseudo-code object/function. In my working days, my first "make code more efficient" coup (made the program run almost two orders of magnitude faster) was fixing a bad choice that had been made at a very high level of the process. In other words, the pseudo code was a "correct" but "inefficient" version of the process.

Michael
deungsan
Dies in gote
Posts: 32
Joined: Thu Jan 24, 2019 5:23 pm
GD Posts: 0
Been thanked: 9 times

Re: Alphago Zero pseudo code?

Post by deungsan »

Post Reply