美文网首页
Probabilistic Robotics 概率机器人 课后习

Probabilistic Robotics 概率机器人 课后习

作者: 肥猫有梦想 | 来源:发表于2022-04-20 10:34 被阅读0次

    修正了原文的一些错误

    第二章习题

    1.

    机器人使用一个可以测量 0~3m 距离的传感器。为了简化,假定真实的距离在这个范围中均匀分布。很不幸的是,传感器会坏掉。当传感器故障时,不管传感器的锥形测量范围内实际测距结果应该是多少,其输出测距值均小于 1m 已知对于传感器故障的先验概率是 p= 0. 01

    设想机器人查询了 N 次传感器,每次测量值都小于 1m 。对于 N=1, 2, …, 10 的传感器故障的后验概率是多少?用公式表示相关的概率模型。

    答:传感器故障状态为X(良好 0 , 故障 1 ),

    P(X=0) = 0.99

    P(X=1) = 0.01

    测量值为Z

    P(Z<1|X=1)=1; P(Z<1|X=0)=\frac{1}{3};

    传感器故障的后验概率为:

    P(X=1|Z<1) = \frac{P(Z<1|X=1) P(X=1) }{P(Z<1)} =\frac{P(Z<1|X=1) P(X=1) }{P(Z<1|X=0) P(X=0)+ P(Z<1|X=1) P(X=1)}

    传感器在每多接受一次小于1的测量值时,都更有可能故障了,需要更新传感器故障的后验概率,而不再是恒定的先验概率。

    N=1时,P(X_1=1|Z<1) = \frac{P(Z<1|X_0=1) P(X_0=1) }{P(Z<1)} =\frac{P(Z<1|X_0=1) P(X_0=1) }{P(Z<1|X_0=0) P(X_0=0)+ P(Z<1|X_0=1) P(X_0=1)}

    = \frac{1\times 0.01}{1\times 0.01+\frac{1}{3} \times 0.99} =\frac{1}{34}

    更新传感器故障的概率P(X=0) = \frac{33}{34}, P(X=1) = \frac{1}{34}

    N=2时,P(X_2=1|Z<1) = \frac{P(Z<1|X_1=1) P(X_1=1) }{P(Z<1)} =\frac{P(Z<1|X_1=1) P(X_1=1) }{P(Z<1|X_1=0) P(X_1=0)+ P(Z<1|X_1=1) P(X_1=1)}

    = \frac{1 \times \frac{1}{34}}{1 \times \frac{1}{34} +\frac{1}{3} \times \frac{33}{34}} = \frac{1}{12}

    更新传感器故障的概率P(X=0) = \frac{11}{12}, P(X=1) = \frac{1}{12}

    ...

    P(X_N=1|Z<1) = \frac{P(Z<1|X_{N-1}=1) P(X_{N-1}=1) }{P(Z<1)} =\frac{P(Z<1|X_{N-1}=1) P(X_{N-1}=1) }{P(Z<1|X_{N-1}=0) P(X_{N-1}=0)+ P(Z<1|X_{N-1}=1) P(X_{N-1}=1)}

    2.

    设想住在一个白天天气为晴、多云或者雨的地方。天气转移函数是如下的转移表所示的马尔可夫链:

    今天是\明天是 1晴 2多云 3雨
    1晴 0.8 0.2 0
    2多云 0.4 0.4 0.2
    3雨 0.2 0.6 0.2

    (a) 设第1天是晴 (Day1 = sunny),接下来第 2 天是多云、第 3天是多云、 第 4 天是雨天 (Day2 = cloudy、 Day3 = cloudy、 Day4 = rainy) 的概率是多少?

    X=1,2,3(晴,多云,雨)

    P(X_1=1)=1,P(X_1=2)=0,P(X_1=3)=0

    P(X_2=2)=P(X_2|X_1=1)P(X_1=1) =0.2

    全概率公式

    P(X_2=1)=0.8,P(X_2=2)=0.2,P(X_2=3)=0

    接下来一天晴的概率 = 晴转晴概率 * 前一天晴的概率 +多云转晴概率*前一天多云的概率+雨转晴的概率*前一天雨的概率

    P(X_3=1)=P(X_3=1|X_2=1) P(X_2=1)+P(X_3=1|X_2=2) P(X_2=2)+P(X_3=1|X_2=3) P(X_2=3)=0.8*0.8+0.4*0.2+0.2*0=0.72

    P(X_3=2)=P(X_3=2|X_2=1) P(X_2=1)+P(X_3=2|X_2=2) P(X_2=2)+P(X_3=2|X_2=3) P(X_2=3)=0.2*0.8+0.4*0.2+0.6*0=0.24

    P(X_3=3)=P(X_3=3|X_2=1) P(X_2=1)+P(X_3=3|X_2=2) P(X_2=2)+P(X_3=3|X_2=3) P(X_2=3)=0*0.8+0.2*0.2+0.2*0=0.04

    P(X_3=1)=0.72,P(X_3=2)=0.24,P(X_3=3)=0.04

    P(X_4=1)=P(X_4=1|X_3=1) P(X_3=1)+P(X_4=1|X_3=2) P(X_3=2)+P(X_4=1|X_3=3) P(X_3=3)=0.8*0.72+0.4*0.24+0.2*0.04=0.68

    P(X_4=2)=P(X_4=2|X_3=1) P(X_3=1)+P(X_4=2|X_3=2) P(X_3=2)+P(X_4=2|X_3=3) P(X_3=3)=0.2*0.72+0.4*0.24+0.6*0.04=0.264

    P(X_4=3)=P(X_4=3|X_3=1) P(X_3=1)+P(X_4=3|X_3=2) P(X_3=2)+P(X_4=3|X_3=3) P(X_3=3)=0*0.72+0.2*0.24+0.2*0.04=0.056

    (b) 根据这个状态转移函数写出一个能随机产生“天气”序列的仿真器。

    初始值

    P(X_{yesterday}=1)=1 ,P(X_{yesterday}=2)=0 ,P(X_{yesterday}=3)=0 ,

    维护前一天三种天气情况的概率

    P(X_{yesterday}=1) ,P(X_{yesterday}=2) ,P(X_{yesterday}=3)

    利用全概率公式求今天三种天气情况的概率

    P(X_{today}=1)=P(X_{today}=1|X_{yesterday}=1) P(X_{yesterday}=1)+P(X_{today}=1|X_{yesterday}=2) P(X_{yesterday}=2)+P(X_{today}=1|X_{yesterday}=3) P(X_{yesterday}=3)

    P(X_{today}=2)=P(X_{today}=2|X_{yesterday}=1) P(X_{yesterday}=1)+P(X_{today}=2|X_{yesterday}=2) P(X_{yesterday}=2)+P(X_{today}=2|X_{yesterday}=3) P(X_{yesterday}=3)

    P(X_{today}=3)=P(X_{today}=3|X_{yesterday}=1) P(X_{yesterday}=1)+P(X_{today}=3|X_{yesterday}=2) P(X_{yesterday}=2)+P(X_{today}=3|X_{yesterday}=3) P(X_{yesterday}=3)

    迭代下去

    P(X_{yesterday}=1)=P(X_{today}=1)

    P(X_{yesterday}=2)=P(X_{today}=2)

    P(X_{yesterday}=3)=P(X_{today}=3)

    迭代到平稳分布

    P(X_{yesterday}=1)==P(X_{today}=1)

    P(X_{yesterday}=2)==P(X_{today}=2)

    P(X_{yesterday}=3)==P(X_{today}=3)

    这里我做了一个仿真,三个数字分别是每天晴天,多云和雨天的概率,可以看到10天之后基本上已经保持不变了


    mujl07PFxZ.png

    (c) 使用你的仿真器确定这个马尔可夫链的平稳分布。平稳分布衡量任意一天是晴、多云或雨的概率。

    以上是个时齐马尔科夫链和状态转移矩阵 T

    P(X_i)=T P(X_{i-1})

    一直迭代下去,非周期的马尔科夫链的状态的概率不再变化。与初始值无关,

    平稳分布 lim_{n \to \infty} T_{ij}^n =\pi (j)

    P(X)=T P(X)

    平稳分布是状态转移矩阵的特征向量

    (d) 你能制定一个闭式方案来根据上面的状态转移矩阵计算平稳分布吗?

    平稳分布是状态转移矩阵的特征向量 P(X)=T P(X)

    (e) 平稳分布的墒是多少?

    H_p(x)=E[-log_2 p(x)] = -\Sigma_x p(x) log_2 p(x) = -\int p(x) log_2 p(x) dx

    (f) 利用贝叶斯准则,计算给定今天天气时昨天天气的概率表。提供数值概率即可,可以依赖本练习中前面间题的结果。

    贝叶斯准则: p(x|y) =\frac{p(y|x) p(x)}{p(y)} = \frac{p(y|x) p(x)}{\Sigma_{x'} p(y|x')p(x')dx' }

    P(X_{yesterday}=1|X_{today} = 1) =\frac{P(X_{today}=1|X_{yesterday}=1) P(X_{yesterday}=1) }{P(X_{today} =1)} = \frac{P(X_{today}=1|X_{yesterday}=1) P(X_{yesterday}=1) }{P(X_{today} =1 |X_{yesterday} =1)+ P(X_{today} =1 |X_{yesterday} =2) +P(X_{today} =1 |X_{yesterday} =3)}
    这里分母少乘了个先验

    (g) 假设将季节加入到该模型中。上面的状态转移函数仅能应用于夏天, 而不同的模型将应用于冬天、春天和秋天。这会扰乱这个过程的马尔可夫特性吗?解释你的答案。

    马尔科夫特性指已知当前状态情况下,过去事件与未来相互独立。这一时刻的状态只与上一时刻有关,与再之前时刻无关。

    如果加入季节,只会影响状态转移矩阵,仍然保持马尔科夫性。

    3.

    假设不能直接观测天气,但是可以依靠传感器。间题是传感器本身是有噪声的。其测量受到下面的测量模型控制:

    实际天气是\传感器观测到 多云
    0.6 0.4 0
    多云 0.3 0.7 0
    0 0 1

    (a) 设第 1 天是晴(这是一个已知事实),传感器观测到的接下来的 4 天为 多云、多云、雨、晴,则第 5 天用传感器预测为晴的概率是多少?

    (b) 再一次,假定已知第 1 天是晴。在第 2~4 天,传感器测量为晴、晴、 雨。对第 2~4 天,当天最可能的天气是怎样的?用两种方式回答问题:一种是只有讨论那天的数据是可用的;另一种是基于后见之明的,未来几天的数据也是可用的。

    (c) 考虑同一种情况(第 1 天晴,第 2~4 天的测量分别是晴、晴、雨)。 对第 2~4 天的天气最有可能是什么样的?这个最可能序列的概率是多少?

    4.

    在这个练习中将把贝叶斯准则应用到高斯情况。假设是一个位于长直道路上的移动机器人。位置 x 将是简单地沿着这条路的某个位置。现在假设最初,认为位置 x_{init} = 1000m ,但碰巧知道这个估计是不确定的。基于这种不确定性, 用高斯建立方差为\sigma^2_{init} =900m^2 的初始置信度模型。

    为了得到关于位置的更多信息,查询一个 GPS 接收器。 GPS 告诉位置是 Z_{GPS} = 1100m 。已知该 GPS 接收器的误差方差为 \sigma_{init}= 100m^2

    (a) 写出先验 p(x) 和测量 p(z|x) 的概率密度函数。

    (b) 使用贝叶斯准则,后验 p(x|z) 是多少?你能证明它是一个高斯分布吗?

    (c) 测量 x_{GPS} = 1100m 怎样得出先验和 GPS 接收器的误差概率信息?

    线索:这是一个处理二次表达式的练习。

    5.

    由式 (2.17) 推导式 (2.18) 和式 (2.19), 以及本书叙述的概率法则。

    以其他变量 z 为条件的相互独立的随机变量条件联合概率定律:

    (2.17) p(x,y|z)= p(x|z)p(y|z)

    这种关系被称为条件独立 (condition independence) 。

    (2.18) p(x|z)=p(x|z,y)

    (2.19) p(y|z)=p(y|z,x)

    6.

    证明式 (2. 25) 。这个等式的意义是什么?

    X的协方差

    (2.25) Cov[X] = E[X-E[X]]^2 =E[X^2] -E[X]^2

    相关文章

      网友评论

          本文标题:Probabilistic Robotics 概率机器人 课后习

          本文链接:https://www.haomeiwen.com/subject/qzxvertx.html