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 »

From Swim's Reviews thread:

djhbrown, so I/we can be clear what is going on here, could you please answer a few questions:
1) Are Swim, Commonsense Go, icGo etc the same thing?
2) Are you applying your Swim ideas by hand or with a computer? If the former how are you implementing functions like weak() in a way that means your human Go skills and biases do not come into play such that this becomes more of a "human Go player djhbrown reviews your game with the help of a territory/shadow map and some rules/heuristics", rather than "an algorithm that could be implemented in a computer to play Go reviews your game"?
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 »

All Uberdude's questions are answered in icGo documentation https://sites.google.com/site/djhbrown2/icgo
which is from time to time updated with new and/or corrected information, including the meat of Swim's Reviews

But since he was kind enough to repost his questions here, as asked, to protect the coherence of the other thread, i answer them here too:


1) Are Swim, Commonsense Go, icGo etc the same thing?

Commonsense Go -> Swim -> icGo

2) Are you applying your Swim ideas by hand or with a computer?

by hand. following the algorithms. the only software implementation that i know of is pnprog's Gomap


If the former how are you implementing functions like weak() in a way that means your human Go skills and biases do not come into play such that this becomes more of a "human Go player djhbrown reviews your game with the help of a territory/shadow map and some rules/heuristics", rather than "an algorithm that could be implemented in a computer to play Go reviews your game"?

weak is a qualitative value, not a function. you can think of it as just a string of letters (or a logical value). it is defined on p32 of running draft of icGo documentation https://sites.google.com/site/djhbrown2/cg.odt, unchanged from original paper on CG. There is a predicate weak(group) in the value function, but all it does is return True if group.status = weak.

there was a time when qualitative computation was a hot topic in AI, but the moneybags of first IBM and now Google have put paid to that for a while longer - until they finally find out that they're going the wrong way off a Parkinsonian cliff https://en.wikipedia.org/wiki/Parkinson%27s_law :) Except in Go and Jeopardy, that is, where they work just fine. I personally think they're going to come a cropper when it comes to medical diagnosis (let alone meaningful dialogue in natural language), but that's Another Story for another forum or two.

the game Swim is reviewing right now in Swim's Reviews is between a 3d and a 2d. i am 5k on Pandanet (see my avatar). does that answer your question?:)

the original paper on Commonsense Go reviewed a move in the Alphago - Lee Sedol match. i'm not quite as strong as Lee Sedol...

The purpose of Swim's reviews is twofold: for the requester, it will produce some insights that will hopefully be valuable to him/her; and for me, it will show me where i need to modify and/or augment what is already defined. there have been a few minor changes to the definition of the colouring procedures, but their basic principle is unchanged. there are some places in the methods which are not fully defined yet, and i anticipate that doing reviews where i do not know the "answer" beforehand will highlight to me what needs to change.

for me, producing colour and shadow maps is very tedious, but i'm starting to get the hang of it - mainly, by refraining from leaping ahead locally and being more systematic. i still haven't found a way to hand-draw pretty shadows, something that a computer would find a piece of cake. Just need a programmer...

i'm never going to try to code up icGo myself; i'm more interested to see if i can apply https://papers.ssrn.com/sol3/papers.cfm ... id=1340783 and https://ssrn.com/abstract=2205530 to icGo

Last edited by djhbrown on Fri May 12, 2017 4:30 am, edited 1 time in total.
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 »

"how are you implementing functions like weak() in a way that means your human Go skills and biases do not come into play..?"

i'm not :) my biases come into play at each and every step of Swim's algorithms, because i wrote them!

but i'm not Swim. she is much stronger than me, of that i am 100% sure. because, for a start, she doesn't miss atari like i did in a game today and lost a game i had been way ahead in for about 50 moves.

an honourable opponent would have resigned long before it happened, but most of my opponents are anything but honourable :)

but more significant than that, is that Swim is already teaching me some things i didn't know.

