Commonsense Go

For discussing go computing, software announcements, etc.
Uberdude
Judan
Posts: 6727
Joined: Thu Nov 24, 2011 11:35 am
Rank: UK 4 dan
GD Posts: 0
KGS: Uberdude 4d
OGS: Uberdude 7d
Location: Cambridge, UK
Has thanked: 436 times
Been thanked: 3718 times

Re: Commonsense Go

Post by Uberdude »

pookpooi wrote:hmmm I don't think this is a troll thread
I agree: I think djhbrown genuinely believes this stuff he is saying and although he does go on a bit it's more deluded than malicious. He might point out that both cranks and eccentric geniuses are dismissed by the mainstream.
pookpooi wrote:after all, we already 'had' someone who claim that his program can beat AlphaGo, and the admin quickly ban him, that is the real troll.
You mean Mr ARB and his GO System! which AMAZed ;-) us all!!?? You might disagree with admins banning him (I don't) but that's not trolling. And he wasn't banned for his crazy ideas about "his program can beat AlphaGo", he was banned for his insults and attacks on other users.
pookpooi
Lives in sente
Posts: 727
Joined: Sat Aug 21, 2010 12:26 pm
GD Posts: 10
Has thanked: 44 times
Been thanked: 218 times

Re: Commonsense Go

Post by pookpooi »

Uberdude wrote:You mean Mr ARB and his GO System! which AMAZed ;-) us all!!?? You might disagree with admins banning him (I don't) but that's not trolling. And he wasn't banned for his crazy ideas about "his program can beat AlphaGo", he was banned for his insults and attacks on other users.
No, no, I'm not saying that admin is trolling, I mean the other one (I'm too scare to say his name cause he might find his name in google and find out he's being mention in this thread)
pookpooi
Lives in sente
Posts: 727
Joined: Sat Aug 21, 2010 12:26 pm
GD Posts: 10
Has thanked: 44 times
Been thanked: 218 times

Re: Commonsense Go

Post by pookpooi »

Also DJH Brown was wrote an article "CHALLENGE OF GO" for New Scientist back in 1979 (and many more article around that time), so he's more like an old go enthusiast that the passion has been ignite by AlphaGo :)
User avatar
daal
Oza
Posts: 2508
Joined: Wed Apr 21, 2010 1:30 am
GD Posts: 0
Has thanked: 1304 times
Been thanked: 1128 times

Re: Commonsense Go

Post by daal »

Someone who makes the effort to make a series of videos about go is hardly a troll and doesn't deserve this kind of maligning, think what you may about his work. I personally enjoyed watching some of the videos he made, and I hope this type of reception doesn't discourage him from making more.
Patience, grasshopper.
Uberdude
Judan
Posts: 6727
Joined: Thu Nov 24, 2011 11:35 am
Rank: UK 4 dan
GD Posts: 0
KGS: Uberdude 4d
OGS: Uberdude 7d
Location: Cambridge, UK
Has thanked: 436 times
Been thanked: 3718 times

Re: Commonsense Go

Post by Uberdude »

Here is the response of Petr Baudis (author of Pachi) on the computer-go mailing list when someone (not dhjbrown as he is muted from the list) posted this Commonsense Go document.
I've skimmed through
the paper. It contains a high-level pseudocode for strategic planning
of a Go-playing agent. However, it unfortunately doesn't explain how
to implement the functions like influence() or how to efficiently read
out the sequences appropriate for its kill() subroutine.

From what I remember when I first started digging into GNUGo, the actual
GNUGo's implementation might be actually very similar to what the paper
describes! The trouble starts when one starts looking into the
"implementation details" and how to avoid the combinatorial explosion
of possible sequences.

I'd encourage djhbrown to look into the GNUGo general strategy code
(which is *not* just a general alpha-beta search) and consider why it
doesn't work that well in practice. I have found debugging GNUGo's
mistakes a great educational experience in the fundamental flaws of
classic engines back then.
User avatar
djhbrown
Lives in gote
Posts: 392
Joined: Tue Sep 15, 2015 5:00 pm
Rank: NR
GD Posts: 0
Has thanked: 23 times
Been thanked: 43 times

Re: Commonsense Go

Post by djhbrown »

Uberdude & Baudis make a simple category error that "Yes, Minister" calls 'Politician's Logic':

Sir Arnold: "Hacker's just grasping at straws. It's the old logical fallacy: All cats have four legs; my dog has four legs .... "
Sir Humphrey: ".... therefore my dog is a cat!".

GnuGo uses pattern matching to identify candidate moves
http://www.gnu.org/software/gnugo/gnugo_4.html#SEC41 [see paragraph "shapes ()" ]

Whereas Commonsense Go uses hierarchical reasoning about abstract concepts to form plans to deduce moves that satisfy goals.

The two methods are explained in my video "Over the Horizon with AHA".

GnuGo is an example of a bottom-up approach to AI, whereas Commonsense Go is a top-down approach:
http://www.webofstories.com/play/marvin.minsky/26
i shrink, therefore i swarm
Uberdude
Judan
Posts: 6727
Joined: Thu Nov 24, 2011 11:35 am
Rank: UK 4 dan
GD Posts: 0
KGS: Uberdude 4d
OGS: Uberdude 7d
Location: Cambridge, UK
Has thanked: 436 times
Been thanked: 3718 times

Re: Commonsense Go

Post by Uberdude »

Let's make this simple:

GnuGo uses the concept of groups in its design.

Commonsense Go uses the concept of groups in its design.

AlphaGo does not use the concept of groups in its design.

(and just in case AlphaGo does have groups in there somewhere, although not as core part):
The Go AI at https://chrisc36.github.io/deep-go/ is a pure neural net move selector bot (no MCTS or value network as in AlphaGo) so definitely doesn't have groups in its design.

Thus the bolded claim below is false. If you disagree with this simple logical deduction please explain which part you think is wrong.
djhbrown wrote:
Uberdude wrote:you'd be making a bot similar to GnuGo
no, you wouldn't. [snip] there is no similarity between the programs whatsoever that is not also shared by Alphago and every other bot ever written to play Go. Not a single jot. If anyone can find one, do tell.
Note that I am not saying your approach is identical to GnuGo, but similar, and more similar than MCTS or Neural Net approaches. That's not to say such a higher-level conceptual approach to Go playing will never be successful at making a pro-level player (and could be more useful as a teaching tool for weak players), maybe it will some years in the future. But an awareness of the shortcomings of similar approaches so far makes it obvious that the claim your rudimentary design just needs to be implemented in software and could then beat AlphaGo is quite frankly ludicrous.
djhbrown wrote: The program is designed, but it's up to others to turn it into software. Could it beat Alphago across the board, and with much less hardware? I think it could.
Satorian
Dies with sente
Posts: 93
Joined: Sun Jan 22, 2012 7:11 am
Rank: Total beginner
GD Posts: 0
Universal go server handle: Satorian
Has thanked: 26 times
Been thanked: 13 times

Re: Commonsense Go

Post by Satorian »

Let's go really high level approach here and just boil this down to a winGame() function. Now it's everybody else's fault this hasn't been implemented yet.
User avatar
wineandgolover
Lives in sente
Posts: 866
Joined: Sun Jul 25, 2010 6:05 am
GD Posts: 0
Has thanked: 318 times
Been thanked: 345 times

Re: Commonsense Go

Post by wineandgolover »

Satorian wrote:Let's go really high level approach here and just boil this down to a winGame() function. Now it's everybody else's fault this hasn't been implemented yet.
I've been trying to write this function for years, but sadly have merely been perfecting blunder().
- Brady
Want to see videos of low-dan mistakes and what to learn from them? Brady's Blunders
Kirby
Honinbo
Posts: 9553
Joined: Wed Feb 24, 2010 6:04 pm
GD Posts: 0
KGS: Kirby
Tygem: 커비라고해
Has thanked: 1583 times
Been thanked: 1707 times

Re: Commonsense Go

Post by Kirby »

I work at a software company. My manager sometimes says, "What's not checked in doesn't exist."

It's not to say that research, in itself, is not useful. Indeed, many products we make are inspired by research. But sometimes it's difficult to appreciate the problems in a design if you don't try to implement it.

It's kind of like studying go and coming up with new theories... without ever playing games.

Start winning games, and people will start to consider your ideas more seriously ;-)
Click Here To Show Diagram Code
[go]$$c
$$ ---------------------------------------
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . X . . . . . . . . . . |
$$ | . . X , . . . . . , . . . . . X . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . O . . . . . , . . . . . , . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . X . . . . . . . . . . . . . O . . |
$$ | . . . . . . . . . . . . . . . B . . . |
$$ | . . . O . . . . . , . . X . X , O . . |
$$ | . . . . . O . . . . . . . X O O . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ | . . . . . . . . . . . . . . . . . . . |
$$ ---------------------------------------[/go]
be immersed
User avatar
djhbrown
Lives in gote
Posts: 392
Joined: Tue Sep 15, 2015 5:00 pm
Rank: NR
GD Posts: 0
Has thanked: 23 times
Been thanked: 43 times

