Y a-t-il une bibliothèque (dans n'importe quelle langue) pouvant rechercher des modèles dans des matrices telles que les expressions régulières fonctionnent pour les chaînes? Quelque chose comme des expresions régulières pour les matrices ou toute méthode de recherche de modèle Matrix? P>
4 Réponses :
J'ai trouvé deux choses: C'est un problème différent, car String Expressions régulières fonctionne (par exemple, Sauf si vos matrices sont unidimensionnelles (essentiellement des vecteurs), ces programmes et les algorithmes qu'elles utilisent ne fonctionneront pas. P>
bonne chance! p> GAWK code> A> et A
Perl code>
script. p>
SED code>,
grep code>) fonctionne ligne-by-ligne sur des cordes unidimensionnelles. P>
Il suffit de rechercher des rangées du motif dans chaque ligne de la matrice d'entrée à l'aide de Aho-Corasick (Time O (taille matricielle)). Le résultat devrait être suffisamment petit pour le rejoindre rapidement dans le résultat final. P>
Si vous n'êtes pas opposé à l'utilisation de J, vous pouvez déterminer si deux matrices sont égales à l'aide de l'opérateur -: code> (correspondant). Par exemple:
X =: 2 2 $ 1 2 4 5
X
1 2
4 5
Y =: 4 3 $ (1+i.12)
Y
1 2 3
4 5 6
7 8 9
10 11 12
X E. Y
1 0 0
0 0 0
0 0 0
0 0 0
Je ne pense pas qu'il existe quelque chose de tout à fait comme des expressions régulières pour les dimensions supérieures à 1, mais si vous souhaitez correspondre à un modèle exact au lieu d'une classe de motifs, je pourrais vous suggérer que vous lisez la convolution (ou plutôt corrélation croisée ) p>
La raison étant, il existe de nombreuses fonctions de bibliothèque hautement optimisées (p. Ex. IPP) pour le faire plus rapidement que vous ne pourriez jamais espérer réaliser par vous-même. Aussi cette méthode échoue également à des dimensions plus élevées. P>
En outre, cela ne vous donnera pas nécessairement une "correspondance", mais plutôt un "pic" dans une carte de corrélation qui correspondra à la correspondance si ce pic est égal à la somme des coefficients carrés du motif que vous recherchez. Pour. p>
Vous voulez dire comme si la matrice est la matrice d'identité / matrice carrée, etc.?
Non, je veux dire si une matrice est une subatrix dans une autre matrice ou si une forme est trouvée dans une matrice
Quel genre de matrice? Point flottant? Cette matrice est-elle par hasard une image? Est un match approximatif ok?
Je cherche une correspondance exacte, est une matrice rectangulaire entière
Associé Stackoverflow.com/Questtions/615729/...