Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: tough position

Author: Robert Hyatt

Date: 10:02:24 12/13/03

Go up one level in this thread


On December 13, 2003 at 11:45:03, Omid David Tabibi wrote:

>On December 12, 2003 at 22:24:23, Robert Hyatt wrote:
>
>>On December 12, 2003 at 17:34:32, Omid David Tabibi wrote:
>>
>>>On December 12, 2003 at 16:52:12, Robert Hyatt wrote:
>>>
>>>>On December 12, 2003 at 15:29:55, Omid David Tabibi wrote:
>>>>
>>>>>On December 12, 2003 at 13:49:35, Robert Hyatt wrote:
>>>>>
>>>>>>On December 12, 2003 at 13:40:07, Will Singleton wrote:
>>>>>>
>>>>>>>Here's a position from a recent game, this one gives Amateur fits.
>>>>>>>How long to see black is busted?
>>>>>>>
>>>>>>>[d]4rr2/1b3p1k/pp5p/2b1pQ2/q7/P2R2B1/1PP3PP/2KR4 b - -
>>>>>>
>>>>>>
>>>>>>For Crafty, the bottom begins to fall out at 6 seconds or so,
>>>>>
>>>>>What do you mean by 6 seconds??? 6 seconds on a 100 MHz machine is fantastic,
>>>>>but it is horrible on the fastest quad....
>>>>>
>>>>>I can't agree more with Christophe about this. PLEASE ADD HARDWARE INFO!
>>>>>
>>>>
>>>>Sorry.  It is horrible.  It was on a quad 1.8ghz opteron.  :)
>>>>
>>>>I figured that was obvious since that is all I have been posting here
>>>>the last two weeks...
>>>
>>>Why don't you print a line before each analysis, reporting the system hardware
>>>and memory?
>>>
>>>I mainly run Falcon in commandline mode, and before each analysis it prints
>>>something like:
>>
>>Not so easy on all the different systems I use.  Linux is trivial.  Others
>>(say solaris, OS/2, irix, hpux, etc) make this not so easy from a portability
>>issue.
>
>I also try to make my program portable to the extent possible, but I have many
>features that run only on Windows, placed in an #if defined(WIN32)...
>
>For example, Falcon can't check stdin when not running on Windows (since it uses
>PeekNamedPipe).
>
>BTW, I think getting the vendorID of the processor will not cause any
>portability issues. I do it using cpuid instruction:
>
>	int str1, str2, str3;
>	__asm {
>		mov		eax, 00h
>		cpuid
>		mov		str1, ebx
>		mov		str2, edx
>		mov		str3, ecx
>	}
>	sprintf(vendorId, "%c%c%c%c%c%c%c%c%c%c%c%c",
>		(str1), (str1 >> 8), (str1 >> 16), (str1 >> 24),
>		(str2), (str2 >> 8), (str2 >> 16), (str2 >> 24),
>		(str3), (str3 >> 8), (str3 >> 16), (str3 >> 24));
>
>

And that is going to do exactly what when run on itanium, HP-PA, MIPS,
Sparc, Cray, PPC, etc.  :)

When I say portability I mean _PORTABILITY_.  Not just within X86.  :)

I run on _everything_.



>When running under Windows, I get the cpu_speed by:
>
>        RegOpenKeyEx(HKEY_LOCAL_MACHINE,
>		"Hardware\\Description\\System\\CentralProcessor\\0", 0,
>		KEY_QUERY_VALUE, &hKey);
>        RegQueryValueEx(hKey, "~MHz", NULL, &&mtype , (LPBYTE)&cpu_speed,
>                         &size);
>
>


I can do the same with linux (and others that support the /proc
filesystem) by /proc/cpuinfo.  But again, that is non-portable...



