Chaîne la plus proche
En informatique théorique, et notamment en algorithmique du texte, la chaîne la plus proche (en anglais closest string) d'un ensemble de chaînes de caractères données est une chaîne à distance minimale des chaînes, selon la distance de Hamming. La recherche de la chaîne la plus proche est un problème algorithmique NP-difficile.

Exemple 

Pour les cinq chaînes
{|
|-
| BARACADABRA
|-
| ABRAACDABRA
|-
| RBRACADABCA
|-
| ACRACADABCA
|-
| ABRADADABCA
|}
 
la chaîne la plus proche est
{|
|-
| ABRACADABRA
|}
Elle est à distance 2 des chaînes données. Les coïncidences sont marquées en rouge :
{|
|-
| BA
|-
| AC
|-
| RC
|-
| CC
|-
| DC
|}

Définition formelle 

Étant donné  chaînes  de même longueur , le problème de la chaîne la plus proche consiste à déterminer une nouvelle chaîne  de longueur  telle que  pour tout , où  est la distance de Hamming, et où  est aussi petit que possible. Le problème de décision correspondant, qui est NP-complet, prend également l'entier  en entrée et demande s'il existe une chaîne qui est à distance de Hamming au plus  de toutes les chaînes données. Le problème est NP-difficile même sur un alphabet binaire.

Motivation 
En bio-informatique, le problème de la chaîne la plus proche est un aspect très étudié du problème de détection de signaux dans les ADN. Le problème a aussi des applications en théorie des codes (problème du rayon minimal). Le problème de la sous-chaîne la plus proche formalise des applications biologiques dans la recherche de régions conservées, l'identification de cibles de médicaments génétiques et la génération de sondes génétiques en biologie moléculaire. En algorithmique du texte, c'est un problème de combinatoire de chaînes de caractères. Ce problème de chaînes et d'autres qui se posent dans diverses applications allant de l'exploration de texte à l'analyse de séquence biologique sont souvent NP-difficiles. Ceci motive la recherche de cas spéciaux traitables () de ces problèmes. Ceci a un sens dans les cas où il y a plusieurs paramètres naturellement associés, comme la taille de l’alphabet, le nombre de chaînes, ou un majorant sur la distance.

Le problème de la chaîne la plus proche peut être vu géométriquement comme une instance du problème du 1-centre avec comme distance la distance de Hamming.

Simplifications et réduction de données 

Des instances du problème de la chaîne la plus proche peuvent contenir des informations qui ne sont pas significatives pour le problème ou, autrement dit, qui ne contribuent pas à la difficulté du problème. Par exemple, si certaines chaînes contiennent le caractère , et qu'aucune ne contient le caractère , remplacer tous les  par des  donne une instance essentiellement équivalente, c'est-à-dire qu'à partir d'une solution de l'instance modifiée, la solution originale peut être facilement restaurée et vice-versa.

Normalisation de l'entrée 

En écrivant les chaînes d'entrée les unes sous les autres, on obtient une matrice. Certains types de lignes ont essentiellement les mêmes influences sur la solution. Par exemple, remplacer une colonne qui a les entrées  par une colonne  peut mener à une chaîne solution différente, mais ne peut affecter la solvabilité, car les deux colonnes expriment la même structure, où les deux premières entrées sont égales, mais différentes de la troisième.

Une instance d'entrée peut être normalisée en remplaçant, dans chaque colonne, le caractère qui se produit le plus souvent par , le caractère qui se produit en deuxième par , et ainsi de suite. Étant donné une solution de l'instance normalisée, l'instance d'origine peut être retrouvée en remplaçant les caractères de la solution par leur version d'origine dans chaque colonne. L'ordre des colonnes ne contribue pas à la difficulté du problème. Cela signifie que si on permute les chaînes d'entrée selon une certaine permutation  et si on obtient une chaîne solution  à cette instance modifiée, alors  est une solution de l'instance d'origine.

Exemple 
On considère une instance formée des trois mots uvwx, xuwv, et xvwu (voir schéma en haut). Sous forme de matrice, on obtient la table suivante :

{|
|-
| u || v || w || x
|-
| x || u || w || v
|-
| x || v || w || u
|}

Dans la première colonne (u, x, x), c'est le symbole x qui apparaît le plus souvent (2 fois) ; on le remplace par a et le caractère u par b, ce qui donne la nouvelle première colonne (b, a, a). La deuxième colonne (v, u, v) est remplacée, par la même stratégie, par (a, b, a). En procédant de même pour les autres colonnes, on aboutit à

