Nejbližší řetěz

V Teoretické informatice , a zejména v algoritmickém textu , je nejbližší řetězec (anglický nejbližší řetězec ) sady dat řetězců znaků řetězcem kanálu minimální vzdálenosti, podle Hammingovy vzdálenosti . Hledání nejbližšího řetězce je algoritmický problém NP-hard .

Příklad

Pro pět řetězů

BARACADABRA
ABRAACDABRA
RBRACADABCA
ACRACADABCA
ABRADADABCA

nejbližší kanál je

ABRACADABRA

Je vzdálený 2 od daných kanálů. Náhody jsou označeny červeně:

BA RACADABRA
ABRA AC DABRA
R BRACADAB C C
A C RACADAB C A
ABRA D ADAB C A

Formální definice

Vzhledem k tomu, že n řetězců s 1 , ..., s n má stejnou délku m , nejbližší problém řetězce spočívá v určení nového řetězce s délky m tak, že d ( s , s i ) ≤ k pro všechna i , kde d je vzdálenost Hammingova , a kde k je tak malý, jak je to možné. Odpovídající rozhodnutí problém , který je NP-úplný , rovněž za celé číslo k, jako vstup a zeptá, zda je řetězec, který je Hammingova vzdálenost je maximálně k všech uvedených řetězců. Problém je NP-těžký i na binární abecedě.

Motivace

V bioinformatice je problémem s nejbližším řetězcem hodně studovaný aspekt problému detekce signálů v DNA . Problém má také aplikace v teorii kódu (problém s minimálním poloměrem). Nejbližší dílčí problém formalizuje biologické aplikace při hledání konzervovaných oblastí, identifikaci cílů genetických léků a generování genetických sond v molekulární biologii. V textových algoritmech jde o problém kombinatoriky znakových řetězců. Tento problém řetězce a další, které vznikají v různých aplikacích od těžby textu po biologickou sekvenční analýzu, jsou často NP obtížné . To motivuje k hledání zvláštních vyřešitelných případů s pevnými parametry těchto problémů. To dává smysl v případech, kdy existuje několik přirozeně asociovaných parametrů, jako je velikost abecedy, počet řetězců nebo horní hranice vzdálenosti.

Na nejbližší řetězový problém lze pohlížet geometricky jako na příklad 1-středového problému s Hammingovou vzdáleností jako jeho vzdáleností.

Zjednodušení a redukce dat

Instance problému s nejbližším řetězcem mohou obsahovat informace, které pro problém nemají smysl, nebo které nepřispívají k obtížnosti problému. Například, pokud některé řetězce obsahují znak A , a žádný obsahovat znak Z , který nahrazuje veškeré A se z poskytuje v podstatě ekvivalentní instance, která je, z roztoku modifikovaného například originální řešení lze snadno obnovit a naopak.

Standardizace vstupu

Psaním vstupních řetězců jeden pod druhým získáme matici. Některé typy linek mají na řešení v podstatě stejný vliv. Například nahrazení sloupce, který má položky ( a , a , b ) sloupcem ( x , x , y ), může vést k jinému řetězci řešení, ale nemusí to ovlivnit solventnost, protože oba sloupce vyjadřují stejnou strukturu. , kde jsou první dva záznamy stejné, ale odlišné od třetího.

Instanci vstupu lze normalizovat tak, že v každém sloupci nahradíte znak, který se nejčastěji vyskytuje znakem a , znak, který se objeví na druhém místě b , atd. Vzhledem k řešení normalizované instance lze původní instanci obnovit nahrazením znaků v řešení jejich původní verzí v každém sloupci. Pořadí sloupců nepřispívá k obtížnosti problému. To znamená, že pokud permutujeme vstupní řetězce podle nějaké permutace π a pokud dostaneme řetězec řešení s k této upravené instanci, pak π −1 ( s ) je řešením původní instance.

Příklad

Uvažujeme instanci vytvořenou ze tří slov uvwx , xuwv a xvwu (viz diagram výše). Ve formě matice získáme následující tabulku:

u proti w X
X u w proti
X proti w u