>
>
>
>>
>>
>>>
>>>Falcon 0.050 running on GenuineIntel 733MHz 256MB:
>>>depth     time    nodes   nps  score  variation
>>> 3/ 6     0.03       0k    7k   0.23  1.e2e4 d7d5 2.b1c3
>>> 3/ 7     0.04       0k    8k   0.27  1.d2d4 d7d5 2.c1f4
>>> 4/10     0.04       0k   13k   0.00  1.d2d4 d7d5 2.c1f4 c8f5
>>> 4/10     0.04       0k   18k   0.03  1.e2e4 g8f6 2.b1c3 e7e5
>>> 5/12     0.06       3k   53k  -0.02  1.e2e4 d7d5 2.d1f3 d5e4 3.f3e4 b8c6
>>> 5/12     0.08       5k   69k   0.21  1.d2d4 e7e6 2.b1c3 f8b4 3.c1d2
>>> 6/14     0.13      12k   98k   0.00  1.d2d4 d7d5 2.b1c3 c8f5 3.c1f4 b8c6
>>> 6/14     0.21      24k  116k   0.06  1.e2e4 b8c6 2.f1c4 c6e5 3.d2d3 e5c4
>>>                                      4.d3c4
>>> 7/15     0.43      57k  134k   0.11  1.e2e4 d7d5 2.e4e5 b8c6 3.f1b5 c8d7
>>>                                      4.d2d4
>>> 7/15     0.52      71k  137k   0.23  1.d2d4 d7d5 2.b1c3 b8c6 3.c1f4 c8f5
>>>                                      4.g1f3
>>> 8/17     0.78     111k  142k   0.04  1.d2d4 d7d5 2.d1d3 d8d6 3.b1c3 g8f6
>>>                                      4.c3b5 d6c6
>>> 9/21     1.85     270k  145k   0.12  1.d2d4 d7d5 2.b1c3 c8f5 3.c1f4 g8f6
>>>                                      4.e2e3 b8c6 5.f1b5
>>> 9/21     2.41     346k  143k   0.15  1.e2e4 d7d5 2.e4d5 d8d5 3.b1c3 d5e5
>>>                                      4.d1e2 e5e2 5.f1e2 e7e5 6.c3d5 f8d6
>>>
>>>
>>>
>>>
>>>
>>>>
>>>>
>>>>>
>>>>>
>>>>>>where
>>>>>>it begins to see it is not ahead.  By 60 seconds it has failed low
>>>>>>to white a pawn up and climbing:
>>>>>>
>>>>>>               12->   4.84  -0.69   1. ... Kg8 2. Bxe5 Bf2 3. Rd4 Rxe5
>>>>>>                                    4. Qxe5 Re8 5. Rd8 Bc6 6. Rxe8+ Bxe8
>>>>>>                                    7. Rd6 Qb5 8. Qf4 Qg5 <HT>
>>>>>>               13     6.66     --   1. ... Kg8
>>>>>>               13    15.28   0.31   1. ... Kg8 2. Bxe5 Bf2 3. Bf6 Re2 4.
>>>>>>                                    Rd8 Bc5 5. R8d4 Rxc2+ 6. Qxc2 Qxc2+
>>>>>>                                    7. Kxc2 Bxd4 8. Bxd4 Be4+ 9. Kb3 Rd8
>>>>>>               13->  17.91   0.31   1. ... Kg8 2. Bxe5 Bf2 3. Bf6 Re2 4.
>>>>>>                                    Rd8 Bc5 5. R8d4 Rxc2+ 6. Qxc2 Qxc2+
>>>>>>                                    7. Kxc2 Bxd4 8. Bxd4 Be4+ 9. Kb3 Rd8
>>>>>>               14    35.70   0.00   1. ... Kg8 2. Bxe5 Bf2 3. Bf6 Re2 4.
>>>>>>                                    Rd8 Bh4 5. Rxf8+ Kxf8 6. Rd8+ Re8 7.
>>>>>>                                    Rxe8+ Qxe8 8. Bxh4 Qe3+ 9. Kb1 Qg1+
>>>>>>                                    10. Ka2 Qxg2 11. Qf4 Qxc2 12. Qxh6+
>>>>>>               14->  40.01   0.00   1. ... Kg8 2. Bxe5 Bf2 3. Bf6 Re2 4.
>>>>>>                                    Rd8 Bh4 5. Rxf8+ Kxf8 6. Rd8+ Re8 7.
>>>>>>                                    Rxe8+ Qxe8 8. Bxh4 Qe3+ 9. Kb1 Qg1+
>>>>>>                                    10. Ka2 Qxg2 11. Qf4 Qxc2 12. Qxh6+
>>>>>>               15    51.44     --   1. ... Kg8
>>>>>>               15     1:30   0.98   1. ... Kg8 2. Bxe5 Bf2 3. Rd4 Rxe5
>>>>>>                                    4. Qxe5 Re8 5. Rg4+ Qxg4 6. Qxe8+ Kg7
>>>>>>                                    7. Qe5+ f6 8. Qc7+ Kg6 9. Rd7 Qg5+
>>>>>>                                    10. Kb1 Bxg2 11. Rg7+ Kf5 12. Rxg5+
>>>>>>                                    hxg5



This page took 0.01 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.