thumbs up for alfie0

For discussing go computing, software announcements, etc.
Post Reply
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

thumbs up for alfie0

Post by djhbrown »

in game 1 of alfie0 vs Master, white's probes and sabaki technique on the left side are a joy to watch. https://www.youtube.com/watch?v=-Wh4CfsWDyM

in general, alfie0 seems to be sensible, honte, subtle and beautiful compared to the somewhat brutish-looking tactics of Master that produced such ugly psychotic Guernicas as its self-play game 10.

it feels a bit like admiring the art of Monet or Debussy- i can't produce it myself but i know what i like!

The key to alfie0's soundness may be her replacing rollouts by policy-guided search in both learning and play, something made computationally practicable by TPUs, without which it would just have taken too long. I guess we shouldn't be surprised that she has discovered some new joseki, especially as whether a joseki is truly jo-seki (ie an even outcome) depends entirely on what else there is on the board... context is everything, as the Bishop said to the actress. :ugeek:

i look forward to seeing what Michael Redmond has to say about her.

Swim and alfie0 have one thing in common: neither is based upon human preconceptions or prejudices; Swim's perceptions, goals and methods are (intendedly) objective axioms of Go structure (independent of their author's subjectivity), in the same way that the Laws of Physics are (intendedly) objective models of the dynamics of nature, regardless of who came up with them. Hopefully, by studying alfie0's behaviour, new or refined Swim axioms can be discovered.

If anyone is curious to see what Swim makes of a particular game position in the alfie0-Master series, please let me know which one.
i shrink, therefore i swarm
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: thumbs up for alfie0

Post by daal »

djhbrown wrote: Swim and alfie0 have one thing in common: neither is based upon human preconceptions or prejudices; Swim's perceptions, goals and methods are (intendedly) objective axioms of Go structure (independent of their author's subjectivity), in the same way that the Laws of Physics are (intendedly) objective models of the dynamics of nature, regardless of who came up with them. Hopefully, by studying alfie0's behaviour, new or refined Swim axioms can be discovered.
As much as I like the idea of basing a go program on objective axioms (then people could learn to follow these axioms as well), it seems that this is a rather sensitive weak point of Swim. Aside from "play so as to get more points in the end than your opponent, " I can't be sure if any directive will always be true. Maybe Alphie knows some, but she's not talking.
Patience, grasshopper.
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: thumbs up for alfie0

Post by pookpooi »

I'm also a fan of learning from nothing. But I come across an interesting article today

"Marcus is generally critical of what he sees as a general bias in the AI field toward tabula rasa programming. He argues that "in biology, actual human brains are not tabula rasa ... I don't see the principal theoretical reason why you should do that, why you should abandon lots of knowledge that we have about the world.""

From http://www.npr.org/sections/thetwo-way/ ... -knowledge

It makes me think that there might be a twist in the future, that perhaps AlphaGo bootstrap from game records played between much higher intelligent beings than human might give a better result than AlphaGo Zero.
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: thumbs up for alfie0

Post by pnprog »

Hi!

Just reading this point:
djhbrown wrote:Swim and alfie0 have one thing in common: neither is based upon human preconceptions or prejudices; Swim's perceptions, goals and methods are (intendedly) objective axioms of Go structure (independent of their author's subjectivity), in the same way that the Laws of Physics are (intendedly) objective models of the dynamics of nature, regardless of who came up with them.
Now, let me cherry pick a "few" quotes and pseudo codes from your paper on Common Sens Go that describe how SWIM is supposed to function.

Are you sure none of them are "based upon human preconceptions or prejudices"? Are those merely "axioms"? I am pretty sure AlphaGo Zero did not need any of those to be pre included into its code...
djhbrown wrote: How far should one slide? Not too near, and not too far. Two proverbs and one observation pertain:
- stay away from thickness.
- on the 3 rd line, jump 3 spaces from a 2-stone wall.
- a monkey jump along the edge is connected.
Taken together with the colour and shadow maps, these yield a general method:

Code: Select all

to slide (object into area)
   do if slide line < 4
        then jump (boundary (object) + 2)
        else jump (boundary (object)+1)
