[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [computer-go] Pattern Matcher
> 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?
> 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.
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".
Because you will say: "The fact that my program plays well is proof enough".
The same I say about my pattern matcher.
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.
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".
> 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.
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.
> 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/