Can engines make a plan while playing?

Sort:
Avatar of friedmelon

(3. Can we go back to the main thing again? Please...)

(2. the link's first post)

Avatar of friedmelon
bb_gum234 wrote:
friedmelon wrote:

we both make plans

 no [QUESTION DELETED]

 

friedmelon wrote:

2. Please look at the first post again.

 ok

 

 

friedmelon wrote:

We know that engines analysis positions. And they just analysis one position at a time. So can they make a plan for playing?

 no

 

 

friedmelon wrote:

(I mean like an level 3 computer in chess.com)

 no I don't understand. What do you mean?

(How do you make this much quotes in one posts?)

Sorry. I have a bad case of stripes-sorry, I understand badly. Or did you mean something else?

 

My opinion: 

I refer to no.

I think that engines don't make real plans. I think they just make some moves that don't have a plan, they have a way to freak out-oops, I mean they only play the best way they calculate move by move.

 

(Sorry, I'm not talking seriously, but I'm still talking about the subject.)

Avatar of dimomarg

The way most chess engines currently work is they have a function that gives a score to a position and one that generates a list of legal moves from a position. So, given a position, the engine will apply the move generator function to the current position, and then again to the positions resulting from the list of legal moves. This will be done repeatedly. The resulting lines have their final positions evaluated by the evaluation function. Now, from the current position, the engine will evaluate the potential moves based on which move's worst case scenario is the best.
It is worth noting that stockfish is open source, so a programmer could simply look at the code and learn how it works. I am one, and I have. Here are two things worth noting:
Stockfish might stop looking into a line before it's finished if it deems the state it's currently looking at obviously bad, to reduce complexity and thus look deeper into the future in less time.
Stockfish has a set of endgame specific evaluation functions, which it selects from based on what pieces are left.
As for whether these machines make plans, that depends on whether you can call this procedure "making plans", but you could say that what the evaluation function considers good is actually a form of having strategy, even though that can't change while the program is running.

Avatar of Sqod
friedmelon wrote:

So why do you think this answer?

 

I've read many books on computer chess, later many web pages on chess engines, I used to have a subscription to a computer chess journal, I've written parts of chess programs myself, my main background is in computer science and artificial intelligence, I've developed the start of my own "plan language," and I know a lot about knowledge representation. Computer chess programs simply aren't written that way (yet). As others pointed out here, current programs go by move-by-move evaluation. One person recently pointed out that programs haven't even discovered on their own yet that the Sicilian Defense is a good defense because programs have absolutely no concept of strategy. (That person didn't give a reference, though, so I can't confirm this claim, though I have little doubt it's true.) Until a human explicitly supplies a heuristic to the computer, this generality about the Sicilian Defense is simply beyond their understanding. Even if a human *did* supply that heuristic, the computer *still* wouldn't understand it because all a computer is doing is blindly crunching numbers according to a human-supplied algorithm. Obviously programs couldn't come up with such heuristics on their own, at least as they are now typically written. I've never even heard of a current program having the most rudimentary strategy like having a list of common "killer moves" for a given opening (although someone did suggest this in the '80s). Furthermore, not even humans know how represent a plan well in any kind of efficient format (https://web.stanford.edu/group/nasslli/courses/boutilier/Lecture1.pdf), so humans couldn't put a flexible plan into a program even if they wanted to. Computers don't understand *anything* whatsoever; programming A.I. nowadays is just a lot of tricks to give the *illusion* of intelligence. Try to program a computer even to understand that the king needs to walk around a big pawn mass in the endgame, for example: no program can even understand this most basic "go around this clump" concept yet, which even a bird could understand, because computers need to see every single move that it might involve, which is typically beyond their search horizon. Planning is part of A.I. and the main breakthrough in A.I. has not been achieved yet, unless it has been kept secret, so anything related to progress in A.I. is state-of-the-art science.

I hope that answers your question. happy.png

If anybody wants to have program that understands something or that makes plans, I have my own ideas that I believe will work, and I'm extremely well qualified to do such work, but it will cost you some money. So far nobody has believed me enough to hire me for such work, though.

Avatar of friedmelon
bb_gum234 wrote:
friedmelon wrote:
bb_gum234 wrote:
friedmelon wrote:

we both make plans

 no [QUESTION DELETED]

 

friedmelon wrote:

2. Please look at the first post again.

 ok

 

 

friedmelon wrote:

We know that engines analysis positions. And they just analysis one position at a time. So can they make a plan for playing?

 no

 

 

friedmelon wrote:

(I mean like an level 3 computer in chess.com)

 no I don't understand. What do you mean?

(How do you make this much quotes in one posts?)

Sorry. I have a bad case of stripes-sorry, I understand badly. Or did you mean something else?

 

My opinion: 

I refer to no.

I think that engines don't make real plans. I think they just make some moves that don't have a plan, they have a way to freak out-oops, I mean they only play the best way they calculate move by move.

 

(Sorry, I'm not talking seriously, but I'm still talking about the subject.)

For reference see kurokug's topic about strategic positioning 

oops, I got mixed with you and sqod

Avatar of friedmelon
Sqod wrote:
friedmelon wrote:

So why do you think this answer?

 

I've read many books on computer chess, later many web pages on chess engines, I used to have a subscription to a computer chess journal, I've written parts of chess programs myself, my main background is in computer science and artificial intelligence, I've developed the start of my own "plan language," and I know a lot about knowledge representation. Computer chess programs simply aren't written that way (yet). As others pointed out here, current programs go by move-by-move evaluation. One person recently pointed out that programs haven't even discovered on their own yet that the Sicilian Defense is a good defense because programs have absolutely no concept of strategy. (That person didn't give a reference, though, so I can't confirm this claim, though I have little doubt it's true.) Until a human explicitly supplies a heuristic to the computer, this generality about the Sicilian Defense is simply beyond their understanding. Even if a human *did* supply that heuristic, the computer *still* wouldn't understand it because all a computer is doing is blindly crunching numbers according to a human-supplied algorithm. Obviously programs couldn't come up with such heuristics on their own, at least as they are now typically written. I've never even heard of a current program having the most rudimentary strategy like having a list of common "killer moves" for a given opening (although someone did suggest this in the '80s). Furthermore, not even humans know how represent a plan well in any kind of efficient format (https://web.stanford.edu/group/nasslli/courses/boutilier/Lecture1.pdf), so humans couldn't put a flexible plan into a program even if they wanted to. Computers don't understand *anything* whatsoever; programming A.I. nowadays is just a lot of tricks to give the *illusion* of intelligence. Try to program a computer even to understand that the king needs to walk around a big pawn mass in the endgame, for example: no program can even understand this most basic "go around this clump" concept yet, which even a bird could understand, because computers need to see every single move that it might involve, which is typically beyond their search horizon. Planning is part of A.I. and the main breakthrough in A.I. has not been achieved yet, unless it has been kept secret, so anything related to progress in A.I. is state-of-the-art science.

I hope that answers your question. 

If anybody wants to have program that understands something or that makes plans, I have my own ideas that I believe will work, and I'm extremely well qualified to do such work, but it will cost you some money. So far nobody has believed me enough to hire me for such work, though.

So the whole thing depends on the position. Is this correct or not?

Avatar of Sqod
friedmelon wrote:

So the whole thing depends on the position. Is this correct or not?

 

What thing? What are you talking about?

Current computer programs use only the current position for positional evaluation, and before they even get to that point they just read moves out of an opening book, so in neither case do they ever have any conception of generalities, whether such generalities are plans, approximate directions, approximate sizes, approximate shapes, similar positions, or anything else that is not concrete.

 

Avatar of friedmelon

?

Avatar of friedmelon

So why did you post it? I don't know what you're doing...

Avatar of friedmelon

ok