棋类游戏算法有哪些