Задача про найдовшу зростаючу підпослідовність

В інформатиці задача про найдовшу зростаючу підпослідовність полягає у пошуку підпослідовності даної послідовності, в якій елементи підпослідовності розташовані в порядку зростання, тобто, кожен наступний елемент підпослідовності більше попереднього, також, підпослідовність є якомога довшою. Шукана послідовність не обов'язково є неперервною або єдиною. Найбільш довгі зростаючи підпослідовності вивчаються у різних дисциплінах, пов'язаних з математикою, включаючи алгоритміку, теорію випадкових матриць, теорію представлень та фізику[1]. Задача про найдовшу зростаючу підпослідовність розв'язується за час O (n log n), де n — довжина вхідної послідовності[2].

Приклад

У перших 16 членах двійкової послідовності ван дер Корпута[en]

0, 8, 4, 12, 2, 10, 6, 14, 1, 9, 5, 13, 3, 11, 7, 15

найдовша зростаюча підпослідовність

0, 2, 6, 9, 11, 15.

Ця підпослідовність має довжину шість, що є максимальним значенням, бо вхідна послідовність не має зростаючих підпослідовностей із семи елементів. Найдовша зростаюча підпослідовність у цьому прикладі має декілька розв'язків. Наприклад,

0, 4, 6, 9, 11, 15
0, 2, 6, 9, 13, 15
0, 4, 6, 9, 13, 15.

Це різні зростаючі підпослідовності однакової довжини в одній і тій же вхідній послідовності.

Зв'язок з іншими алгоритмічними задачами

Задача найдовшої зростаючого підпослідовності тісно пов'язана з найдовшою спільною підпослідовністю, яка розв'язується за допомогою динамічного програмування за квадратичний час: найдовша зростаюча підпослідовність послідовності S є найдовшою загальною підпослідовністю S і T, де T — результат сортування[en] S . Однак для окремого випадку, коли вхідними даними є перестановка цілих чисел 1, 2, …, n, цей підхід можна зробити набагато ефективнішим, так, щоб він виконувався за час O(n log log n)[3].

Найбільша кліка в графі перестановки відповідає найдовшій спадній підпослідовності перестановки, яка визначає граф (припускаючи, що вихідна послідовність без перестановок сортується від найменшого значення до найбільшого). Подібним чином, максимальна незалежна множина[en] в графі перестановок відповідає найдовшій неспадній підпослідовності. Тому найефективніші алгоритми пошуку зростаючої підпослідовності можуть бути використані для ефективного вирішення задачі про кліку в графах перестановки[4].

У відповідності Робінзона – Шенстеда[en] між перестановками і таблицями Юнга довжина першого рядка таблиці, що відповідає перестановці, дорівнює довжині найбільшої зростаючої підпослідовності перестановки, а довжина першого стовпця дорівнює довжині найдовшої спадної підпослідовністі[2].

Ефективні алгоритми

Викладений нижче алгоритм ефективно вирішує задачу про найдовшу зростаючу підпослідовність за допомогою масивів та двійкового пошуку. Він обробляє елементи послідовності один за одним, відповідно до їх порядку, при цьому підтримується найдовша зростаюча підпослідовність, знайдена на цей момент. Позначимо значення вхідної послідовності як X[0], X[1], тощо. Потім, після обробки чергового X[i], алгоритм буде зберігати значення у двох масивах:

M[j] — зберігає індекс k найменшого значення X[k], яке є останнім у зростаючий підпослідовністі довжини j, що закінчується значенням X[k] (ki, рівність можлива тільки коли входовий масив до індексу i є зростаючим). Зверніть увагу, що j(i + 1), оскільки j ≥ 1 є довжиною зростаючої підпослідовності, а k ≥ 0 — це індекс в масиві X її останнього елементу.
P[k] — зберігає індекс в масиві X, який йде перед останнім елементом X[k] у найдовшій зростаючій послідовності, що закінчується на X[k].

Крім того, алгоритм зберігає змінну L, яка представляє довжину найдовшої зростаючої підпослідовності, знайденого на поточний момент. Оскільки наведений нижче алгоритм використовує нумерацію від нуля, для ясності M доповнюється елементом M[0], який не використовується, тим самим M[j] відповідає послідовності довжини j. Конкретна реалізація може не залучати M[0] і відповідно індекси буде скорегувано.

Зверніть увагу, що в будь-який момент виконання алгоритму послідовність: X[M[1]], X[M[2]], …, X[M[L]]

є зростаючою. Бо, якщо існує зростаюча підпослідовність довжини j ≥ 2, що закінчується в X[M[j]], то існує також підпослідовність довжини j-1, що закінчується на меншому значенні: а саме та, яка закінчується в X[P[M[j]]]. Таким чином, ми можемо виконувати двійковий пошук в цій послідовності за логарифмічний час.

Тоді алгоритм працює наступним чином:

Демо-версія коду.
P = масив довжини N
M = масив довжини N + 1

L = 0
L = 0
for i in range 0 to N-1:
    // Двійковий пошук найбільшого додатного j ≤ L
    // такого, що X[M[j]] < X[i]
    lo = 1
    hi = L
    while lo ≤ hi:
        mid = ceil((lo+hi)/2)
        if X[M[mid]] < X[i]:
            lo = mid+1
        else:
            hi = mid-1

    // Після пошуку, lo на 1 більше, ніж
    // довжина найдовшого префіксу X[i]
    newL = lo

    // Попередник X[i] є останнім індексом 
    // підпослідовності довжини newL-1
    // The predecessor of X[i] is the last index of 
    // the subsequence of length newL-1
    P[i] = M[newL-1]
    M[newL] = i
    
    if newL > L:
        // Якщо ми знайшли підпослідовність довшу
        // за будь-яку зі знайдених, то оновимо L
        L = newL
// Реконструюємо найдовшу зростаючу підпослідовність
S = масив довжини L
k = M[L]
for i in range L-1 to 0:
    S[i] = X[k]
    k = P[k]

return S

Оскільки алгоритм виконує один двійковий пошук на кожен елемент послідовності, його загальний час виконання можна виразити позначенням Big O, як O (n log n). Fredman, (1975) обговорює варіант цього алгоритму, який він приписує Дональду Кнуту. У варіанті, який він досліджував, алгоритм перевіряє, чи кожне значення X[i] може бути використано для продовження поточної найдовшої послідовності, що збільшується, за сталий час, перед виконанням двійкового пошуку. За допомогою цієї модифікації алгоритм використовує щонайбільше n log2 nn log2log2 n + O(n) порівнянь в найгіршому випадку, що є оптимальним для алгоритму, заснованого на порівнянні, з точністю до сталого коефіцієнта в O(n)[5].

Межі довжини

Відповідно до теореми Ердеша — Секереша, будь-яка послідовність n2+1 різних цілих чисел має зростаючу або спадну підпослідовність довжини n + 1[6][7]. Для входів, в яких кожна перестановка очікується з однаковою ймовірністю, очікувана довжина найдовшої зростаючої підпослідовності становить приблизно 2n[8]. Коли n наближається до нескінченності, тоді граничне значення довжини найбільшої зростаючої підпослідовності випадково переставленої послідовності з n елементів має розподіл, що наближається до розподілу Трейсі – Відома[en], розподілу найбільшого власного значення випадкової матриці в універсальному гауссовому ансамблі[9].

Онлайн-алгоритми

Найдовша зростальна підпослідовність також досліджувалась з використанням онлайн-алгоритмів, в яких елементи послідовності незалежних випадкових величин із неперервним розподілом F, або, як варіант, елементи випадкової перестановки — подаються по одному елементу до алгоритму, який повинен вирішити, включити чи виключити кожен елемент, не маючи інформації про елементи, які надійдуть згодом. У цьому варіанті задачі, який передбачає цікаве застосування у декількох контекстах, можна розробити оптимальну процедуру відбору, яка, беручи до уваги випадкову вибірку розміром n, буде генерувати зростальну послідовність із максимально очікуваною довжиною розміру приблизно 2n[10]. Довжина зростальної підпослідовності, відібрана за цією оптимальною процедурою, має дисперсію, приблизно рівну 2n/3, і її граничний розподіл асимптотично нормальний після звичайного центрування та масштабування[11]. Ті самі асимптотичні результати мають більш точні межі для відповідної задачі в умовах Пуассонівського процесу[12]. Подальше уточнення у випадку Пуассонівського процесу, відбувається через доведення центральної граничної теореми для оптимального процесу вибору з відповідною нормалізацією у більш повному сенсі, ніж можна було б очікувати. Доведення дає не тільки «правильну» функціональну граничну теорему, але також (сингулярну) матрицю коваріації тривимірного процесу, що узагальнює всі взаємодійні процеси[13].

Застосування

  • Частина системи MUMmer[en] (Maximum Unique Match finder) для вирівнювання цілих геномів.
  • Використовується в системах контролю версій, таких як Git тощо.
  • Використовується в Patience Diff, алгоритмі різниці (обчислює та відображає різницю між вмістом файлів), який використовується у «Bazaar» (Bazaar — це система контролю версій, яка допомагає вам відстежувати історію проекту з часом та легко співпрацювати з іншими)

