Tho*_*mas 2 python recursion artificial-intelligence greedy
我做了一个tic tac toe AI鉴于每个板状态,我的AI将返回一个确切的位置移动.(即使移动同样正确,每次选择相同的移动,也不会选择随机移动)
我还创建了一个函数,循环使用AI进行的所有可能的播放
因此它是一个递归函数,让AI为给定的板移动,然后让另一个游戏进行所有可能的移动,并在每个可能的移动中使用新板自己调用递归函数.
我这样做是因为人工智能首先出现,而当另一个首先出现时...并将它们加在一起.我最终获得了418次可能的胜利和115种可能的关系,以及0次可能的失败.
但现在我的问题是,如何最大限度地赢得胜利?我需要将这个统计数据与某些东西进行比较,但我无法弄清楚要将它与之进行比较.
你读过维基百科上的文章吗?链接
终端位置数量
当仅考虑电路板的状态时,并且在考虑电路板对称性(即旋转和反射)之后,仅有138个端子板位置.假设X每次都做出第一步:
可能的游戏数量
在不考虑对称性的情况下,可以通过精确的公式手动确定可能的游戏数量,这可以导致255,168种可能的游戏.假设X每次都做出第一步:
您可以从第一段生成138个终端板位置
要么
哟可以随机领域运行足够的测试和结果与统计数据从这里比较链接
Win in 5 moves 1440 0.6%
Win in 6 moves 5328 2.1%
Win in 7 moves 47952 18.8%
Win in 8 moves 72576 28.4%
Win in 9 moves 81792 32.1%
Draw 46080 18.1%
Total 255168 100.0%
Run Code Online (Sandbox Code Playgroud)