Masheka algoritmus és Paterson

Masek és Paterson [Masek, Paterson, 1980] az eljáráshoz használt számítási közötti távolság Wagner sorok és Fischer megközelítés 'négy orosz' (Arlazarova, Diniz, Kronrod és Faradzheva [Arlazarov, Dinic, Kronrod, Faradzev 1970]), így az algoritmus futási egy időben O (n 2 / log n). Ő az alábbiakban ismertetjük.

távolságok d mátrix van osztva több négyzet submatrices átfedő marginális vektorokkal. Almátrix (i, j, p) úgy definiáljuk, mint egy részmátrixának a dimenzió (p + 1) * (p + 1), a bal felső elem di, j. A meghatározás (11) a mátrix d bemenetek, hogy az értékek a almátrix (i, j, p) veszik ki a megfelelő alsztringek x (i + 1, i + p) és y (j + 1, j + p) és a kezdeti vektorok, azaz a felső sor (di, j. di, j + 1, ... di, j + p), és a bal oldali oszlopban (di, j. di + 1, j. di + p, j).

Az első lépésben az algoritmust a végső értékeinek a vektorok, azaz az alsó sorában és jobb oldali oszlopban minden egyes lehetséges submatrices (i, j, p) bármely mátrix d és ábécé adatok érték függvény. Ez megköveteli felsoroló submatrices, mit akar egy listát az összes lehetséges kombinációját alsztringek és kezdeti vektorok. Felsorolni az összes lehetséges részkarakterláncokat hosszúságú p, azt kell feltételeznünk, hogy az ábécé véges. Továbbá, megkísérli felsoroljuk az összes lehetséges kezdővektort lehet tiltani. Azonban a korlátozott szerkesztése árak, így válnak egész számú többszörösei néhány valós számok vezet az a tény, hogy ők is csak véges számú különbségek egymást követő értékeinek d minden távolságot mátrixok ugyanazt ábécé és az ár függvényében. Sokkal célszerűbb a különbség az abszolút értékek. A meghatározási lépés, mint a különbség bármely két vízszintesen vagy függőlegesen szomszédos elemei mátrixok, megkapjuk a következő vizsgálatot szabályok (11) számára a számítási di, j:

Minden egyes almátrix lehet határozni azt a megfelelő stringek x (i + 1, i + p) és y (j + 1, j + p), a kezdeti értéke di, j. és a kezdeti vektorok - egy felső sorban (di, j + 1 -. di, j di, j + p - di, j + p-1) és az első oszlop (di + 1, j - di, j ..., di + p. , J - di + p-1, j). Felsorolásával összes lehetséges submatrices lehet elérni felsorolja azokat a pár sorok P hosszúságú, mint egy véges ábécé C, és az összes pár hosszúságú vektor p lépés.

Algoritmus kiszámításához minden submatrices 17. ábrán látható sorok hossza p és a hossza a vektor p lépés ábécésorrendben, feltételezve egy fix rendezést C-on és egy véges halmaza lehetséges pályát értékeket. Almátrix lépésben kiszámítjuk mindegyik pár vonal u és v, és minden egyes pár vektorok kezdeti lépés T és L, összhangban (42). Ahhoz, hogy megkönnyíti a későbbi promóciós, az eljárás menti az áruház vektorok utolsó lépés a B, és az R, meghatározott részmátrixot u, v. L. T, és két mátrixok lépésben kiszámított eljárás: V tartalmazza az érték a függőleges lépésben, és a H - vízszintes.

17. ábra kiszámítása submatrices eljárásában Masheka-Paterson

Mivel a legbelső ciklus végrehajtja konstans idő és megismételjük pontosan p 2-szer minden páros vonalak és a lépést vektorok, az egyes al-mátrixot számítjuk során O (p 2). A párok száma sorainak hossza p a ábécé egyenlő 2p. Ha s - ereje ez meg a lehetséges értékek a lépésben, amelyben figyelembe vesszük egy véges, akkor van egy teljes S 2P különböző pár hosszúságú vektor p lépés. Így vannak összesen (S *) 2P különböző submatrices hogy ad egy teljes feldolgozási idő O (p 2 (S * 2P).

Azt korábban bejelentette, hogy az ár korlátozásokat a beállított funkciót a lehetséges értékek az utolsó lépés. Tekintsük ezt az állítást közelebbről. A szabály di, j és a peremfeltételek (11) - (12) kiderül, hogy a lépés értéke korlátozott, függetlenül attól, hogy milyen irányvonalat kell figyelembe venni:

árfüggvény hívják gyér. ha minden egyes tagja a beállított ártáblázatról, nevezetesen egy egész szorzó valami állandó r. Véges abc kimutatható, hogy ha a értéke funkció ritka, akkor a készlet vett értékek a mátrixban az utolsó lépés, függetlenül a konkrét sor, megerősítve korábban tett állítását.

18. ábra kiszámítása a távolság-Paterson Masek

w (,) = 0 w (,) = 0 w (a,) = w (a,) egy w (a, b) = w (, b)) b

A tényleges szekvenciája szerkesztését a minimális ár alkalmazásával állíthatjuk elő hasonló módszerekkel visszalépés Wagner és Fisher. Szükséges szerkeszteni ezt a távolságot úgy nyerhetjük újraszámolja részmátrixot, amelyen keresztül az optimális tudjuk szerkeszteni, vagy mentse töltött részmátrixának során előzetes számításokat. Az utóbbi megközelítés lehetővé teszi, hogy meghatározzuk a szekvenciát módosított töltött mátrixok P és Q, és előre kiszámított submatrices lineáris időben, és előírja, O (n log 2 n) tároló memóriát submatrices. Megjegyezzük, hogy a mátrixok P és Q szükségessége (1 + m / p) * (1 + n / p) * p sejtek mindegyike, amely O (n 2 / log n). Így csak ez a módszer megköveteli, O (n 2 / log n) memóriájába.

Ez az algoritmus is alkalmazható arra a problémára találni LCS (x, y), a funkció használata az árak által adott (15). A kapcsolat a d (x, y) és | L (x, y) |, kifejeződése határoz meg (16), majd lehetővé teszi, hogy kiszámítja az időt LCS O (n 2 * log n). LCS önmagában állíthatók elő hasonló eljárással, hogy a használt az optimális módosítására szekvenciát.

Bebizonyosodott, hogy a számítás közötti távolságok vonalak ezzel a módszerrel aszimptotikusan gyorsabb, mint másodfokú Wagner és Fischer módszerrel. A gyakorlatban azonban az igazi nyereség lehet beszerezni csak nagyon hosszú sorokat. Ennek illusztrálására Masek és Paterson [Masek, Patterson, 1983] számításai szerint egy bináris ábécé és árképzési funkciók szerkesztési távolság, a legjobb hatásfok érhető csak vonalak, amelynek hossza nagyobb, mint 262.418.