Author: Heiner Marxen
Date: 06:13:51 07/14/01
Go up one level in this thread
On July 13, 2001 at 17:52:29, Joshua Lee wrote:
>I was wondering about any developments in the higher level programming
>languages.
>I think if plain english was used certain things in chess that are easy to
>verbalize in chess could easily turn those computers from "Bean Counters" to
>"Positionally Clean" Counters.
Well, if you think that plain English should be used... why don't you go on
and start to write it down, at least some part of it for demonstration?
You should quite soon detect some major problems with it.
I expect it will not work. :-(
> People say computers are tactically as strong if
>not better than gm's in tactics i say sometimes as it takes the best software on
>the fastest available computers well over a 3 minute time control to solve quite
>a few tactical problems. So sometimes yes and sometimes no however this leaves
>defense and positional play which if anyone out there thinks the computer is GM
>level positionally i would refer them to Dortmund games from last year or the
>Nederlands ch that same year or even the lone win of Van der Weil over Rebel....
> So then what do the GM's Know that the computers donot? Well without taking
>up several pages i will guess that computerchess programming has been around
>long enough for someone to have tried to "Teach" the computer salient points
>about the game. I just think that with a higher level language this should be
>easier to program yet some work should still be done with Geometry and Storing
>positions i know there will be a Jerk out there that will say we already have
>that haven't you heard of Hash tables?
>
>for the more intellectually inclinded : We can make these better by reasearching
>what the computer should know explaining the position to the program and
>developing the storage to use less space this way it may be possible to fit in
>128MB what would now take 1GB
Using "higher level languages" has been tried. There has been research about
this for over 20 years. Researchers have tried to do "specifications"
in order to verify the correctness of programs. They have also tried to do
"specifications" in such a way, that they could be compiled, in order to
completely get rid of the separate "program".
Basically, these efforts have not been successful.
What property must a "higher level" language have?
(1) It shall be nearer to (match better) the problem domain.
I.e. we want less effort to do complicated coding of the basics of the
problem to solve (say playing chess), in order to concentrate on the
less trivial things we want to say. And these less trivial ideas
should be expressible quite easily, too.
(2) It shall be nearer to (match better) the strong points of _human_
intelligence. And it shall not force the human to do things he is
weak in. E.g. humans cannot handle thousands of unstructured facts
or even names.
(3) It shall remain formally and exact. Otherwise, we cannot process it
by computers. And we would not even be sure that the next reader would
understand the exact same thing.
It turned out that maintaining the above properties is very hard, and always
seems to make another desirable property completely impossible to maintain:
(4) It shall be universal.
The only chance to maintain (1), (2) and (3) is, to restrict yourself to
some very narrowly defined special problem domain. There have been some
"expert systems" with reasonable success.
Another main obstacle is, that we humans appear to be uncapable of deep
enough inspection. I.e. we cannot really tell, how we (internally) manage
to perform high level thoughts. We do not know about our own organization.
When creating/designing a higher level formal language we have to start
from scratch. So far, attempts to do so, have not been very successful.
If anybody will come up with something "higher level" that appears to fit
well to some problem domain, and also appears to still be definable formally,
this will be worth a major publication, and may well be a break through.
The idea that "higher level language" is bound to be better and the right
way to go, is not new, and pops up quite regularly. But it is always
formulated as invitation, request or demand that others should do so
("that cannot really be so hard, can it?"). I never see someone come up
with any work or research already done, requesting discussion, improvement
or extension. I take this as a sign, that it is hard to even begin with
such things as a "higher level language".
Don't get me wrong: I do NOT say that it is impossible, or that it should
not be tried. I just take it to be very hard and absolutely non-trivial.
I recommend to any interested reader to not discuss "what we should do",
but rather to _do_ some experiments, probably in some stripped down toy
domain. From there some progress may be possible.
Of course, the above is just my (somewhat educated) opinion.
Best regards,
Heiner
This page took 0 seconds to execute
Last modified: Thu, 15 Apr 21 08:11:13 -0700
Current Computer Chess Club Forums at Talkchess. This site by Sean Mintz.