djhbrown wrote:A group with two eyes, or a single eye large enough to be able to form two eyes, is alive.
djhbrown wrote: A group whose combined colour map and shadow map embraces two eyespaces, or a single eyespace large enough to be able to
form two eyes, is strong. [...]
A group that is neither alive nor strong is weak. [...]
djhbrown wrote: An overall honte strategy is:
When in doubt, play safe. Attack is the best means of defence, but a desperate attack is a high-risk strategy which should only be attempted when well behind.
djhbrown wrote: On average, in an even game, it is reasonable to expect that the neutral space will turn into equal amounts of stones and territory, with each side expected to get half of it.
djhbrown wrote: The attach and shoulder methods specify that the move should be made from the region side of the stone, expecting the opponent to reply from the other side.
djhbrown wrote: The counter-goal to surround is save, rather than merely escape, because running with a weak group is generally disadvantageous.
djhbrown wrote: how wide does a space have to be to qualify as wide open? one clue comes from the size of the smallest group that can live in the centre, which, taking into account the fact that every other move is played by the opponent, is at least 7 by 5. if the cluster trying to escape already has one eye, this reduces to about 4 by 5. If the space includes the edge of the board, the numbers reduce to 7 by 3 and 4 by 3
djhbrown wrote: Killing a group is a 3-step process:

Code: Select all

to kill (x) 
     do surround (x);
     reduce (eyespace (x)); 
     steal eyes (x)

Code: Select all

to playsafe 
    do foreach mygroup
         if mygroup is weak  and mygroup is important 
         then save (mygroup)) 
    or foreach yourgroup 
          if weak (yourgroup) 
          then attack (yourgroup) 
     or foreach mymoyo 
          expand (mymoyo) 
    or foreach yourmoyo 
         if wideopen (yourmoyo) 
         then invade (yourmoyo)
         else limit (yourmoyo)
   or foreach myerritory 
        increase (myterritory) 
  or foreach yourterritory 
       reduce (yourterritory) 

to attack (you)  
     do  if  (surrounded (you) and adjacent (you, me) and liberties (me) ≥ liberties (you))
           then semeai (me, you)
     or  for friend (you) 
                separate (you, friend)
     or  blockescape (you) 
     or  reduce eyespace (you) 


to separate (you, friend) 
     let p = path (you, friend) 
          do  if (cuttingstones in p) 
                      (save (cuttingstones)) 
          or   if border (friend, p) has gap
                      leaningattack (friend from p) 


to leaningattack (you from region)
     do for  block in you 
          where
                (adjacent (block, border (region)) and size (block = 1))
                (attach (region, block) or shoulderhit (region, block))
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: thumbs up for alfie0

Post by djhbrown »

Daal wrote:I can't be sure if any directive will always be true
pnprog wrote:Are those merely "axioms"?
The challenge is to identify universally applicable methods - both Swim and Alfie try to do this; in Swim's case encouching them in logic, in Alfie's by a general pattern-association (ie image label) learning mechanism. In Swim's case, the logic is context-sensitive - that is, its "directives" (what i call "methods") are each only applicable under certain conditions.

pnprog lists a few of them; glancing through his list, i don't see any that could be said to be subjective or not universally applicable. Take the kill(x) 3-step method for example; can you conceive of a situation for which it is not applicable? Note that whereas kill(x) doesn't have a precondition of its own, it is only invoked in certain situations (ie, when x is seen to be both weak and important (because it is big and/or doing something important such as being in the way of the connection path of one of your own weak groups that needs help from a neighbour)).

I'm sure there is room for improvement in the method definitions - for example, the Commonsense Go paper doesn't say anything about moyo invasions, which i've written about elsewhere since.
pookpooi wrote:
Marcus wrote:actual human brains are not tabula rasa
Marus is wrong, trivially wrong, in such a sweeping overstatement: yes, human brains are born with lots of abilities - most particularly, the ability to learn; but domain knowledge is not inherited. For example, Einstein's children knew nothing more about physics than anyone else when they were born. That is why, for example, all young children are fascinated by the, to them, surprising effect of gravity, as illustrated in one of my movies on the prehistory and history of theories of cause and effect:
i shrink, therefore i swarm
Post Reply