Див. також

Примітки

  1. Aldous, David; Diaconis, Persi (1999), Longest increasing subsequences: from patience sorting to the Baik–Deift–Johansson theorem, Bulletin of the American Mathematical Society, 36 (04): 413—432, doi:10.1090/S0273-0979-99-00796-X
  2. а б Schensted, C. (1961), Longest increasing and decreasing subsequences, Canadian Journal of Mathematics, 13: 179—191, doi:10.4153/CJM-1961-015-3, MR 0121305
  3. Hunt, J.; Szymanski, T. (1977), A fast algorithm for computing longest common subsequences, Communications of the ACM, 20 (5): 350—353, doi:10.1145/359581.359603
  4. Golumbic, M. C. (1980), Algorithmic Graph Theory and Perfect Graphs, Computer Science and Applied Mathematics, Academic Press, с. 159
  5. Fredman, Michael L. (1975), On computing the length of longest increasing subsequences, Discrete Mathematics, 11 (1): 29—35, doi:10.1016/0012-365X(75)90103-X
  6. Erdős, Paul; Szekeres, George (1935), A combinatorial problem in geometry, Compositio Mathematica, 2: 463—470, архів оригіналу за 19 лютого 2019, процитовано 21 липня 2021
  7. Steele, J. Michael (1995), Variations on the monotone subsequence theme of Erdős and Szekeres, у Aldous, David; Diaconis, Persi; Spencer, Joel та ін. (ред.), Discrete Probability and Algorithms (PDF), IMA Volumes in Mathematics and its Applications, т. 72, Springer-Verlag, с. 111—131, архів оригіналу (PDF) за 11 червня 2019, процитовано 21 липня 2021
  8. Vershik, A. M.; Kerov, C. V. (1977), Asymptotics of the Plancheral measure of the symmetric group and a limiting form for Young tableaux, Dokl. Akad. Nauk SSSR, 233: 1024—1027
  9. Baik, Jinho; Deift, Percy; Johansson, Kurt (1999), On the distribution of the length of the longest increasing subsequence of random permutations, Journal of the American Mathematical Society, 12 (4): 1119—1178, arXiv:math/9810105, doi:10.1090/S0894-0347-99-00307-0.
  10. Samuels, Stephen. M.; Steele, J. Michael (1981), Optimal Sequential Selection of a Monotone Sequence From a Random Sample (PDF), Annals of Probability, 9 (6): 937—947, doi:10.1214/aop/1176994265{{citation}}: Обслуговування CS1: Сторінки з параметром url-status, але без параметра archive-url (посилання)
  11. Arlotto, Alessandro; Nguyen, Vinh V.; Steele, J. Michael (2015), Optimal online selection of a monotone subsequence: a central limit theorem, Stochastic Processes and their Applications, 125 (9): 3596—3622, arXiv:1408.6750, doi:10.1016/j.spa.2015.03.009
  12. Bruss, F. Thomas; Delbaen, Freddy (2001), Optimal rules for the sequential selection of monotone subsequences of maximum expected length, Stochastic Processes and their Applications, 96 (2): 313—342
  13. Bruss, F. Thomas; Delbaen, Freddy (2004), A central limit theorem for the optimal selection process for monotone subsequences of maximum expected length, Stochastic Processes and their Applications, 114 (2): 287—311, doi:10.1016/j.spa.2004.09.002

Посилання

Read other articles:

Peta Asia Kecil setelah Traktat Apamea Traktat Apamea tahun 188 SM, adalah perjanjian damai antara Republik Romawi dan Antiokus III, penguasa Kekaisaran Seleukia. Perjanjian tersebut dilakukan setelah kemenangan Romawi dalam Pertempuran Thermopylae (191 SM), Pertempuran Magnesia (190), dan setelah kemenangan angkatan laut Romawi dan Rhodes atas angkatan laut Seleukia. Sumber Polybius of Megalopolis, World History, 21.42: text of the treaty Appian of Alexandria, Syriaca Diarsipkan 2015-11-19 d...

 

James BarryDr James Barry (kiri) bersama dengan John, pelayannya dan anjingnya, Psyche sekitar tahun 1862, JamaikaLahirMargaret Ann Bulkley±1789-1799IrlandiaMeninggal25 Juli 1865, sekitar usia 66-76Inggris, Britania RayaNama lainJames Miranda Stuart BarryPekerjaanahli bedahDikenal atasreformasi medis, jender yang dipertanyakan James Miranda Stuart Barry (±1789-1799-25 Juli 1865, nama lahir Margaret Ann Bulkley) merupakan seorang ahli bedah militer pada Angkatan Darat Britania. Setelah...

 

