zjowowen's picture
init space
079c32c
raw
history blame
1.3 kB
import Board from '../board';
import { minmax, cache_hits } from '../minmax';
import { FIVE } from '../eval';
const enableVCT = true;
describe('minmax with vct', () => {
test('实战1', () => {
// 应该防守活四
const board = new Board(15);
const steps = [[7, 7], [8, 6], [6, 6], [8, 8], [7, 5], [7, 6], [8, 7], [6, 7], [8, 5], [9, 6], [8, 4], [9, 3], [11, 6], [10, 5], [9, 7], [10, 7], [5, 5], [6, 5], [10, 6], [7, 3], [8, 3], [8, 2], [11, 5], [7, 8], [11, 4], [11, 3], [5, 6], [5, 7], [3, 3], [4, 4], [11, 8], [11, 7], [12, 4], [13, 3], [13, 6], [12, 6], [10, 3], [12, 5], [12, 7], [10, 9], [10, 4], [9, 4], [9, 2], [9, 10], [7, 0], [8, 1], [13, 4], [14, 4], [10, 8], [10, 10], [8, 9], [10, 11], [13, 8], [12, 8], [13, 7], [13, 5], [8, 10], [10, 12], [10, 13], [11, 11], [12, 11], [11, 12], [13, 9], [13, 10], [11, 10], [9, 12]];
for (let i = 0; i < steps.length; i++) {
const [x, y] = steps[i];
board.put(x, y);
}
console.log(board.display());
const score = minmax(board, 1, 4, enableVCT);
console.log('minmax score1', score);
console.log('cache: search', cache_hits.search, ', total ', cache_hits.total, 'hit', cache_hits.hit, 'hit rate', cache_hits.hit / cache_hits.total)
expect([[8, 12], [12, 12]]).toContainEqual(score[1]);
});
});