Skip to content

Commit 8bc8043

Browse files
committed
added data preparation code
1 parent e5f51e2 commit 8bc8043

File tree

4 files changed

+432
-1
lines changed

4 files changed

+432
-1
lines changed

BitBoardGen/src/com/rahul/bbgen/BitBoard.java

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,32 @@ public void flipBit(int index) {
2121
bitBoard.flip(index);
2222
}
2323

24-
public String getBitBoard() {
24+
public String getPrettyBitBoard() {
2525
StringBuilder builder = new StringBuilder();
2626
for (int i = 0; i < BOARD_LENGTH; i++) {
2727
builder.append(bitBoard.get(i) ? 1 : 0);
2828
}
2929

3030
return builder.toString();
3131
}
32+
33+
/**
34+
* This method returns an array of doubles which can be fed directly into a
35+
* neural network
36+
*
37+
* @return array of doubles
38+
* @author rahul
39+
*/
40+
public double[] getBitBoard() {
41+
double[] array = new double[BOARD_LENGTH];
42+
for (int i = 0; i < BOARD_LENGTH; i++) {
43+
if (bitBoard.get(i))
44+
array[i] = 1.0;
45+
else
46+
array[i] = 0.0;
47+
}
48+
return array;
49+
}
3250

3351
public static void main(String[] args) {
3452
BitBoard bb = new BitBoard();
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
package com.rahul.bbgen;
2+
3+
import java.io.Serializable;
4+
import java.util.Arrays;
5+
6+
public class DataSetRow implements Serializable {
7+
8+
private static final long serialVersionUID = 1L;
9+
10+
private double[] WRooks;
11+
private double[] WBishops;
12+
private double[] WPawns;
13+
private double[] WKnights;
14+
private double[] WKing;
15+
private double[] WQueen;
16+
17+
private double[] BRooks;
18+
private double[] BBishops;
19+
private double[] BPawns;
20+
private double[] BKnights;
21+
private double[] BKing;
22+
private double[] BQueen;
23+
24+
private double[] evalScore;
25+
26+
public double[] getRow() {
27+
return concatAll(WRooks, WBishops, WPawns, WKnights, WKing, WQueen,
28+
BRooks, BBishops, BPawns, BKnights, BKing, BQueen);
29+
}
30+
31+
private double[] concatAll(double[] first, double[]... rest) {
32+
int totalLength = first.length;
33+
for (double[] array : rest) {
34+
totalLength += array.length;
35+
}
36+
double[] result = Arrays.copyOf(first, totalLength);
37+
int offset = first.length;
38+
for (double[] array : rest) {
39+
System.arraycopy(array, 0, result, offset, array.length);
40+
offset += array.length;
41+
}
42+
return result;
43+
}
44+
45+
public double[] getWRooks() {
46+
return WRooks;
47+
}
48+
49+
public void setWRooks(double[] wRooks) {
50+
WRooks = wRooks;
51+
}
52+
53+
public double[] getWBishops() {
54+
return WBishops;
55+
}
56+
57+
public void setWBishops(double[] wBishops) {
58+
WBishops = wBishops;
59+
}
60+
61+
public double[] getWPawns() {
62+
return WPawns;
63+
}
64+
65+
public void setWPawns(double[] wPawns) {
66+
WPawns = wPawns;
67+
}
68+
69+
public double[] getWKnights() {
70+
return WKnights;
71+
}
72+
73+
public void setWKnights(double[] wKnights) {
74+
WKnights = wKnights;
75+
}
76+
77+
public double[] getWKing() {
78+
return WKing;
79+
}
80+
81+
public void setWKing(double[] wKing) {
82+
WKing = wKing;
83+
}
84+
85+
public double[] getWQueen() {
86+
return WQueen;
87+
}
88+
89+
public void setWQueen(double[] wQueen) {
90+
WQueen = wQueen;
91+
}
92+
93+
public double[] getBRooks() {
94+
return BRooks;
95+
}
96+
97+
public void setBRooks(double[] bRooks) {
98+
BRooks = bRooks;
99+
}
100+
101+
public double[] getBBishops() {
102+
return BBishops;
103+
}
104+
105+
public void setBBishops(double[] bBishops) {
106+
BBishops = bBishops;
107+
}
108+
109+
public double[] getBPawns() {
110+
return BPawns;
111+
}
112+
113+
public void setBPawns(double[] bPawns) {
114+
BPawns = bPawns;
115+
}
116+
117+
public double[] getBKnights() {
118+
return BKnights;
119+
}
120+
121+
public void setBKnights(double[] bKnights) {
122+
BKnights = bKnights;
123+
}
124+
125+
public double[] getBKing() {
126+
return BKing;
127+
}
128+
129+
public void setBKing(double[] bKing) {
130+
BKing = bKing;
131+
}
132+
133+
public double[] getBQueen() {
134+
return BQueen;
135+
}
136+
137+
public void setBQueen(double[] bQueen) {
138+
BQueen = bQueen;
139+
}
140+
141+
public double[] getEvalScore() {
142+
return evalScore;
143+
}
144+
145+
public void setEvalScore(double[] evalScore) {
146+
this.evalScore = evalScore;
147+
}
148+
}

0 commit comments

Comments
 (0)