Кіріспе

Компьютерлік ғылымда X және Y екі тізбегінің ең қысқа ортақ супертізбегі – X және Y тізбектерінің кіші тізбектері болатын ең қысқа тізбек. Бұл мәселе ең ұзақ ортақ кіші тізбек мәселесімен тығыз байланысты. Екі тізбек берілген: X = < x1, …, xm > және Y = < y1, …, yn >. U = < u1, …, uk > тізбегі X және Y тізбектерінің ортақ супертізбегі болып есептеледі, егер U тізбегінен элементтерді алып тастау арқылы X және Y тізбектерін алуға болады. Ең қысқа ортақ супертізбек (SCS) – ең аз ұзындығы бар ортақ супертізбек. Ең қысқа ортақ супертізбек мәселесінде екі тізбек X және Y беріледі, және міндет – осы тізбектердің ең қысқа мүмкін ортақ супертізбегін табу. Жалпы алғанда, SCS бірегей емес. Екі кіріс тізбегі үшін ең ұзақ ортақ кіші тізбектен (LCS) SCS-ті оңай құрастыруға болады. Мысалы, егер X және Y тізбектерінің ең ұзақ ортақ кіші тізбегі Z болса, онда түпнұсқалық ретін сақтай отырып LCS-ке жатпайтын символдарды Z-ге енгізу арқылы ең қысқа ортақ супертізбек U алынады. Атап айтқанда, бұл теңдеу кез келген екі кіріс тізбегі үшін орындалады. Ең қысқа ортақ супертізбектер мен үш немесе одан көп кіріс тізбектерінің ең ұзақ ортақ кіші тізбектері арасында мұндай байланыс жоқ. (Атап айтқанда, LCS және SCS – қос проблема емес.) Дегенмен, екі мәселені де динамикалық бағдарламалау арқылы уақыттың ішінде шешуге болады, мұнда – тізбектердің саны және – олардың ең үлкен ұзындығы. Кіріс тізбектерінің кез келген саны үшін бұл мәселе NP-қиын.

Мысал

= { abc, cde, fab } жиынтығын қарастырайық, ол салмақты жиынтық жабу мысалының ғаламдық жиынына айналады. Бұл жағдайда = { abcde, fabc }. Онда ғаламның кіші жиынтықтары мыналар болады:

Олардың құндары сәйкесінше 3, 3, 3, 5 және 4-ке тең.