Git Product home page Git Product logo

rodent_iii's Issues

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

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!

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?

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) ?

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.

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 photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.