V prvním sloupci ( u , x , x ) se nejčastěji (dvakrát) objevuje symbol x ; nahradíme jej za a znak u za b , což dává nový první sloupec ( b , a , a ). Druhý sloupec ( v , u , v ) je nahrazen stejnou strategií ( a , b , a ). Tím, že budeme postupovat stejným způsobem pro ostatní sloupce, skončíme na

b na na na
na b na b
na na na vs.

Redukce dat normalizací

Normalizace má za následek, že velikost abecedy se maximálně rovná počtu vstupních řetězců. To může být užitečné pro algoritmy, jejichž výpočetní doba závisí na velikosti abecedy.

Přiblížení

Li a kol. popsali aproximační schéma v polynomiálním čase , ale které je v praxi nepoužitelné kvůli velkým skrytým konstantám.

Parametrizovaná složitost

Nejbližší problém řetězce lze vyřešit pomocí O ( nL + nd × d d ) , kde n je počet řetězců uvedených jako vstup, L je společná délka všech řetězců a d je požadovaná vzdálenost od řešení ke všem daným struny. Je tedy ve třídě parametrizované složitosti FPT ( fixed-parameterractable ).

Vztah k dalším otázkám

Problém nejbližšího řetězce je speciální případ obecnějšího problému nejbližšího podřetězce  (in) je přísně těžší. Zatímco problém s nejbližším řetězcem je fixní parametr, který je možné dopravit různými způsoby, problém s podřetězcem W [1] je vzhledem k těmto parametrům obtížný . Kernelization těchto a související problémy je předmětem podrobné studie, která ukazuje, že buď můžeme získat polynomiální jádro, nebo že jádro, není možné získat za obvyklých předpokladů teorie složitosti, a zejména na exponenciální čas hypotéza (ETH ). Tyto problémy spočívají v nalezení substruktury nebo nadstavby společné pro danou sadu řetězců. Nejzákladnější problémy jsou nejdelší společná podposloupnost je nejkratší společný super-sekvence, a nejmenší společný sekvence. Kromě toho existuje obecnější problém zarovnání více sekvencí , který je nanejvýš důležitý v biologické sekvenční analýze .

Poznámky a odkazy

  1. J. Kevin Lanctot , Ming Li Bin Ma , Šao-ťiu Wang a Louxin Zhang , „  Charakteristické problémy výběru string  “, informační a počítání , vol.  185, n o  1,2003, str.  41–55 ( DOI  10.1016 / S0890-5401 (03) 00057-9 , matematické recenze  1994748 )
  2. Bin Ma a Xiaming Sun, „Efektivnější algoritmy pro nejbližší problémy s řetězci a dílčími řetězci“ , v Proc. 12. Ann. Int. Konf. o výzkumu ve výpočetní molekulární biologii (RECOMB) , Springer, kol.  "Lecture Notes in Computer Science" ( n O  4955),2008, 396-409  str. ( DOI  10.1007 / 978-3-540-78839-3_33 , číst online ).
  3. Moti Frances a Ami Litman, „  O pokrytí problémů kódů  “, Theory of Computing Systems , sv.  30, n O  21997, str.  113-119.
  4. Laurent Bulteau, Falk Hüffner, Christian Komusiewicz a Rolf Niedermeier, „  Multivariační algoritmy pro problémy s řetězci NP-hard  “, Bulletin of EATCS , sv.  114,října 2014( číst online , konzultováno 13. května 2018 ).
  5. Ming Li, Bin Ma a Lusheng Wang. „  Na nejbližší problémy s řetězci a podřetězcem.  ”, Journal of the ACM , vol.  49, n O  22002, str.  157-171 ( DOI  10.1145 / 506147.506150 , číst online )
  6. Jens Gramm, Rolf Niedermeier a Peter Rossmanith, „  Algoritmy s pevnými parametry pro nejbližší řetězec a související problémy  “, Algorithmica , sv.  37,2003, str.  25–42 ( DOI  10.1007 / s00453-003-1028-3 , číst online )
  7. Manu Basavaraju, Fahad Panolan, Ashutosh Rai, MS Ramanujan a Saket Saurabh, „  On the kernelization complexity of string problems  “, Theoretical Computer Science , sv.  730,2018, str.  21-31 ( DOI  10.1016 / j.tcs.2018.03.024 ).

Související články