Hello everybody,

Je bosse sur une problématique de pattern matching (série temporelle), j'ai développé un algo qui a chaque nouveau signal renvoi une distance entre un pattern et un ensemble des x-derniers signaux. Cette fenêtre peut aller de 1000 à 4000 points.

Disons qu'à chaque nouvelle donnée x, je peux calculer une distance z pour l'ensemble des fenêtres (y) possibles (y E [1000;4000]).
Pour une fenêtre de 1000 points, l'ensemble que je vais comparer au pattern sera de X(n-1000) à Xn où Xn est le dernier signal que j'ai reçu.
Donc j'ai pour chaque x, 3000 couples (y,z).

Sur le papier tout va bien, je peux calculer tous mes (x,y,z). Lorsque z est sous un seuil déterminé, je peux sans trop de difficultés (c'est un autre sujet..) trouver les minimums locaux. J'obtiens ainsi à quels points x et pour quelles fenêtres y la distance est minimale entre mon pattern et mes données.

En pratique c'est plus compliqué, la quantité de calcul est telle qu'il me faudrait des mois pour obtenir cette matrice (x,y,z). Le code est optimisé et multithreadé.
Je veux donc rajouter une logique qui détermine quels sont les couples (x,y) pour lesquels z doit être calculé. Il me faut quadriller la matrice en diminuant le pas d'autant que z diminue pour obtenir plus de précision sur les minimums locaux. Il faut aussi prendre en compte que z varie d'autant plus vite que y est petit, et inversement...
Quelle direction dois-je prendre ? Connaissez-vous des algos/méthodes numériques qui me permettent de faire ça efficacement ?

Merci pour vos lumières

Modif : Je viens de me rendre compte que j'ai posté sous le forum IA, peut être que la racine du forum algo serait plus pertinente pour ce post