New chess engine: Texel

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

Moderators: hgm, Rebel, chrisw

User avatar
Jim Ablett
Posts: 1383
Joined: Fri Jul 14, 2006 7:56 am
Location: London, England
Full name: Jim Ablett

Re: New chess engine: Texel

Post by Jim Ablett »

petero2 wrote:Thanks a lot Jim.

It works perfectly on the systems I tested on (windows/linux/android), although I don't have Windows XP so I can not test that.

Your windows executables are about 15% faster than my windows executables, which means that the windows executables are now about as fast as the linux executables. Very nice.

Thanks again.
You're welcome. :)

It is possible to successfully compile the source with an older, unsupported version of GCC is you use the Boost libraries to handle the c++0x stuff.

Code: Select all

Add this to all header files >

--------------------------------------------------

#include <boost/thread.hpp>
#include <boost/thread/thread.hpp> 
#include <boost/date_time/posix_time/posix_time.hpp>
#include <boost/chrono.hpp>
#include <cmath>

namespace std &#123;
  using boost&#58;&#58;mutex;
  using boost&#58;&#58;recursive_mutex;
  using boost&#58;&#58;lock_guard;
  using boost&#58;&#58;condition_variable;
  using boost&#58;&#58;unique_lock;
  using boost&#58;&#58;thread;
  using boost&#58;&#58;this_thread&#58;&#58;sleep;
&#125;

#ifndef nanosleep
#define nanosleep sleep
#endif

------------------------------------------------------


In 'enginecontrol.cpp' change to this >


-----------------------------------------------------------------

//   std&#58;&#58;this_thread&#58;&#58;sleep_for&#40;std&#58;&#58;chrono&#58;&#58;milliseconds&#40;10&#41;);
			
boost&#58;&#58;this_thread&#58;&#58;sleep&#40;boost&#58;&#58;posix_time&#58;&#58;microseconds&#40;10000&#41;);

--------------------------------------------------------

In 'util.cpp' change to this >

---------------------------------------------------

S64 currentTimeMillis&#40;) &#123;
   
   // auto t = std&#58;&#58;chrono&#58;&#58;system_clock&#58;&#58;now&#40;); 
	
    auto t = boost&#58;&#58;chrono&#58;&#58;system_clock&#58;&#58;now&#40;);

    auto t0 = t.time_since_epoch&#40;);
    auto x = t0.count&#40;);
    typedef decltype&#40;t0&#41; T0Type;
    auto n = T0Type&#58;&#58;period&#58;&#58;num;
    auto d = T0Type&#58;&#58;period&#58;&#58;den;
    return &#40;S64&#41;&#40;x * &#40;1000.0 * n / d&#41;);
&#125;


--------------------------------------------------------------

and link with >

Code: Select all

-lboost_thread-mgw46-mt-1_49.dll -lboost_chrono-mgw46-mt-1_49.dll -lboost_system-mgw46-mt-1_49.dll

Jim.
Adam Hair
Posts: 3226
Joined: Wed May 06, 2009 10:31 pm
Location: Fuquay-Varina, North Carolina

Re: New chess engine: Texel

Post by Adam Hair »

Thanks, Jim. Though, I suppose one day I will have to upgrade from XP.
User avatar
geots
Posts: 4790
Joined: Sat Mar 11, 2006 12:42 am

Re: New chess engine: Texel

Post by geots »

petero2 wrote:Thanks a lot Jim.

It works perfectly on the systems I tested on (windows/linux/android), although I don't have Windows XP so I can not test that.

Your windows executables are about 15% faster than my windows executables, which means that the windows executables are now about as fast as the linux executables. Very nice.

Thanks again.

Ok, Peter- I fell for the joke. When everyone is thru laughing, you can tell me where in hell this engine came from really. :) :roll:

george
User avatar
geots
Posts: 4790
Joined: Sat Mar 11, 2006 12:42 am

Re: New chess engine: Texel

Post by geots »

Jim Ablett wrote:Image

JA builds available.

Windows/Linux/Android 64/32


Should work on all systems.

http://dl.dropbox.com/u/5047625/texel-101-ja.zip
Mirror:
http://cl.ly/FHyX/texel-101-ja.zip

Also on my homepage.

