2-D пікова складність пошуку (MIT OCW 6.006)


9

У декламаційному відео для MIT OCW 6.006 о 43:30,

З огляду на матриці з стовпців і рядків, алгоритм піку Знаходження 2-D, де пік є будь-який більше значення , ніж або дорівнює це суміжних сусідів, був описаний як:м×нАмн

Примітка. Якщо в описі стовпців через є плутанина , я вибачаюся, але саме так описується відеозапис декламації, і я намагався відповідати відео. Це мене дуже бентежило.н

  1. Виберіть середній стовпчик // Має складністьн/2Θ(1)

  2. Знайдіть максимальне значення стовпця // Має складність оскільки у стовпці є рядківн/2Θ(м)м

  3. Перевірте хориз. ряди сусідів max значення, якщо воно більше, ніж пік був знайдений, інакше повторюється з // Має складністьТ(н/2,м)Т(н/2,м)

Потім, щоб оцінити рекурсію, каже інструктор декламації

Т(1,м)=Θ(м) оскільки він знаходить максимальне значення

(E1)Т(н,м)=Θ(1)+Θ(м)+Т(н/2,м)

Я розумію наступну частину, о 52:09 у відео, де він каже, що слід ставитися до як до постійної, оскільки кількість рядків ніколи не змінюється. Але я не розумію, як це призводить до такого продукту:м

(E2)Т(н,м)=Θ(м)Θ(журналн)

Я думаю, що, оскільки трактується як константа, він таким чином трактується як і усувається в вище. Але мені важко робити стрибок до . Це тому, що зараз ми розглядаємо випадок з постійною ?мΘ(1)(Е1)(Е2)Т(н/2)м

Я думаю, що можна "побачити" загальну думку про те, що операція виконується, в гіршому випадку, для m кількості рядків. Я намагаюся з’ясувати, як описати стрибок від до до когось іншого, тобто отримати реальне розуміння.Θ(журналн)(Е1)(Е2)

Відповіді:


1

Як я це розумію, потрібно Θ(m) час оцінити всі елементи в даному стовпчику та визначити, який із цих елементів є глобальним максимумом. ДеΘ(lg(н)) Це означає, що в гіршому випадку алгоритм повинен оцінювати lg(н)стовпців у матриці до знаходження піку. Тоді б працювалаΘ(мlg(н))

Наприклад, скажімо, ваша матриця має 32 стовпчики та 8 рядків.

  1. Ви берете середній стовпчик, скажімо стовпець 16. Ви оцінюєте його і виявляєте, що глобальний пік стовпця витісняється елементом праворуч. Ви скидаєте стовпчики 1-16 і орієнтуєтесь на стовпці 17-32
  2. Знайдіть середній стовпчик решти матриці, що є стовпцем 24, і ви оціните глобальний пік (це ваше друге оцінювання стовпців). Вам здається, що вам потрібно рухатись праворуч. Скиньте колонки 17-24, зосередьтесь на 25-32.
  3. Знайдіть середину (стовпець 28) - ви оцінюєте (оцінка третього стовпця), і вам здається, що вам потрібно рухатись праворуч. Відкиньте стовпці 25 - 28 та зосередьтесь на 29 - 32.
  4. Оцініть стовпчик 30 (четверте оцінювання), знайдіть, що вам потрібно перейти вправо, опустити стовпці 29-30.
  5. Оцініть один з решти стовпців (оцінка п'ятого стовпця), і ви закінчите.

Загалом ви виконали п'ять оцінок стовпців. 5 =lg(32) = lg(н) де n - кількість стовпців у матриці, а lg - база журналу 2.


2

аналіз, який ви окреслили, видається невірним. правильна складністьО(м) де м- більший розмір матриці (або рядків, або стовпців). дивіться цей інший правильний аналіз для отримання більш / більш детальної інформації. частина помилки - не визначення відношення рецидивуТ(н,м) з точки зору Т(н,м)тільки (що правильно обробляється в папері). стаття показує / використовує нескінченну серію:

Т(н)=Т(н2)+cнТ(н)=Т(1)+cн(1+12+14+18+)=О(н)


1
Ця відповідь насправді не викликає сумнівів! ОП говорить про алгоритм у декламаційному відео MIT OCW 6.006, в той час як ця відповідь говорить про інший алгоритм . Зокрема, аналіз, викладений ОП, є правильним щодо алгоритму цього відео.
Джон Л.
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.