How long would it take for a novice to be able to program

For discussing go computing, software announcements, etc.
User avatar
d180cf
Beginner
Posts: 6
Joined: Tue Sep 29, 2015 10:25 pm
Rank: KGS 1d
GD Posts: 0
Been thanked: 2 times

Re: How long would it take for a novice to be able to progra

Post by d180cf »

I came up with the same idea half a year ago: to write a strong tsumego solver and use it in sites like goproblems. At that moment I estimated the task as "rougly two days of work to implement a basic depth-first search and another day to make it handle ko fights" and I had good reasons to think so: I had exceptionally solid math, computer science and programming background. Today, after half a year of study, I have only realized that this task at the edge of my mental ability (I made the "wtf? this stone's disappeared!" -> KGS 1 dan path in 8 months) and I'm barely able to comprehend algorithms that are necessary to write a decent (not a top notch, just decent) tsumego solver. This is just to give you an idea how hard this task is :)

I highly recommend to not spend time on learning any programming language at the moment - that's the simplest and the least significant part of the task. Learn how search on graphs work: start with basic best-first and depth-first search algorithms and advance to the lamda depth-first proof-number search that handles repetitions (lambda df-pn(r)). Read the Kishi's PhD thesis about tsumego solvers and the Martin Muller's paper about lambda df-pn(r):

http://www.is.titech.ac.jp/~kishi//pdf_ ... thesis.pdf
www.ijcai.org/papers07/Papers/IJCAI07-387.pdf

I also recommend to take a look at machine learning / neural networks. Even if you don't find it directly applicable to the tsumego solvers, it will let you look at existing problems at an entirely new angle:

arxiv.org/abs/1412.3409
en.wikipedia.org/wiki/Backpropagation
Mike Novack
Lives in sente
Posts: 1045
Joined: Mon Aug 09, 2010 9:36 am
GD Posts: 0
Been thanked: 182 times

Re: How long would it take for a novice to be able to progra

Post by Mike Novack »

d180cf wrote:
I also recommend to take a look at machine learning / neural networks. Even if you don't find it directly applicable to the tsumego solvers, it will let you look at existing problems at an entirely new angle:
This is why I think we are only in the "infancy" days with neural nets and go and have no idea how far we can get with this approach to a go playing program.

1) We know that (simply) training to predict "the move an expert would make" can at least play the game an not too shabbily.

2) I don't know if anybody is yet working on a neural net "tsumego solver" and I don't think all by itself could even play go.

3) But the training of neural nets involves "annealing" (repeated slight disruption of cell values, like a "mild stroke" followed by retraining --- how to escape from a "local summit" in the learning surface. What if "tsumego training" were used as the "annealing disrupter" in "expert prediction" training.

4) Not to say that there aren't other possibilities.
Post Reply