fluxroot / pulse Goto Github PK
View Code? Open in Web Editor NEWA Didactic Java/C++ Chess Engine
Home Page: https://github.com/fluxroot/pulse
License: MIT License
A Didactic Java/C++ Chess Engine
Home Page: https://github.com/fluxroot/pulse
License: MIT License
Hello, this is a really nice engine,
Unfortunately it has a little bug, which happen's regularly against opponent's that ca run out of time and is easy to reproduce:
./pulse
go wtime 100 btime 0
terminate called after throwing an instance of 'std::exception'
what(): std::exception
Aborted
This is the code in search.cpp on line 199 and 201:
if (whiteTimeLeft < 1) throw std::exception();
if (blackTimeLeft < 1) throw std::exception();
I think, those lines are not necessary and can be removed entirely (or the condition < 0).
Then Pulse would be very stable.
Best Regards,
Oliver
I was testing 1.7.1 and it will always lose on time. This didn't happen with 1.6.1 which worked just fine.
I am using a 1 minute + 1 second time control with Arena.
Hello
Are there any examples available for this library? like checking if a move is valid or basic setup..
i copied your newest source code (by git clone) and compiled it (on Linux) .. this gave me a proper binary but the uci
command shows v2.0.0 !? I expect v1.7.3 (indeed, your asset file has this version).
Hello,
I let my engine play a lot of games vs. pulse 1.6 cpp. The games are always long & close, lots of remis (both engines don't care too much about 3-fold repetition).
Though today pulse took quite a big hit by a single move. It might be bad luck beyond the horizon, though problems start at move 8 in following pgn (annotated by lichess).
Greetings from Biel/Bienne,
Bernhard
[Event “Mini Tournament"]
[Date "2020.06.16"]
[Round "3"]
[White "SNAPSHOT (2200)"]
[Black "Pulse-1.6.1-cpp (2200)"]
[Result "1-0"]
[WhiteElo "?"]
[BlackElo "?"]
[Variant "Standard"]
[TimeControl "-"]
[ECO "D21"]
[Opening "Queen's Gambit Accepted: Normal Variation"]
[Termination "Unknown"]
[Annotator "lichess.org"]
Hi,
I had an issue with it not linking (using gcc (g++) 4.9.2-10). That was solved by adding apropriate -pthread here and there (see pull request).
Other problem is that it won't start at all:
root@platform-one:/usr/src/pulse# gdb /usr/local/./pulse-1.6.1-cpp
GNU gdb (GDB) 7.4.1-debian
...
Reading symbols from /usr/local/pulse-1.6.1-cpp...done.
(gdb) r
Starting program: /usr/local/pulse-1.6.1-cpp
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/arm-linux-gnueabihf/libthread_db.so.1".
[New Thread 0xb6f342d0 (LWP 19778)]
Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0xb6f342d0 (LWP 19778)]
0x00065c44 in execute_native_thread_routine ()
(gdb) bt
#0 0x00065c44 in execute_native_thread_routine ()
#1 0x0008385c in start_thread ()
#2 0x000b5338 in ?? ()
#3 0x000b5338 in ?? ()
Backtrace stopped: previous frame identical to this frame (corrupt stack?)
The main thread seems to be running though:
Thread 1 (Thread 0x135000 (LWP 19775)):
#0 0x00085ed0 in read () at ../sysdeps/unix/syscall-template.S:81
#1 0x0009cbf8 in _IO_new_file_underflow ()
#2 0x0009f19c in _IO_default_uflow ()
#3 0x0009f030 in __uflow ()
#4 0x0009b7f0 in getc ()
#5 0x000450c8 in __gnu_cxx::stdio_sync_filebuf<char, std::char_traits >::underflow() ()
#6 0x00027438 in std::basic_istream<char, std::char_traits >& std::getline<char, std::char_traits, std::allocator >(std::basic_istream<char, std::char_traits >&, std::basic_string<char, std::char_traits, std::allocator >&, char) ()
#7 0x0001a054 in pulse::Pulse::run() () at /usr/include/c++/4.9/bits/basic_string.h:2814
#8 0x00011984 in main () at /usr/src/pulse/src/main/cpp/main.cpp:24
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.