软件版本与围棋软件的组成
01
软件版本
考虑到Python在机器学习和人工智能领域使用的广泛性和便利性,本系列文章使用Python语言来实现智能算法。现代软件工程方法可以说是日新月异,有时候各个软件包或者程序库的版本不一致,会导致代码无法运行,所以在最开始先固定好代码使用软件的版本可以最大限度地避免由于版本混乱导致的一系列运行问题。同时为了示范和演示的方便,本系列文章使用Windows操作系统来实现软件代码的编写,Python虽然支持多种操作系统,但是由于操作系统的差别,Python在个别函数上的表现会不一样,这一点需要使用其他操作系统的读者留意。如果由于软件版本的问题导致运行时报错,需要读者自行进行调整。
如果读者同时在Windows下安装了Python 2.x和Python 3.x,可以在运行时使用py-2或者py-3来指明自己是使用Python的哪个大版本。
关键软件版本清单:Windows 7(64位)、Python 3.7.6(AMD64)、TensorFlow 2.1.0。
推荐初学者安装与上面列表中相同的软件版本,本系列文章中的演示代码会尽量考虑到代码对不同软件版本的兼容性。推荐和鼓励读者使用其他计算机编程语言来复刻全部内容。Python的运行速度不是太快,所以本系列文章代码只能起到演示和说明的作用,并不适合投入实际生产当中使用。当然Python也有其优势,特别是在矩阵运算上处理非常方便,这个优秀功能可能继承自MATLAB或者R语言。
Keras是一个由Python编写的开源人工神经网络库,文章中关于神经网络的代码均基于它来实现。Keras框架现在已集成到了TensorFlow 2.x版本中。还在使用TensorFlow 1.x版本的计算机上需要额外安装Keras。本系列文章使用TensorFlow 2以上的版本,所以没有显式地指明Keras版本。
Windows下Python 2.7版本的标准软件库里已经下载不到可以使用的TensorFlow了,但是Linux的2.7版本还不受影响。
02
围棋软件的组成
Python是面向对象的语言,为了体现出这种编程方式的优越性,需要先把下围棋这件事情从现实系统中抽象出来。以如图2-1所示柯洁在2017年对战AlphaGo为例,这场对局出场的人物有柯洁、代Alph