That’s what I was thinking at first, but it occurred to me it’s not an accurate comparison since computers don’t have minds per se. Their “minds” are an imitation our minds, the thought processes of the people who program them (as you note). So while they could add additional rules specifically to determine a draw in Penrose’s chess problem, without actually running through all the permutations, I think his point is that we can only impart the mechanics of our intuition, not the intuition or human insight itself.
How does this view of AI line up against the recent triumph of AlphaGo?
As I understood it, AlphaGo learned to play Go in a manner more analogous to how a human would: playing lots and lots (and lots and lots and lots) of games and gradually discovering rules about what worked and what didn’t. If there is an AlphaChess, would it - at least in theory - be capable of learning for itself that bishops on the black squares can’t touch pawns on the white squares?
Why has one of the squares got an “x” on it?
I’m not a Go expert, but I expect that it’s difficult to set short-term goals on Go (since there is a large board with new pieces constantly being added.) So you can’t use the computer chess method of brute force analysis.
However in chess a computer can reasonably analyse quite a few moves ahead and assess each of the many, many positions it reaches solely on the basis of who is ahead on material.
Therefore brute force works well.
Here’s a position I made up which I believe illustrates Penrose’s point in a simpler and more game-like way.
White: King h1 Queen d3 pawn g2
Black: King f8 pawns g3, f2
White to play is effectively +8 pawns ahead and Black has no threats (nor any way to improve his position.)
I put this position into a reasonable computer (well it was a free download!) Rybka 2.2.3a.
After 6 hours of analysis it had analysed 36 moves ahead (for each side) and was giving White the advantage of +0.53 pawns.
The position is drawn, which an experienced player would recognise in less than a minute.
Here’s why it’s drawn: The White king and pawn have no moves. The White Queen can capture on g3, but this allows Black to promote his pawn on f1. The resulting Queen and pawn ending is drawn as long as Black can get his king in front of the White pawn.
Here’s the two ways that Black could blunder: 1. If Black allows the g3 pawn to be captured with check (as the f pawn will go next)
2. If Black King gets stalemated on h8 (with White Queen on f7), then Black has to promote and immediately lose the f pawn.
I assume it’s because White should try to get his King there (see my post 3 in this thread.)
That’s a much more realistic position, glee.
Resolved: glee is better at chess than Roger Penrose :).
</div>Check mate in 4 moves I think.<br />
Initial positions indexed as F8 for black king, E8 for black queen.<br />
<br />
<div style=“margin:20px; margin-top:5px”>
<div class=“smallfont” style=“margin-bottom:2px”><b>SPOILER</b>: <input type=“button” value=“Show” style=“width:45px;font-size:10px;margin:0px;padding:0px;” onClick=“if (this.parentNode.parentNode.getElementsByTagName(‘div’)[1].getElementsByTagName(‘div’)[0].style.display != ‘’) { this.parentNode.parentNode.getElementsByTagName(‘div’)[1].getElementsByTagName(‘div’)[0].style.display = ‘’; this.innerText = ‘’; this.value = ‘Hide’; } else { this.parentNode.parentNode.getElementsByTagName(‘div’)[1].getElementsByTagName(‘div’)[0].style.display = ‘none’; this.innerText = ‘’; this.value = ‘Show’; }”>
</div>
<div class=“alt2” style=“margin: 0px; padding: 6px; border: 1px inset;”>
<div style=“display: none;”>
B8 -> B6 (Promoted to queen)
Next black move irrelevant. (Say, G8-G7)
D6 -> E7 (check)
E8 -> E7
C7 -> D8 (Promote to queen - check)
E7 -> D8
B6 -> D8 (checkm8)
</div>
</div>
</div><br />
<br />
Sorry i don’t know how to work the code
I came here to either post a thread about this or see if one has already been posted. I think Penrose’s point is as others here have said; that what a human can see intuitively would require and impossibly large search tree for a computer to discover.
Penrose seems to be assuming that contemporary chess programs work by simply doing an exhaustive search of the move tree. This of course is ridiculous. Even when I was in college in the 80s and took a course in what would now be rudimentary AI, the professor explained that a good chess program had to use some heuristics to trim the search tree at each level.
Surely the concept of avoiding bishops by staying on a different color is among those heuristics.
Also keep in mind that many many of those tree branches would end in an early draw because of a position being repeated 3 times.
I think you’re saying that the board is displayed rotated by 90 degrees, with white moving right to left? A couple of problems with that:
- the position is impossible
- the colours of the squares are the wrong way round for that to be the case (“white on the right”, remember)
- it would be rather unconventional to depict the promoted white pawn as still being a pawn
I agree completely. It would be madness to brute force search through every tree branch with this type of problem. Brute force is great, but do it in the smallest dimensional subspace possible, and branch out only when necessary. The heuristic you mention is for sure one of the first that should be considered in reducing the parameter space before a solution is sought.
The layout is not as you think. Check the image:
https://goo.gl/photos/cGvDP1hESHA5ZXSU8
I think it’s correct.
They likely left it as a pawn as it could be promoted to either a queen, rook, bishop or knight. I think it’s a legal move unless I missed something. I haven’t played chess in over a decade though…
That position has black pawns on c8 and g8, which is impossible, never mind the white pawn on b8.
That image does not match the square colouring of those in the OP’s article, either.
I think that a computer would first ask, “Who’s turn is it?”
I find it strange that the article chooses not to reveal this tidbit.
Ok. so I was wrong
I assumed the black were playing left to right. haha.
A good reminder for myself to check the initial conditions.
Too late to pretend I’m a computer :smack:
This ‘problem’ doesn’t make any sense to me at all. Black might have a lot of pieces on the board, but they are all gridlocked except for the three bishops, but most importantly, there is nowhere any of the bishops can move which will strengthen black’s position. Other than the three instantly losing pawn moves (either c7 or taking one of the rooks), White can only move his King, but again, none of his moves - however many deep - strengthen his position. Does Penrose only have access to really bad chess computers, that counts pieces but ignores potential moves?
More troubling is the following quote.
That just sounds like pure Chopra-esque technobabble.
I’ve actually studied how a chess computer works, and even programmed my own version.
I see what the guy is driving at.
The way a chess computer works is to list every possi8ble move from the current position, then consider every possible response to that, and every possible response to that, and so on. Even a few moves ahead the decision tree becomes enormous.
No computer is capable of looking 50 moves ahead. The computation would take longer than the expected life of the universe.
A human with a rudimentary knowledge of chess can see the solution in a few seconds. Just keep moving your King on white, and you’ll get a draw in 50 moves.
A computer cannot see that. It can’t declare that it can force a draw.
What a computer *can *do is look, say, 10 moves ahead and choose a move that won’t lead to a loss within 10 moves. Choosing the move will take many millions of calculations.
The basic point is that computers have no intuition. Many things that are obvious to a human are simply beyond the ability of machines to calculate. This is one example of such, and not a very good one.
So is the problem with chess computers that they only calculate to win?
What if before the chess computer attempts to calculate all possible moves, it first weighs the relative strength of the blacks and whites, scored on say the number of pieces and their maximum degrees of freedom, then when finding an imbalance such as in this game it switches to a survival strategy. Employing this by looking, say, 5 moves ahead and choosing the move that minimises the oppositions degrees of freedom whilst maximising its own. Then finding itself in the current situation with no interacting degrees of freedom available, declaring that it can force a draw?
Uh, no. They might look 10 moves ahead, and select the best terminal position from that. Often it it a matter of selecting the least worse option.
I did some cognitive science course at university and yes Penrose may well be an amazing physicist / astrophysicist but his opinions on AI are worthless. At best his argument comes to something like normal procedural computer languages can never create real AI. That might be true, but all the big advances in AI are coming in neural networks and other biologically based models.
A computer chess program that was trained using neural nets would “intuit” the draw in a way remarkably similar to the way a human does, eg it would not need to calculate 50 moves ahead.
Eg see here: