This project is about teaching an AI to play Schafkopf.
It covers topics such as:
- low-level programming in C#
- usage of memory-efficient structs
- parallel / branchless techniques and SIMD
- usage of unsafe pointer arithmetics
- DDD / TDD techniques
- concepts are properly modeled for low coupling
- tests allow to gradually enhance the game logic with better performing structures / algorithms
- AI training
- custom neural network framework
- several approaches to train agents (wip)
sudo apt-get update && sudo apt-get install -y dotnet-sdk-7.0git clone https://github.com/Bonifatius94/Schafkopf.AI
cd Schafkopf.AIdotnet test --configuration Releasedotnet run --configuration Release \
--project Schafkopf.Lib.Benchmarks/Schafkopf.Lib.Benchmarks.csprojdotnet run --configuration Release \
--project Schafkopf.Training/Schafkopf.Training.csprojDISCLAIMER: The training is currently under construction and won't deliver any results yet.
sudo apt-get update && sudo apt-get install -y docker.io docker-compose
sudo usermod -aG docker $USER && rebootdocker-compose -f train-compose.yml build && \
docker-compose -f train-compose.yml upDISCLAIMER: The training is currently under construction and won't deliver any results yet.