{|
|-
| b || a || a || a
|-
| a || b || a || b
|-
| a || a || a || c
|}

Réduction de données par normalisation 
La normalisation a pour conséquence que la taille de l'alphabet est au plus égale au nombre de chaînes d'entrées. Ceci peut s'avérer utile pour des algorithmes dont le temps de calcul dépend de la taille de l’alphabet.

Approximation 
Li et al. ont décrit un schéma d'approximation en temps polynomial, mais qui est inutilisable en pratique à cause de grandes constantes cachées.

Complexité paramétrée 
Le problème de la chaîne la plus proche peut être résolu en , où  est le nombre de chaînes données en entrée,  est la longueur commune de toutes les chaînes et  est la distance désirée de la solution à toutes les chaînes données. Il est ainsi dans la classe de complexité paramétrée FPT (fixed-parameter tractable).

Relations avec d'autres problèmes 
Le problème de la chaîne la plus proche est un cas particulier du problème plus général de la  qui est strictement plus difficile . Alors que le problème de la chaîne la plus proche est fixed parameter tractable de différentes manières, le problème de la sous-chaine W[1]-difficile par rapport à ces paramètres. La kernelisation de ces problèmes et de problème voisin a fait l'objet d'une étude détaillée qui montre que soit on peut obtenir un noyau polynomial soit qu'un tel noyau ne peut être obtenu sous les hypothèses usuelles en théorie de la complexité, et notamment la Exponential Time Hypothesis (ETH). Ces problèmes sont de trouver une sous-structure ou une superstructure commune à ensemble de chaînes donné. Les problèmes les plus fondamentaux sont la plus longue sous-séquence commune, la plus courte super-séquence commune et la plus petite séquence commune. En outre, il y a le problème plus général de l'alignement de séquences multiples, qui est d'une importance capitale dans l'analyse des séquences biologiques.

Notes et références

Articles liés 
 Algorithmique du texte
 Séquence biologique
 Alignement de séquences
 
 Complexité paramétrée
 Kernelisation

