一种求解有限水平、有限状态随机动力程序的逆向归纳法的简单实现。

stochasticdp的Python项目详细描述


逆向归纳求解的一种简单实现 有限视界,有限空间随机动力程序。

安装

stochasticdp在pypi上可用:

pip install stochasticdp

用法

初始化随机动态程序:

dp=StochasticDP(number_of_stages,states,decisions,minimize)

其中

  • number_of_stages是一个整数
  • states是一个列表
  • decisions是一个列表
  • minimize是布尔值

这就产生了一个阶段编号的随机动态程序 0, ..., number_of_stages - 1,并初始化以下内容 词典:

  • dp.probability,其中dp.probability[m, n, t, x]是 在阶段^{tt11}中从状态n移动到状态m的概率$ 根据决定x
  • dp.contribution,其中dp.contribution[m, n, t, x]是 从状态n移动到 状态m处于阶段t处于决策x
  • dp.boundary,其中dp.boundary[n]是边界条件 对于状态为n
  • 的值go函数

您只需要定义转换的概率和贡献 以正概率发生。

您可以使用下面的helper函数来填充这些 词典:

# This sets dp.probability[m, n, t, x] = p and dp.contribution[m, n, t, x] = cdp.add_transition(stage=t,from_state=n,decision=x,to_state=m,probability=p,contribution=c)# This sets dp.boundary[n] = vdp.boundary(state=n,value=v)

求解随机动态程序:

value,policy=dp.solve()

其中

  • value是字典:value[t, n]是要去的值 阶段t和状态n
  • 的函数
  • policy是字典:policy[t, n]是一组优化器 第value[t, n]

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java Rest DSL路由无法启动路由,因为同一端点不允许有多个使用者   jvm有没有像JConsole或VisualVM这样的工具可以告诉我“类、对象、引用变量在java中存储在哪里?”   java为什么我的列表中的所有元素看起来都一样?   java运行时。运行shell脚本的exec无法打开文件   JPopupMenu的JMenuItem的java热键   会话在Java中被覆盖   如何在java中去除字符串中的尖锐重音?   java Mockito监视一个接口,模拟它的默认方法,获取NullPointerException   javascript如何在jquery中禁用同一时间选择   将数组列表附加到现有CSV文件,但它会附加并清除存储在Java文件中的以前的数据   java从我的jar中访问pdf文件   java Sonar issue参数必须为非Null,但标记为可为Null   java Salesforce流式API:在网络故障之后和重新订阅之前获取事件   在Java 1.8.0_65上运行Play2.0应用程序时出现playframework错误   java为什么字母的ASCII由方法自动转换。toCharArray()?   java如何知道JDialog是否关闭?   java向服务器发送POST请求,服务器的响应为null,启动   java如何设置JTable中特定单元格的值?   ImagePlus中的java保存问题