now that alpha rules the world,  the usual suspects throng of
plagiarising copyycat psychopath serial killers are already busy
cloning her, but there is a faint chance that there may also be some
subscribers to this list who would like to contribute/investigate
something to/in AI by way of programming something new to do with Go.

as Remi observed back in October, as far as sheer playing performance
is concerned, it is already "game over", and there's really very
little value in trying a few tweaks (like fiddling about with
different values of arbitrary constants such as the evaluation
formula's lambda) in the hope of gaining a slight advantage over what
is already good enough to beat the world's best human players.

but convolutional neural networks and monte-carlo simulators have not
advanced the science of artificial intelligence one whit further than
being engineered empirical validations of the 1940s-era theories of
McCullough & Pitts and Ulam respectively, albeit their conjunction
being a seminal validation insofar as duffing up human Go players is
concerned.

So the field is still wide open for novel ideas about AI technology
using Go as an experimental testbed.

Alpha can play brilliantly, but she can't say what she's thinking in a
way that would make sense to people learning Go, so she has little
utility as a Go teacher other than being able to say "you should play
A instead of B because these are the followup move sequences i
envisage would happen in each case".

But that doesn't help the student, who is left wondering "where the
hell do A and B come from anyway?" !

Which brings me to "A Hierarchy of Agents",
https://www.youtube.com/watch?v=1SJbEWuvlMM&list=PL4y5WtsvtduqNW0AKlSsOdea3Hl1X_v-S&index=28
which could help people learn to play better, because it uses a
conceptual hierarchy and goal-directed reasoning involving all the
things that Go books talk about: groups, eyes, walls, eyeshape, aji,
etc, to create candidate moves.  And so it can talk about what it's
thinking in plain English.

AHA could use AlphaGo as one of its agents; one to perform the vital
role of candidate move testing (ie treesearch) within
fovea-circumscribed subareas of the board, which by being smaller than
19x19 gives her a better chance of avoiding garden paths that lead her
up a gumtree to eventual defeat.

The horizon effect in Monte-Carlo is more a width horizon than a depth
one, and it caused Alpha to overlook the not so hard to find defence
to move 78 in game 4 that Kim found even before Lee played 78.

"not so hard to find", provided you know what you're looking for.

Alpha only knows what she's looking for in the sense that she can
calculate who wins at the end of her searches, whereas Kim (and all of
us watching, no matter how weak we are as players) knew that
preventing Lee from living inside Alpha's walls - his trying to was
about as cheeky (or desperate) as anyone can get in a Go game - was
absolutely vital.

AHA does know (would know, if it were implemented) that stopping Lee
from living inside her walls was necessary.  Because AHA operates
using hierarchical perceptions and goal-directed reasoning, in sharp
contrast to pattern-directed inference that was tried by the so-called
'expert system' generation of programs that were no more expert than a
worm crawling around the very bottom of the iceberg of
conceptualisation, which i labelled "kneejerk reaction inference" in
my YouTube vid.

A fovea (ie limited region) for focussed lookahead search would have
helped Alpha cope with move 78, and also help her avoid the gravestone
"two stone edge squeeze" tesuji in game 5 that Redmond said was common
knowledge to all pros.  By coincidence,  in my 1979 IJACI paper
"Hierarchical Reasoning in the game of Go", i used the 2-stone edge
squeeze to illustrate how goal-oriented pattern recognition and
generalised move sequences could be programmed into a computer.

Back in October 2015, i was unsure how the fovea could be
circumscribed, and in response to my request for ideas, no-one on this
list came up with a constructive suggestion, but i think i've since
figured it out, so here goes:

essentially, it's an algorithm that iteratively labels what i call
"controls and controlled points" - a stone controls its 4 liberties,
and a point is controlled by one side if at least 3 of its neighbours
are exclusively controlled by that side and it has no enemy controls.
The edge is friendly to both sides, so a point on the edge is
controlled if 2 of its neighbours are exclusively controlled and it
has no enemy controls.  Points occupied by enemy stones can become
controlled points too (if an enemy stone becomes a controlled point it
is likely to die).

Repeated passes of the algorithm continue until the cp status of every
point is stable from one pass to the next. At this stage, groups are
identified as cps connected by transitivity (ie groups include empty
points as well as occupied ones).

I tested my algorithm by simulating it on a virtual board in various
game positions, marking white controls with white dots and black ones
with black dots.  It works.

The boundary of a group is then the set of edges of connected cps.

The eyespace(s) of a group is/are the set(s) of contiguous empty
points bounded by the group boundary.

If a group has two eyespaces or a single eyespace large enough to form
two eyes, it is alive. If it doesn't, treesearch is necessary to
establish its life-or-death (lod) status.

This is where a second iterative algorithm comes in. It begins with a
narrow fovea (simply the area bounded by the group boundary) and
diverges by "widening the lens" by a single point-width and
treesearching again within the area of the fovea and carrying on
widening and testing by treesearch until either it can find two
unequivocal eyes, or the fovea edge bumps against the boundary of a
live enemy group, and it cannot be extended into that area. This is a
heuristic device, and as such is vulnerable to trick plays by
exhaustive tree searchers like Lee Sedol; for my algorithm would never
have had the temerity and impudence to try to live inside Alpha's
walls in game 4.

In game 5 of the alpha-Lee match, Redmond at one point mentioned a
"black shadow" extending into white's moyo. Redmond pointed out that
this black shadow only existed because the few black stones creating
it were unequivocally alive (in that case, because they already had
one eye and could make another).  And so we come to the influence map:
once lod status is determined, the only remaining question is: how far
does the shadow of a live group extend? Certainly not as far as a
light ray could go - but just how far? My intuitive guess is that a
wall could cast a shadow as far as the wall is high, but no more than
8 spaces, since an empty area of 8x4 on the edge or 8x6 in the middle
is big enough to live inside (my numbers may not be quite right).

On the edge, there's a proverb about jump 3 spaces from a 2-stone
wall, but it doesnt imply jump n+1 spaces from an n-stone wall.
There's another proverb about stay away from thickness, but again, how
far away?  Once again, my guess is far enough that you could, if you
had to, live in the gap between you and the wall and/or escape
sideways towards cps of your own, provided there aren't any enemy cps
in the way.

Now we can produce a meaningful influence map, we can identify
relationships between groups: two groups unite to form a cohort if
their shadows overlap and no enemy shadows get in the way.

Moyos can be circumscribed by Wilcox's "sector lines" (line-of-sight
lines across empty space from one friendly cohort to another).

Armed with these perceptual constructs, AHA can start to think about
what it should do, in terms of 4 layers of abstraction: stones&points,
groups, cohorts, and moyos, using goal-directed reasoning as described
in my video.

I hope you don't need me to point out that AHA wouldn't suffer from
the horizon effect, either depthwise or breadthwise, because its
searches continue until it is confident that its move candidate will
achieve, against any opposition [subject to its agent Alpha's ability
to so determine], the goal it has set itself for that search - a goal
such as protect a cutting point, or make eyeshape for a cohort, or
expand or reduce a moyo.

Finally, i turn my attention to where this message started, to the
utility of building AHA: its ability, not to beat Alpha at her own
game, but to be able to teach people learning Go by talking in plain
English about what it's thinking.

AHA forms a hierarchy of perceptions about a hierarchy of conceptual
structures manifest in a board position, and sets itself goals to
achieve along the lines so excellently described by Kim Myungwan in
his Harvard presentation
http://www.college-go.org/blog/kim-myungwans-principles-of-go

AHA's conceptual structures are relationships between its conceptual
entities (groups, cohorts, etc) and properties of them.  Relationships
are diadic, and properties are monadic, and i have demonstrated a long
time ago [ref] that the true grammar of English is no more complicated
than the grammar of monadic and diadic algebraic expressions, so there
is a perfect fit between AHA's conceptual structures and English
expressions to express them.  Diadic relationships can be expressed in
plain English using appropriate infix constructs such as "is far away
from" or "interferes with" or "crosses" and monadic concept properties
with simple postfix possessives such as "is" (eg "group X is weak").
And AHA's goals have direct English equivalents (such as "invade moyo
Y" or "make a base for group X").

ref: http://papers.ssrn.com/sol3/papers.cfm?abstract_id=2205530

QED (Quite Easily Done)


-- 
patient: "whenever i open my mouth, i get a shooting pain in my foot"
doctor: "fire!"
http://sites.google.com/site/djhbrown2/home
https://www.youtube.com/user/djhbrown
--
i ink, therefore i spam
_______________________________________________
Computer-go mailing list
Computer-go@computer-go.org
http://computer-go.org/mailman/listinfo/computer-go

Reply via email to