Also, an engine without an endgame tablebase can be pretty stupid. There are certain rules one can deduct when there are few pieces left, but a min/max engine will search forever, not knowing the patterns.
Also, an engine without an endgame tablebase can be pretty stupid. There are certain rules one can deduct when there are few pieces left, but a min/max engine will search forever, not knowing the patterns.
Just to observe, humans display exactly the same phenomenon of ignoring a move before it's made while still being able to realize, after it's made, that it was very strong and ignoring it was a mistake.
Which... suggests the computer displays intuition
OP's choice of words is inexact. The engine has a different intuition, not none. Humans will usually explore trades and overlook seemingly "slow" moves that the computer usually finds.
What the engine does lacks is what chess players call "theory," hence the need for endgame DBs. Humans can also beat engines with "logic," like the Naka match. That one was extraordinary. A simpler & more typical example is isolating a pawn so that it can't ever be defended, but also can't be attacked immediately. For a human, it's easy to understand this is long term vulnerability even if the pawn survives for 20+ more moves.
Anti-computer strategies, ironically, force you to "play the player, not the board."
Furthermore, heuristics are rules, while intuitions are not. Sometimes people use their intuition to go against what a heuristic suggests!
A machine which is just pruning a search space with a low-quality valuation strategy isn't doing anything very impressive; only very fast.
A human with a very high quality valuation technique, but a slow search pace, is relevantly impressive.
They categorize moves into things like blunder, mistake, inaccuracy, good, best.
But the top move is 'Brilliant' and the second best is 'Best Move.' Best move is the move the chess engine thinks is the best, and brilliant is the category for moves that weren't considered, but turn out to be the best. They're uncommon, but if you play enough, you'll hit them occasionally.
https://support.chess.com/article/364-how-does-the-game-repo...
Two plausible theories are
1) They run an evaluation of the position to a certain depth and come up with the Best move. Then, when evaluating your opponent's position if you didn't make the Best move, it turns out that it evaluates this position as even more in your favour than the Best move, it calls your previous move Brilliant.
2) They run an evaluation of the position up to a certain depth and note the Best move as the most advantageous one. They then search a bit deeper and if the move you actually took wasn't the best in the original eval but now is, they call it Brilliant.
There would of course be a few caveats to both ideas. In 1 do they go and rerun the evaluation after the Best move to compare? Are they running the whole analysis backwards anyway (this seems to cause problems with both systems)?
My suspicion would be number 2 given the way it's phrased in your link, but I've seen other descriptions that make it sound more like 1. My overall takeaway is that it's simply a bad idea to have the category to begin with as it just confuses matters for little gain, at at least they should provide a more technical description. I'd wager that close to 0% of Brilliant moves were intentionally calculated so there was no brilliancy as the term is usually used in chess.
On the contrary, by your own description:
> Something about the heuristics used to prune the vast search space can make it miss [these].
it does have a intuition. And in these cases, its intuition is wrong.
Rather we should start with what known intelligent systems (ie., animals) are actually doing, and then compare.
I think it's extremely unlikely the mechanism of intuition in relevant animals (esp. humans) has anything to do with heuristics for pruning a search space.
I think it's very likely that intuition in animals will have similar mechanisms to the things that produce the same results in computer reasoning, since the problems are the same and so optimisation processes (whether evolutionary or designed) will likely converge on the same solutions.
For example, consider a circuit. Suppose we attribute TRUE to 3v, and FALSE to 0v. Then two simultaneous input of 3v, 3v giving 3v (and so on: 33->3, 03->0, 30->0, 00->0) can be said to compute AND.
But the same physical system is at the same time "computing" OR. Here we attribute TRUE to the 0 signal.
Any "computer" is actually simultaneously running many, quite radically different, programs. We only attribute one program to it in how we rig devices (screens, keyboards, etc.) to interpret signals to mean something device-relative. If you "plug a speaker in a gfx socket" the output isn't visual. It means something completely different, and the GPU is computing audio now.
So "computational" algorithms in being merely purely formal specifications do not describe any unique physical system, and only apply to physical systems in an observer-relative way. Computation is explanatorily bankrupt; it is only a game people play in rigging physical systems to behave as they wish.
Animals however have the intrinsic property of intelligence: it isn't observer-relative. We are, quite literally, the observer imparting meaning to our environment. Our brain states resolve to unique thoughts, not to "many radically different ones simultaneously". Gold isn't both gold AND something else, and neither is thinking.
The category of explanation for these abilities which are intrinsic to animals cannot be, and is not, computational. It's scientific. Involving characterising the properties of materials, and their causal effects.
I'm sure if you spliced an animal's nerves to different places, that would make them "mean" something different. In fact we know that this kind of thing happens in nature, e.g. the star-nosed mole's visual cortex is connected to the parts of its nose that sense touch rather than to its eyes.
> Animals however have the intrinsic property of intelligence: it isn't observer-relative. We are, quite literally, the observer imparting meaning to our environment. Our brain states resolve to unique thoughts, not to "many radically different ones simultaneously". Gold isn't both gold AND something else, and neither is thinking.
How do you know? What would you expect to be different if it was? Often two people do observe the same piece of animal behaviour but disagree about whether it shows the animal was thinking/intelligent.
That's sort of right, yes. But if you put their nerves in the wrong devices, animals wouldn't be intelligent at all. And these nerves are themselves plastic, ie., they arent like a CPU with a limited set of physical operations; nerves are part of the body and grow.
So intelligence is really bodily. Intelligence is something that occurs because your brain-motor-body system is highly plastic (at the celluar and whole-body level) and is capable of adapting itself to its enviornment competently in ways that we call "intelligent".
It isnt any computation properties of the brain which do this (if we impart any, we cannot impart them uniquely anyway, ie., they cant explain much). Rather it's the plasticity of the body (including the brain) which provides "the right device" for intelligence.
> Often two people do observe the same piece
Well it is literally the case that I showed a CPU running a "program" to several alien races, none could tell me what program it was running. Each could provide an essentially infinite number of different answers, depending on how they interpret the electrical signal. A program is a purely formal thing that describes no physical system uniquely.
Whereas if I showed animals to these aliens, they could actually describe what processes constituted their intelligence.
And likewise, if i showed them Gold; they could tell it apart from Silver.
Insofar as a really-existing digital computer has anything akin to intelligence, its because of how its devices behave. Ie., if you showed aliens the LCD, then they could say "well the LCD output is particular, and is intereptable 'this way'.".
We are easily fooled by the devices we attach to CPUs into thinking that the CPU is "computing" the device output. It isnt. We have just created an illusion: the keyboard button says '1', '+', '2' and the LCD says '3' and we think the CPU has computed 3.
But, looking at the CPU itself, it has actually "computed" an infinite number of things. The '1' signal could be interpreted abitaribly.
My point here is that talking about "computation" is a deeply unhelpful way to understand anything. It's a profoundly non-explanatory category (it cannot explain any physical system; it is just a formal specific we follow).
Once we throw that away. We can see more clearly that what enables animal intelligence is the character of their "devices". The physical plasticity of their tissues (their growth and adaption), their motor skills, and so on.
It is possible to describe a tiny subset of intelligence ("reasoning") by a formal system; but that misses why animals can reason in the first place. You don't get the capacity for reasoning by just making electrons dance in an observer-relative way. That requires the observer to already have that capacity.
The capacity itself is a property of the physical system, "the animal".
> But, looking at the CPU itself, it has actually "computed" an infinite number of things. The '1' signal could be interpreted abitaribly.
That's not really true. We could very easily connect up the CPU to flash a light 3 times, or use a speech synthesizer to say "three". The reason we call these systems "computers" is that we built them to compute like (human) computers, that is, to evaluate mathematical expressions. Understanding computation is useful, even essential, in understanding the behaviour of these systems, just as understanding language and grammar is useful in understanding the pattern of sounds that a person might make under particular circumstances, even though the relationship between particular sounds and particular meanings is arbitrary or at least underdetermined.
To clarify, computers play chess by searching exhaustively large game trees. Humans, on the other hand, do not. "The problem is the same", but the solutions are not. So we have no reason to assume that "the problems are the same" means that "so are the solutions", for animals and machines, and we have evidence to the contrary.
That's less and less true with more recent chess engines.
> So we have no reason to assume that "the problems are the same" means that "so are the solutions", for animals and machines
The optimal solutions are the same. Human chessplaying has not had millions of years of evolution go into it.
Search is still the basis of AI chess playing. It's either alpha-beta minimax or Monte Carlo Tree Search (used by Stockfish and Leela Chess, respectively).
Game-tree search algorithms like minimax and MCTS need an evaluation function to select the move that leads to the best board position and some modern engines train neural networks to estimate these evaluation functions. For example Leela Cheess is based on AlphaZero (I think) that popularised this approach and Stockfish has recently adopted it. But chess engines still use a good old game-tree search algorithm.
>> The optimal solutions are the same.
We don't know that. We have programs that can beat humans at chess, but whether they play optimally, or what constitutes "optimal" play in chess, that's difficult to say.
Humans will definitely consider lists of possible moves and countermoves and what kind of boardstates will result, if you define that as "search" then it seems fair to say that humans search too. A human searches less deeply and gains more of their playing ability from being good at evaluating the resulting positions - but as you say, that's also the direction that computer chess engines are moving in.
Computers, as I said earler, play by searching "exhaustively". "Exhaustive" can mean different things and I apologies for introducing such vagueness, but let's say that computer players spend all their resources, during play, to search a game tree. Learning evaluation functions, or memorising good board positions during self-play is done at an earlier, training stage, but it is also a form of search. So both for training and playing it is not "less and less true" that "computers play chess by searching exhaustively large game trees".
I agree that it's a bit confusing because if you read press announcements by e.g. DeepMind after AlphaGo's win against Lee Sedol, you would indeed get the impression that the field is moving away from search, towards something magickal that can only be performed by deep neural networks and that obviates the need for a good, old-fashioned search. But this is just marketing, though of course very unfortuante such. In truth, search still reins supreme in game AI.
One point of confusion is what we call "search". There is one kind of search that is sometimes called "classical search" and that includes algorithms that search explicitly or implicitly defined search trees with nodes that represent search candidates. Minimax and MCTS are this kind of "classical search" as is e.g. Dijkstra's algorithm or binary search, etc. When I say that "search still reins supreme in game AI", I mean classical searh. In machine learning, under PAC-Learning assumptions, a "search" is anything that selects a generalisation of a set of examples, i.e. a hypothesis, from a set of candidate hypotheses (a "hypotheis search space", or sometimes just "hypothesis space"). So gradient optimisation-based methods, like neural networks, do also use search - they search for the model that minimises error on the training or testing set, etc.
For an early discussion of search in machine learning see Tom Mitchell's "Generalisation as search":
https://www.sciencedirect.com/science/article/pii/0004370282...
And for machine learning without search, stand by for my upcoming thesis :)
We don't know everything about how humans play chess, but as a chess player certainly at least some of the time a human player will consciously enumerate possible moves (or particular subsets of possible moves) and countermoves and think about the position after each one in turn. At least I do.
> Learning evaluation functions, or memorising good board positions during self-play is done at an earlier, training stage, but it is also a form of search.
If you define "search" this broadly then essentially any way of playing chess would constitute search?
Famously warned against years ago by Drew McDermot:
However, in AI, our programs to a great degree are problems rather than solutions. If a researcher tries to write an "understanding" program, it isn't because he has thought of a better way of implementing this well-understood task, but because he thinks he can come closer to writing the first implementation. If he calls the main loop of his program "UNDERSTAND", he is (until proven innocent) merely begging the question. He may mislead a lot of people, most prominently himself, and enrage a lot of others.
Artificial Intelligence meets Natural Stupidity, Drew McDermot, MIT AI Lab, Cambridge, Mass, 1981.
http://www.cs.yorku.ca/~jarek/courses/ai/F11/naturalstupidit...
A rock rolling down a hill isn't using the "geodesic heuristic" either.
We impart to physical systems we have designed our intentions in designing them: we interpret so-and-so field oscillation as a "heuristic". But this is an observer-relative designation.
By the same observer-relative gesture, the rock has its heuristics too.
Animals however actually have heuristics; ie., dynamical interior models of their environment which are analysed to prescribe action.
Animals in being present within environments and having genuine interior reasoning/imagination/intutition etc. existi in a different relationship to "the chess game".
They aren't like rocks just "following the geodesic" (they do that at the atomic level, sure). But relevant heuristics here are genuine interior processes which are dynamically attached to environments.
There's also the positive horizon effect: you do the right thing, but for the wrong reason fe because there's a refutation that you didn't see. However, the refutation is wrong, and a few forced moves later you do spot why.
It would be very rare for the computer in the first place not to have a strong move as one of its candidate entries. Obviously the evaluation can shift but the difference shouldn’t be apparent to a human player and it would be even more unlikely that a computer would reject a top move but a human would find it.
Humans will tend to explore exchanges, faster & more forceful lines. Engines treat these like any other line, without prejudice. I'm a pretty average player. My positional moves aren't generally reasoned beyond 2-3 moves ahead. I go here. You do something, then I go there. Where I do reason deeper, it's usually forceful lines where a lot of material is traded. I go here. We trade 3 pieces. I attack this. Opponent defends, then I move there.
In a slower position, I can't reason ahead as much because I have no idea what the opponent might do. He has too many options.
i'm not sure if i'm understanding 100% what you're saying but don't most engine heuristics try more potentially favorable first, such as moving a pawn? i think most modern engines have pretty aggressive move ordering
Chess engines tend to find good moves that seem really passive to humans. They don't create a threat or force an exchange. The purpose of the move may not be that complex, the payoff will become obvious 2-3 moves later. A human just wouldn't have thought to even explore it. There are no hints (like threats and exchanges) that it is worth exploring.
That's what I meant by prejudice.
Conversely, even in very option-rich positions... humans will explore the more active lines, and calculate material exchanges more deeply than other moves. If a normal player is calculating 7 moves deep in the mid game, that probably means a lot of material is being exchanged.
Remember that an equally matched engine is exploring for more moves than you are. The human is better at deciding which move to explore.
What is an example of a realistic endgame (not something with 9 white pawns, 5 black knights and such) that chess engines are easily beatable in?
the AI will still avoid losing, but it also won't be able to find the endgame strategy to win
https://www.reddit.com/r/magicTCG/comments/2vaoe4/lsv_on_the...
You don't need to watch WC game to witness that. Any position sharp enough will have swinging evaluations at the search horizon, and even amateurs can find a twist in their favor if they're lucky enough (to have their 8-moves ahead flash of genius actually work 20 moves ahead by complete chance).
In decent engines the heuristics used to prune the search tree range from exact (e.g. alpha-beta prunning) to conservatively innexact (low chance to actually miss something), and unless you find a systematic winning or drawing pattern (like the examples in OP's article), you can't beat the engine with your "intuition".
With three pieces there’s about 250000 positions, can’t a modern computer just check them all?
It gets harder fairly rapidly as you add pieces.
What you describe is a tablebase. https://en.wikipedia.org/wiki/Endgame_tablebase:
“By 2005, all chess positions with up to six pieces (including the two kings) had been solved. By August 2012, tablebases had solved chess for every position with up to seven pieces (the positions with a lone king versus a king and five pieces were omitted because they were considered to be "rather obvious")”
Which is why AlphaZero plays Go with similar performance to the best human players.
However, a few other engines have re-implemented ideas from AlphaGo. Leela Zero is one of them.
In my experience, between two strong players:
2 stones means "I can lose some even games against you but not often"
3 stones means "I won't lose a single even game unless I'm drunk"
4 stones means "You really didn't understand this game yet"