Thanks very much for the new engine release Peter.

Jim.

Thanks my friend. You also saved me an email. :lol: Very very nice.


george
User avatar
Graham Banks
Posts: 41415
Joined: Sun Feb 26, 2006 10:52 am
Location: Auckland, NZ

Re: New chess engine: Texel

Post by Graham Banks »

geots wrote:Ok, Peter- I fell for the joke. When everyone is thru laughing, you can tell me where in hell this engine came from really. :) :roll:

george
He rewrote CuckooChess (which was in Java) into C++ from memory, renaming the new engine to Texel. The result was a speed up of 2X, in addition to a rough strength estimate anything up to 140 ELO stronger at fast time controls than the most recent developmental version of CuckooChess that he was using.
gbanksnz at gmail.com
User avatar
pocopito
Posts: 238
Joined: Tue Jul 12, 2011 1:31 pm

Re: New chess engine: Texel

Post by pocopito »

It compiles fine on fedora 16 64 bits, but I had to install glibc-devel.i686 (not just glib-devel).

Cheers and thanks again for your program

E Diaz
Two first meanings of the dutch word "leren":
1. leren [vc] (learn, larn, acquire) acquire or gain knowledge or skills.
2. leren [v] (teach, learn, instruct) impart skills or knowledge to.
User avatar
Mike S.
Posts: 1480
Joined: Thu Mar 09, 2006 5:33 am

Re: New chess engine: Texel

Post by Mike S. »

[Event "Texel101"]
[Site "?"]
[Date "2012.03.25"]
[Round "2.2"]
[White "Texel 1.01 32-bit"]
[Black "Loop 2007 32-Bit"]
[Result "1-0"]
[ECO "E17"]
[Annotator "0.11;-0.01"]
[PlyCount "77"]
[EventDate "2012.03.25"]
[EventType "simul"]
[Source "User"]

{Intel(R) Atom(TM) CPU N455 @ 1.66GHz 1662 MHz W=12.4 plies; 149kN/s B=10.
1 plies; 377kN/s} 1. d4 Nf6 2. c4 e6 3. Nf3 b6 4. g3 Be7 {-0.01/10 8} 5. Bg2 {
0.11/12 3 (Nc3)} Bb7 {0.20/11 5} 6. O-O {0.17/12 3} O-O {0.22/11 4} 7. Be3 {0.
06/11 3 (Nc3)} d5 {0.09/11 13} 8. Ne5 {0.08/10 3} Nbd7 {0.11/11 8 (Nc6)} 9. Nc3
{-0.13/13 13} c6 {0.07/11 11} 10. f4 {-0.18/11 5 (Nxd7)} Nxe5 {0.02/10 14 (Rc8)
} 11. fxe5 {0.06/13 3} Ng4 {0.09/11 3 (Nd7)} 12. Bf4 {0.12/11 3} dxc4 {0.02/10
2 (g5)} 13. Ne4 {-0.14/11 4 (e4)} Kh8 {-0.13/9 3} 14. e3 {0.00/11 3} f5 {0.05/
11 4 (Nxh2)} 15. Nd6 {-0.23/12 4 (exf6)} g5 {-0.52/10 3} 16. Nxb7 {-0.13/11 3}
Qc7 {-0.19/11 3} 17. h3 {0.49/13 3} gxf4 {0.03/11 4} 18. hxg4 {0.54/11 3} Qxb7
{0.23/10 3} 19. gxf5 {0.77/12 2 (gxf4)} Rxf5 {0.16/9 2 (fxg3)} 20. exf4 {0.78/
11 2 (Rxf4)} Rf7 {-0.06/10 5 (Rg8)} 21. Bh3 {0.72/11 3 (Qe2)} Qd7 {-0.41/10 2}
22. Kh2 {0.72/11 2 (Rc1)} Rg8 {-0.11/10 2 (Rg7)} 23. Qe2 {0.71/12 2 (Rc1)} Rfg7
{-0.22/10 2} 24. Rf3 {0.84/12 2} Qd5 {0.03/10 3 (b5)} 25. Rd1 {0.80/12 2} Rg6 {
0.07/11 3 (b5)} 26. g4 {0.98/12 2 (Rc3)} Bb4 {0.40/9 4 (Bh4)} 27. f5 {1.16/12
2 (a3)} Rh6 {0.24/10 1 (Rg5)} 28. Rg3 {1.46/10 2 (a3)} Rh4 {0.57/9 5 (exf5)}
29. f6 {1.93/11 2} Rd8 {0.70/10 5 (Rg6)} 30. Re3 {1.85/12 3 (Qe3)} Rh6 {0.83/
10 3} 31. g5 {2.15/12 2 (Qf3)} Rh4 {1.05/10 2} 32. Kg3 {2.41/13 3 (Qf2)} Rxd4 {
1.62/9 1} 33. g6 {2.30/12 2 (Rxd4)} Rxd1 {1.18/8 1} 34. g7+ {3.90/13 2} Kg8 {
0.01/0 0} 35. Qxd1 {3.90/12 2} Re8 {2.00/8 2} 36. Qxd5 {3.98/12 2 (Qf1)} exd5 {
6.72/10 1 (cxd5)} 37. e6 {7.53/14 2 (Bd7)} Re7 {7.43/11 1} 38. Kg2 {7.53/14 2}
Rxg7+ {7.42/11 2} 39. fxg7 {7.58/15 2} 1-0