Re: Commonsense Go

Post by djhbrown »

re: post number 21:
please explain which part you think is wrong
simply put, your axiom is a category error and your syllogism is ignoratio elenchi.

you are not the only one; there are others who can't tell the difference between chalk and cheese either. For example, see the comment dialogue here:
https://www.youtube.com/watch?v=UZa2ckl ... nbnttiwg04

History is full of such misunderstandings, and megalomaniacal psychopaths blinded by faith will even kill or excommunicate to sequester territory to protect their hyperactive egos.

You are looking at 4 different things but can only see two kinds of thing: old and new.

Let's call them S, G, M and C.

S has a long and draughty history. G was an imaginative attempt to step out of S's straightjacket, but suffered from myopia, so it never performed better than S.

About 20 years later, M came along, and took Amsterdam by storm, pounding S and G into the dust.

Casual observers began to see the world in two colours: M and not-M.

Then a variant of M - let's call her A - enters the scene in a flurry of publicity and trounces all before her, including poor old L.

Now all you can see is A and not-A.

Then along comes C. C is clearly not-A, so you naturally think it must be a member of the set {S,G}. But it isn't.


Now consider this:

1. Alphago is based on neural nets
2. http://www.webofstories.com/play/marvin.minsky/121

1+2 = 3: Alphago is a bottom-up approach to AI

