[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Pattern Matcher
At 15:32 7-11-2004 +0100, Frank de Groot wrote:
>> But please don't do as if i know nothing from patterns. I work fulltime on
>> patterns. Not so much in go, but in chess.
>
>That's not very clever.
>I let my system do the work *for* me.
>
>If you have 4 million chess games to your disposal, surewly there are
>"stupid moves" you can extract from them?
>Or you don't know how to do that?
My chessprogram just won the dutch open champs and a few months before that
became 3d in the world champs 2004. Prospects are that in future it will
become world champion.
How strong is your go program?
>> That is that those 500000 games you have, they are not played by 1
>> professional player on a board for his own at which he demonstrates to
>> beginners which patterns are good to accomplish, thereby playing complete
>> idiot moves for the opponent.
>
>That's your religious conviction.
>I have used half a million patterns WHERE AT LEAST ONE PLAYER IS A HIGH-DAN
>AMATEUR.
>Meaning, I have used many thousands of games where a 25k plays with a high
>handicap (or enormous komi) against a 4d, etc.
>
>Don't state "facts" about my software if you haven't got the slightest clue
>what you're talking about.
What i do know is that you know shit about patterns and lay heavy claims on
an automatic learning system where i already know, assuming you have some
algorithm that works, that you don't have the system time coming 100 years
to get it to work.
>I am not telling you "Vincent your manually entered chess patterns won't
>work because you lack all statistical basis from analysis of actual games to
>prove those pattern's value".
Especially knowing that my understanding of chess is similar to that of a
professional chessplayer and that when playing them i am their 'dogfood',
you will realize that the patterns in diep aren't 30 kyu level.
You seem to have no idea how hard it is to beat professional players with
imperfect knowledge.
The problem of automatic patterns is the poor *quality* of the patterns.
If the quality of the patterns is 30 kyu, you will never be able to beat a
professional dan player.
So far no one succeeded in making an automatic system just capable of that.
I hope you realize it's far easier to recognize persons faces, than it is
to recognize patterns.
The reason for that is that you have near perfect knowledge on faces. You
know *exactly* how Bin Laden looks like from photographs and let's for now
assume no disguises. Now try to recognize the face pattern from automatic
taken video pictures.
There are at all kind of levels many people involved in this work. You can
really earn billions of dollars there.
Way more than 1 cent a face :)
Recognizing go patterns from go games is far harder than face recognition,
because you have no clue what you are searching for.
Though such face recognition projects will be ultra classified and not give
out any information on how far or limited they are, there is no very good
automatic face pattern recognizers.
>Because you will say: "The fact that my program plays well is proof enough".
>The same I say about my pattern matcher.
Even though i lose at 361 against strong players, i win hands down from all
go programs.
Comparable to 1400 chess rating or so, despite all the claims in go.
So currently a lot of major nonsense can get claimed about go programs as
they play so weak.
However, when the level goes up of those programs, it will get increasingly
harder to get automatic playing systems do well.
Best examples is in chess.
Completely knowledgeless programs like cilkchess could kick butt because
the others just were loaded with bugs. Either in search or in testing.
Not a single of all those programs have a chance now to get in top 5 of world.
The top 5 of chessworld currently clearly is : Shredder, Diep, Junior,
Hydra and Fritz.
Sometimes new programs such as Nexus arrive. They do well because they are
very bugfree and very well tested *unlike most go programs*. After a few
years such programs are gone usual as they had nothing new to report.
Automatic pattern learners such as the entire Dan Thies project, they never
came further than say 1600 rated chess engines.
Now chrilly and i may disagree on exactly how strong todays chess engines
are, but for sure they are > 2500.
>You say it does not punish stupid moves, well I am well qualified to do just
>that, play stupid moves, and I can assure you that it immediately finds
>those 25k-4d games in which those stupid moves are played.
>Furthermore, I care much less about punishing stupid moves than about the
>ability to play like a pro.
This is like a tank commander who says he doesn't care about how good his
engine of his tank is, but basically cares about his armour and weaponry.
>Punishing stupid moves is trivial (using self-generated patterns etc.),
>playing like a pro isn't.
>
>It's like saying: "A space shuttle is a stupid, quite useless piece of junk
>because a bicycle needs no fuel and also is able to travel thousands of
>miles".
Wait a minute. Your patterns are automatic, so worse than hand coded
patterns for sure. In short you are the bicycle here who looks up against
the space shuttles and says that if you produce enough bicycles you can win
the race from NASA.
And yes every part in the space shuttle was designed by hand too.
>
>> There is 2 players who both very well known what is good for them and what
>> is bad for them.
>
>Thanks for this information.
>Surely, after 2 years of full-time work, this has never occured to me, LOL.
>Of course I *must* be totally naive about Go and pattern recognition :)
>Like I said, I included everything.
Just 2 years. OMG that explains everything.
An expert in computer games needs at least 10 years to just *learn* something.
>There is a difference between HARVESTING and TRAINING.
>During the HARVESTING I used every game I could lay my hands on.
>The biggest crap. Experimental games even. Patterns you would never see in
>reality.
>Garbage. Shodans against children in "get to know go", that kind of stuff.
>The TRAINING is done in a very special way.
>First is trained against all those same games.
>Then against strong amateurs.
>Then against pro's.
>Then against 9p pro's.
>
>All the time the system improves.
I remember how certain researchers after 4 years of work managed to create
an automatic system that could learn itself the rules of a chessgame.
Very good of them.
Very bad of them was that they extrapolated that on discovery channel to
that their training method soon would beat all hand coded software too.
I remember i ran many training software to tune a few patterns of me.
Some very good patterns were set negative instead of positive.
Then i of course deleted all that crap.
Your problem is the trainings quality.
Right now you might be able to beat a few go program by playing random moves.
How about in 10 years?
>
>> So a few things do not happen in their games:
>> a) the real bad patterns do not get on the board,
>> because a professional player always will manage to escape
>> from the real big idiocies, such as what happened to me when i
>> lost with 361 points difference against a strong go player.
>> And that very instructive game is *not* in your database.
>
>Nonsense.
>My database of games is totally different from my database of PATTERNS.
>But punishing very stupid moves becomes very noticable with my system even
>when the patterns is not found.
>
>Because a not-found pattern is extremely rare.
>In fact this is almost impossible, as the smallest pattern is small enough
>that all possible combinations can easily be stored in the pattern database.
>
>Which means that when it is not found, it is either an incredibly stupid
>move or it is a very obvious mistake of the opponent. This is a rare
>situation, and can be solved by another method (like search or
>auto-generated patterns + stored search result).
>
>All this are no arguments whatsoever against my system.
>They only are arguments that my system by itself does not play Go, but how
>often do I have to explain that the pattern system is a simple cog in a
>bigger machine?
>
>> a) the *size* of 1 pattern to automatically recognize. there is
>> 10^100 possibilities for patterns so there is many possibilities
>> for an automatic recognizer to consider size and shaping of a pattern.
>
>
>I solved that problem.
>Perhaps this is why I am not so humble as you want me to be.
>As humble as you is hard to be :)
>
>
>> b) probabilistic life&death evaluations from human estimation. A human
>> will simply consider the statistical chance that a certain group
>> survives, expands or limits the opponent.
>
>Patterns that have no high confidence value (high frequency + high score)
>will be suitably subjected to further scrutiny by a LD search. No rocket
>science. The whole idea is to use the pattern matcher to sort plausible
>moves, not to play Go, for the umpteenth time.
>
>
>> c) the speed at which an automatic pattern recognizer can search.
>> handcoded knowledge has a major speed advantage.
>
>Totally ridiculous statement.
>
>I say here: "I made an incredibly fast pattern searcher".
>You say: "Your pattern system is not good because it is slow".
>
>
>OK there is memory latency but it still is faster than hand-coded.
>My patterns often contain 40 stones each and are the size of half the board.
>I challenge you to match one as fast as with my matcher with a hand-doced
>system.
>rotational/mirror/color reversal invariantly. It takes me the time for a
>cache line load.
>
>Not to FIND it, but also to do all the pattern generation administration
>(delta-updating the hashes).
>So your statement is again a religious statement, based on a belief, a
>conviction but it has nothing to do with the facts.
>
>
>> d) no one wants to pay 1 cent for an automatic pattern.
>> The price for professional software is around $5-$20 for each effective
>> well code line of source code. That's for non GUI code :)
>
>That is a nonsensical, false, religious statement.
>
>Because you fail to mention which language is used.
>Some languages are massively productive per line than others.
>
>Also, some small software costs millions (like clearing software I worked on
>used by clearing members at the Amerdam EOE) and other huge software is sold
>cheap because they have a massive market.
>So it's total baloney what you claim.
>
>And irrelevant.
>What people are prepared to pay depends on the profit they expect of it, and
>nothing else.
>I was not saying I was offering it to the end user, I was sying I was
>offering it to people who have a history of investing hundreds of thousands
>of USD into their Go software already, with the aim of making millions.
>
>_______________________________________________
>computer-go mailing list
>computer-go@xxxxxxxxxxxxxxxxx
>http://www.computer-go.org/mailman/listinfo/computer-go/
>
>
_______________________________________________
computer-go mailing list
computer-go@xxxxxxxxxxxxxxxxx
http://www.computer-go.org/mailman/listinfo/computer-go/