[Event "5 Minutes/Game + 1 Seconds/Move"]
[Site "Gauntlet 5m+1s, NC-110"]
[Date "2012.03.26"]
[Round "1.3"]
[White "Texel 1.01 JA 32-bit"]
[Black "Rybka 2.3.2a 1T"]
[Result "1-0"]
[PlyCount "99"]
[EventDate "2012.??.??"]

1. d4 {book 0s} f5 {book 0s} 2. g3 {book 0s} Nf6 {book 0s} 3. Bg2 {book 0s} e6
{book 0s} 4. Nf3 {book 0s} d5 {book 0s} 5. O-O {book 0s} Bd6 {book 0s} 6. Bf4 {
book 0s} Bxf4 {book 0s} 7. gxf4 {-0.39/15 6} O-O {book 0s} 8. e3 {-0.36/13 6}
b6 {-0.06/11 30 (Bd7)} 9. c4 {-0.34/13 6} Bb7 {-0.04/11 14} 10. Ne5 {-0.22/13
6 (Nc3)} Nbd7 {-0.07/11 10 (Nc6)} 11. Nc3 {-0.27/12 9} c6 {-0.07/10 5 (Ne4)}
12. Qa4 {-0.30/12 6 (Rc1)} Nxe5 {-0.11/11 5} 13. fxe5 {-0.22/14 5 (dxe5)} Ne4 {
-0.10/11 9} 14. Rac1 {-0.19/13 5} Nd2 {-0.11/11 4 (a5)} 15. cxd5 {0.00/15 5}
cxd5 {-0.04/12 6} 16. Rfd1 {0.03/15 5 (Rfe1)} Nc4 {-0.21/11 2 (Ne4)} 17. Rc2 {
-0.25/14 7} Qe7 {-0.24/11 4 (a6)} 18. Rdc1 {-0.22/15 5} f4 {-0.23/12 15 (a6)}
19. exf4 {0.15/13 5} Rxf4 {-0.24/12 3} 20. Ne2 {0.13/14 6} Rg4 {-0.37/12 14
(Rf7)} 21. Qb3 {0.24/14 5 (h3)} Qh4 {-0.56/11 10} 22. Qd3 {0.32/13 5} Rf8 {-0.
50/11 21} 23. f3 {0.23/15 5 (f4)} Rg6 {-0.50/11 3} 24. b3 {0.19/15 4} Rh6 {-0.
38/10 1} 25. h3 {0.08/15 4} Rg6 {-0.42/10 4} 26. f4 {0.13/14 4} Rf7 {-0.31/10 9
} 27. Rf1 {0.45/13 12 (a4)} a5 {-0.31/9 7 (Qh6)} 28. a4 {0.49/13 8 (Kh1)} Na3 {
0.05/9 6} 29. Rd2 {1.21/14 4 (Ra2)} Qe7 {0.21/10 8} 30. Kh1 {1.30/14 4 (Ra2)}
Bc6 {0.28/11 12 (Kh8)} 31. Ra2 {1.68/13 4 (Qc3)} b5 {0.31/10 4} 32. f5 {2.13/
13 4} Rh6 {0.40/10 6 (Rg5)} 33. Rc1 {1.92/12 4 (f6)} Bd7 {0.56/11 16} 34. Rc5 {
1.74/13 14 (axb5)} b4 {0.19/8 1} 35. fxe6 {1.73/14 3} Bxe6 {0.11/8 1} 36. Rxa5
{1.65/13 5} Qf8 {0.36/9 5} 37. Ng1 {1.72/13 3 (Qe3)} Rc7 {0.00/10 5} 38. Rb2 {
1.61/13 3 (Ne2)} Rc3 {-0.05/9 3 (Qc8)} 39. Qf1 {0.99/12 4 (Qd2)} Qd8 {0.00/8 0
(Qxf1)} 40. Rf2 {1.23/12 5 (Ra7)} Rxb3 {0.00/9 4 (g5)} 41. Rxd5 {1.44/14 3} Qb8
{0.30/10 4 (Qe8)} 42. Rc5 {1.53/12 3} Rb1 {0.64/12 18} 43. Qd3 {1.39/12 3} Rb3
{0.81/10 3 (Rg6)} 44. Qe4 {2.09/11 3 (Qa6)} Qe8 {1.25/8 3 (Qd8)} 45. d5 {3.28/
13 3} Bd7 {1.96/8 3} 46. d6 {3.72/12 5 (Rc7)} Rb1 {1.26/9 2 (Re6)} 47. Rc7 {4.
00/12 7 (Kh2)} Bxh3 {4.88/11 12} 48. Bxh3 {5.05/11 2} Rxh3+ {5.04/9 9} 49. Kg2
{5.85/12 2} Rxg1+ {5.11/8 7 (Rh6)} 50. Kxg1 {8.77/11 2} 1-0

