这可能属于国际象棋SE社区,但我从编程的角度看待这个问题,而不是从教学甚至国际象棋的角度。
我知道有几个研究和尝试创建国际象棋引擎,这些引擎使用机器学习的某些变体来play国际象棋(其中大多数是在本课题中研究的,而不是试图超越比其他方法要好得多的蛮力方法),但很少有人尝试将机器学习应用到象棋教学中。
国际象棋教练/导师的主要原因之一是导师提供的个性化关注和指导。那么,是否有可能创建一个国际象棋程序,利用机器学习,根据用户的优势和弱点为用户提供个性化的“课程”?
课程不一定很复杂,甚至可以从数据库中生成相关的位置,并要求用户“解决”这些问题,然后给出一行或变体来响应一个答案(正确或不正确)是大量的指导(因为,即使没有解释,这些变化也往往足够)。
主要问题是:
如果这个问题是抽象的还是理论的,我很抱歉,如果是的话,我会把它移到别处去。
谢谢
发布于 2015-01-07 17:09:10
我首先让象棋程序将统计信息转储到CSV或JSON文件中,显示:
在选择数据、兴趣点或将用于训练ML算法的特性方面,您有很大的灵活性。一旦您将这些数据点和一个可供您的算法使用的数据文件放在一起,您就可以开始对其进行训练,并查看您得到的预测结果。然后,需要调整你的实验,直到你得到的结果确实是有用的。
下面是一个基于Python的随机Forrest算法和教程,让您开始工作:
from sklearn.ensemble import RandomForestClassifier
from numpy import genfromtxt, savetxt
def main():
#create the training & test sets, skipping the header row with [1:]
dataset = genfromtxt(open('Data/train.csv','r'), delimiter=',', dtype='f8')[1:]
target = [x[0] for x in dataset]
train = [x[1:] for x in dataset]
test = genfromtxt(open('Data/test.csv','r'), delimiter=',', dtype='f8')[1:]
#create and train the random forest
#multi-core CPUs can use: rf = RandomForestClassifier(n_estimators=100, n_jobs=2)
rf = RandomForestClassifier(n_estimators=100)
rf.fit(train, target)
savetxt('Data/submission2.csv', rf.predict(test), delimiter=',', fmt='%f')
if __name__=="__main__"当你开始的时候,这可能会很有趣。让程序开始预测玩家的弱点将取决于你选择收集什么数据。
祝好运。
https://stackoverflow.com/questions/27824546
复制相似问题