rodent_iii's Issues
uci option "ponder" should be enabled
This option is used to tell the gui that "go ponder" is possible (at least on many engines i have seen so far).
Rodent can do pondering, but doesn't provide this flag.
See here: http://wbec-ridderkerk.nl/html/UCIProtocol.html
- = Ponder, type check
this means that the engine is able to ponder.
`book_gen.h` doesn't match `book_internal.cpp`
I don't know if you forgot to update book_internal.cpp or book_gen.h is outdated.
"go ponder infinite" shouldnt stop
Hi,
If the engine can answer with a book move, it pushes it out and stop searching.
But i think, the book should be turned off, when its running in infinite mode. see here:
* infinite
search until the "stop" command. Do not exit the search without being told so in this mode!
from http://wbec-ridderkerk.nl/html/UCIProtocol.html
What is my other issue doing? Recall the talkchess.
Jürgen
small update: if i use "useBook = false" its working, but maybe this can be done automatically.
Stackoverflow on std::list<cEngine> Engines(0);
Rodent_III/sources/src/main.cpp
Line 26 in 93b0963
I can't get over this stackoverflow issue when initializing the std::list. I get a file opened in Visual Studio called list.
I don't get whats wrong.
statically built engine gives a "Segmentation fault' on Ubuntu 14.04
I have Ubuntu 14 (g++ 4.8, unable to build the engine because of c++14 requirements), and another box with Ubuntu 16 (g++ 5.4, which builds the engine just fine).
Problem is, when I build the engine statically, hopefully, with no extra dependencies, and copy it to the Ubuntu 14 box, it starts, makes a few moves from the book, then (when the position is not in the book anymore and some thinking is requred), prints "Segmentation Fault" and dies.
I wonder what could be the reason, and is there any way to run the engine on Ubuntu 14 ?
particular personality all ways plays same moves
I installed rodent 3 to arean gui and some other guis and played few games what i noticed is given personality plays the same moves if i play same moves again. I'm not saying it copy my moves what i say is it do same thing over and over again which makes it essay to beat.
in chess in order to win opponent move should be somewhat unpredictable. This is a big issue that needs to be fixed.
How set personalities from uci?
hi.
Sorry i ask this but... how set the personalities in the command line?
I try this:
setoption name PersonalityFile value personalities/fun/drunk.txt
also try
setoption name PersonalityFile value drunk.txt
(nothing)
but... i dont get any answer. If i put "uci" again i dont see any change.
Thanks!
there isn't any release here
Can you draft a release?
[PVS] The '?:' operator, regardless of its conditional expression, always returns one and the same value.
Another PVS-Studio finding.
Take a look at void cParam::InitMobility()
in params.cpp, the last loop.
q_mob_mg[i] = Par.mob_style == 0 ? 1 * (i - 14) : 1 * (i - 14);
q_mob_eg[i] = Par.mob_style == 0 ? 2 * (i - 14) : 2 * (i - 14);
value of Par.mob_style
doesn't matter here
Auto version numbering
I saw that arasan gives each binary an individual version number.
https://github.com/jdart1/arasan-chess/blob/master/src/Makefile#L82
I thought having the same would be nice and came up with.
https://github.com/erbsenzaehler/Rodent_III/commits/version
It now gives something that looks like a revision number:
id name Rodent III 0.385 64-bit/GCC 7.1.1 20170630
But I do not know how to implement this this within vs or our buildme_vs2017.bat-script and cannot even test it.
Maybe somebody likes it and wants to push it further :)
missing personalities
There's a personality "wild" described in the docs, but it's not available after "sudo make install", I can see it in the distribution files, but it's not copied to /usr/local/share...
[PVS] An unconditional 'return' within a loop.
PVS-Studio found this weird loop in next.cpp
int cEngine::NextCapture(MOVES *m) {
int move;
while (m->next < m->last) {
move = SelectBest(m);
return move;
}
return 0;
}
I don't know if this a typo (while instead of if) or some logical error.
Suggestion: Path setup
Hi,
I get the feeling the path are the same problem as with RodentII.
When compiling, i think the basic.ini is searched in "book_dir", hmmmm
The path of the personalities files are with "book/..." which leaded to problems with RodentII ...i had to patch this to make it work inside picochess.
But for me its looks like the *.bin files are copied to the data_dir , and same for personality files.
=> i would suggest:
have different vars (-Dxxx) for
"where the basic.ini path is"
"where the book path is"
"where the personality path is"
"where the data_dir is".
Or make the first relative to the data_dir, even fixed path endings would be ok (for me)
If y define fixed path endings like always "books/" , yr pers files dont need to be changed, and y only have one -D (for the data_dir).
But must take into account these personality files with the guide_book path's.
I hope y can understand my "situation"
The "install" part of the makefile should be adapted too. I think, its altogether clearer to have books inside a books folder, and personalities in such pers folder, and ini files in an ini folder below "data_dir", no?
Include code from Rodent Risly by Roman T. Sovanyan
Add tico-tico 's real name as the author :)
bin files missing (from personalities)
Following bin files are missing:
guide/mini.bin
ph-gambitbook.bin
ph-exoticbook.bin
players/marshall.bin
players/reti.bin
guide/steinitz.bin
some can be found in the windows dist. but not all.
[PVS] A part of conditional expression is always true: Par.nps_limit
Another PVS-Studio warning, this time in search.cpp.
void cEngine::Slowdown() {
[...]
// Handling slowdown for weak levels
if (Par.nps_limit > 0) {
if (Par.nps_limit && root_depth > 1) { <-- here
int time = GetMS() - start_time + 1;
int nps = (int)GetNps(time);
while (nps > Par.nps_limit) {
WasteTime(10);
time = GetMS() - start_time + 1;
nps = (int)GetNps(time);
if ((!Glob.pondering && move_time >= 0 && GetMS() - start_time >= move_time)) {
Glob.abort_search = true;
return;
}
}
}
}
[...]
}
If it's not some logical error in the code, then first checking if (Par.nps_limit > 0)
can be safely removed.
Edit: BTW can't we replace && GetMS() - start_time >= move_time)
with && time >= move_time)
?
Rodent for android
Hi, please compile rodent for android.
Thanks!
Limited personalities are using internal book moves.
Just try, for instance, rita
personality.
step g2g3
, step e7e5
, the next move c2c4
is from the internal book. I don't think it was your intention to use the internal book that way and it should be disabled for weak personalities (or for all personalities with full set of books "main" and "guide", or some other way I don't know).
Linux Makefile needs some attention
After a recent update #46 linux Makefile needs some special care from real Linux users. It kinda works on my virtual Arch, but, for instance, for books/personalities I chose some random path 'coz I have no idea about your preferences. And there may be other issues.
Also to test the changes it's a good idea to replace basic.ini
generated by Makefile with supplied basic_example.ini
to see how loading personalities works.
Calling for @erbsenzaehler and @alwey .
feature request: implement "go searchmoves"
Hi,
our project "picochess" allows the user to get an alternative move.
For this i send the remaining moves to the engine with "searchmoves".
Looking inside uci.cpp this feature seems to be not implemented => therefore this request.
Thanks for consideration.
Jürgen
New features for Rodent and the other engines, Playing Musketeer Chess Variant and other variants
Hi
Nice to see inspiring and open source work.
Can you please consider a fork of your engine playing chess variants.
I'm especially interested in variants i created (and naturally other popular ones). Mine is Musketeer Chess. It is discussed in many forums and also there is Musketeer Stockfish a fork of Stockfish.
Please find details here:
https://github.com/ianfab/Musketeer-Stockfish
http://talkchess.com/forum3/viewtopic.php?f=7&t=72572
https://github.com/fsmosca/musketeer-chess
i'd like to create a chess server playing chess and chess variants. The majority of the servers that exist now are based on Stockfish or LC0. It's certainly much more interesting to have servers with other engines. Please mail me to musketeerchess (a) gmail .com to discuss this and make a good development plan;
Best regards
Zied
Arena GUI
Arena GUI randomly reporting "adjudication illegal move"
cMask::Init possible copy/paste issue
While refactoring i found this stuff:
outpost_map[WC] = bb_rel_rank[WC][RANK_4] | bb_rel_rank[WC][RANK_5] | bb_rel_rank[WC][RANK_6];
outpost_map[BC] = bb_rel_rank[BC][RANK_4] | bb_rel_rank[BC][RANK_5] | bb_rel_rank[BC][RANK_6];
outpost_map[WC] = outpost_map[WC] & bbNotA;
outpost_map[WC] = outpost_map[WC] & bbNotH;
outpost_map[BC] = outpost_map[WC] & bbNotA;
outpost_map[BC] = outpost_map[WC] & bbNotH;
take a look at the last two lines, don't you think that this should be better:
outpost_map[BC] = outpost_map[BC] & bbNotA;
outpost_map[BC] = outpost_map[BC] & bbNotH;
If you think that it's true, please just reply here, don't change the code, 'coz as i said i'm in the process of refactoring of this.
UCI option SearchSkill problem
cutechess reports an invalid range for SearchSkill
:
Invalid UCI option from rodentIII: option name SearchSkill type spin default 100 min 0 max 10
The default value does not match the boundaries.
Missing GPL3 license file
You can add it with a few click following https://help.github.com/articles/adding-a-license-to-a-repository/
No output from the engine in case of the invalid input
Stockfish:
lsdfjk
Unknown command: lsdfjk
setoption name MultiPV 10
No such option: MultiPV 10
I wish I get the error message every time I give invalid input or mistype something, but Rodent III keeps quiet no matter what I throw at it. Quite disconcerting.
cant compile on ubuntu
Hi,
when i download the files, and do a "make build" , i get the following error:
/tmp/ccamFmcG.ltrans1.ltrans.o: In Funktion __base_ctor ': /usr/include/c++/5/thread:137: Nicht definierter Verweis auf
pthread_create'
/tmp/ccamFmcG.ltrans1.ltrans.o: In Funktion std::thread::thread<ParseGo(POS*, char const*)::{lambda()#1}>(ParseGo(POS*, char const*)::{lambda()#1}&&) [clone .isra.73]': /usr/include/c++/5/thread:137: Nicht definierter Verweis auf
pthread_create'
/usr/bin/ld generated: Nicht definierter Verweis auf `pthread_create'
collect2: error: ld returned 1 exit status
Makefile:52: die Regel für Ziel „build“ scheiterte
make: *** [build] Fehler 1
=> some "pthread_create" problem. What to do?
Some other Q:
I remember, y said it needs "6months to get RodentIII so stable", it is OK to use live. But i see its already inside the ccrl...So=> how stable is it?
Jürgen
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.