Just two examples, but there is no doubt about the potential of this engine.
Regards, Mike
petero2
Posts: 684
Joined: Mon Apr 19, 2010 7:07 pm
Location: Sweden
Full name: Peter Osterlund

Re: New chess engine: Texel

Post by petero2 »

geots wrote:
petero2 wrote:Thanks a lot Jim.

It works perfectly on the systems I tested on (windows/linux/android), although I don't have Windows XP so I can not test that.

Your windows executables are about 15% faster than my windows executables, which means that the windows executables are now about as fast as the linux executables. Very nice.

Thanks again.

Ok, Peter- I fell for the joke. When everyone is thru laughing, you can tell me where in hell this engine came from really. :) :roll:

george
There is no joke. It may have been a bit inaccurate to call it "new" in the subject line of this thread, but I did explain in the very first post in this thread that Texel is a translation of CuckooChess from java to C++11.

CuckooChess is my own creation and you can follow its development history here: http://code.google.com/p/cuckoochess/source/list.

For slightly less details, see instead the change log: http://web.comhem.se/petero2home/javach ... ngeLog.txt.
mar
Posts: 2554
Joined: Fri Nov 26, 2010 2:00 pm
Location: Czech Republic
Full name: Martin Sedlak

Re: New chess engine: Texel

Post by mar »

petero2 wrote:
There is no joke. It may have been a bit inaccurate to call it "new" in the subject line of this thread, but I did explain in the very first post in this thread that Texel is a translation of CuckooChess from java to C++11.

CuckooChess is my own creation and you can follow its development history here: http://code.google.com/p/cuckoochess/source/list.

For slightly less details, see instead the change log: http://web.comhem.se/petero2home/javach ... ngeLog.txt.
Take it easy Peter. Cuckoo already was amazing. And some know it was a long way to go :D George perhaps misunderstood but for god's sake forgive him :D

Texel is a wonderful well written engine and I want to see it beat the "clean top" (robbotop).

Martin
User avatar
mclane
Posts: 18748
Joined: Thu Mar 09, 2006 6:40 pm
Location: US of Europe, germany
Full name: Thorsten Czub

Re: New chess engine: Texel

Post by mclane »

very interesting engine. many thanks peter !!

i like how it plays ...
What seems like a fairy tale today may be reality tomorrow.
Here we have a fairy tale of the day after tomorrow....