New Search Method(s)

Discussion of chess software programming and technical issues.

Moderator: Ras

User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: New Search Method(s)

Post by Don »

Milos wrote:
Don wrote:I imagine the biggest factor would be that he could only go as fast as the slowest runner, so having to run with 15 other runners chained together would be a serious handicap, even if the chains and sleds were weightless and frictionless.
For humans is exactly opposite. When running in a group they all can even run faster than the fastest guy in the group alone if the group is balanced.
There are many factors that are benefiting when running in a group, from wind resistance, motivation, pace keeping, etc.
Just look at races at 10000m or bicycle races.
In foot races this is only a minor factor. In bicycle races it is a major factor. But it would be NO advantage to a runner if you were chained together with 15 other runners because you would be forced to go the speed of the slowest runner. It would help the slowest runner but it would hold back the fastest times. In many smaller marathons the winner comes in several minutes ahead of the second best guy and doesn't run in a pack for long - unless he can find one that works for him.

With bicycles you can work out with much stronger riders if they are willing to take the lead and let you draft. Often done with married couples when one rider is much stronger than the other.
Dann Corbit
Posts: 12792
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: New Search Method(s)

Post by Dann Corbit »

CThinker wrote:
Tord Romstad wrote:
:oops:

:lol:

Thanks for the explanation, guys. You can't expect a poor European to know what a 30'06 is. We don't own a lot of weapons, you know. :wink:
I think Switzerland (Europe) has a much higher rate of gun ownership than the U.S.
http://en.wikipedia.org/wiki/Gun_politi ... witzerland

We don't own a lot of 'weapons' in the U.S. We own hunting 'firearms' and sporting firearms.

There are kitchen knives, and then there are military knives. There are sniper rifles, and then there are Olympic shooting rifles (and oh, that European Biathlon).

The 30-06 is actually a good example of what is now a sporting-only round. It was the standard round for the U.S. military in WW2, but has since been replaced by the 7.62x51 which shoots the same bullet but is a shorter cartridge (it gets the same ballistics by using better powder). So these days, the 30-06 is used mostly for hunting and competition. And yeah, at Mach 2.5, it will outrun any deer.
I am curious if hunting is popular in Europe. I actually don't hunt much anymore, since I don't have time for it. I don't really enjoy killing the animals, but there were times when I needed the meat (e.g. when I was going to college and I had a family to feed on very little money). I do enjoy the companionship and comradery of hunting (and some of the other things that go along with it like story telling and camping).
bob
Posts: 20943
Joined: Mon Feb 27, 2006 7:30 pm
Location: Birmingham, AL

Re: New Search Method(s)

Post by bob »

jhaglund wrote:
That is all _very_ simplistic, and unfortunately no one has yet come even close to figuring out how a human does much of what you suggest. Much more important is "how do you narrow the list of moves you consider down to 2 or 3 at the most? That will take a lifetime to answer. And that is just one question out of many that we (as humans) can answer quickly, without knowing _how_ we answer it quickly. Until we do, implementation in a chess engine is impossible.
Very simplistic, yet you say no one has figured it out, right?
Simplistic statement: we should try to emulate humans. Easy to say, but if we don't know how humans do what they do, it is a bit difficult to emulate that.



All it comes down too, is many, many condition statements returning true or false. The trojan attack or stonewall, are just some examples you've used. The more conditions the better, for root.
Not sure what you mean "for root". Doing things at the root is very bad for today's programs. When we are evaluating positions 30+ plies away from the root, typically.
jhaglund
Posts: 173
Joined: Sun May 11, 2008 7:43 am

Re: New Search Method(s)

Post by jhaglund »

Not sure what you mean "for root". Doing things at the root is very bad for today's programs. When we are evaluating positions 30+ plies away from the root, typically.
For Human emulation, there would need to be many conditions. You play chess, if I remember right. Write down, what you think, and how you arrive at a move. Understanding how we pick a move is simple. The human mind can calculate about 20 trillion operations per second, in comparison to "new & improved" version of Deeper Blue, Blue Ice, that does 2 trillion / sec, 4000x faster. Humans are at 10x that. Whether the source (chess.com) has their facts right, I'm not sure.

Another reason I mentioned a move interpreter vs move generator:
http://talkchess.com/forum/viewtopic.ph ... 11&t=35595

Making a choice like a human requires those conditions at the root. Too us, it's not just a material score why we choose a correct move.

There needs to be less people on the bandwagon, and more people researching new techniques. I think a collaborated effort in developing a universal scheme to search a move like a human can be done,... so we cover all the bases of chess players, and their thoughts.

How many types of positions are there?

Drawn,
Mate,
Check, (block, move away, capture)
Developing,
Attacking,
Defending,
Exchanging,
Sacrifice,
Blunder,
Fork, Pin, Skewer,
Tempo,
Combinations.

