Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Algorithm 在区间集合中查找区间模式_Algorithm_Optimization_Pattern Matching_Intervals - Fatal编程技术网

Algorithm 在区间集合中查找区间模式

Algorithm 在区间集合中查找区间模式,algorithm,optimization,pattern-matching,intervals,Algorithm,Optimization,Pattern Matching,Intervals,假设我注册了一组“开”间隔[tstart,tend] a=[[0+t,3.9+t],[7.1+t,8.0+t],[9.02+t,10.2+t] 如何找到此模式与另一组间隔匹配的最佳匹配偏移量t: b=[[5,6]、[7,10]、[11,15]、[18,19]、[20,21]…] [ t ] ---- - - - --- ---- - - --- -- ---- - -- 平凡算法(不一定是最有效的):选择偏移量t的所有值,使每组的一个间隔在其起点或终点对齐。对于

假设我注册了一组“开”间隔[tstart,tend]

a=[[0+t,3.9+t],[7.1+t,8.0+t],[9.02+t,10.2+t]

如何找到此模式与另一组间隔匹配的最佳匹配偏移量t:

b=[[5,6]、[7,10]、[11,15]、[18,19]、[20,21]…]

[ t  ]

      ----   - -

- --- ----   - - --- -- ----    - --
平凡算法(不一定是最有效的):选择偏移量t的所有值,使每组的一个间隔在其起点或终点对齐。对于这些偏移值中的每一个,计算总重叠以找到最大复杂度为O(n^3),其中n是集合的大小(a和b的最大值)。给定偏移的重叠计算为O(n),可能的偏移值数量为O(n^2)

在您的示例中,偏移量为:
将间隔a[0]的开始与b中所有间隔的开始相匹配:

5-0=5,7-0=7,11=0=11

将间隔a[0]的结尾与b中所有间隔的结尾相匹配:

6-3.9=2.1,10-3.9=6.1,15-3.9=11.1

我们继续对a中的所有间隔执行相同的操作,并收集所有生成的偏移值。然后,我们计算每个偏移量的重叠。

普通算法(不一定是最有效的):选择偏移量t的所有值,使每组中的一个间隔在其起点或终点对齐。对于这些偏移值中的每一个,计算总重叠以找到最大复杂度为O(n^3),其中n是集合的大小(a和b的最大值)。给定偏移的重叠计算为O(n),可能的偏移值数量为O(n^2)

在您的示例中,偏移量为:
将间隔a[0]的开始与b中所有间隔的开始相匹配:

5-0=5,7-0=7,11=0=11

将间隔a[0]的结尾与b中所有间隔的结尾相匹配:

6-3.9=2.1,10-3.9=6.1,15-3.9=11.1

我们继续对a中的所有间隔执行相同的操作,并收集所有生成的偏移值。然后我们计算每个偏移的重叠。

您可以定义:

并计算:

您可以定义:

并计算:


也许你可以定义“最佳”?也许你可以定义“最佳”?这里有没有一种方便的方法来添加乳胶配方?什么??a和b在哪里?@gen-y-s由OP.mmh定义。。。我猜我是在错误的问答板上给出数学答案的:/有没有一种方便的方法把乳胶公式放在这里?什么??a和b在哪里?@gen-y-s由OP.mmh定义。。。我猜我在错误的问答板上给出了数学答案:/