一、基础概念学习
1)一个过程,如果它的下一个状态依赖于一些随机因素,那么这个过程就是随机的。随机过程的结果通常是不确定的,因此,我们很少对随机过程的行为做出明确描述,而是对它可能的行为做出概率上的描述。
模拟模型会模仿实际系统的活动。它可以提供一些有价值的信息,这些信息是关于被模拟系统的可能的行为的。
2)随机游走:布朗运动是随机游走的一种。随机游走广泛应用于对物理过程(如扩散)、生物过程(如DNA在异源双链中替换RNA的动力学过程)和社会过程(如股市走向)的建模。
介绍随机游走原因:①从本质上说,随机游走非常有趣,而且应用广泛。
②它为我们提供了一个非常好的示例来学习如何使用抽象数据类型和继承。我们一般使用抽象数据类型和继承对程序进行结构化,一个特别的用处是进行模拟建模。
③它为我们提供了一个非常好的机会来学习更多Python语言特性,并可以演示一些生成图形的技术。
3)有偏随机游走
既然已经有了一个可用的模拟模型,我们就可以对其进行修改来研究其他类型的随机游走。游走仍然是随机的,但结果是有偏的。

图中请注意X轴和Y轴使用的都是对数标度,这可以通过调用绘图函数pylab.semilogx和semilogy实现。这些函数总是应用在当前图中。
4)“变换莫测的油田”例子重点注意:
①代码是高度结构化的,所以很容易适应建模情形的重大改变。就像可以在不修改Field的情况下添加不同类型的醉汉一样,我们也可以在不对Drunk及其任何子类进行修改的情况下,添加一种新的Field类型。
②在简单随机游走问题甚至有偏随机游走问题中,通过分析方法推导各种不同类型醉汉的预期行为还是比较可行的,但如果引入虫洞再做这些分析就很困难了。相比之下,修改模型以模拟新的情形则非常容易。与分析性模型相比,适应性强是模拟模型引以为傲的一大优点。
二、练习总结
1)模型类型:
①确定性模型(deterministic model):确定性模型(Deterministic model)是指不包含任何随机成分的模型。对于确定性模型,只要设定了输入和各个输入之间的关系,其输出也是确定的,而与实验次数无关。确定性模型事实上是一种简化了的随机性模型。
②随机模型(stochastic model):亦称“非确定的、概率的模型”,是按随机变量建立的模型。
③静态模型(static model):描述经济系统处于相对平衡状态时各种因素相互作用规律的一种经济数学模型。它主要研究均衡状态的数值和达到均衡状态所需的条件,而不考虑时间因素和达到均衡状态之前所经历的过程。
④动态模型(dynamic model):描述系统各量之间随时间变化而变化的规律的数学表达式。一般用微分方程或差分方程来表示。描述与操作时间和顺序有关的系统特征、影响更改的事件、事件的序列、事件的环境以及事件的组织的模型。
⑤离散模型(discrete model):能够对那些理论上是连续的,但在实际中只能趁察到离散取值的变童(比如:如果一个事件发生则取1,如果不发生则取0)建立模型。
⑥连续模型(continuous model):模型中的时间变量是在一定区间内变化的模型称为连续模型。
2)PROBLEM-3A
返回在范围(9,21)的数字,确定性模型
def deterministicNumber():
random.seed(0) # This will be discussed in the video "Drunken Simulations"
return 2 * random.randint(5, 10)
PROBLEM-3B
返回在范围(9,21)的数字,随机模型
def stochasticNumber():
return 2 * random.randint(5, 10)
3)PROBLEM-6

Code Sample A答案是 [8]. Code Sample B 一定会返回 [5, 5, 4, 6, 6, 7]。
网友评论