Did I miss any?
If he does not first succeed, try, try, again.
User avatar
Houdini
Posts: 1471
Joined: Tue Mar 16, 2010 12:00 am

Re: New Search Method(s)

Post by Houdini »

jhaglund wrote:Understanding how we pick a move is simple.
I don't agree, even strong players often cannot adequately explain their move choices.
A lot has to do with pattern recognition - arguably one of the stronger capabilities of the human brain - sharpened by years of study and practice. The pattern recognition doesn't translate very easily to computers.

Robert
User avatar
OliverUwira
Posts: 170
Joined: Mon Sep 13, 2010 9:57 am
Location: Frankfurt am Main

Re: New Search Method(s)

Post by OliverUwira »

jhaglund wrote:For Human emulation, there would need to be many conditions. You play chess, if I remember right. Write down, what you think, and how you arrive at a move. Understanding how we pick a move is simple.
Actually, it isn't simple at all. I play chess, and I could not write down the exact process of how I arrive at a move.

The candidate moves for example just pop up. It's some kind of pattern recognition and I suspect that it is influenced by being aware of certain positional characterics. The flow of the game also has influence.

The tactical motifs you mention do also have some kind of influence, in a way that it is alerting to see pieces placed such that they'd be vulnerable to a tactical motif. This makes me search for tactical lines. (See EDIT below)

But all this is very crude and I don't have the faintest idea about how it could be formalised to an extent that could be of use for a chess engine.


EDIT: From the above paragraph you can also deduce that it is of little use to pidgeon-hole the root moves. What counts is the piece configuration, and then the task is to find a forcing line that makes use of it. But a regular search succeeds here without the need of doing the root analysis at all. A free side product, actually.
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: New Search Method(s)

Post by Don »

jhaglund wrote:
Not sure what you mean "for root". Doing things at the root is very bad for today's programs. When we are evaluating positions 30+ plies away from the root, typically.
For Human emulation, there would need to be many conditions. You play chess, if I remember right. Write down, what you think, and how you arrive at a move. Understanding how we pick a move is simple. The human mind can calculate about 20 trillion operations per second, in comparison to "new & improved" version of Deeper Blue, Blue Ice, that does 2 trillion / sec, 4000x faster. Humans are at 10x that. Whether the source (chess.com) has their facts right, I'm not sure.

Another reason I mentioned a move interpreter vs move generator:
http://talkchess.com/forum/viewtopic.ph ... 11&t=35595

Making a choice like a human requires those conditions at the root. Too us, it's not just a material score why we choose a correct move.

There needs to be less people on the bandwagon, and more people researching new techniques. I think a collaborated effort in developing a universal scheme to search a move like a human can be done,... so we cover all the bases of chess players, and their thoughts.
For several decades someone like you comes along and cries out that we need to do it differently and nothing comes of it.

There are two issue. First of all there is already a highly successful scheme being uses which yields programs stronger than humans. This is like trying to improve the automobile because it has 4 wheels and humans do it with 2 legs - there is no real motivation to attempt this.

The other issue is that you have not even established that what we do (whatever that is) is actually better from a computers standpoint for the specific case of playing chess. You will have a very difficult time convincing people to put a lot of effort into something that for decades has yielded inferior results.

How many types of positions are there?

Drawn,
Mate,
Check, (block, move away, capture)
Developing,
Attacking,
Defending,
Exchanging,
Sacrifice,
Blunder,
Fork, Pin, Skewer,
Tempo,
Combinations.

Did I miss any?
If he does not first succeed, try, try, again.
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: New Search Method(s)

Post by Michael Sherwin »

jhaglund wrote:
Not sure what you mean "for root". Doing things at the root is very bad for today's programs. When we are evaluating positions 30+ plies away from the root, typically.
For Human emulation, there would need to be many conditions. You play chess, if I remember right. Write down, what you think, and how you arrive at a move. Understanding how we pick a move is simple. The human mind can calculate about 20 trillion operations per second, in comparison to "new & improved" version of Deeper Blue, Blue Ice, that does 2 trillion / sec, 4000x faster. Humans are at 10x that. Whether the source (chess.com) has their facts right, I'm not sure.

Another reason I mentioned a move interpreter vs move generator:
http://talkchess.com/forum/viewtopic.ph ... 11&t=35595

Making a choice like a human requires those conditions at the root. Too us, it's not just a material score why we choose a correct move.

There needs to be less people on the bandwagon, and more people researching new techniques. I think a collaborated effort in developing a universal scheme to search a move like a human can be done,... so we cover all the bases of chess players, and their thoughts.

How many types of positions are there?

Drawn,
Mate,
Check, (block, move away, capture)
Developing,
Attacking,
Defending,
Exchanging,
Sacrifice,
Blunder,
Fork, Pin, Skewer,
Tempo,
Combinations.

