1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > java实现井字棋 人工智能 Storm之——实现井字棋游戏(人工智能)

java实现井字棋 人工智能 Storm之——实现井字棋游戏(人工智能)

时间:2018-08-28 16:39:35

相关推荐

java实现井字棋 人工智能 Storm之——实现井字棋游戏(人工智能)

一、下载源码

二、本地部署

这里,我们直接运行Topology可实现本地部署。

运行ScoringTopology的结果如下:

3597 [main] INFO com.lyz.storm.topology.ScoringTopology - SIMULATED LEAF NODE : [

---------

|O||X||O|

---------

|X||X||O|

---------

|O||X||X|

---------

] w/ state [GAME [OXOXXOOXX]: player(O)

history [ , X , X O , X O X, OX O X, XOX O X, XOX OO X, XOXXOO X,OXOXXOO X,]]

运行DrpcTopology的结果如下:

3922 [main] INFO com.lyz.storm.topology.DrpcTopology - Determing best move for O on:

---------

|X||O|| |

---------

| ||O|| |

---------

| || ||X|

---------

5419 [main] INFO com.lyz.storm.topology.DrpcTopology - RECEIVED RESPONSE [[[

---------

|X||O|| |

---------

| ||O|| |

---------

| ||O||X|

---------

[10000]]]]运行RecursiveTopology的结果如下:

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [ XXOOO XO]: player(O)

history [ , O , XO , XO O, XXO O, XXOO O, XXOO XO,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [ XXOOOX O]: player(O)

history [ , O , XO , XO O, XXO O, XXO O O, XXO OX O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [ XXOOO XO]: player(O)

history [ , O , XO , XO O, XXO O, XXO O O, XXO O XO,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [OXXOX O O]: player(O)

history [ , O , XO , XO O, XXO O, XXO O O, XXOX O O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [ XXOX OOO]: player(O)

history [ , O , XO , XO O, XXO O, XXO O O, XXOX O O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [OXXO XO O]: player(O)

history [ , O , XO , XO O, XXO O, XXO O O, XXO XO O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [ XXO XOOO]: player(O)

history [ , O , XO , XO O, XXO O, XXO O O, XXO XO O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [OXXO OXO]: player(O)

history [ , O , XO , XO O, XXO O, XXO O O, XXO OXO,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [ XXOX OOO]: player(O)

history [ , O , XO , XO O, XXO O, XXO OO, XXOX OO,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [ XXO XOOO]: player(O)

history [ , O , XO , XO O, XXO O, XXO OO, XXO X OO,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [OXXOX O O]: player(O)

history [ , O , XO , XO O, XOX O,O XOX O,OXXOX O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [O XOXXO O]: player(O)

history [ , O , XO , XO O, XOX O,O XOX O,O XOXX O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [O XOX OXO]: player(O)

history [ , O , XO , XO O, XOX O,O XOX O,O XOX XO,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [X XOX OOO]: player(O)

history [ , O , XO , XO O, XOX O, XOX O O,X XOX O O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [OXXOX O O]: player(O)

history [ , O , XO , XO O, XOX O, XOX O O, XXOX O O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [ XXOX OOO]: player(O)

history [ , O , XO , XO O, XOX O, XOX O O, XXOX O O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [O XOXXO O]: player(O)

history [ , O , XO , XO O, XOX O, XOX O O, XOXXO O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [ XOXXOOO]: player(O)

history [ , O , XO , XO O, XOX O, XOX O O, XOXXO O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [O XOX OXO]: player(O)

history [ , O , XO , XO O, XOX O, XOX O O, XOX OXO,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [X XOX OOO]: player(O)

history [ , O , XO , XO O, XOX O, XOX OO,X XOX OO,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [ XXOX OOO]: player(O)

history [ , O , XO , XO O, XOX O, XOX OO, XXOX OO,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [ XOXXOOO]: player(O)

history [ , O , XO , XO O, XOX O, XOX OO, XOXX OO,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [OXXOOX O]: player(O)

history [ , O , XO , XO O, XO X O,O XO X O,OXXO X O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [OXXO XO O]: player(O)

history [ , O , XO , XO O, XO X O,O XO X O,OXXO X O,]]

12500 [Thread-12-b-0] INFO com.lyz.storm.operators.isEndGame - END GAME [GAME [O XOXXO O]: player(O)

history [ , O , XO , XO O, XO X O,O XO X O,O XOXX O,]]

三、远程部署

为了在远程调用topology,需要启动一个SRPC服务器,启动这个服务和启动Storm中其他服务是一样的方法,用drpc作为参数执行storm脚本:

bin/storm drpcStorm集群会连接到DRPC服务器上接收命令。我们需要通过配置告诉Storm集群DRPC服务器的位置。在storm.yaml文件中如下配置:

drpc.servers:

- 'drpchost1 '

- 'drpchost2 '当配置了服务的服务器启动后,topology的提交方式和其他topology一样,DRPC客户端可以被其他任何需要大规模分布式异步处理的Java应用程序来使用。为了从本地客户端切换到远程,唯一需要改变的是DRPC客户端的命令。需要使用下面的代码来替换DrpcTopology类中的DRPC客户端:

//远程部署。host和port与storm.yaml文件中的配置一致

DRPCClient client = new DRPCClient("drpchost1", 3772);参数指定了DRPC服务的服务器和端口,需要和YAML文件中的配置一致。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。