Strongest Chess Engine

Discussion of anything and everything relating to chess playing software and machines.

Moderator: Ras

Edsel Apostol
Posts: 803
Joined: Mon Jul 17, 2006 5:53 am
Full name: Edsel Apostol

Re: Strongest Chess Engine

Post by Edsel Apostol »

Hi Uri,

I think Colossus is already old, but if it is a complete rewrite then maybe you are right.

I have nothing against the old ones. Its just that I noticed the new engines by the young ones nowadays are starting out as strong, whereas engines that are being developed for years are being stagnant if their strength is concerned.

Edsel
User avatar
Zach Wegner
Posts: 1922
Joined: Thu Mar 09, 2006 12:51 am
Location: Earth

Re: Strongest Chess Engine

Post by Zach Wegner »

Edsel Apostol wrote:Why don't you release your engine Zach? It would motivate you more when other people play it in tournaments and you see it losing against stronger programs. :)
After CCT. It will be open source.
nczempin

Re: Strongest Chess Engine

Post by nczempin »

Uri Blass wrote:
nczempin wrote:
Ovyron wrote:
Michael Sherwin wrote:By that formula, RomiChess's strength is almost infinite! :lol:

I guess that's better than undefined! 8-)
But maybe it isn't. Let undefined = џ

Then if:

∞ - ∞ = 0
<meep> Sorry, busted!

∞ - ∞ != 0

It is undefined.

and

џ - ∞ = џ
sorry, wrong again.

џ - ∞ = - ∞


Sorry, I am normally not such a humourless person (I hope). :wink:
sorry but it is not correct that џ - ∞ = - ∞.
This is correct only if џ is a real number but we have no reason to assume it.

Uri
Yes, you are right of course. I was trying to give some leeway :-)

џ is "undefined", so I guess џ - ∞ is also undefined. Not necessarily the same "undefined" that is stretching Mathematics to be used in a variable declaration.

And you have proved that you have even less humour about Mathematics than I do. :) It is probably inverse proportional to the knowledge one has about it :).
Michael Sherwin
Posts: 3196
Joined: Fri May 26, 2006 3:00 am
Location: WY, USA
Full name: Michael Sherwin

Re: Strongest Chess Engine

Post by Michael Sherwin »

Zach Wegner wrote:
Edsel Apostol wrote:Why don't you release your engine Zach? It would motivate you more when other people play it in tournaments and you see it losing against stronger programs. :)
After CCT. It will be open source.
Good! I just can't wait to get my hands on your move generator. :)
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
Dann Corbit
Posts: 12803
Joined: Wed Mar 08, 2006 8:57 pm
Location: Redmond, WA USA

Re: Strongest Chess Engine

Post by Dann Corbit »

Edsel Apostol wrote:Hi Dann,

What I'm trying to point out with this post is to show that the young programmers are having an easy time making their programs stronger. Maybe it was the influence of very strong open-source programs like Fruit, Glaurung, Scorpio.

Unlike the old programmers that have difficulty making their program stronger because they can't let go of the learnings they have before that are obsolete nowadays.

This is also to show that when one is young, that means the time spent to develop the engine is only short, and the engine is already strong, it would have a higher score compared to programs being developed over the years, though they are about of the same strength.

Edsel Apostol
I don't think that your ratio shows that.
It is always easy to improve a small, weak program.
It is never easy to improve a large, strong program.
I think that we see that effect.

Dividing by the age is simply an artificial measurement that shows nothing I can imagine about the ability of the programmer.

I don't know how old the Rybka author is, but he had very rapid improvement.

There is a lot to be said for the vigor of youth. Probably, if anybody knew what a horrible pile of work they were going to get into, they would give it second thoughts.
;-)

Here is what I think:
The most talented, hardest working and best educated programmer is going to write the best chess engine.

Those three factors can be considered as a product, I imagine.

On the other hand, an 18 year old programmer has a lifetime to improve his program. An 80 year old programmer -- not so much.
User avatar
Ovyron
Posts: 4562
Joined: Tue Jul 03, 2007 4:30 am

Re: Strongest Chess Engine

Post by Ovyron »

nczempin wrote:∞ - ∞ != 0

It is undefined.
I think it's safe to assume that ∞ - ∞ = 0, because ∞ is defined (we define it as ∞) unlike џ, in where џ - џ != 0

And let's not bring limits around, as with limits ∞ = -∞ :shock:

Anyway, џ can be higher than ∞ and lower than -∞, that makes undefined so cool that I don't understand why you'd prefer your engine to "only" have infinite strength.
Your beliefs create your reality, so be careful what you wish for.
nczempin

