Computer Chess Club Archives


Search

Terms

Messages

Subject: Re: tough position

Author: Robert Hyatt

Date: 14:30:17 12/14/03

Go up one level in this thread


On December 14, 2003 at 17:12:20, Omid David Tabibi wrote:

>On December 13, 2003 at 13:02:24, Robert Hyatt wrote:
>
>>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_.
>
>But naturally you can't do everything on every platform! Then why not do some
>things on some platforms? That will not hurt the portability, as it will still
>run and compile on every platform. It will simply have some bonus features on
>certain platforms. Something is obviously better than nothing :)
>

Depends.  Do _you_ want to answer all the email "Hey, this feature works on
my dual xeon system, but on my dual sparc box it doesn't.  What is the problem
and can you fix it?"

Been there.  Done that.  Got the T-shirt.



D
>
>>
>>
>>
>>>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 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.