Did I miss any?
If he does not first succeed, try, try, again.
A challenge then. In the following position using your methodology how should black proceed to make the most of his chances? There are so many ways for black to proceed that require the breaking of so many 'rules of thumb' along the way by both sides that it would be interesting to see how your methodology would be able to arrive at a best solution. There are also simple continuations like 2 ... e5 that just invite white to establish a Ruy Lopez, but that would hardly be an attempt to maximize blacks chances. No fair using an opening book or a master game or an alpha/beta searcher. Just explain it with your computer programming ideas. Are you up to the challenge?

[d]r1bqkbnr/pppppppp/2n5/1B6/4P3/8/PPPP1PPP/RNBQK1NR b KQkq - 2 2

:?:
If you are on a sidewalk and the covid goes beep beep
Just step aside or you might have a bit of heat
Covid covid runs through the town all day
Can the people ever change their ways
Sherwin the covid's after you
Sherwin if it catches you you're through
User avatar
Don
Posts: 5106
Joined: Tue Apr 29, 2008 4:27 pm

Re: New Search Method(s)

Post by Don »

Joshua,

Try writing a "paper program", a set of instructions for calculating a move from any position that a human can interpret without a computer.

You will gain some insights into what is involved. Almost immediately you will discover that the primary bottleneck is tactics.

Tactics are the heart and soul of chess and the top players calculate very deeply and precisely. All this nonsense about only looking at one move, the best move, is just that - nonsense.

What makes humans different is probably the pattern recognition stuff. Strong human players find almost any chess position "familiar" even though they may have never seen that exact position. So they have a very good idea almost instantly of what to do. They take that and add a lot of calculation. The idea that alpha/beta has had it's day is totally misplaced, humans use this to a huge degree. We are just not consciously aware of it. As soon as you see that a move is reasonable, you immediately discard other moves you might play when you see that they "lose a piece" - that is alpha/beta pruning. Once you know it loses a piece you don't look to see how your opponent can checkmate you. However if you are going to the lose a piece anyway, then these same moves would be considered because now you are interested in minimizing your losses. Anyone who says alpha/beta is not what humans do or that it's only a small part of what we do is just not thinking straight.

So if you are really intent on emulating human play, listing a bunch of chess specific concepts is not very helpful. What you have to get focused on is how to recognize patterns and associate them with actual move sequences - and turn that into some kind of selective search. I can't even begin to tell you how difficult that is going to be - especially if you want to beat the branching factor of modern programs.

What you are up against is uncertainty. In order to "prune" moves the way you think they need to be pruned you have to be able to be able to sure with incredible confidence that they are wrong. If "incredible confidence" is not 100% you already have a program that is not scalable. An analogy is wind drag in a vehicle, it is small at slow speeds but to go faster and faster requires exponentially more and more energy. At some point you need 200 more HP to gain 10 MPH. In computer chess uncertainty is drag - you will get to a certain level with decisions that are "usually" ok, but after that each ELO point is going to be painful to achieve, then impossible.

I think people associate recursion with "brute force" and "brute force" with "inelegant", but that is based on a lot of misconceptions and unrealities and probably a strong does of chauvinism - we are just so impressed with how WE do things that any other way is not elegant. I hate to tell you this but humans use recursion too. We do all the things computers do (and more) but we just don't do it quite as structured and cleanly as computers do it.

jhaglund wrote:
Not sure what you mean "for root". Doing things at the root is very bad for today's programs. When we are evaluating positions 30+ plies away from the root, typically.
For Human emulation, there would need to be many conditions. You play chess, if I remember right. Write down, what you think, and how you arrive at a move. Understanding how we pick a move is simple. The human mind can calculate about 20 trillion operations per second, in comparison to "new & improved" version of Deeper Blue, Blue Ice, that does 2 trillion / sec, 4000x faster. Humans are at 10x that. Whether the source (chess.com) has their facts right, I'm not sure.

Another reason I mentioned a move interpreter vs move generator:
http://talkchess.com/forum/viewtopic.ph ... 11&t=35595

Making a choice like a human requires those conditions at the root. Too us, it's not just a material score why we choose a correct move.

There needs to be less people on the bandwagon, and more people researching new techniques. I think a collaborated effort in developing a universal scheme to search a move like a human can be done,... so we cover all the bases of chess players, and their thoughts.

How many types of positions are there?

Drawn,
Mate,
Check, (block, move away, capture)
Developing,
Attacking,
Defending,
Exchanging,
Sacrifice,
Blunder,
Fork, Pin, Skewer,
Tempo,
Combinations.

Did I miss any?
If he does not first succeed, try, try, again.
Aleks Peshkov
Posts: 922
Joined: Sun Nov 19, 2006 9:16 pm
Location: Russia
Full name: Aleks Peshkov

Re: New Search Method(s)

Post by Aleks Peshkov »

I have read about very selective tactical program in mid 1980's that could find deep combinations using very narrow search tree. The problem that it does not return any move when there are no tactical solution in the given test position, so it could not play full chess.