Alphago Zero pseudo code?
Alphago Zero pseudo code?
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?
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?
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 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?
Sorin - 361points.com
Re: Alphago Zero pseudo code?
I like to replicate the whole process with my codes and see if there can be improvements or different ways of getting moves.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?
-
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?
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/minigodeungsan wrote:I like to replicate the whole process with my codes and see if there can be improvements or different ways of getting moves.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?
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.
Sorin - 361points.com
Re: Alphago Zero pseudo code?
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?
Minigo is a very accurate implementation of the AlpphaGo Zero algorithm, as described in the published DeepMind paper.deungsan wrote:I asked for a pseudo code for Alphago Zero, not for another program, besides I am not familiar with Python.
What programming language do you plan to use for your program?
Sorin - 361points.com
Re: Alphago Zero pseudo code?
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.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?
-
jaca
Re: Alphago Zero pseudo code?
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.
- 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
deungsan wrote:I need more details
can you make one?
deungsan wrote:I asked for a pseudo code for Alphago Zero
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.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.
What preposterous sense of entitlement and ungratefulness.
- 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?
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.
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?
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
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