使用viterbi算法通过网格图计算最佳路径的库。

viterbi-trellis的Python项目详细描述


使用Viterbi算法通过网格图计算最佳路径的库

The source for this project is available here


这个库提供了类ViterbiTrellis目前它只能做一件事: 通过网格图计算最佳路径。用户必须提供三个输入:

  1. 网格层结构,指定为列表列表。每个内部列表对应于 单层格架。外部列表中的第一项是起始层,而 最后一项是最后一层每个最里面的项都是一个表示状态的对象。这个 可以是原始类型(如int),也可以是元组或用户定义的类。
  2. 一个cost函数给出处于给定状态的代价。
  3. 一个转换函数,给出在两个特定状态之间转换的代价。

通过全局最小化状态代价和通过 维特比算法。

示例用法:

from viterbi_trellis import ViterbiTrellis
v = ViterbiTrellis([[2, 6, 4], [4, 6], [0, 2, 6]], lambda x: x / 2.0, lambda x, y: abs(y - x))
best_path = v.viterbi_best_path()

最佳路径中的返回值是最佳路径中状态的索引列表:

>>> best_path
[2, 0, 1]

此结果对应于输入网格中标记为[4,4,2]的状态

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

推荐PyPI第三方库


热门话题
算法图形。路径方向Java枚举方向问题无法使用EAST   Java:将字符串转换为特定语言环境   javaspringboot&Thymeleaf为后续调用保存搜索表单的最佳方法   mapreduce程序中未调用java reducer   java如何将url中的Gif文件保存到手机中?   如何在JavaSwing中使用[Esc]键最小化JInternalFrame?   java创建了一个包含100个按钮、80个空按钮和20个随机按钮的网格布局   如何在java中使用数组对2d字符串数组中的每一行进行排序。分类   java无法识别的SSL消息,纯文本连接?例外   为什么Java编译器允许在抛出部分列出方法无法抛出的异常   java将预测数组添加到训练数组   java从Ajax调用获取响应文本   使用改型2的java应用程序等待一分钟后退出