Artikel ini sebatang kara, artinya tidak ada artikel lain yang memiliki pranala balik ke halaman ini.Bantulah menambah pranala ke artikel ini dari artikel yang berhubungan atau coba peralatan pencari pranala.Tag ini diberikan pada Januari 2023. Berkas:ZATCHBELL.jpgGash dan Kiyomaro Gash dan Kiyomaro adalah karakter utama dari anime dan manga Gash Bell Gash Bell Gash adalah mamodo/mamono berusia 6 tahun. Spell booknya berwarna merah. Gash ditemukan oleh ayah Kiyomaro, Seitaro Takamine di pedal...

American academic, explorer, treasure hunter and politician (1875–1956) This article has multiple issues. Please help improve it or discuss these issues on the talk page. (Learn how and when to remove these template messages) This article needs additional citations for verification. Please help improve this article by adding citations to reliable sources. Unsourced material may be challenged and removed.Find sources: Hiram Bingham III – news · newspapers · books...

 

Ne doit pas être confondu avec Conservatoire national des arts et métiers, Institut catholique d'arts et métiers ou École catholique d'arts et métiers. Pour les articles homonymes, voir École nationale supérieure d'arts et métiers (homonymie), Arts et métiers et ENSAM. École nationale supérieure d'arts et métiersHistoireFondation 1er septembre 1780StatutType École d'ingénieurs (d)Forme juridique Établissement public national à caractère scientifique culturel et professionnel...

 

Синелобый амазон Научная классификация Домен:ЭукариотыЦарство:ЖивотныеПодцарство:ЭуметазоиБез ранга:Двусторонне-симметричныеБез ранга:ВторичноротыеТип:ХордовыеПодтип:ПозвоночныеИнфратип:ЧелюстноротыеНадкласс:ЧетвероногиеКлада:АмниотыКлада:ЗавропсидыКласс:Пт�...

