Git Product home page Git Product logo

chess22k's People

Contributors

sandermvdb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

chess22k's Issues

Screwed detection

If i understood screwed detection serves to detect pieces that you can capture when giving a safe check. It does not detect screwed pieces that are not behind the king:
3k4/8/8/8/7r/2B5/8/K7 w - -

It may be detecting screwed pieces that could be defended by the king:
1r1k4/7R/8/8/8/8/8/K7 w - -

why compose Java and Bitboard

BitBord is suitable for bit operation,it efficient in lowe level language such as C,thats the good part,the bad part is it hard to read for human.I dont quite understand the composition you choose.

whitePromotionDistance < blackPromotionDistance - 1

Hello,
this is a feature request for the pawns evaluation function.
In the java file https://github.com/sandermvdb/chess22k/blob/master/src/main/java/nl/s22k/chess/eval/PassedPawnEval.java there is a block:
if (whitePromotionDistance < blackPromotionDistance - 1) {
score += 350;
} else if (whitePromotionDistance > blackPromotionDistance + 1) {
score -= 350;
}
This code doesn't include the score into the endgame part of the eval, which should be not good ... I assume that in endgames it is even more important to handle these cases. Probably the ELO would be more if this is implemented. Also it is good to have a bonus of 175 for promotionDistance == 2, when the pawn cannot be stopped similar to promotionDistance == 1.
And another topic: in KPsvKPs endgames would be good to have implemented unstoppable passers logic.

Chess22k 1.12 doesn't works

Hello Mr.,
I tried to install Chess22k 1.12 in Arena 3.5.1, but doesn't work/ Whent I try to change the engine properties it apears nothing. Also it doesn't move at all.
Chess22k 1.11 it works fine.
I have Java 10.0.2 installed.
Thanks.

Tests not working properly

Hi,
I was rewriting chess22k in C# and noticed that tests NodeCounter.java and Perft.java are throwing. Is that expected?

Some issues in the C# port

Hey, it's me again.

So, I was running the port with EngineConstants.Assert = true and was getting an error in ChessBoardTestUtil.TestValues().

I'm not really sure what's going wrong. To me, it looks like the only possible source of modification is the UCI "startpos" command. However, I'm not sure why the error is not there in the single-threaded version and also absent from the Java version.

Since the C# one is essentially a line-by-line rewrite of the Java version, I was hoping you'd have some idea as to what could be the cause of the error.

King blocked at last rank

It seems that it does not consider enemy attacks. Tested on this board:
6k1/4rp1p/6pP/3p2P1/5P2/3bP1K1/1q6/2R5 w - -

start chess22k ?

i did a git clone but how to start chess22k ? The README states "The binary is build using Java 14. Also a Java 11 binary is supplied." but i see no binary .. how to build it ? I'm on Xubuntu 20.04

Chess22k 1.8 under Windows 10

Hello,
This engine works in Windows 10?
If it works, please tell me what else should I do besides install Oracle Java 9?
After I installed Oracle Java 9 and double click on the engine, nothing happens.
And when I try to install in a GUI, the GUI asks for .exe files.
Thanks a lot.

PawnEvalCache key

It seems that pawn evaluation is using king position in evaluation but the board pawnZobristKey does not consider king position, it may lead to getting wrong evaluation values from cache.

Prospective improvements in the C# port

Hey, it's me again. So, the C# port is live at https://github.com/respel/Chess22kDotNet.
In one of our previous discussions, you mentioned some stuff that you would like to implement in the C# port. I'm quoting you here

These are some features I would like to implement which are currently not possible in Java:
*use a long array for the hashtable with more than 2^31 entries
*use struct items in the hashtable instead of 2 long values
*add endgame tablebase support by calling external libraries

I'm interested in implementing them. Can you expand a bit more on exactly what hash tables were you talking about here?

Another thing I was thinking about was to make a library out of the common code and then make the engine use that. However, I guess that would render the engine much weaker, so wasn't totally sure whether to go forward with it.

Wrong node count for Kiwipete Perft

Not sure if something is wrong on my end, or the library, but i am getting wrong node count for Perft:

I get Depth: 4 Perft rezult: 4078017 total nodes, whereas it is supposed to be 4085603

package nl.s22k.chess;
import nl.s22k.chess.maintests.Perft;
import nl.s22k.chess.search.ThreadData;
public class TestPerftChess22k {
   public static void main(String[] args) {
      ChessBoardInstances.init(1);
      ThreadData.initInstances(1);
      ChessBoard cb = ChessBoardInstances.get(0);
      ThreadData threadData = ThreadData.getInstance(0);
      ChessBoardUtil.setFen("r3k2r/p1ppqpb1/bn2pnp1/3PN3/1p2P3/2N2Q1p/PPPBBPPP/R3K2R w KQkq -", cb);
      for(int i=2; i<7; ++i) {
         long startTime = System.nanoTime();
         long nodes = Perft.perft(cb, threadData, i);
         long stopTime = System.nanoTime();
         double runTime = (stopTime-startTime)/1000000000.00 ;
         System.out.println("Depth: "+i+" Perft rezult: " + nodes + " total nodes in " 
            + runTime + " seconds, or " + (nodes/runTime)/1000000.00 + " Mn/s");
      }
   }
}

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.