correspondência de padrões n-dimensionais

20

Quais são alguns resultados conhecidos para encontrar um subarray n-dimensional exato dentro de uma matriz n-dimensional?

Em 1D, é apenas um problema de correspondência de cadeias, o KMP faz isso em tempo linear.

Em 2D, este artigo mostrou que isso pode ser feito em tempo linear com pouco espaço extra.

Esse problema pode ser resolvido no pior caso de tempo linear para qualquer dimensão fixa?

Chao Xu
fonte

Respostas:

13

Você pode resolver o problema em um número fixo de dimensões, estendendo a solução original em tempo linear da Bird de 1977 http://www.sciencedirect.com/science/article/pii/0020019077900175 (assinatura necessária infelizmente).

A idéia geral (em 2D) está na etapa 1 para criar um autômato Aho-Corasick das linhas do padrão 2D e depois alimentar as linhas do texto 2D, uma a uma. Você encontrará todas as posições correspondentes às linhas do padrão no texto. Para finalizar, agora você só precisa fazer uma pesquisa 1D pelas (etiquetas) linhas do padrão na ordem correta em uma coluna na saída da etapa 1, usando o KMP say. Tudo isso leva tempo linear.

Usando o mesmo método, você pode reduzir de qualquer problema de correspondência exata da dimensão d para um problema da dimensão d-1. Dessa forma, você obtém uma solução de tempo linear para qualquer dimensão fixa d.

Rafael
fonte
9

É possível resolvê-lo em tempo quase linear (até o fator polilogênico) usando técnicas de FFT. Você pode ver o artigo: http://www.cs.tau.ac.il/~klim/papers/CEPR08.pdf, onde usamos técnicas de FFT para a correspondência de padrões unidimensionais. Se você deseja resolver a correspondência de padrões multidimensionais, basta usar a FFT de alta dimensão.

Klim
fonte
Dado que o artigo é de 2008, presumo que algoritmos de tempo linear ainda não sejam conhecidos.
Chao Xu
Dei apenas como um exemplo de técnica que poderia ser usada para resolver seu problema. A vantagem dessa abordagem é que isso também permite resolver o problema com incompatibilidades e não se importa. Mas, quanto ao exato, uma correspondência de padrões dimensionais existe alg de tempo linear. assim pode ser conhecido por multidimensional.
Klim
1
Penso que o resultado básico da correspondência de padrões com caracteres curinga é de Fischer e Paterson 1974 e, em seguida, foi aprimorado e simplificado até cs.bris.ac.uk/Publications/pub_master.jsp?id=2000602 (desculpas pela auto-citação). No entanto, pode ser um exagero leve para o problema solicitado pelo OP, devido ao método de correspondência exata mais antigo que mencionei abaixo.
Raphael