Re: Strongest Chess Engine

Post by nczempin »

Ovyron wrote:
nczempin wrote:∞ - ∞ != 0

It is undefined.
I think it's safe to assume that ∞ - ∞ = 0, because ∞ is defined (we define it as ∞) unlike џ, in where џ - џ != 0

And let's not bring limits around, as with limits ∞ = -∞ :shock:

Anyway, џ can be higher than ∞ and lower than -∞, that makes undefined so cool that I don't understand why you'd prefer your engine to "only" have infinite strength.
No, sorry, it is seriously not safe to assume that ∞ - ∞ = 0.

I (or Uri, or someone else) can provide a more lengthy justification for this statement if you wish. ∞ is not defined as ∞, that would be circular and invalid. You could equally say that џ is defined, because it is defined as undefined. Barber's paradox.

I don't see how limits lead to your claim that ∞ = -∞.

But perhaps we should all just accept that you were making a joke, and try not to overanalzye it.
User avatar
Ovyron
Posts: 4562
Joined: Tue Jul 03, 2007 4:30 am

Re: Strongest Chess Engine

Post by Ovyron »

No, I'm not joking, I'll give you proof that ∞ - ∞ = 0. However, that only is true if we give some meaning to those ∞'s, and when we use different sized infinites. First let ∞ be "all positive integers" (including 0), so we have:

∞ = [0,1,2,3,4,5,6,7,8,9,10,11,...,∞]

Now, let's have a second ∞, this one, with all these inside, but also, with their decimals:

Second ∞ = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.1,...,∞]

Now, we can compare these two infinites, and since in the second one, it takes 10 times the steps of the first one to reach infinite, then we can say that the first one is ∞, and the second is 10∞. (We could also say that the second one is ∞ and the first one is ∞/10, these numbers around the infinites are meaningful only when comparing these different sized infinites).

Now that we have some relative value, we can do subtraction, as follows:

10∞ - ∞ = 9∞

Or:

[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.1,...,∞] - [0,1,2,3,4,5,6,7,8,9,10,11,...,∞] = [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,...,∞]

If we get the set with integers and decimals, and subtract all integers, we get a infinite set that takes 9 times the steps of the only integers set, to reach infinite. Or 9∞.

We cannot keep doing this, because there are no more integers to subtract, so we need to find another set of the same ∞ length, like "all positive numbers that end with '0.1'":

∞ = ∞
[0,1,2,3,4,5,6,7,8,9,10,11,...,∞] = [0.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,11.1,...,∞]

And subtract this new set from the 9∞:

9∞ - ∞ = 8∞
[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,...,∞] - [0.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,11.1,...,∞] = [0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.2...,∞]

This last set takes 8 times the steps to reach infinity than the original set, etc.

You keep subtracting infinite sets until you end with a set that takes the same steps to reach infinity than the original set, like "all positive numbers ending with '.9'"

∞ = [0,1,2,3,4,5,6,7,8,9,10,11,...,∞]
∞ = [0.9,1.9,2.9,3.9,4.9,5.9,6.9,7.9,8.9,9.9,10.9,11.9,...,∞]

Now, if you subtract those numbers (the ones ending with .9) you end with an empty set:

[0.9,1.9,2.9,3.9,4.9,5.9,6.9,7.9,8.9,9.9,10.9,11.9,...,∞] - [0.9,1.9,2.9,3.9,4.9,5.9,6.9,7.9,8.9,9.9,10.9,11.9,...,∞] = []

Or

∞ - ∞ = 0

Where's the flaw behind my reasoning? (And about ∞ = -∞, in limits, it depends from where you approach infinity when dividing by 0, and that's arbitrary, so what they do is calling infinity just "infinity" and both positive and negative infinities are called the same...)
Your beliefs create your reality, so be careful what you wish for.
Alessandro Scotti

Re: Strongest Chess Engine

Post by Alessandro Scotti »

Ovyron wrote:No, I'm not joking, I'll give you proof that ∞ - ∞ = 0. However, that only is true if we give some meaning to those ∞'s, and when we use different sized infinites.
The process you quote (by Cantor) can be used to show that those sets have the same "infiniteness" but not that the difference is zero especially when the infinity symbol does not necessarily mean what you mean in the example. You can try comparing different cardinalities to spice things up, for example the set of real numbers fully contains the set of rational numbers and both are infinite.
I may be wrong of course, it's been at least 20 years since those math lessons! :-)
nczempin

Re: Strongest Chess Engine

