#!/bin/bash db_file=games_anon.db query() { echo "SELECT $1 FROM games WHERE (size == $2) \ and (result != '1-0') and (result != '0-1') and (result != '0-0')\ and (result != '1/2-1/2');" } extract() { cd data if [ ! -f "$db_file" ]; then wget "https://www.playtak.com/games_anon.db" fi for size in 5 6; do echo Extracing games of size "$size"... sqlite3 "$db_file" "$(query $1 $size)" | shuf > "playtak-$size" done cd .. } process() { echo -e "Beginning to process data\n" for i in 5 6; do echo "Size $i..." ./pptdb "$i" "data/playtak-$i" > "data/check-$i" tail -n21 "data/check-$i" echo Stripping overflows and illegal games... grep -Fvxf "data/check-$i" "data/playtak-$i" > "data/good-playtak-$i" # echo -n "Generating training data... " # ./pptdb "$i" "data/good-playtak-$i" generate # echo "Shuffling data..." # shuf "data/training-$i.csv" > "data/shuf-$i.csv" # mv "data/shuf-$i.csv" "data/training-$i.csv" echo done } if [ ! -f "data/playtak-5" ]; then extract notation,result fi if [ ! -f "pptdb" ]; then echo Preparing pptdb make pptdb fi # process shuf -n10000 data/good-playtak-5 > data/smalltak-5 && ./pptdb 5 data/smalltak-5 generate && \ head -n1 data/training-5.csv > t && tail -n+2 data/training-5.csv > data/train5.csv && shuf data/train5.csv >> t && mv t data/train5.csv