the first one turned up in some test examples pnprog had constructed to test Gomap. it relates to a standard keima kakari to hoshi joseki, where after a tobi response, the kakari is followed up by a slide under the hoshi, met with a kosumi block, and then the kakari-er jumps back along the side to make a base.

except, that wasn't the actual pattern tested, because pnprog had the stones on the 4th and 3rd lines instead of the third and second,

what turned up - to my surprise - was that the colour map spread right along and under the extension, all because of the slide underneath at the other end. without that slide, that doesnt happpen. im describing it rather than showing it because it's easier for me to type than draw but you can construct it for yourself and follow the colour map steps and see what happens.

then compare it with a 4th line 2-space extension without the slide (you know, the one Alfie loves). the difference is remarkable.

the other example is in Kirby's game, where Swim reckons black has not just influence, but a ton of potential territory right in the middle.

this is totally counterintuitive to me, as all the books i read and believed 40 years ago said "don't use thickness to make territory".

and i still believe those old books - because, even if white neutralises it in the middle, black will still get it instead on the other side of white's reducing moves.

So both Swim and the books are right, even though they say opposite things!

And the implication of this is that, in Kirby's game, for example, white got nowhere near as much as black from their exchanges at the top, which is why he's already lost the game, at move 33!

that last bit is my opinion, not Swim's. so although i mention it here, i won't mention it there, because Swim's review is only Swim's review, not my own.

and ... try this for size: the huge value of centre-facing walls may well be Alphago's opinion too! she plays lots of moves aimed at the centre that lots of people have remarked upon. maybe Swim can explain why Alphago is right, even though Alfie doesn't know what she's doing! :) Swim already did it for that move 37 that the MIT journo (aka Deep Mind PR agent) bangs on about in that article thinly pretending to be about AI and language, which reads like it came straight from the pen of Demis himself. Footballers have ghost writers, here it looks like it's the other way around :)
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

fightback

Post by djhbrown »

what a difference a word makes!

Code: Select all

let lead =  value (me) - value (you); 
if lead + chance > 0 then playsafe    
                     else fightback
of course, just changing one word makes no difference at all if the meaning is unchanged, which in Swim's case it isn't.

but it makes all the difference in the world to the way in which it's interpreted by a reader.

in "The Art of War", Sun Tsu advises that you should never start a battle you cannot win.

if Go players were to take Sun Tsu's advice, they would never start a game in the first place, because you can't guarantee to win every time.

As a child of the 60s, i shared the dreams of Martin Luther King and John Lennon, and still dream on, although the last 50 years have made me more cynical than ever that it could ever happen; there are just too many people making too much money out of persuading other people to fight wars.

Up to now, Swim has looked at close games in which playing safe was the (i insist) only sensible option. And two games (Alfie vs Lee and Andrew vs Nick) in which Swim's player was already miles ahead** and just needed to protect his investment. Only in JueYi's New Move did i consider how to go about invasion, drawing upon Haylee's thrashing of Nick in an earlier episode.

Attack is the best means of defence, so Swim's methods for playing safe involve doing things like making leaning attacks.

But in the Kirby game - the first of Swim's reviews - Swim is presented with a new challenge: how to fight back.

This is the least well-developed side of Swim, partly because my own prediliction for running away from conflict, rather than confronting it, had placed my focus upon honte strategy.

But honte's not going to work for Kirby.

all i know about attacking is what i vaguely remember from reading Kato's "Attack and Kill" and now wish i hadn't given all my Go books away in 1983.

i reckon that most of you enjoy nothing more than a full-on blood and guts scrap, so maybe you can help me out by providing a precis of your fighting strategy that i can translate into algorithms for Swim.

Any offers?

ps
djhbrown https://www.youtube.com/watch?v=RNOXgaMOhM4 wrote:I'd like to change the rules of Go to this: both players succeed in co-producing a beautiful drawing when neither kills the other and the territory is roughly equally shared; otherwise they both lose.
pps ** no he wasn't! - Alfie would have been behind if all Lee's groups lived, so the original CG paper already had the methods that Swim needs to help Kirby. I suppose gaga is when you try to solve a problem you solved a year ago...
Last edited by djhbrown on Sun May 14, 2017 5:13 am, edited 1 time in total.
i shrink, therefore i swarm
alphaville
Dies with sente
Posts: 101
Joined: Sat Apr 22, 2017 10:28 pm
GD Posts: 0
Has thanked: 24 times
Been thanked: 16 times