4. GnuGo is a bottom-up approach to AI

3+4 = ?

5. Alphago uses convolution patterns to create candidate moves
6. GnuGo uses stone patterns to create candidate moves

5+6 = ?

7. Alphago's Monte-Carlo does treesearch (but it's not minimax)
8. Commonsense Go's metamethod does treesearch (but it's not minimax)

7+8 = ?


To begin to see more clearly, it can be helpful to study the basics:

http://ocw.mit.edu/courses/electrical-e ... t-systems/

and then read these:

Sacerdoti E. D., Planning in a Hierarchy of Abstraction Spaces. Artificial Intelligence, Vol . 5 , No. 2, pp 115 - 135, 1974.

Brown, DJH. Hierarchical Reasoning and the Game of Go. Proc Sixth International Joint Conference on Artificial Intelligence, Tokyo, 114-116, 1979.
https://books.google.com.au/books?id=VD ... &lpg=PA116
User avatar
wineandgolover
Lives in sente
Posts: 866
Joined: Sun Jul 25, 2010 6:05 am
GD Posts: 0
Has thanked: 318 times
Been thanked: 345 times

Re: Commonsense Go

Post by wineandgolover »

djhbrown wrote: History is full of such misunderstandings, and megalomaniacal psychopaths blinded by faith will even kill or excommunicate to sequester territory to protect their hyperactive egos.
/thread
Satorian
Dies with sente
Posts: 93
Joined: Sun Jan 22, 2012 7:11 am
Rank: Total beginner
GD Posts: 0
Universal go server handle: Satorian
Has thanked: 26 times
Been thanked: 13 times

