Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

can you supports Korean chess(Janggi), which is a variation of chess? #43

Open
KDKOA opened this issue Aug 7, 2020 · 1 comment
Open
Labels
enhancement New feature or request question Further information is requested

Comments

@KDKOA
Copy link

KDKOA commented Aug 7, 2020

japanese chess(Shogi) https://github.com/kobanium/aobazero
chinese chess(Xiangqi) https://github.com/leedavid/leela-chess-to-Chinese-Chess

If you could supports korean chess(janggi), could you please distributed computing server use as methods like other chess variations above?
example using client exe or google colab etc

ianfab's Fairy Stockfish engine supported Korean chess(janggi), and Gui supported Korean chess(janggi) as winboard and cute chess.

@QueensGambit
Copy link
Owner

Hello @KDKOA and thank you for suggestion.
I'm not that familiar with Asian chess variants but e.g. shogi appeals to me because it shares similarities with crazyhouse and is more balanced.

Adding Fairy-Stockfish as a new back-end is now less complicated as a generic state interface was recently added.
https://github.com/QueensGambit/CrazyAra/blob/master/engine/src/state.h
In addition, a few things would need to be added, such as the definition of a policy output vector and a different input representation.
https://github.com/QueensGambit/CrazyAra/blob/master/engine/src/domain/crazyhouse/constants.h#L161

We are considering what steps to take next after extending to more lichess variants.
With a PhD student, I started to integrate the pommerman, a multi-agent, non-chess environment.
https://github.com/tomatenbrei/pomcpp
https://www.pommerman.com/

In my eyes the CrazyAra project serves a different purpose than Leela-Zero, Lc0 and other Leela forks.
It is not meant to be a distributed community project with a common training server and data server infrastructure and I would currently be unable to manage this in parallel to my work at the university.
It could also lead to conflicts where multiple communities compete for computing resources of volunteers.
Instead, CrazyAra aims to have a more flexible back-end and to be an open, publication-oriented research project.

A less computational intensive starting point for janggi could be to train a neural network on human expert or engine games.
CrazyAra uses the python-chess library to prepare the training data set for this.
Janggi is not supported by python-chess, and I'm not sure if there exists a similar library for janggi.
However, I found a recently started AlphaZero project for janggi on GitHub which offers the main functionality for janggi.

@QueensGambit QueensGambit added enhancement New feature or request question Further information is requested labels Aug 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request question Further information is requested
Projects
None yet
Development

No branches or pull requests

2 participants