Re: fightback

Post by alphaville »

djhbrown wrote: i reckon that most of you enjoy nothing more than a full-on blood and guts scrap, so maybe you can help me out by providing a precis of your fighting strategy that i can translate into algorithms for Swim.
Any offers?
Are you sure this is the way to apply AI to go?
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 »

is that what you call an offer? are you casting aspersions upon the intelligence of L19-ers? just look at the wit of ewan and alphazed (your doppleganger, by any chance?)

seeing as you come from either the first town, which i think was Ur, or the best town, which is Hossegor, you tell us.

PS. Meanwhile, back at the ranch, while updating co.odt, i came across methods i had written a year ago to attack, because that's what Alfie had to do against Lee Sedol; i'd forgotten that if all Lee's groups lived, Alfie would be behind.

So i've already answered my own question, although there are still a few details to fill in. Thanks for your help.

The road to Hell is paved with good intentions - Niels Petersen
i shrink, therefore i swarm
alphaville
Dies with sente
Posts: 101
Joined: Sat Apr 22, 2017 10:28 pm
GD Posts: 0
Has thanked: 24 times
Been thanked: 16 times

Re: Commonsense Go

Post by alphaville »

djhbrown wrote:is that what you call an offer?
I am not interested in implementing any hand-tuned heuristic for go.
The reason I am interesting in this discussion is to see if your ideas of goal-oriented computer-go are any different than what has been tried over tens of years already. So far it seems to me like you are trying to re-invent the wheel, and just give it a different name (actually - more like three different names).
I am also open to the possibility that I may be missing something, so I am willing to stick around a little longer.
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 »

the "offer" solicited is not "to implement a hand-tuned heuristic" - it is a request for you to summarise. in your own words, what your Go fighting strategy is.

Fighting is my weakest point, so i am interested to see what the fighters among you have to say.

From your comment about wheel reinvention, it sounds like you haven't read any of my papers or any of the icGo documentation and are suffering from the A or ~A syndrome.

given your name, i suppose you can't be blamed for only being able to see two colours, like a Brexiteer, or the PR champions of NN vs The Rest, such as the CEO of IBM, who has an appallingly narrow-minded perspective on AI if she actually believes what she said at Davos.

But perhaps it is i who misunderstand you - perhaps you can explain in a little detail precisely which wheel it is that you think i am reinventing - and, more importantly, why you think that?

Certainly, i make no claim to absolute originality; on the contrary, i stand on the shoulders of giants such as Boole, Bartlett, De Groot, Simon, Minsky, McCarthy, Winograd, Sacerdoti, Reitman and Wilcox, and Hofstadter, in roughly chronological order. If you want to understand what it's all about, Alfie, my posts on computer-go.org and published papers and videos will give you some background.

For me, this thread is not about collecting Facebook "friends", or flogging a half-baked product, so i care not a whit whether you or anyone else sticks around or not - i post only to engage in dialogue to clarify and refine my theory. So far, the most valuable feedback i have received in two years is Kirby's request for Swim to analyse his game, which is prompting me to further develop the attack methods of CG.

Political and religious arguments are more often than not degenerate; i have no time for them. Scientific enquiry is what tickles my fancy. On the other hand, i would be interested to teach anyone who hates Maths how to like it, because i see a real need for ordinary people to be able to see through the bullshit and spin of their exploiters, which will require a revolution in education, which is what my video series "Antidote to School" is about. Needless to say, it isn't going to happen during my lifetime, and probably not during yours either. The concrete is too solidly cast, and all the indications are that it's going to get worse before it gets better, if ever. This is no time to be young and poor.
commoncore.jpeg
commoncore.jpeg (10.65 KiB) Viewed 13224 times
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 »