Problème NP-difficile
Langage formel
Algorithmique
Théorie de la complexité des algorithmes
En informatique théorique , et notamment en algorithmique de le texte , la chaîne la plus proche ( en anglais closest string ) d' un ensemble de chaînes de caractères données est une chaîne à distance minimale de les chaînes , selon la distance de Hamming . La recherche de la chaîne la plus proche est un problème algorithmique NP-difficile . Exemple Pour les cinq chaînes {| |- | BARACADABRA |- | ABRAACDABRA |- | RBRACADABCA |- | ACRACADABCA |- | ABRADADABCA |} la chaîne la plus proche est {| |- | ABRACADABRA |} Elle est à distancedes chaînes données . Les coïncidences sont marquées en rouge \ : {| |- | BA | - | AC |- | RC |- | CC | - | DC |} Définition formelle Étant donné chaînes de même longueur , le problème de la chaîne la plus proche consiste à déterminer une nouvelle chaîne de longueur telle que pour tout , où est la distance de Hamming , et où est aussi petit que possible . Le problème de décision correspondant , qui est NP-complet , prend également l' entier en entrée et demande s' il existe une chaîne qui est à distance de Hamming à le plus de toutes les chaînes données . Le problème est NP-difficile même sur un alphabet binaire . Motivation En bio-informatique , le problème de la chaîne la plus proche est un aspect très étudié de le problème de détection de signaux dans les ADN . Le problème a aussi de les applications en théorie de les codes ( problème de le rayon minimal ) . Le problème de la sous-chaîne la plus proche formalise de les applications biologiques dans la recherche de régions conservées , l' identification de cibles de médicaments génétiques et la génération de sondes génétiques en biologie moléculaire . En algorithmique de le texte , c' est un problème de combinatoire de chaînes de caractères . Ce problème de chaînes et d' autres qui se posent dans diverses applications allant de l' exploration de texte à l' analyse de séquence biologique sont souvent NP-difficiles . Ceci motive la recherche de cas spéciaux traitables ( ) de ces problèmes . Ceci a un sens dans les cas où il y a plusieurs paramètres naturellement associés , comme la taille de l’ alphabet , le nombre de chaînes , ou un majorant sur la distance . Le problème de la chaîne la plus proche peut être vu géométriquement comme une instance de le problème ducentre avec comme distance la distance de Hamming . Simplifications et réduction de données De les instances de le problème de la chaîne la plus proche peuvent contenir de les informations qui ne sont pas significatives pour le problème ou , autrement dit , qui ne contribuent pas à la difficulté de le problème . Par exemple , si certaines chaînes contiennent le caractère , et qu' aucune ne contient le caractère , remplacer tous les par de les donne une instance essentiellement équivalente , c'est-à-dire qu' à partir d' une solution de l' instance modifiée , la solution originale peut être facilement restaurée et vice-versa . Normalisation de l' entrée En écrivant les chaînes d' entrée les unes sous les autres , on obtient une matrice . Certains types de lignes ont essentiellement les mêmes influences sur la solution . Par exemple , remplacer une colonne qui a les entrées par une colonne peut mener à une chaîne solution différente , mais ne peut affecter la solvabilité , car les deux colonnes expriment la même structure , où les deux premières entrées sont égales , mais différentes de la troisième . Une instance d' entrée peut être normalisée en remplaçant , dans chaque colonne , le caractère qui se produit le plus souvent par , le caractère qui se produit en deuxième par , et ainsi de suite . Étant donné une solution de l' instance normalisée , l' instance d' origine peut être retrouvée en remplaçant les caractères de la solution par leur version d' origine dans chaque colonne . L' ordre de les colonnes ne contribue pas à la difficulté de le problème . Cela signifie que si on permute les chaînes d' entrée selon une certaine permutation et si on obtient une chaîne solution à cette instance modifiée , alors est une solution de l' instance d' origine . Exemple On considère une instance formée de les trois mots uvwx , xuwv , et xvwu ( voir schéma en haut ) . Sous forme de matrice , on obtient la table suivante \ : {| |- | u || v || w || x |- | x || u || w || v |- | x || v || w || u |} Dans la première colonne ( u , x , x ) , c' est le symbole x qui apparaît le plus souventfois ) ; on le remplace par a et le caractère u par b , ce qui donne la nouvelle première colonne ( b , a , a ) . La deuxième colonne ( v , u , v ) est remplacée , par la même stratégie , par ( a , b , a ) . En procédant de même pour les autres colonnes , on aboutit à {| |- | b || a || a || a |- | a || b || a || b |- | a || a || a || c |} Réduction de données par normalisation La normalisation a pour conséquence que la taille de l' alphabet est à le plus égale à le nombre de chaînes d' entrées . Ceci peut s' avérer utile pour de les algorithmes dont le temps de calcul dépend de la taille de l’ alphabet . Approximation Li et al . ont décrit un schéma d' approximation en temps polynomial , mais qui est inutilisable en pratique à cause de grandes constantes cachées . Complexité paramétrée Le problème de la chaîne la plus proche peut être résolu en , où est le nombre de chaînes données en entrée , est la longueur commune de toutes les chaînes et est la distance désirée de la solution à toutes les chaînes données . Il est ainsi dans la classe de complexité paramétrée FPT ( fixed-parameter tractable ) . Relations avec d' autres problèmes Le problème de la chaîne la plus proche est un cas particulier de le problème plus général de la qui est strictement plus difficile \ . Alors que le problème de la chaîne la plus proche est fixed parameter tractable de différentes manières , le problème de la sous-chaine W[1]-difficile par rapport à ces paramètres . La kernelisation de ces problèmes et de problème voisin a fait l' objet d' une étude détaillée qui montre que soit on peut obtenir un noyau polynomial soit qu' un tel noyau ne peut être obtenu sous les hypothèses usuelles en théorie de la complexité , et notamment la Exponential Time Hypothesis ( ETH ) . Ces problèmes sont de trouver une sous-structure ou une superstructure commune à ensemble de chaînes donné . Les problèmes les plus fondamentaux sont la plus longue sous-séquence commune , la plus courte super-séquence commune et la plus petite séquence commune . En outre , il y a le problème plus général de l' alignement de séquences multiples , qui est d' une importance capitale dans l' analyse de les séquences biologiques . Notes et références Articles liés Algorithmique de le texte Séquence biologique Alignement de séquences Complexité paramétrée Kernelisation Problème NP-difficile Langage formel Algorithmique Théorie de la complexité de les algorithmes