这可能属于国际象棋界的社区,但我从编程角度看问题,而不是教育学甚至国际象棋角度。
我知道有几项研究和尝试创造国际象棋引擎,它使用机器学习的一些变种来玩国际象棋(其中大多数通常是在主题上研究,而不是试图胜过蛮力方法,这是迄今为止优于其他方法),但很少尝试将机器学习应用于国际象棋教学法。
国际象棋教练/导师的主要原因之一是导师提供的个性化关注和指导。然后是否有可能创建一个国际象棋程序,使用机器学习来生成个性化的课程"根据用户的优势和劣势为用户服务?
课程不一定复杂,甚至可以从数据库生成相关职位,并要求用户“解决”问题。他们,然后给出答案(正确或不正确)的线或变化是一个很大的指示(因为,即使没有解释,变化通常就足够了)
主要问题是:
如果这个问题是抽象的或理论上的,我道歉,如果是的话,我会把它移到其他地方。
谢谢
答案 0 :(得分:1)
我首先让国际象棋程序将统计信息转储到CSV或JSON文件中,显示:
- 移动了哪些部分以及多久
- 直到将军发生了多少次行动
- 在一段时间内玩了多少场比赛。
- 随着时间的推移拍摄了多少件。等
醇>
您在挑选感兴趣的数据点或将用于训练ML算法的功能方面具有极大的灵活性。一旦将这些数据点放在一起并且数据文件可以用于您的算法,您就可以开始训练它并查看您获得的预测结果。然后需要调整您的实验,直到您获得确实有用的结果。
这是一个基于Python的随机Forrest算法以及a tutorial来帮助您入门:
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__"
当你开始行动时,这可能会非常有趣。让程序开始预测玩家的弱点取决于您选择收集哪些数据。
祝你好运。