Post by nczempin »

Ovyron wrote:No, I'm not joking, I'll give you proof that ∞ - ∞ = 0. However, that only is true if we give some meaning to those ∞'s, and when we use different sized infinites. First let ∞ be "all positive integers" (including 0), so we have:

∞ = [0,1,2,3,4,5,6,7,8,9,10,11,...,∞]

Now, let's have a second ∞, this one, with all these inside, but also, with their decimals:

Second ∞ = [0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.1,...,∞]

Now, we can compare these two infinites, and since in the second one, it takes 10 times the steps of the first one to reach infinite, then we can say that the first one is ∞, and the second is 10∞. (We could also say that the second one is ∞ and the first one is ∞/10, these numbers around the infinites are meaningful only when comparing these different sized infinites).

Now that we have some relative value, we can do subtraction, as follows:

10∞ - ∞ = 9∞

Or:

[0,0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1,1.1,...,∞] - [0,1,2,3,4,5,6,7,8,9,10,11,...,∞] = [0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,...,∞]

If we get the set with integers and decimals, and subtract all integers, we get a infinite set that takes 9 times the steps of the only integers set, to reach infinite. Or 9∞.

We cannot keep doing this, because there are no more integers to subtract, so we need to find another set of the same ∞ length, like "all positive numbers that end with '0.1'":

∞ = ∞
[0,1,2,3,4,5,6,7,8,9,10,11,...,∞] = [0.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,11.1,...,∞]

And subtract this new set from the 9∞:

9∞ - ∞ = 8∞
[0.1,0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.1,...,∞] - [0.1,1.1,2.1,3.1,4.1,5.1,6.1,7.1,8.1,9.1,10.1,11.1,...,∞] = [0.2,0.3,0.4,0.5,0.6,0.7,0.8,0.9,1.2...,∞]

This last set takes 8 times the steps to reach infinity than the original set, etc.

You keep subtracting infinite sets until you end with a set that takes the same steps to reach infinity than the original set, like "all positive numbers ending with '.9'"

∞ = [0,1,2,3,4,5,6,7,8,9,10,11,...,∞]
∞ = [0.9,1.9,2.9,3.9,4.9,5.9,6.9,7.9,8.9,9.9,10.9,11.9,...,∞]

Now, if you subtract those numbers (the ones ending with .9) you end with an empty set:

[0.9,1.9,2.9,3.9,4.9,5.9,6.9,7.9,8.9,9.9,10.9,11.9,...,∞] - [0.9,1.9,2.9,3.9,4.9,5.9,6.9,7.9,8.9,9.9,10.9,11.9,...,∞] = []

Or

∞ - ∞ = 0

Where's the flaw behind my reasoning? (And about ∞ = -∞, in limits, it depends from where you approach infinity when dividing by 0, and that's arbitrary, so what they do is calling infinity just "infinity" and both positive and negative infinities are called the same...)
No. ∞ is not a number.

And defining ∞ to be one thing and then to be another thing (but with the same symbol), and then making any kinds of arguments that then make use of the claim that they are the same, is invalid reasoning.

I am also not quite sure what you mean by
∞ = [0,1,2,3,4,5,6,7,8,9,10,11,...,∞]. The ∞ is both the set and a member of the set?

Defining ∞ to be merely an additional element in infinite sets is not standard use, but certainly possible.

But it doesn't lead to "∞ - ∞ = 0", merely to the same guidelines that one uses when talking about limits (e. g. when saying as n->∞, n+a also ->∞). And it is not the case that as n->∞, n+∞-> ∞.

For a reference, see Properties of limits of a function:
* q + ∞ = ∞ for q ≠ -∞
* q × ∞ = ∞ if q > 0
* q × ∞ = −∞ if q < 0
* q / ∞ = 0 if q ≠ ± ∞
Your "equation" is conspicuously absent.

And regarding your asserted equivalence of positive and negative infinity, it also does not exist; that's why the adjectives have to be there if one wants to be rigorous. It is certainly acceptable to talk about the one as infinity and the other as infinity, but when comparing the two one has to take care in distinguishing them.

It is also possible to define them to be equivalent:
We can also treat ∞ and -∞ as the same, leading to the one-point compactification of the real numbers, which is the real projective line. Projective geometry also introduces a line at infinity in plane geometry, and so forth for higher dimensions.
But then you are leaving the realm of real analysis or "Calculus". And by not qualifying your "realm", one has to assume that you're talking about Calculus. And certainly if you define them to be equivalent, ∞ + -∞ != 0 unless they are both 0.