ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² ΡƒΡ‡Ρ‘Π±Π΅, ΠΎΡ‡Π΅Π½ΡŒ быстро...
Π Π°Π±ΠΎΡ‚Π°Π΅ΠΌ вмСстС Π΄ΠΎ ΠΏΠΎΠ±Π΅Π΄Ρ‹

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π΅Ρ€Π΅Π²ΡŒΡ поиска

Π”ΠΎΠΊΠ»Π°Π΄ΠŸΠΎΠΌΠΎΡ‰ΡŒ Π² Π½Π°ΠΏΠΈΡΠ°Π½ΠΈΠΈΠ£Π·Π½Π°Ρ‚ΡŒ ΡΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒΠΌΠΎΠ΅ΠΉ Ρ€Π°Π±ΠΎΡ‚Ρ‹

ВмСсто этого Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ значСния e Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΅. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ индСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ±Π΅Π³Π°Ρ‚ΡŒ Π½Π΅ n, Π° n+1 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ для получСния ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ dn, понадобится Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅. Π’Ρ‚ΠΎΡ€ΠΎΠΉ индСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π½ΡƒΠ»Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ для получСния ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π°, содСрТащСго лишь Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ d0, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅… Π§ΠΈΡ‚Π°Ρ‚ΡŒ Π΅Ρ‰Ρ‘ >

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π΅Ρ€Π΅Π²ΡŒΡ поиска (Ρ€Π΅Ρ„Π΅Ρ€Π°Ρ‚, курсовая, Π΄ΠΈΠΏΠ»ΠΎΠΌ, ΠΊΠΎΠ½Ρ‚Ρ€ΠΎΠ»ΡŒΠ½Π°Ρ)

ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования ΠΈ Π½Π°ΡƒΠΊΠΈ Π£ΠΊΡ€Π°ΠΈΠ½Ρ‹ ΠœΠΈΠ½ΠΈΡΡ‚Π΅Ρ€ΡΡ‚Π²ΠΎ образования ΠΈ Π½Π°ΡƒΠΊΠΈ АРК ΠšΡ€Ρ‹ΠΌΡΠΊΠΈΠΉ ΠΈΠ½ΠΆΠ΅Π½Π΅Ρ€Π½ΠΎ-пСдагогичСский унивСрситСт Π”ΠžΠšΠ›ΠΠ” По Π΄ΠΈΡΡ†ΠΈΠΏΠ»ΠΈΠ½Π΅ Π‘Π΅ΠΌΠΈΠ½Π°Ρ€ ΠΏΠΎ ΡΠΏΠ΅Ρ†ΠΈΠ°Π»ΡŒΠ½Ρ‹ΠΌ дисциплинам По Ρ‚Π΅ΠΌΠ΅ ΠžΠŸΠ’Π˜ΠœΠΠ›Π¬ΠΠ«Π• Π‘Π˜ΠΠΠ ΠΠ«Π• Π”Π•Π Π•Π’Π¬Π― ПОИБКА Π‘ΠΈΠΌΡ„Π΅Ρ€ΠΎΠΏΠΎΠ»ΡŒ 2011

План:

1. ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π΅Ρ€Π΅Π²ΡŒΡ поиска

2. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° поиска

3. РСкурсивноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

4. ВычислСниС матСматичСского оТидания стоимости поиска Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ поиска.

ΠžΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π΅Ρ€Π΅Π²ΡŒΡ поиска

ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ разрабатываСтся ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ°, прСдназначСнная для ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π° тСкстов с Ρ€ΡƒΡΡΠΊΠΎΠ³ΠΎ языка Π½Π° ΡƒΠΊΡ€Π°ΠΈΠ½ΡΠΊΠΈΠΉ. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ русского слова Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡ‚ΠΈ украинский эквивалСнт. Один ΠΈΠ· Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… ΠΏΡƒΡ‚Π΅ΠΉ поиска — построСниС Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° поиска с n Ρ€ΡƒΡΡΠΊΠΈΠΌΠΈ словами, Π²Ρ‹ΡΡ‚ΡƒΠΏΠ°ΡŽΡ‰ΠΈΠΌΠΈ Π² Ρ€ΠΎΠ»ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΈ ΡƒΠΊΡ€Π°ΠΈΠ½ΡΠΊΠΈΠΌΠΈ эквивалСнтами, ΠΈΠ³Ρ€Π°ΡŽΡ‰ΠΈΠΌΠΈ Ρ€ΠΎΠ»ΡŒ ΡΠΎΠΏΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π΄Π°Π½Π½Ρ‹Ρ…. ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ поиск с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ этого Π΄Π΅Ρ€Π΅Π²Π° Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡ‚ΡŒΡΡ для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ слова ΠΈΠ· Ρ‚Скста, ΠΏΠΎΠ»Π½ΠΎΠ΅ Π·Π°Ρ‚Ρ€Π°Ρ‡Π΅Π½Π½ΠΎΠ΅ Π½Π° Π½Π΅Π³ΠΎ врСмя Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ мСньшС. Π‘ ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ красно-Ρ‡Π΅Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° ΠΈΠ»ΠΈ любого Π΄Ρ€ΡƒΠ³ΠΎΠ³ΠΎ сбалансированного Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° поиска ΠΌΠΎΠΆΠ½ΠΎ Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ Ρ‚ΠΎΠ³ΠΎ, Ρ‡Ρ‚ΠΎ врСмя ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΡ‚Π΄Π΅Π»ΡŒΠ½ΠΎΠ³ΠΎ поиска Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π°Π²Π½Ρ‹ΠΌ O (lgn). Однако слова Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ с Ρ€Π°Π·Π½ΠΎΠΉ частотой, ΠΈ ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒΡΡ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎ ΠΊΠ°ΠΊΠΎΠ΅-Π½ΠΈΠ±ΡƒΠ΄ΡŒ часто употрСбляСмоС слово (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€Π΅Π΄Π»ΠΎΠ³ ΠΈΠ»ΠΈ союз) находится Π΄Π°Π»Π΅ΠΊΠΎ ΠΎΡ‚ ΠΊΠΎΡ€Π½Ρ, Π° Ρ‚Π°ΠΊΠΎΠ΅ Ρ€Π΅Π΄ΠΊΠΎΠ΅ слово, ΠΊΠ°ΠΊ «ΠΊΠΎΠ½Ρ‚рвстрСча» , — Π²ΠΎΠ·Π»Π΅ корня. Π’Π°ΠΊΠΎΠΉ способ ΠΎΡ€Π³Π°Π½ΠΈΠ·Π°Ρ†ΠΈΠΈ ΠΏΡ€ΠΈΠ²Π΅Π» Π±Ρ‹ ΠΊ Π·Π°ΠΌΠ΅Π΄Π»Π΅Π½ΠΈΡŽ ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄Π°, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ количСство ΡƒΠ·Π»ΠΎΠ², просмотрСнных Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ поиска ΠΊΠ»ΡŽΡ‡Π° Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅, Ρ€Π°Π²Π½ΠΎ ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π³Π»ΡƒΠ±ΠΈΠ½Π΅ ΡƒΠ·Π»Π°, содСрТащСго Π΄Π°Π½Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡. НуТно ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ слова, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ Π² Ρ‚СкстС часто, Π±Ρ‹Π»ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ‰Π΅Π½Ρ‹ ΠΏΠΎΠ±Π»ΠΈΠΆΠ΅ ΠΊ ΠΊΠΎΡ€Π½ΡŽ. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΈΡΡ…ΠΎΠ΄Π½ΠΎΠΌ тСкстС ΠΌΠΎΠ³ΡƒΡ‚ Π²ΡΡ‚Ρ€Π΅Ρ‡Π°Ρ‚ΡŒΡΡ слова, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… ΠΏΠ΅Ρ€Π΅Π²ΠΎΠ΄ отсутствуСт. Π’Π°ΠΊΠΈΡ… слов Π²ΠΎΠΎΠ±Ρ‰Π΅ Π½Π΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ Π² Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ поиска. Как ΠΎΡ€Π³Π°Π½ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска, Ρ‡Ρ‚ΠΎΠ±Ρ‹ свСсти ΠΊ ΠΌΠΈΠ½ΠΈΠΌΡƒΠΌΡƒ количСство посСщСнных Π² ΠΏΡ€ΠΎΡ†Π΅ΡΡΠ΅ поиска ΡƒΠ·Π»ΠΎΠ², Ссли извСстно, с ΠΊΠ°ΠΊΠΎΠΉ частотой Π²ΡΡ‚Ρ€Π΅Ρ‡Π°ΡŽΡ‚ΡΡ слова?