Jean-Julien RojerRojer di Monte-Carlo Masters 2023Kebangsaan Antillen Belanda (2002–2010) Curaçao (2010–2012) Belanda (2012–sekarang)Tempat tinggalDubai, Uni Emirat ArabLahir25 Agustus 1981 (umur 42)Willemstad, Antillen Belanda (kini bagian dari Curaçao)Tinggi1,85 m (6 ft 1 in)Memulai pro2003Tipe pemainTangan kanan (backhand dua tangan)KampusUCLATotal hadiahUS $6,533,950TunggalRekor (M–K)13–1 (92.86%)Gelar0Peringkat tertinggiNo. 218 (15 Agustus 2...

 

Patung-patung di Rumah Kleopatra di Delos, Yunani Pakaian di Yunani kuno biasanya terdiri dari chiton, peplos, himation, dan chlamys. Pria dan wanita Yunani Kuno biasanya mengenakan sepasang pakaian yang dipakai di badan: sebuah pakaian dalam (chiton atau peplos) dan sebuah pakaian luar (himation atau chlamys).[1] Referensi ^ Alden, Maureen (January 2003), Ancient Greek Dress, Costume, 37.1: 1–16  Pranala luar Wikimedia Commons memiliki media mengenai Costume in ancient Greece....

 

Hainanese Archeological heritage site Stones are cut flat on top with a thin rim. Seawater remains from high tide. It then evaporates leaving the salt, which is collected. The Yangpu Ancient Salt Field (simplified Chinese: 洋浦千年古盐田; traditional Chinese: 洋浦千年古鹽田; pinyin: Yángpǔ qiānnián gǔ yántián) is an archeological heritage site in Yantian village, on the Yangpu Peninsula in Hainan, China. The site is an example of salt's various roles in Chines...

English author (born 1994) Alice OsemanBornAlice May Oseman (1994-10-16) 16 October 1994 (age 29)Chatham, Kent, EnglandAlma materDurham University (BA)GenreYoung adult fictionYears active2014–presentSignatureWebsitealiceoseman.com Alice May Oseman (born 16 October 1994)[1] is an English author of young adult fiction. She[a] secured her first publishing deal at 17 and published her first novel Solitaire in 2014.[2] Her novels include Radio Silence, I Wa...

 

Electronic Data Systems (EDS)Logo EDS yang terakhir diketahuiJenisDivisi dari HPIndustriLayanan teknologi informasiNasibDiakuisisi oleh Hewlett-PackardDidirikan27 Juni 1962sebagai Electronic Data SystemsPendiriH. Ross PerotDitutup23 September 2009KantorpusatPlano, Texas, Amerika SerikatProdukLayanan komputerPendapatanUS$22.1 milyar (2007)Karyawan136,000IndukGeneral Motors 1984–1996Hewlett-Packard 2008–2015Hewlett-Packard Enterprise 2015-2017 DXC Technology 2017–sekarangSitus webwww.eds....

 

本條目存在以下問題,請協助改善本條目或在討論頁針對議題發表看法。 此條目需要編修,以確保文法、用詞、语气、格式、標點等使用恰当。 (2013年8月6日)請按照校對指引,幫助编辑這個條目。(幫助、討論) 此條目剧情、虛構用語或人物介紹过长过细,需清理无关故事主轴的细节、用語和角色介紹。 (2020年10月6日)劇情、用語和人物介紹都只是用於了解故事主軸,輔助�...

Bridge in Karachi Native Jetty Bridgeنٽي جٽي جو پلNative Jetty Bridge as seen from Port GrandCoordinates24°50′35″N 66°59′26″E / 24.842919°N 66.990557°E / 24.842919; 66.990557Official nameNative Jetty BridgeOther name(s)Napier Mole BridgeNamed forCharles NapierCharacteristicsNo. of lanes2HistoryConstruction start1830Construction end1854Location Native Jetty Bridge, also known as Napier Mole Bridge, is a bridge located in Karachi, Sindh which connec...

 

العلاقات البنينية الكينية بنين كينيا   بنين   كينيا تعديل مصدري - تعديل   العلاقات البنينية الكينية هي العلاقات الثنائية التي تجمع بين بنين وكينيا.[1][2][3][4][5] مقارنة بين البلدين هذه مقارنة عامة ومرجعية للدولتين: وجه المقارنة بنين كينيا المس�...

 

قرية جزيرة ذو حراب  - قرية -  تقسيم إداري البلد  اليمن المحافظة محافظة حجة المديرية مديرية ميدي العزلة عزلة الجزر السكان التعداد السكاني 2004 السكان 90   • الذكور 90   • الإناث 0   • عدد الأسر 16   • عدد المساكن 16 معلومات أخرى التوقيت توقيت اليمن (+3 غرينيتش) ت...

Cet article est une ébauche concernant la radiodiffusion. Vous pouvez partager vos connaissances en l’améliorant (comment ?) selon les pratiques du projet Radio. Enregistrement d'un feuilleton radiophonique aux Pays-Bas en 1949. Le feuilleton radiophonique, aussi appelé feuilleton radiodiffusé, film radiophonique, radio-feuilleton ou radioroman, est un sous-genre de la dramatique radio. Souvent, mais non nécessairement œuvre de fiction, proche de la série, à cette différence ...

 

Yomawari NekoSampul tankōbon pada volume pertama (Edisi Kodansha)夜廻り猫 MangaPengarangKaoru Fukaya [ja]PenerbitEnterbrain (2016)Kodansha (2017–present)MajalahComicWalker (February 22, 2016 – July 12, 2016)Moae (March 23, 2017 – October 14, 2022)Comic Days (October 17, 2022 – present)DemografiSeinenTerbitOctober 22, 2015 – sekarangVolume9 (Daftar volume) Seri animeSutradaraKazuma TaketaniSkenarioHiroko KanasugiMusikKenichi MaeyamadaStudioShogakukan Music & Dig...

 

Карта Арканзаса с делением на округа Американский штат Арканзас состоит из 75 округов. По данным на 2011 год население штата составляло 2 937 979 человек, то есть в одном округе в среднем проживало 39 173 человека. Площадь штата составляет 137 732 км², то есть средняя пло�...

Pour les articles homonymes, voir Geschke. Simon GeschkeSimon Geschke lors du Grand Prix d'Isbergues 2014.InformationsNaissance 13 mars 1986 (38 ans)BerlinNationalité allemandeÉquipe actuelle CofidisÉquipe non-UCI 2005-7.2008KED-Bianchi BerlinÉquipes UCI 8.2008-2008Team Milram (stagiaire)2009-2011Skil-Shimano2012-3.2012Project 1t4i4.2012-2013Argos-Shimano2014Giant-Shimano2015-2016Giant-Alpecin2017-2018Team Sunweb2019-2020CCC Team2021-2024CofidisPrincipales victoires 1 étape de gran...

 

Germinated cereal grains that have been dried For other uses, see Malt (disambiguation). A handful of malted barley, the white sprouts visible Beer malt varieties from Bamberg, Germany Malt is any cereal grain that has been made to germinate by soaking in water and then stopped from germinating further by drying with hot air, a process known as malting.[1][2][3][4] Malted grain is used to make beer, whisky, malted milk, malt vinegar, confections such as Maltese...