amchess / shashchess Goto Github PK
View Code? Open in Web Editor NEWA try to implement Alexander Shashin's theory on a Stockfish's derived chess engine
License: GNU General Public License v3.0
A try to implement Alexander Shashin's theory on a Stockfish's derived chess engine
License: GNU General Public License v3.0
Hello, I wanna implement only Capablanca algorithm. How I can do this?
Hello,
keos@kaos:~/Downloads
cd ShashChess-27.1
keos@kaos:~/Downloads/ShashChess-27.1
$ cd src
keos@kaos:~/Downloads/ShashChess-27.1/src
$ make help
make: *** There is no rule to build the 'help' target. Stop.
keos@kaos:~/Downloads/ShashChess-27.1/src
$ make net
make: *** There is no rule to build the target 'net'. Stop.
keos@kaos:~/Downloads/ShashChess-27.1/src
$
The executors do not work either, i tried all the options,
https://github.com/amchess/ShashChess/releases/tag/27.1
I will like to add that before I had installed this chess engine in version 16 without any problems.
*MXLinux operating system.
Thank you for any suggestions.
Intel Mac, Catalina 10.15.7
use this command
make profile-build ARCH=x86-64-bmi2 COMP=clang
strip shashchess
mv 'shashchess' 'ShashChess17-x86-64-bmi2'
make clean
Get one Error:
ld: library not found for -lws2_32
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [shashchess] Error 1
make: *** [build] Error 2
=> file not build
Get also four warnings
montecarlo.cpp:68:14: warning: unused variable 'REWARD_MATE' [-Wunused-const-variable]
const Reward REWARD_MATE = Reward(1.0);
^
In file included from montecarlo.cpp:30:
./montecarlo.h:110:10: warning: private field 'max_epsilon' is not used [-Wunused-private-field]
double max_epsilon = 0.99;
^
./montecarlo.h:111:10: warning: private field 'min_epsilon' is not used [-Wunused-private-field]
double min_epsilon = 0.00;
^
./montecarlo.h:112:10: warning: private field 'decay_rate' is not used [-Wunused-private-field]
double decay_rate = 0.8;
^
4 warnings generated.
Hello amchess,
can you host this mentioned above build https://drive.google.com/drive/folders/0B5Ao6h_yMCl6ay04RjVtUDVTUG8 on https://github.com/amchess/ShashChess/releases too?
The lifetime of a file on Zippyshare expires only 30 days after the last download.
Hey @amchess ,
I have a suggestion for you is that you update ShashChess and BrainLearn once/twice per month
If you are ok , go with it
If you just wanna align both with OFFICIAL Stockfish release why ? Since updating the engine every month makes it cooler
Hello, I have imported the code into Visual Studio and am trying to run the program. Which file do I run? Is it one of the Makefiles? I always get an error "Please select a valid startup item". Do I need to create a project first?
I apologize for my extremely basic questions as I don't have a strong background in coding. Am attempting to explore the applications of Shashin's methods to over the board thinking as I am a big fan of his book.
Thanks, Daren
None of my Chess interfaces -- HIARCS, ScidvsMac, or Nibbler -- recognize it as a UCI engine.
Mac OS Catalina 10.15.3 doesn't recognize "shashchess-16" as a Unix executable.
The ARM8 version does not work with Android 11 in realme UI V2.0. Hardware MT6785V/CD
6 cortex-A55, 2 cortex-A76
I don't know how to make it work with termux, the path to ndk could be more concise using the ndk from the msys environment variable, as is done in stockfish, I need help.
What would really help is a "Verbose" option that displays the value ratios of Mobility, Material, Space, Compactness, KP density, King Safety and the preferred algorithm T, C, P, TC,CP or TCP at every move. That is the real value added as we would know how this engine "thinks". Without it, its just another engine in a black box.
Hello, Andrea!
How do you do?
Could you write you phone to deal with telegram application and mail?
Here are my contacts:
[email protected] https://galaxy.group.keenetic.link/
Andrea, please write this way "Kozlov Sergey Aleksandrovitsch".
I just realized, that my fathers name should be written such way.
./c-chess-cli -each tc=10+0.2 option.Hash=8 option.Threads=1 depth=16 -engine cmd=stockfish nodes=200000 -engine cmd=ShashChess32-x86-64-modern nodes=200000 -games 100 -concurrency 4
Score of Stockfish dev-20230507-65e21505 vs ShashChess 32: 26 - 6 - 68 [0.600] 100
Hello,
Please, can you provide more details on how to get the private offline learning application?
"Not having it, the default performance is 0 (not applied)"
Thank you.
Arturo Ochoa.
Ok
It's not possible to compile with ARMv9.2, SVE2 support.
ARMv9.2, SVE2 should be used instead of old ARMv8.
Compile.
No response
Android
ShashChess 35
I'm trying to compile ShashChess in a Linux machine, and the lack of info on dependencies is making it a bit harder than it should be.
I solved the first issue by installing libcurl4-gnutls-dev, but now I get a new one ("/usr/bin/ld: cannot find -lws2_32").
So maybe it'd be a good idea to add library dependencies to the README file.
serch.cpp requer o arquivo curl.h que está ausente.
After download shashchess 12 there are files Brainlearn 9, is it mistake or alternative name?
Stockfish has a setting quite valuable to ICCF players: Uncheck 50-move draw rule in endgame TB's. ICCF removed such draw rules so the endgame TB can force checkmates that would normally have violated this outdated OTB rule.
I was looking for this same checkbox in ShashChess, and couldn't find it.
I saw two lichess bots with good CPU play and one of them was the strongest sf bot on lichess , shashchess won!!!! , this engine is really great tbh
Hi
Is it possible to make ShashChess, SugarNN play Chess Variants?
A Musketeer Chess Tournament will be held in the coming few months with interesting incentives.
See http://talkchess.com/forum3/viewtopic.php?f=7&t=72572 and also interesting discussions on Musketeer-Stockfish ianfab/Musketeer-Stockfish#3
The rules are easily found on www.musketeerchess.net or https://github.com/fsmosca/musketeer-chess
please feel free to email me at musketeerchess (a) gmail.vom
Thanks
Any plans to update ShashChess and Brainlearn to the latest SF architecture? I am curious to see how it performs with it!
Hi,
What would be the names of the experience files to merge them?
I currently have experience.bin and experience1.bin. With this when I load the engine in Chessbase it doesn't merge the experiences. What is the solution? Thanks!
The android bin ShashChess-9.0-arm64-pgo from https://github.com/amchess/ShashChess/releases/download/9.0/Android.7z does not work on my android phone. (SM-G975F, ARMv8-A, exynos9820, isntr set amr64-v8a), on which DroidFish is telling me that it is not executable.
How to build for Android uaing mingw/msys2?
Version 26.1 works (embedded armeabi v7a)
Hi,
When I try to compile your Engine I get this error:
search.cpp:44:10: fatal error: curl/curl.h: No such file or directory
#include <curl/curl.h>
^~~~~~~~~~~~~
compilation terminated.
make[2]: *** [: search.o] Error 1
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory '/home/Al/Engine-Source/shashChess/src/All'
make[1]: *** [Makefile:893: gcc-profile-make] Error 2
make[1]: Leaving directory '/home/Al/Engine-Source/shashChess/src/All'
make: *** [Makefile:751: profile-build] Error 2
Al@RPi4-SSD:~/Engine-Source/shashChess/src/All $
What I can I do to avoid this error?
Thanks,
Al.
Won't you update ShashChess???????
Hello,
I like very much this engine because it allows to play by ELO, but in version 3.0 when setup the engine to 2100 ELO it plays very weak, in version 2.0 it is ok.
Thanks.
Hi,
I was wondering about creating my own experience file for ShashChess. How does one do this?
Another question is regarding MCTS. How strong is MCTS compared to regular ShashChess? Also, what is the ideal number of full depth threads compared to regular ones?
Thank you!
some warnings and error on this version. Last version (18.2) was good.
Enviroment on Mac should be clean. Stockfish (last dev) and corchess (last dev, 25.10.) compiles without any warnings and error.
Log:
montecarlo.cpp:68:14: warning: unused variable 'REWARD_MATE' [-Wunused-const-variable]
const Reward REWARD_MATE = Reward(1.0);
^
In file included from montecarlo.cpp:30:
./montecarlo.h:110:10: warning: private field 'max_epsilon' is not used [-Wunused-private-field]
double max_epsilon = 0.99;
^
./montecarlo.h:111:10: warning: private field 'min_epsilon' is not used [-Wunused-private-field]
double min_epsilon = 0.00;
^
./montecarlo.h:112:10: warning: private field 'decay_rate' is not used [-Wunused-private-field]
double decay_rate = 0.8;
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[1]: *** [shashchess] Error 1
make: *** [build] Error 2
Can you build a Korean chess engine?
@amchess Please delete this issue.
Android 12
I stumbled across this SF-Fork and am i kinda interested in why you wrote down all the random zobrist keys by hand? I mean it must have been proven to be better than a simple call to some random function inside a loop. Do you have any proof for that? It's really interesting since I was also thinking about some better way to distribute the zobrist keys to reduce collisions-
https://github.com/amchess/ShashChess/blob/master/tests/HardPositions/HardPositions2022.epd
The entire test suite needs to be revised, there are:
bm
field.
Rxg7+
not Rg7
Without -DUSE_LIVEBOOK an error message occurs.
search.cpp: In member function 'virtual void Stockfish::MainThread::search()':
search.cpp:770:20: error: qualified-id in declaration before '(' token
770 | void Thread::search() {
| ^
Hello!
First, congrats! You did a great job with ShashChess. This is the greatest chess engine I had ever see.
But you can improve it. The MCTS mode is not good enough. It is giving wrong evaluation because of wrong variants (Generally it sees wrong sacrifices.)
Also, I want you to look the Scorpio Chess Engine (https://github.com/dshawul/Scorpio) 's MCTS for improve ShashChess's MCTS.
Except these, ShashChess is a super chess engine..
Thank you..
Hello,
When will you upload the Linux version for Shashchess 14? Thanks for such engines :) Very grateful. Also i am not able to run ShashChess 13.2. Not sure what the problem is, but when i run with pychess, it says failed to run engine.
cd ShashChess/src/All
make build ARCH=x86-64-bmi2 COMP=gcc COMPCXX=g++
search.cpp:44:10: fatal error: curl/curl.h: No such file or directory
44 | #include <curl/curl.h>
| ^~~~~~~~~~~~~
The include file 'curl.h' is missing.
Hi,
Since Version 15, it was said Monte Carlo was added.
But in ChessBase interface (Fritz), when selecting the Monte Carlo analysis, it says the Engine doesn't support it.
Is that normal?
thanks
Hello I have 8 regular threads, so I was wondering what the optimal number of full depth threads I would need
When I compare the numerical evaluations of ShashChess with two other strong engines (when the same move is chosen) I typically find something like this: Stockfish is 3x, while Dragon is 2x, that of ShashChess. This makes ShashChess difficult to integrate with other analyses. So, would it be possible to have a multiplier option in ShashChess? In my own experiments, multiplying its (non-zero) evaluations by 1.8 would make it more realistic and usable, but of course that decision could be left to the user. Perhaps you might want to set a maximum of 3. Of course 1 would leave ShashChess as it is now.
I got a problem with the ShashChess 34.6 as i am not able to load in newer eval files. The newest eval file that will load up without crashing the engine is nn-5af11540bbfe.nnue which was released quite a few months ago. I tested almost all eval files that is newer than the one i listed above and all of them failed to load crashing the engine. The following below was captured as an "informational" item listed in eventviewer. Not sure if the below error log will help you or not but its posted below.
Fault bucket 1782316213243264143, type 5
Event Name: RADAR_PRE_LEAK_64
Response: Not available
Cab Id: 0
Problem signature:
P1: ShashChess34.6-x86-64-avx2.exe
P2: 0.0.0.0
P3: 10.0.19045.2.0.0
P4:
P5:
P6:
P7:
P8:
P9:
P10:
Attached files:
\?\C:\Users\dude\AppData\Local\Temp\RDR4A2C.tmp\empty.txt
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER4A4D.tmp.WERInternalMetadata.xml
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER4A5D.tmp.xml
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER4A5F.tmp.csv
\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER4A8F.tmp.txt
These files may be available here:
Analysis symbol:
Rechecking for solution: 0
Report Id: a261876e-87a3-432c-ac5e-e8ea8927ef2f
Report Status: 268435456
Hashed bucket: d9049aec94e5f45478bc0f271fc8bc8f
Cab Guid: 0
Bad idea of the community: removal of the classical evaluation function.
It is indeed true that it is less strong than nnue, but, in reference to a human being,
-it is definitely, better
-is exploitable to adapt it to his level of play, since its elements are mappable to those found in traditional strategy books.
Basically, comparing classic Stockfish with nnue, you can see how far a human being can go and where the "inhuman" takes over.
Now, this genius makes that impossible.
This shows that the community members only care about pure game power, moreover, essentially, at ultra-rapid times.
This is of no help to the OTB player, indeed detrimental.
nnue evaluation function is a blackbox.
As such, you can't act on it: you can think of it as a linear combination of thousands of factors and relative weights both unknown.
In contrast, the classical evaluation function, certainly less strong, but better than any human being, has a dozen that can be mapped exactly to the thinking system of a human being.
Thus, such factors can be turned on or off as needed.
What we do and will continue to do with ShashChess with a REAL HANDICAP MODE simulating a human player.
What sense does it make for a human being to play the moves of an entity that often violates the strategic principles it already knows? Instead, the comparison with the classical evaluation function allows him to penetrate the meanders of nnue.
So instead the computer speaks Arabic even for Carlsen.
Research is meaningless unless it makes people's lives better: pure hypertrophic ego.
Now, the evaluation function is not at all dependent on the classical evaluation function.
Up to there, I'm all for it, but why remove it as an additional option?
The current stockfish handicap mode is ridiculous: random errors the more frequent the lower the elo.
Instead, a real handicap mode should simulate the thinking system of a certain elo range, which is impossible now for Stockfish.Originally in official-stockfish/Stockfish@af110e0#commitcomment-121631059
@amchess I appreciate this content. I shared it in mcostalba/Stockfish#324. Can you also share your opinion there?
Thank you very much
Hello.
I think ShashChess doesn't save every move in NN Persisted Self Learning Mode. I think it just saves opening moves and game ending moves. Can you do a version for saving every move?
Thank you.
In less pruning mode(3), I have analyzed one of the AlphaZero's matches. I had opened NN persisted Self Learning mode but it didn't remembered the move.( I was analyzed that move for 1 hours)
Is it a problem in my computer, or it really bugs?
If a patch passes the 10-games 25 min + 10 second test and the test suite, however it fails the short time control SPRT in stockfish, will it be merged (considering shashchess author prioritises longer time controls?)
I am trying to study the book which presumably you folks have already done.
Although embarrassed to admit it, I'm still making mistakes counting and want to practice with a tool that will give me immediate feedback.
Anything out there like this for Coach Shashin's parameters?
Also: Anyone have contact info for Alexander Shashin?
I'd like to pursue (online) lessons with him.
He's still listed as a coach with GMChess.com (aka GrandMaster Chess, but non one seems to be answering their contact email and many of their internal site links are dead.
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.