Abstract

  本文提出了一种新的方法来寻找不相交k最优路径。最坏情况下计算复杂度为N3log(N)。该方法比WVD算法(https://www.cnblogs.com/walker-lin/p/11051983.html)速度更快。

Introduction

  WVD算法中,计算复杂度随着虚警(false alarms)的增加呈指数增加,这限制了算法适用更多的场景。

  本文提出的算法are based on a transformation of the K-path trellis problem into an equivalent minimum cost nenvork flow (MCNF) problem。而解决MCNF问题的复杂度随着measurements总数的增加呈多项式增加。
equivalent minimum cost nenvork flow formultion

  不相交k最优路径:a)不相交;b)k条路径的总成本最少。

  

  1)如果满足:

    a)不要求路径不相交;

    b)添加第0层和第T+1层,第0层和第T+1层都只有一个node;第0层到第1层、第T层到第T+1层的arc cost都为0;

    c)第0层有K个单位的输入flow,第T+1层有k个单位的输出flow。

    则不相交k最优路径问题 → MCNF问题:

    

    此时,k最优路径(不要求不相交)转换为:

    

    

    其中,xij表示arc flow,cij表示arc cost。

  2)为了满足不相交约束,for each set Nt,t = 2,...,T- 1, 对每一个node添加一个对应node*,且node到node*的arc cost等于0,
    

    

    那么,不相交k最优路径可以转换为以下问题:

    

    

    nt中的node最多被使用一次。

算法性能比较

  假设Nt=M,t=1,2,......,T。

  算法1:WVD算法;算法2:ε-relaxation algorithm in [Dual coordinate step methods for linear network flow problems]。

  计算法复杂度:

    算法1:O(W),其中

    算法2:,其中Ccij的最大值。

  空间复杂度:

    算法1:O(V),其中

    算法2:O(M2T)

 

多目标跟踪笔记二:Efficient Algorithms for Finding the K Best Paths Through a Trellis的更多相关文章

  1. amazeui学习笔记二(进阶开发4)--JavaScript规范Rules

    amazeui学习笔记二(进阶开发4)--JavaScript规范Rules 一.总结 1.注释规范总原则: As short as possible(如无必要,勿增注释):尽量提高代码本身的清晰性. ...

  2. Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer

    作者:Grey 原文地址:Java IO学习笔记二:DirectByteBuffer与HeapByteBuffer ByteBuffer.allocate()与ByteBuffer.allocateD ...

  3. 《CMake实践》笔记二:INSTALL/CMAKE_INSTALL_PREFIX

    <CMake实践>笔记一:PROJECT/MESSAGE/ADD_EXECUTABLE <CMake实践>笔记二:INSTALL/CMAKE_INSTALL_PREFIX &l ...

  4. jQuery源码笔记(二):定义了一些变量和函数 jQuery = function(){}

    笔记(二)也分为三部分: 一. 介绍: 注释说明:v2.0.3版本.Sizzle选择器.MIT软件许可注释中的#的信息索引.查询地址(英文版)匿名函数自执行:window参数及undefined参数意 ...

  5. Mastering Web Application Development with AngularJS 读书笔记(二)

    第一章笔记 (二) 一.scopes的层级和事件系统(the eventing system) 在层级中管理的scopes可以被用做事件总线.AngularJS 允许我们去传播已经命名的事件用一种有效 ...

  6. Python 学习笔记二

    笔记二 :print 以及基本文件操作 笔记一已取消置顶链接地址 http://www.cnblogs.com/dzzy/p/5140899.html 暑假只是快速过了一遍python ,现在起开始仔 ...

  7. WPF的Binding学习笔记(二)

    原文: http://www.cnblogs.com/pasoraku/archive/2012/10/25/2738428.htmlWPF的Binding学习笔记(二) 上次学了点点Binding的 ...

  8. webpy使用笔记(二) session/sessionid的使用

    webpy使用笔记(二) session的使用 webpy使用系列之session的使用,虽然工作中使用的是django,但是自己并不喜欢那种大而全的东西~什么都给你准备好了,自己好像一个机器人一样赶 ...

  9. AJax 学习笔记二(onreadystatechange的作用)

    AJax 学习笔记二(onreadystatechange的作用) 当发送一个请求后,客户端无法确定什么时候会完成这个请求,所以需要用事件机制来捕获请求的状态XMLHttpRequest对象提供了on ...

随机推荐

  1. BZOJ 3439 Kpm的MCpassword Trie树+可持久化线段树

    题目大意:给定n个字符串,对于每一个字符串求以这个字符串为后缀的字符串中第k小的编号 首先将字符串反转 那么就变成了对于每一个字符串求以这个字符串为前缀的字符串中第k小的编号 然后考虑对字符串排序 那 ...

  2. Java基础:初始化和清理

    转载请注明出处:jiq•钦's technical Blog (1) 初始化: 所以假设继承关系为:A导出B再导出C,在创建C对象的情况下的调用顺序是: * (1) A的静态域,B的静态域,C的静态域 ...

  3. BZOJ 1798: [Ahoi2009]Seq 维护序列seq (线段树乘法加法的混合操作)

     题目:点击打开链接 大意:一个数组.三个操作.第一种是区间[a,b]每一个数乘乘,另外一种是区间[a,b]每一个数加c,第三种是查询[a,b]区间的和并对p取摸. 两种操作就不能简单的仅仅往下传 ...

  4. C 语言宏快速入门

    //####### 参照C语言的预处理命令简介 ######## #define 定义一个预处理宏 #undef 取消宏的定义 #include 包含文件命令 #include_next 与#incl ...

  5. View载入具体解释

    文章一開始我要对前面一篇文章做点补充 相信大家都知道View有两个方法. public boolean post(Runnable action) public boolean postDelayed ...

  6. struts2 一个CRUD的BaseAction

    在struts2 in action中所见,这样封装后省去了大部分crud反复代码.尽管还不能理悟.先记下来. abstract class BaseAction extends ActionSupp ...

  7. 第一章 Java Collections Framework总览

    1.Java容器 Java容器中只能存放对象,对于基本数据类型(byte,short,char,int,long,float,double,boolean),需要包装成对象类型(Byte,Short, ...

  8. XAML实例教程系列 - 资源(Resources)

    Kevin Fan分享开发经验,记录开发点滴 XAML实例教程系列 - 资源(Resources) 2012-08-10 12:47 by jv9, 1386 阅读, 1 评论, 收藏, 编辑 在Wi ...

  9. 编码格式(UTF-8 与 ANSI)各种编码解码(encode、decode)

    Windows:默认为 ANSI,记事本程序另存为处,可以设置其他编码格式: Ubuntu:默认为 UTF-8 1. ANSI ANSI 编码表示英文字符时用一个字节,表示中文用两个或四个字节 -- ...

  10. vs2010 下使用C#开发activeX控件

    1.创建一个类库 2.项目属性-应用程序-程序集信息-"使程序集COM可见"勾上; 3.项目属性-生成-"为COM互操作注册"勾上.(这个折腾一天,否则注册事件 ...