sandermvdb / chess22k Goto Github PK
View Code? Open in Web Editor NEWChessengine written in Java
License: GNU General Public License v3.0
Chessengine written in Java
License: GNU General Public License v3.0
Hello sir,
Would you provide this for android.
Thanks
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 - -
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.
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.
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.
Hi,
I was rewriting chess22k in C# and noticed that tests NodeCounter.java
and Perft.java
are throwing. Is that expected?
It's sad that it's not possible to compile the newest version on Android and Linux devices.
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.
It seems that it does not consider enemy attacks. Tested on this board:
6k1/4rp1p/6pP/3p2P1/5P2/3bP1K1/1q6/2R5 w - -
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
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.
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.
I am using Windows 7 64-Bit - do I use version 11 or higher from this site?
https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html
Shawn Weber
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.
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");
}
}
}
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.