НСобходимая Π½Π°ΠΌ конструкция извСстна ΠΊΠ°ΠΊ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска (optimal binary search tree). ΠŸΡ€ΠΈΠ²Π΅Π΄Π΅ΠΌ Ρ„ΠΎΡ€ΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ описаниС Π·Π°Π΄Π°Ρ‡ΠΈ. Π˜ΠΌΠ΅Π΅Ρ‚ΡΡ заданная ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ К = (k1, k2,…, kn), состоящая ΠΈΠ· n Ρ€Π°Π·Π»ΠΈΡ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ располоТСны Π² ΠΎΡ‚сортированном порядкС (Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ k1 < k2 <… < kn). Из ΡΡ‚ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½ΡƒΠΆΠ½ΠΎ ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° ΠΊ{ Π·Π°Π΄Π°Π½Π° Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ pi ΠΏΠΎΠΈΡΠΊΠ° этого ΠΊΠ»ΡŽΡ‡Π°. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, ΠΌΠΎΠΆΠ΅Ρ‚ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΡ‚ΡŒΡΡ поиск Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ, ΠΎΡ‚ΡΡƒΡ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΡ… Π² ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ К, поэтому слСдуСт ΠΏΡ€Π΅Π΄ΡƒΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ n + 1 Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ (d0, d1,…, dn), ΠΏΡ€Π΅Π΄ΡΡ‚Π°Π²Π»ΡΡŽΡ‰ΠΈΡ… эти значСния. Π’ Ρ‡Π°ΡΡ‚ности, do ΠΏΡ€Π΅Π΄ΡΡ‚авляСт всС значСния, мСньшиС k1, a dn — всС значСния, ΠΏΡ€Π΅Π²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠ΅ ΠΊΠΏ. Π€ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ di (i = 1,2,…, n — 1) прСдставляСт всС значСния, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ находятся ΠΌΠ΅ΠΆΠ΄Ρƒ ki ΠΈ ki+1. Для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° di Π·Π°Π΄Π°Π½Π° ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰Π°Ρ Π΅ΠΉ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ qi. НапримСр Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска для мноТСства, состоящСго ΠΈΠ· n = 5 ΠΊΠ»ΡŽΡ‡Π΅ΠΉ.

ΠšΠ°ΠΆΠ΄Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ ki прСдставлСн Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ ΡƒΠ·Π»ΠΎΠΌ, Π° ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ di являСтся листом. Поиск ΠΌΠΎΠΆΠ΅Ρ‚ Π±Ρ‹Ρ‚ΡŒ Π»ΠΈΠ±ΠΎ ΡƒΡΠΏΠ΅ΡˆΠ½Ρ‹ΠΌ (Π½Π°ΠΉΠ΄Π΅Π½ ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ ΠΊΠ»ΡŽΡ‡ ki), Π»ΠΈΠ±ΠΎ Π½Π΅ΡƒΠ΄Π°Ρ‡Π½Ρ‹ΠΌ (возвращаСтся ΠΊΠ°ΠΊΠΎΠΉ-Ρ‚ΠΎ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ di), поэтому справСдливо ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ВСроятности, ΡΠΎΠΎΡ‚Π²Π΅Ρ‚ΡΡ‚Π²ΡƒΡŽΡ‰ΠΈΠ΅ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½ΠΈΠΌ ΡƒΠ·Π»Π°ΠΌ pi ΠΈ Π»ΠΈΡΡ‚ΡŒΡΠΌ qi, ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

i

Pi

0,15

0,10

0,05

0,10

0,20

qi

0,05

0,10

0,05

0,05

0,05

0,10

ΠŸΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ поиска ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎΠ³ΠΎ ΠΈ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π° считаСтся извСстной, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠΏΡ€Π΅Π΄Π΅Π»ΠΈΡ‚ΡŒ матСматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ стоимости поиска ΠΏΠΎ Π·Π°Π΄Π°Π½Π½ΠΎΠΌΡƒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌΡƒ Π΄Π΅Ρ€Π΅Π²Ρƒ поиска T. ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ фактичСская cΡ‚ΠΎΠΈΠΌΠΎΡΡ‚ΡŒ поиска опрСдСляСтся количСством ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Π½Ρ‹Ρ… ΡƒΠ·Π»ΠΎΠ², Ρ‚. Π΅. ΡƒΠ²Π΅Π»ΠΈΡ‡Π΅Π½Π½ΠΎΠΉ Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ Π³Π»ΡƒΠ±ΠΈΠ½ΠΎΠΉ ΡƒΠ·Π»Π° Π½Π° Π΄Π΅Ρ€Π΅Π²Π΅ T, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ находится искомый ΠΊΠ»ΡŽΡ‡. Π’ΠΎΠ³Π΄Π° матСматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ стоимости поиска Π² Π΄Π΅Ρ€Π΅Π²Π΅ T Ρ€Π°Π²Π½ΠΎ Π³Π΄Π΅ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° depthT () ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡Π°Π΅Ρ‚ Π³Π»ΡƒΠ±ΠΈΠ½Ρƒ ΡƒΠ·Π»Π° Π² Π΄Π΅Ρ€Π΅Π²Π΅ T. Π’ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ матСматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ стоимости поиска для Π²Ρ‹ΡˆΠ΅ΡƒΠΊΠ°Π·Π°Π½Π½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π°.

Π£Π·Π΅Π»

Π“Π»ΡƒΠ±ΠΈΠ½Π°

Π’Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ

Π’ΠΊΠ»Π°Π΄

k1

0,15

0,30

k2

0,10

0,10

k3

0,05

0,15

k4

0,10

0,20

k5

0,20

0,60

d0

0,05

0,15

d1

0,10

0,30

d2

0,05

0,20

d3

0,05

0,20

d4

0,05

0,20

d5

0,10

0,40

ВсСго:

2,80

ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΠΌ для Π΄Π°Π½Π½ΠΎΠ³ΠΎ Π½Π°Π±ΠΎΡ€Π° вСроятностСй Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска, матСматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ стоимости поиска для ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ³ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ. Π’Π°ΠΊΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ называСтся ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΌ Π΄Π΅Ρ€Π΅Π²ΠΎΠΌ поиска. ΠŸΠΎΡΡ‚Ρ€ΠΎΠΈΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска для вСроятностСй, Π·Π°Π΄Π°Π½Π½Ρ‹Ρ… Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅.

ΠœΠ°Ρ‚Π΅ΠΌΠ°Ρ‚ΠΈΡ‡Π΅ΡΠΊΠΎΠ΅ ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ поиска Π² ΡΡ‚ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ Ρ€Π°Π²Π½ΠΎ 2.80. Π­Ρ‚ΠΎΡ‚ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ дСмонстрируСт, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска — это Π½Π΅ ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Π΄Π΅Ρ€Π΅Π²ΠΎ минимальной высоты. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ соотвСтствуСт максимальная Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ, Π½Π΅ Π²ΡΠ΅Π³Π΄Π° находится Π² ΠΊΠΎΡ€Π½Π΅. Π’ Π΄Π°Π½Π½ΠΎΠΌ случаС Π²Π΅Ρ€ΠΎΡΡ‚Π½ΠΎΡΡ‚ΡŒ ΠΈΠΌΠ΅Π΅Ρ‚ ΡΠ°ΠΌΡƒΡŽ Π±ΠΎΠ»ΡŒΡˆΡƒΡŽ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ для ΠΊΠ»ΡŽΡ‡Π° k5, хотя Π² ΠΊΠΎΡ€Π½Π΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° располоТСн ΠΊΠ»ΡŽΡ‡ k2. (Минимальная Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Π° матСматичСского оТидания для всСвозмоТных Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² поиска, Π² ΠΊΠΎΡ€Π½Π΅ ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… находится ΠΊΠ»ΡŽΡ‡ k5, Ρ€Π°Π²Π½Π° 2.85) ΠŸΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹ΠΉ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€ всСх Π²ΠΎΠ·ΠΌΠΎΠΆΠ½Ρ‹Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² Π² Π΄Π°Π½Π½ΠΎΠΌ случаС оказываСтся нСэффСктивным.

Π§Ρ‚ΠΎΠ±Ρ‹ ΡΠΊΠΎΠ½ΡΡ‚Ρ€ΡƒΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска, ΠΌΠΎΠΆΠ½ΠΎ ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΡ‚ΡŒ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ k1, k2, …, kn ΡƒΠ·Π»Ρ‹ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° с n ΡƒΠ·Π»Π°ΠΌΠΈ, Π° Π·Π°Ρ‚Π΅ΠΌ Π΄ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ Π»ΠΈΡΡ‚ΡŒΡ для Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π’ Π·Π°Π΄Π°Ρ‡Π΅ 12−4 Π±Ρ‹Π»ΠΎ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ, Ρ‡Ρ‚ΠΎ количСство Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π² с n ΡƒΠ·Π»Π°ΠΌΠΈ Ρ€Π°Π²Π½ΠΎ, Ρ‚Π°ΠΊ Ρ‡Ρ‚ΠΎ количСство Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π², ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ Π½Π°Π΄ΠΎ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ ΠΏΡ€ΠΈ ΠΏΠΎΠ»Π½ΠΎΠΌ ΠΏΠ΅Ρ€Π΅Π±ΠΎΡ€Π΅, растСт ΡΠΊΡΠΏΠΎΠ½Π΅Π½Ρ†ΠΈΠ°Π»ΡŒΠ½ΠΎ с Ρ€ΠΎΡΡ‚ΠΎΠΌ n. Π­Ρ‚Π° Π·Π°Π΄Π°Ρ‡Π° Π±ΡƒΠ΄Π΅Ρ‚ Ρ€Π΅ΡˆΠ°Ρ‚ΡŒΡΡ ΠΌΠ΅Ρ‚ΠΎΠ΄ΠΎΠΌ динамичСского программирования.

2. Π‘Ρ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€Π° ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° поиска

Π§Ρ‚ΠΎΠ±Ρ‹ ΠΎΡ…Π°Ρ€Π°ΠΊΡ‚Π΅Ρ€ΠΈΠ·ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ подструктуру ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° поиска, исслСдуСм Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΡŒΡ. Рассмотрим ΠΏΡ€ΠΎΠΈΠ·Π²ΠΎΠ»ΡŒΠ½ΠΎΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° поиска. Оно Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ Π½Π΅ΠΏΡ€Π΅Ρ€Ρ‹Π²Π½Ρ‹ΠΉ ΠΈΠ½Ρ‚Π΅Ρ€Π²Π°Π» ki,…, kj Для Π½Π΅ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 1 < i < j < n. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Ρ‚Π°ΠΊΠΎΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Ρ‚Π°ΠΊΠΆΠ΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π»ΠΈΡΡ‚ΡŒΠ΅Π² Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ di-1, …, dj.

Π’Π΅ΠΏΠ΅Ρ€ΡŒ ΠΌΠΎΠΆΠ½ΠΎ ΡΡ„ΠΎΡ€ΠΌΡƒΠ»ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΡƒΡŽ подструктуру: Ссли Π² ΡΠΎΡΡ‚Π°Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° поиска T Π²Ρ…ΠΎΠ΄ΠΈΡ‚ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ T', содСрТащСС ΠΊΠ»ΡŽΡ‡ΠΈ ki,…, kj, Ρ‚ΠΎ ΡΡ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ Ρ‚ΠΎΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±Ρ‹Ρ‚ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹ΠΌ для Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡ΠΈ с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ki,…, kj ΠΈ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΌΠΈ ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ di-1, …, dj. Для Π΄ΠΎΠΊΠ°Π·Π°Ρ‚Π΅Π»ΡŒΡΡ‚Π²Π° этого утвСрТдСния примСняСтся ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹ΠΉ ΠΌΠ΅Ρ‚ΠΎΠ΄ «Π²Ρ‹Ρ€Π΅Π·Π°Π½ΠΈΡ ΠΈ Π²ΡΡ‚Π°Π²ΠΊΠΈ». Если Π±Ρ‹ сущСствовало ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ Π’", матСматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ поиска Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ Π½ΠΈΠΆΠ΅, Ρ‡Π΅ΠΌ матСматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ поиска Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π΅ Π’', Ρ‚ΠΎ ΠΈΠ· Π΄Π΅Ρ€Π΅Π²Π° Π’ ΠΌΠΎΠΆΠ½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π²Ρ‹Ρ€Π΅Π·Π°Ρ‚ΡŒ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ Π’' ΠΈ ΠΏΠΎΠ΄ΡΡ‚Π°Π²ΠΈΡ‚ΡŒ вмСсто Π½Π΅Π³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ Π’". Π’ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚Π΅ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΠ»ΠΎΡΡŒ Π±Ρ‹ Π΄Π΅Ρ€Π΅Π²ΠΎ, матСматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ поиска, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌ оказалось Π±Ρ‹ мСньшС, Ρ‡Ρ‚ΠΎ ΠΏΡ€ΠΎΡ‚ΠΈΠ²ΠΎΡ€Π΅Ρ‡ΠΈΡ‚ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΡΡ‚ΠΈ Π΄Π΅Ρ€Π΅Π²Π° Π’.

ПокаТСм с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ описанной Π²Ρ‹ΡˆΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΉ подструктуры, Ρ‡Ρ‚ΠΎ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π·Π°Π΄Π°Ρ‡ΠΈ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΎΡΡΠΎΠ·Π΄Π°Ρ‚ΡŒ ΠΈΠ· ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡. Если имССтся ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ, содСрТащСС ΠΊΠ»ΡŽΡ‡ΠΈ ki,…, kj, Ρ‚ΠΎ ΠΎΠ΄ΠΈΠ½ ΠΈΠ· ΡΡ‚ΠΈΡ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, скаТСм, kr (i<=r<=j) Π±ΡƒΠ΄Π΅Ρ‚ ΠΊΠΎΡ€Π½Π΅ΠΌ этого ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π°. ΠŸΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ находится слСва ΠΎΡ‚ ΠΊΠΎΡ€Π½Ρ kr, Π±ΡƒΠ΄Π΅Ρ‚ ΡΠΎΠ΄Π΅Ρ€ΠΆΠ°Ρ‚ΡŒ ΠΊΠ»ΡŽΡ‡ΠΈ ki,…, kr-1 (ΠΈ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ di-1,…, dr-1), Π° ΠΏΡ€Π°Π²ΠΎΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ — ΠΊΠ»ΡŽΡ‡ΠΈ kr+1,…, kj (ΠΈ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ dr,…, dj). Как Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Π±ΡƒΠ΄ΡƒΡ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€Π΅Π½Ρ‹ всС ΠΊΠ»ΡŽΡ‡ΠΈ kr (Π³Π΄Π΅ I <= r <= j), ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Π΅ ΡΠ²Π»ΡΡŽΡ‚ΡΡ ΠΊΠ°Π½Π΄ΠΈΠ΄Π°Ρ‚Π°ΠΌΠΈ Π½Π° Ρ€ΠΎΠ»ΡŒ корня, ΠΈ Π½Π°ΠΉΠ΄Π΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Π΅ Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Π΅ Π΄Π΅Ρ€Π΅Π²ΡŒΡ поиска, содСрТащиС элСмСнты ki,…, kr-1, ΠΈ kr+1,…, kj, ΠΌΡ‹ Π³Π°Ρ€Π°Π½Ρ‚ΠΈΡ€ΠΎΠ²Π°Π½Π½ΠΎ построим ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска. Π‘Ρ‚ΠΎΠΈΡ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΎΠ΄Π½ΠΎ Π·Π°ΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅ ΠΏΠΎ ΠΏΠΎΠ²ΠΎΠ΄Ρƒ «ΠΏΡƒΡΡ‚Ρ‹Ρ…» ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π². ΠŸΡ€Π΅Π΄ΠΏΠΎΠ»ΠΎΠΆΠΈΠΌ, Ρ‡Ρ‚ΠΎ Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π΅ с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ki,…, kj Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ корня Π²Ρ‹Π±Ρ€Π°Π½ ΠΊΠ»ΡŽΡ‡ ki.

Богласно ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½Π½Ρ‹ΠΌ Π²Ρ‹ΡˆΠ΅ рассуТдСниям, ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ находится слСва ΠΎΡ‚ ΠΊΠΎΡ€Π½Ρ ki, содСрТит ΠΊΠ»ΡŽΡ‡ΠΈ ki,…, ki-1. Π˜Π½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚ΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ эту ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΊΠ°ΠΊ Ρ‚Π°ΠΊΡƒΡŽ, Π² ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΉ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ся Π½ΠΈ ΠΎΠ΄Π½ΠΎΠ³ΠΎ ΠΊΠ»ΡŽΡ‡Π°. Однако слСдуСт ΠΈΠΌΠ΅Ρ‚ΡŒ Π² Π²ΠΈΠ΄Ρƒ, Ρ‡Ρ‚ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΡŒΡ содСрТат ΠΏΠΎΠΌΠΈΠΌΠΎ Ρ€Π΅Π°Π»ΡŒΠ½Ρ‹Ρ… ΠΈ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹Π΅ ΠΊΠ»ΡŽΡ‡ΠΈ. ΠŸΡ€ΠΈΠΌΠ΅ΠΌ соглашСниС, согласно ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠΌΡƒ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ, состоящСС ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ki,…ki-1, Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠ΄ΠΈΠ½ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ di-1. Аналогично, Ссли Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ корня Π²Ρ‹Π±Ρ€Π°Π½ ΠΊΠ»ΡŽΡ‡ ki, Ρ‚ΠΎ ΠΏΡ€Π°Π²ΠΎΠ΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΠΎ Π½Π΅ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½Ρ‹Ρ… ΠΊΠ»ΡŽΡ‡Π΅ΠΉ, Π½ΠΎ ΡΠΎΠ΄Π΅Ρ€ΠΆΠΈΡ‚ ΠΎΠ΄ΠΈΠ½ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ dj.

3. РСкурсивноС Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

Π’Π΅ΠΏΠ΅Ρ€ΡŒ всС Π³ΠΎΡ‚ΠΎΠ²ΠΎ для рСкурсивного опрСдСлСния ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ. Π’ ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π²Ρ‹Π±Π΅Ρ€Π΅ΠΌ Π·Π°Π΄Π°Ρ‡Ρƒ поиска ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° поиска, содСрТащСго ΠΊΠ»ΡŽΡ‡ΠΈ ki,…, kj, Π³Π΄Π΅ i >= 1, j <= n ΠΈ j >= i — 1 (Ссли j = n — 1, Ρ‚ΠΎ Ρ„актичСских ΠΊΠ»ΡŽΡ‡Π΅ΠΉ Π½Π΅ ΡΡƒΡ‰Π΅ΡΡ‚Π²ΡƒΠ΅Ρ‚, имССтся Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ di-1). ΠžΠΏΡ€Π΅Π΄Π΅Π»ΠΈΠΌ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π΅[i, j] ΠΊΠ°ΠΊ матСматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ стоимости поиска Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ поиска с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΊ{,…, kj. Π’ ΠΊΠΎΠ½Π΅Ρ‡Π½ΠΎΠΌ ΠΈΡ‚ΠΎΠ³Π΅ Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ Π΅[1,n].

Если j = i — 1, Ρ‚ΠΎ Π²ΡΠ΅ просто. Π’ ΡΡ‚ΠΎΠΌ случаС имССтся всСго ΠΎΠ΄ΠΈΠ½ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ di-1, ΠΈ ΠΌΠ°Ρ‚СматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ стоимости поиска Ρ€Π°Π²Π½ΠΎ Π΅[i, i — 1] = qi-1.

Если j >= i, Ρ‚ΠΎ ΡΡ€Π΅Π΄ΠΈ ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ki,…, kj Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Π±Ρ€Π°Ρ‚ΡŒ ΠΊΠΎΡ€Π΅Π½ΡŒ kr, Π° ΠΏΠΎΡ‚ΠΎΠΌ ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅ΠΉ ki,…, kr-1 ΡΠΎΡΡ‚Π°Π²ΠΈΡ‚ΡŒ Π»Π΅Π²ΠΎΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска, Π° ΠΈΠ· ΠΊΠ»ΡŽΡ‡Π΅ΠΉ kr+1,…, kj — ΠΏΡ€Π°Π²ΠΎΠ΅ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ΅ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ΅ Π΄Π΅Ρ€Π΅Π²ΠΎ поиска. Π“Π»ΡƒΠ±ΠΈΠ½Π° ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡƒΠ·Π»Π° Π² ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π΅ возрастаСт Π½Π° Π΅Π΄ΠΈΠ½ΠΈΡ†Ρƒ. Богласно ΡƒΡ€Π°Π²Π½Π΅Π½ΠΈΡŽ матСматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ стоимости поиска Π² ΡΡ‚ΠΎΠΌ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π΅ возрастаСт Π½Π° Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρƒ суммы ΠΏΠΎ Π²ΡΠ΅ΠΌ вСроятностям ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π°. ΠžΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ эту сумму вСроятностСй, Π²Ρ‹Ρ‡ΠΈΡΠ»Π΅Π½Π½ΡƒΡŽ для ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π° с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ki,…, kj Ρ‚Π°ΠΊ:

Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, Ссли kr — ΠΊΠΎΡ€Π΅Π½ΡŒ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π°, содСрТащСго ΠΊΠ»ΡŽΡ‡ΠΈ ΠΊi,…, kj, Ρ‚ΠΎ Π²Ρ‹ΠΏΠΎΠ»Π½ΡΠ΅Ρ‚ся ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ Π—Π°ΠΌΠ΅Ρ‚ΠΈΠ², Ρ‡Ρ‚ΠΎ Π²Ρ‹Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ для Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Π΅ [i, j] ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠ΅Ρ€Π΅ΠΏΠΈΡΠ°Ρ‚ΡŒ Ρ‚Π°ΠΊ:

Π­Ρ‚ΠΎ рСкурсивноС ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΏΡ€Π΅Π΄ΠΏΠΎΠ»Π°Π³Π°Π΅Ρ‚, Ρ‡Ρ‚ΠΎ Π½Π°ΠΌ извСстно, ΠΊΠ°ΠΊΠΎΠΉ ΡƒΠ·Π΅Π» kr ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ корня. На ΡΡ‚Ρƒ Ρ€ΠΎΠ»ΡŒ выбираСтся ΠΊΠ»ΡŽΡ‡, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ²ΠΎΠ΄ΠΈΡ‚ ΠΊ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌΡƒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΡŽ матСматичСского оТидания стоимости поиска.

Π‘ ΡƒΡ‡Π΅Ρ‚ΠΎΠΌ этого ΠΏΠΎΠ»ΡƒΡ‡Π°Π΅ΠΌ ΠΎΠΊΠΎΠ½Ρ‡Π°Ρ‚Π΅Π»ΡŒΠ½ΡƒΡŽ Ρ€Π΅ΠΊΡƒΡ€ΡΠΈΠ²Π½ΡƒΡŽ Ρ„ΠΎΡ€ΠΌΡƒΠ»Ρƒ:

Π’Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Π΅[r, j] — это матСматичСскоС ΠΎΠΆΠΈΠ΄Π°Π½ΠΈΠ΅ стоимостСй поиска Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½Ρ‹Ρ… Π±ΠΈΠ½Π°Ρ€Π½Ρ‹Ρ… Π΄Π΅Ρ€Π΅Π²ΡŒΡΡ… поиска. Π§Ρ‚ΠΎΠ±Ρ‹ Π±Ρ‹Π»ΠΎ Π»Π΅Π³Ρ‡Π΅ ΡΠ»Π΅Π΄ΠΈΡ‚ΡŒ Π·Π° ΡΡ‚Ρ€ΡƒΠΊΡ‚ΡƒΡ€ΠΎΠΉ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° поиска, ΠΎΠ±ΠΎΠ·Π½Π°Ρ‡ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· root [i, j] (Π³Π΄Π΅ 1 <= i <= j <= n) индСкс r ΡƒΠ·Π»Π° kr, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ являСтся ΠΊΠΎΡ€Π½Π΅ΠΌ ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° поиска, содСрТащСго ΠΊΠ»ΡŽΡ‡ΠΈ ki,…, kj.

Π±ΠΈΠ½Π°Ρ€Π½Ρ‹ΠΉ Π΄Π΅Ρ€Π΅Π²ΠΎ рСкурсивный ΠΊΠ»ΡŽΡ‡

4. ВычислСниС матСматичСского оТидания стоимости поиска Π² ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠΌ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠΌ Π΄Π΅Ρ€Π΅Π²Π΅ поиска

Для Ρ€Π΅ΡˆΠ΅Π½ΠΈΡ Π΄Π°Π½Π½ΠΎΠΉ Π·Π°Π΄Π°Ρ‡ΠΈ Π΅Π΅ Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ Ρ€Π°Π·Π±ΠΈΡ‚ΡŒ Π½Π° Π½Π΅ΡΠΊΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΎΠ΄Π·Π°Π΄Π°Ρ‡. Π’ΠΎ Π²ΡΠΏΠΎΠΌΠΎΠ³Π°Ρ‚Π΅Π»ΡŒΠ½Ρ‹Ρ… Π·Π°Π΄Π°Ρ‡Π°Ρ… индСксы элСмСнтов ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ ΠΏΠΎΡΠ»Π΅Π΄ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ. ΠŸΡ€ΡΠΌΠ°Ρ рСкурсивная рСализация уравнСния ΠΌΠΎΠΆΠ΅Ρ‚ ΠΎΠΊΠ°Π·Π°Ρ‚ΡŒΡΡ нСэффСктивной.

ВмСсто этого Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ значСния e[i, j] Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ Π΅ [1.n+1,0.n]. ΠŸΠ΅Ρ€Π²Ρ‹ΠΉ индСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ ΠΏΡ€ΠΎΠ±Π΅Π³Π°Ρ‚ΡŒ Π½Π΅ n, Π° n+1 Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π­Ρ‚ΠΎ ΠΎΠ±ΡŠΡΡΠ½ΡΠ΅Ρ‚ΡΡ Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎ для получСния ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π°, Π² ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π²Ρ…ΠΎΠ΄ΠΈΡ‚ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ dn, понадобится Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅[n+1,n]. Π’Ρ‚ΠΎΡ€ΠΎΠΉ индСкс Π΄ΠΎΠ»ΠΆΠ΅Π½ Π½Π°Ρ‡ΠΈΠ½Π°Ρ‚ΡŒΡΡ с Π½ΡƒΠ»Ρ, ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ для получСния ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²Π°, содСрТащСго лишь Ρ„ΠΈΠΊΡ‚ΠΈΠ²Π½Ρ‹ΠΉ ΠΊΠ»ΡŽΡ‡ d0, Π½ΡƒΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ ΠΈ ΡΠΎΡ…Ρ€Π°Π½ΠΈΡ‚ΡŒ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ Π΅ [1,0]. НСобходимо ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ ΡΠ»Π΅ΠΌΠ΅Π½Ρ‚Ρ‹ e[i, j], для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… j >= i-1. ΠšΡ€ΠΎΠΌΠ΅ Ρ‚ΠΎΠ³ΠΎ, Π½Π΅ΠΎΠ±Ρ…ΠΎΠ΄ΠΈΠΌΠΎ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚ΡŒ Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ root[i, j], Π² ΠΊΠΎΡ‚ΠΎΡ€ΡƒΡŽ Π±ΡƒΠ΄ΡƒΡ‚ Π·Π°Π½ΠΎΡΠΈΡ‚ΡŒΡΡ ΠΊΠΎΡ€Π½ΠΈ ΠΏΠΎΠ΄Π΄Π΅Ρ€Π΅Π²ΡŒΠ΅Π², содСрТащих ΠΊΠ»ΡŽΡ‡ΠΈ ki,…, kj. Π’ ΡΡ‚ΠΎΠΉ Ρ‚Π°Π±Π»ΠΈΡ†Π΅ задСйствованы Ρ‚ΠΎΠ»ΡŒΠΊΠΎ Ρ‚Π΅ Π·Π°ΠΏΠΈΡΠΈ, для ΠΊΠΎΡ‚ΠΎΡ€Ρ‹Ρ… 1 <= i <= j <= n.

Для ΠΏΠΎΠ²Ρ‹ΡˆΠ΅Π½ΠΈΡ эффСктивности понадобится Π΅Ρ‰Π΅ ΠΎΠ΄Π½Π° Ρ‚Π°Π±Π»ΠΈΡ†Π°. ВмСсто Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ Ρ€Π°Π· ΠΏΡ€ΠΈ вычислСнии e[i, j] Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡ‚ΡŒ значСния w (i, j) «Ρ Π½ΡƒΠ»Ρ», для Ρ‡Π΅Π³ΠΎ потрСбуСтся (j — i) ΠΎΠΏΠ΅Ρ€Π°Ρ†ΠΈΠΉ слоТСния, Π±ΡƒΠ΄Π΅ΠΌ ΡΠΎΡ…Ρ€Π°Π½ΡΡ‚ΡŒ эти значСния Π² Ρ‚Π°Π±Π»ΠΈΡ†Π΅ w [l.n+1,0.n]. Π’ Π±Π°Π·ΠΎΠ²ΠΎΠΌ случаС Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹

w [i, i-1] = qi-1 для 1 <= i <= n + 1.

Для j >= i Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ся Π²Π΅Π»ΠΈΡ‡ΠΈΠ½Ρ‹ Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΊΠ°ΠΆΠ΄ΠΎΠ΅ ΠΈΠ· (n2) Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ ΠΌΠ°Ρ‚Ρ€ΠΈΡ†Ρ‹ w [i, j] ΠΌΠΎΠΆΠ½ΠΎ Π²Ρ‹Ρ‡ΠΈΡΠ»ΠΈΡ‚ΡŒ Π·Π° Π²Ρ€Π΅ΠΌΡ (1).

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ псСвдокод, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π² ΠΊΠ°Ρ‡Π΅ΡΡ‚Π²Π΅ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ… вСроятности pi,…, pn ΠΈ q0,…, qn ΠΈ Ρ€Π°Π·ΠΌΠ΅Ρ€ n ΠΈ Π²ΠΎΠ·Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΅ ΠΈ root.

Π Π°Π±ΠΎΡ‚Π° прСдставлСнной Π²Ρ‹ΡˆΠ΅ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Ρ‚Π°ΠΊΠΎΠ²Π°. Π¦ΠΈΠΊΠ» for Π² ΡΡ‚Ρ€ΠΎΠΊΠ°Ρ… 1−3 ΠΈΠ½ΠΈΡ†ΠΈΠ°Π»ΠΈΠ·ΠΈΡ€ΡƒΠ΅Ρ‚ значСния Π΅[i, i-1] ΠΈ w[i, i-1]. Π—Π°Ρ‚Π΅ΠΌ Π² Ρ†ΠΈΠΊΠ»Π΅ for Π² ΡΡ‚Ρ€ΠΎΠΊΠ°Ρ… 4−13 с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Ρ€Π΅ΠΊΡƒΡ€Ρ€Π΅Π½Ρ‚Π½Ρ‹Ρ… ΡΠΎΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠΉ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ элСмСнты ΠΌΠ°Ρ‚Ρ€ΠΈΡ† Π΅[i, j] ΠΈ w[i, j] для всСх индСксов 1 <= i <= j <= n.

Π’ ΠΏΠ΅Ρ€Π²ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° l = 1, Π² ΡΡ‚ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ элСмСнты Π΅ [i, i] ΠΈ w [i, i] для i = 1,2,…, n.

Π’ΠΎ Π²Ρ‚ΠΎΡ€ΠΎΠΉ ΠΈΡ‚Π΅Ρ€Π°Ρ†ΠΈΠΈ, ΠΊΠΎΠ³Π΄Π° l = 2, Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ элСмСнты Π΅[i, i+1] ΠΈ w[i, i+1] для i= 1,2,…, n-1 ΠΈ Ρ‚. Π΄.

Π’ΠΎ Π²Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅ΠΌ Ρ†ΠΈΠΊΠ»Π΅ for (строки 9−13) ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ индСкс r Π°ΠΏΡ€ΠΎΠ±ΠΈΡ€ΡƒΠ΅Ρ‚ся Π½Π° Ρ€ΠΎΠ»ΡŒ индСкса ΠΊΠΎΡ€Π½Π΅Π²ΠΎΠ³ΠΎ элСмСнта kr ΠΎΠΏΡ‚ΠΈΠΌΠ°Π»ΡŒΠ½ΠΎΠ³ΠΎ Π±ΠΈΠ½Π°Ρ€Π½ΠΎΠ³ΠΎ Π΄Π΅Ρ€Π΅Π²Π° поиска с ΠΊΠ»ΡŽΡ‡Π°ΠΌΠΈ ΠΊi,…, kj. Π’ ΡΡ‚ΠΎΠΌ Ρ†ΠΈΠΊΠ»Π΅ элСмСнту root [i, j] присваиваСтся Ρ‚ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ индСкса r, ΠΊΠΎΡ‚ΠΎΡ€ΠΎΠ΅ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄ΠΈΡ‚ Π»ΡƒΡ‡ΡˆΠ΅ всСго.

НиТС ΠΏΠΎΠΊΠ°Π·Π°Π½Ρ‹ Ρ‚Π°Π±Π»ΠΈΡ†Ρ‹ Π΅[i, j], w[i, j] ΠΈ root[i, j], вычислСнныС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Optimal_BST для распрСдСлСния ΠΊΠ»ΡŽΡ‡Π΅ΠΉ. Π’Π°Π±Π»ΠΈΡ†Ρ‹ ΠΏΠΎΠ²Π΅Ρ€Π½ΡƒΡ‚Ρ‹ Ρ‚Π°ΠΊ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π΄ΠΈΠ°Π³ΠΎΠ½Π°Π»ΠΈ Ρ€Π°ΡΠΏΠΎΠ»Π°Π³Π°Π»ΠΈΡΡŒ Π³ΠΎΡ€ΠΈΠ·ΠΎΠ½Ρ‚Π°Π»ΡŒΠ½ΠΎ. Π’ ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Optimal_BST строки Π²Ρ‹Ρ‡ΠΈΡΠ»ΡΡŽΡ‚ΡΡ снизу Π²Π²Π΅Ρ€Ρ…, Π° Π² ΠΊΠ°ΠΆΠ΄ΠΎΠΉ строкС Π·Π°ΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ элСмСнтов производится слСва Π½Π°ΠΏΡ€Π°Π²ΠΎ.

ВрСмя выполнСния ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Optimal_BST Ρ€Π°Π²Π½ΠΎ (n3). Π›Π΅Π³ΠΊΠΎ ΡƒΠ²ΠΈΠ΄Π΅Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ врСмя Ρ€Π°Π±ΠΎΡ‚Ρ‹ составляСт О (n2), ΠΏΠΎΡΠΊΠΎΠ»ΡŒΠΊΡƒ Ρ†ΠΈΠΊΠ»Ρ‹ for этой ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Ρ‹ Ρ‚Ρ€ΠΈΠΆΠ΄Ρ‹ Π²Π»ΠΎΠΆΠ΅Π½Ρ‹ Π΄Ρ€ΡƒΠ³ Π² Π΄Ρ€ΡƒΠ³Π°, ΠΈ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Ρ†ΠΈΠΊΠ»Π° ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°Π΅Ρ‚ Π½Π΅ Π±ΠΎΠ»Π΅Π΅ n Π·Π½Π°Ρ‡Π΅Π½ΠΈΠΉ. Π”Π°Π»Π΅Π΅, ндСксы Ρ†ΠΈΠΊΠ»ΠΎΠ² Π² ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π΅ Optimal_BST ΠΈΠ·ΠΌΠ΅Π½ΡΡŽΡ‚ΡΡ Π²ΠΎ Π²ΡΠ΅Ρ… направлСниях ΠΎΠ½ΠΈ ΠΏΡ€ΠΈΠ½ΠΈΠΌΠ°ΡŽΡ‚ ΠΏΠΎ ΠΊΡ€Π°ΠΉΠ½Π΅ΠΉ ΠΌΠ΅Ρ€Π΅ ΠΎΠ΄Π½ΠΎ Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅. Π’Π°ΠΊΠΈΠΌ ΠΎΠ±Ρ€Π°Π·ΠΎΠΌ, ΠΏΡ€ΠΎΡ†Π΅Π΄ΡƒΡ€Π° Optimal_BST выполняСтся Π² Ρ‚Π΅Ρ‡Π΅Π½ΠΈΠ΅ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ (n3).

1. ΠšΠΎΡ€ΠΌΠ΅Π½ Π’. Π₯. Алгоритмы: построСниС ΠΈ Π°Π½Π°Π»ΠΈΠ· / Π’. Π₯. ΠšΠΎΡ€ΠΌΠ΅Π½, Π§. И. ЛСйзСрсон. Π . Π›. РивСст, К. Π¨Ρ‚Π°ΠΉΠ½. — [2-Π΅ ΠΈΠ·Π΄.]: ΠΏΠ΅Ρ€. Ρ Π°Π½Π³Π». — Πœ.: Изд. Π΄ΠΎΠΌ «Π’ΠΈΠ»ΡŒΡΠΌΡ», 2005. — 1296 с.

2. Π˜Π½Ρ‚Π΅Ρ€Π½Π΅Ρ‚-УнивСрситСт Π˜Π½Ρ„ΠΎΡ€ΠΌΠ°Ρ†ΠΈΠΎΠ½Π½Ρ‹Ρ… Π’Π΅Ρ…Π½ΠΎΠ»ΠΎΠ³ΠΈΠΉ «intuit.ru»

ΠŸΠΎΠΊΠ°Π·Π°Ρ‚ΡŒ вСсь тСкст
Π—Π°ΠΏΠΎΠ»Π½ΠΈΡ‚ΡŒ Ρ„ΠΎΡ€ΠΌΡƒ Ρ‚Π΅ΠΊΡƒΡ‰Π΅ΠΉ Ρ€Π°Π±ΠΎΡ‚ΠΎΠΉ