Re: Commonsense Go

Post by Satorian »

wineandgolover wrote:
Satorian wrote:Let's go really high level approach here and just boil this down to a winGame() function. Now it's everybody else's fault this hasn't been implemented yet.
I've been trying to write this function for years, but sadly have merely been perfecting blunder().
That's at least a function of yours we have learned something from. :)
User avatar
djhbrown
Lives in gote
Posts: 392
Joined: Tue Sep 15, 2015 5:00 pm
Rank: NR
GD Posts: 0
Has thanked: 23 times
Been thanked: 43 times

Re: Commonsense Go

Post by djhbrown »

Playing Go is like going on a journey. You know where you are (here = the current position) and you know where you want to get (there = a won position). You don't know where there is, but you will recognise it when you see it. Your problem is to figure out how to get from here to there.

AI research identifies two basic problem-solving methods, or types of policy, called “generate-and-test” and “problem reduction” [3].

Generate-and-test is a reflex reaction. It matches here against a set of remembered <pattern, move> pairs and proposes the moves whose patterns match. For example, Alphago's policy network [1] generates move probabilities based on learned patterns represented by neural net convolution weights. A biologicial analogue of generate-and-test is bacterial chemotaxis, by which bacteria navigate chemical gradients towards attractive concentrations and away from repulsive ones.

Problem reduction is a commonsense way to go about solving a hard problem, by dividing it into two smaller and easier ones, as recommended by Polya's “How to Solve it” [15]. An everyday application of problem reduction is travel planning: “My goal is to get to there. i believe island is closer to there than here, so i will set myself two subgoals: first, get from here to island, and then get from island to there”. Examples of islands are conveyances such as cars, buses, and aeroplanes. It would be foolish to begin a long journey - even an imaginary one - by stepping out without some kind of overall plan.

Commonsense Go [2] uses a combination of problem reduction and generate-and-test. Problem reduction is used to create intermediate goal islands and to find move sequences that achieve the goal(s), assuming the opponent is trying to counter them. But since the responses of the opponent are not predictable, minimax and Monte-Carlo lookahead searches are used to test the overall utility of move candidates.
i shrink, therefore i swarm
User avatar
djhbrown
Lives in gote
Posts: 392
Joined: Tue Sep 15, 2015 5:00 pm
Rank: NR
GD Posts: 0
Has thanked: 23 times
Been thanked: 43 times

Re: Commonsense Go

Post by djhbrown »

Humans have been surpassed by machines in almost every endeavour - from swimming underwater to flying to bulldozing soil and bulldozing bytes.

The recent successes of Alphago playing under the modest pseudonym of Master(P) would seem to suggest that it's game over for even the best human players.

But does that mean Alphago is the best a Go player can ever be?

Most certainly not.

Presumably Master can comfortably beat the Alphago that beat Lee Sedol, and presumably some of the cracks in Alpha's design that Lee opened have been ironed out, but if Master is still using DCNN as her move generator and position evaluator, there is every possibility that a more reliable and accurate generator and evaluator can be engineered using a different computational technique.

Unquestionably, that technique will have to be whole board oriented; it cannot rely on local patterns. It will have to drive a smart searcher; one smarter than dice-tossing Monte, and that will require some fancy hardware parallelisation.

HALy aka HoLy aka Commonsense Go aka SWIM never grew beyond being a beam in the eye of the author (too old to care any more and too stupid to know what to do anyway), but one day, someone else might give birth to a son of SWIM who can knock Master off her bulldozer.
Post Reply