一、绪论
项目 |
内容 |
这个作业属于哪个课程 |
[人工智能](https://edu.cnblogs.com/campus/buaa/BUAA-AI-2019) |
这个作业的要求在哪里 |
[作业要求](https://edu.cnblogs.com/campus/buaa/BUAA-AI-2019/homework/3215) |
我在这个课程的目标是 |
研究黄金点游戏 |
这个作业在哪个具体方面帮助我实现目标 |
学习人工智能的思考方式 |
#二、黄金点游戏介绍
规则:N个玩家,每人写一个或两个0~100之间的有理数 (不包括0或100),提交给服务器,服务器在当前回合结束时算出所有数字的平均值,然后乘以0.618(所谓黄金分割常数),得到G值。提交的数字最靠近G(取绝对值)的玩家得到N分,离G最远的玩家得到-2分,其他玩家得0分。只有一个玩家参与时不得分
#三、黄金点的思考
在游戏刚刚开始,由于未有历史数据,因此用正态分布进行估计,即猜测其均值为50*0.618=30.9。
第二次和第三次,我们假设玩家会使用上一次的均值作为此次的预测值,故每次乘0.618。
第四次以及以后的预测,利用卡尔曼滤波预测模型进行预测。
卡尔曼滤波器的递归过程:
具体操作过程如下:
1) 估计时刻k的状态:
X(k)=A∗X(k−1)+B∗u(k)
u(k) ,是系统输入,l维向量,表示k时刻的输入;
X(k),n维向量,表示k时刻观测状态的均值;
A,n∗n矩阵,表示状态从k−1到k在没有输入影响时转移方式;
B,n∗n矩阵,表示u(k)如何影响x(k).
2) 计算误差相关矩阵P, 度量估计值的精确程度:
P(k)=A∗P(k−1)∗AT+Q
Pk,n∗n方差矩阵,表示k时刻被观测的n个状态的方差。
Q=E(W2j) 是系统噪声的协方差阵,即系统框图中的Wj的协方差阵, Q 应该是不断变化的,为了简化,当作一个常数矩阵。
3) 计算卡尔曼增益:
K(k)=P(k)∗HT∗(H∗P(k)∗HT+R)−1
这里R=E(V2j), 是测量噪声的协方差(阵), 即系统框图中的 Vj 的协方差, 为了简化,也当作一个常数矩阵;
H,m∗n矩阵,表示状态x(k)如何被转换为观测z(k)。
由于我们的系统一般是单输入单输出,所以R是一个1×1的矩阵,即一个常数,上面的公式可以简化为:
K=P(k)∗HT(H∗P(k)∗HT+R)
4) 状态变量反馈的误差量:
e=Z(k)–H∗X(k)
这里的 Z(k) 是带噪声的测量量
5) 更新误差相关矩阵P
P(k)=P(k)–K∗H∗P(k)
6) 更新状态变量:
X(k)=X(k)+K∗e=X(k)+K∗(Z(k)–H∗X(k))
7) 最后的输出:
Y(k)=H∗X(k)