commonsense.jpg
commonsense.jpg (27.29 KiB) Viewed 13208 times
i shrink, therefore i swarm
alphaville
Dies with sente
Posts: 101
Joined: Sat Apr 22, 2017 10:28 pm
GD Posts: 0
Has thanked: 24 times
Been thanked: 16 times

Re: Commonsense Go

Post by alphaville »

djhbrown wrote:But perhaps it is i who misunderstand you - perhaps you can explain in a little detail precisely which wheel it is that you think i am reinventing - and, more importantly, why you think that?
What I think you try to do is to teach the computer to play go your way, basically coding your way to think about go in a program, more or less directly, using a lot of if/else statements.

What modern AI is about is to teach the computer how to learn by itself. In the AlphaGo case: it learns by itself from human games, then it gets even stronger by learning by itself during self-play.
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 »

alphaville wrote:What I think you try to do is to teach the computer to play go your way, basically coding your way to think about go in a program, more or less directly, using a lot of if/else statements.
wrong. read the paper.
alphaville wrote:What modern AI is about is to teach the computer how to learn by itself.
wrong; that is what Alfie is about, but there is more to AI than A.
alphaville wrote:In the AlphaGo case: it learns by itself from human games, then it gets even stronger by learning by itself during self-play.
right, up to a point; that point was a few months ago, when DeepMind created anti-Alpha and played Alpha against that to produce Master.

Alpha... Master... maybe the next edition will be called Hubris?
Last edited by djhbrown on Tue May 16, 2017 4:07 am, edited 1 time in total.
User avatar
oren
Oza
Posts: 2777
Joined: Sun Apr 18, 2010 5:54 pm
GD Posts: 0
KGS: oren
Tygem: oren740, orenl
IGS: oren
Wbaduk: oren
Location: Seattle, WA
Has thanked: 251 times
Been thanked: 549 times

Re: Commonsense Go

Post by oren »

Alphaville is correct.
User avatar
pnprog
Lives with ko
Posts: 286
Joined: Thu Oct 20, 2016 7:21 am
Rank: OGS 7 kyu
GD Posts: 0
Has thanked: 94 times
Been thanked: 153 times

Re: Commonsense Go

Post by pnprog »

This is quite the entertaining thread here :D
I am the author of GoReviewPartner, a small software aimed at assisting reviewing a game of Go. Give it a try!
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 »

new edition of draft icGo documentation available for download from https://sites.google.com/site/djhbrown2/icgo
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 »

having just come down from the mountain-top, where i was smacked over the head by tablets of stone setting in concrete that, unlike the scurrilously rentier capitalist profiteering AGA, AGF is a noble charity, with the same tax status as other religious organisations, the Just Cause of all the hate-mail i have received over the last couple of years is finally revealed to me. Therefore, not wishing to be hung any more from a gibbet for the blasphemous crime of laisse-majeste (i am sufficiently well-hung already), the taboo words "territory" and "influence" have been excised from Swim's vocabulary, as these are sacred terms which no atheist is permitted to utter, under pain of Hobdaying, Gelding, excommunication, extirpation, and exercise-bicycles. Alpha Akhbar! swt (peace be upon her prophet PorkyPie).

Henceforth, Swim will only speak in tongues of "colour" and "shadow", as reflected in the latest editions of icGo and cg.odt, an extract from which is:

a group which has an area of at least 4, excepting dead shapes such as box 4, bulky 5, rabbity 6 and wierd 7, is strong. (note the new spelling of weird, which better reflects its pronunciation, which is a Yankee spelling (like aleph, which used be aliffe until Google got its tentacles on it) that - unlike donut, which doesn't) better reflects its pronounciation. if Webster can do it, so can i).
and who cares, apart from Lisp, whether brackets balance?

one beneficent import of the redefinition of just about everything that Mattas is that Kirby is unchained from the burden of having to choose numbers for f, g, and h as they no longer exist, even if h still does, but i'm mot going to risk leaving that important decision up to just any old hack.
Post Reply