簡體   English   中英

在間隔集合中查找間隔模式

[英]Find interval pattern in set of intervals

假設我注冊了一組“ on”間隔[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中的所有間隔執行相同的操作,並收集所有結果偏移值。 然后,我們為每個偏移量計算重疊。

您可以定義:

  • 如果a_t中的x為f(x,t)= 1,否則為0
  • 如果b中的x為g(x)= 1,否則為0

並計算:

argmax_t(對f(x,t)g(x)dx的R求非整數)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM