Алгоритм оптимізації дерев рішень


16

Фон

Бінарне дерево рішень являє собою кореневе дерево , де кожен внутрішній вузол (і корінь) позначений індекс J { 1 , . . . , n } таким чином, що жоден шлях від кореня до листа не повторює індекс, листя позначаються виходами в { A , B } , а кожне ребро позначено 0 для лівої дитини та 1 для правої дитини. Щоб застосувати дерево до вводу x :Tj{1,...,n}{A,B}01x

  1. Почніть з кореня
  2. якщо ви знаходитесь в аркуші, виводите мітку аркуша або B і припиняєтеAB
  3. Прочитайте мітку j вашого поточного вузла, якщо xj=0 тоді перейдіть до лівої дитини, а якщо xj=1 тоді перейдіть до правої дитини.
  4. перейти до кроку (2)

Дерево використовується як спосіб оцінки функцій, зокрема ми говоримо, що дерево T являє собою загальну функцію f якщо для кожного x{0,1}n маємо T(x)=f(x) . Складність запиту дерева - це його глибина, а складність запиту функції - глибина найменшого дерева, яке його представляє.


Проблема

З огляду на бінарне дерево рішення T виводиться бінарне дерево рішень T 'мінімальної глибини, таке, що T і T' являють собою ту саму функцію.

Питання

Який найвідоміший алгоритм для цього? Чи відомі якісь нижні межі? Що робити, якщо ми знаємо, що ? А як бути, якщо нам потрібно лише, щоб T ' був приблизно мінімальної глибини?depth(T)=O(logdepth(T))T


Наївний підхід

Наївний підхід дається рекурсивно перерахувати всі бінарні дерева рішень глибинної г - 1 при тестуванні , якщо вони оцінюють одне і те ж , як Т . Здається, це вимагає O ( d 2 n n !d=depth(T)d1TКроків (за умовищо він приймаєdкрокищоб перевіритищоТ(х)приймає значення для довільногох). Чи є кращий підхід?O(d2nn!(nd)!)dT(x)x

Мотивація

Це питання мотивоване попереднім питанням про взаємодію між складністю запиту та складністю часу . Зокрема, мета - обмежити поділ часу на загальні функції. Ми можемо зробити дерево з оптимального для часу алгоритму з режимом виконання t , і тоді ми хотіли б перетворити його в дерево T ' для оптимального алгоритму запиту. На жаль, якщо t O ( n ! / ( N - d ) ! ) (А часто d Θ ( n )TtTtO(n!/(nd)!)dΘ(n)) вузьким місцем є перетворення. Було б добре, якби ми могли замінити чимось на кшталт 2 д .n!/(nd)!2d


Пошук оптимального дерева рішень не відповідає NP. Мене вчили, що в класах теорії рішень та майнінгу даних, однак, вони базувалися на замітках, і мені невідомий оригінальний документ, який ввів результат.
chazisop

@chazisop класно, дякую. Мені не очевидно, що пошук оптимального дерева рішень знаходиться в НП, але я подумаю над цим / шукаю його ще трохи. Іноді знати твердження теореми на півдорозі доводити це: D.
Артем Казнатчеєв

Я думаю, що найраніші посилання на це: Нижні межі списків та дерев, що приймають рішення. (Hancock et al. 1994) cs.uwaterloo.ca/~mli/dl.ps
Лев Рейзін

1
Доказ того, що пошук оптимального дерева рішень є повноцінною проблемою, були надані Лоран Хіафілом та Рональдом Л. Рівестом при конструюванні оптимальних дерев бінарних рішень . довідка: тут
antoine

Відповіді:


16

У мене є 3 відповіді, які дають дещо різні результати твердості.

Нехай є деякою функцією.f:{0,1}n{0,1}

Відповідь 1

Враховуючи дерево рішень обчислюючи f та число, важко визначити, чи існує дерево рішень T ´ обчислення f розміру не більше цього числа. TfTf( Зантема і Бодлендер '00 )

Відповідь 2

Зважаючи на обчисленні дерева рішень f , NP важко наблизити найменше дерево рішень, що обчислює f, до будь-якого постійного коефіцієнта. Tff( Силінг '08 )

Відповідь 3

Нехай - розмір найменшого дерева рішень, що обчислює f . Враховуючи дерево рішень T, обчислюючи f , припускаючи N P D T I M E ( 2 n ϵ ) для деякого ϵ < 1 , не можна знайти еквівалентне дерево рішення T розміру s k для будь-якого k 0 .sfTfNPDTIME(2nϵ)ϵ<1Tskk0

Я думаю, що ця більш сильна відповідь (спираючись на слабке припущення) може бути отримана з відомих результатів теорії навчання алгоритмів Оккама для дерев рішень за допомогою наступного аргументу:

  1. Чи можливо знайти дерево рішень щодо змінних за час n log s , де s - найменше дерево рішень, що відповідає прикладам, що надходять з розподілу (модель PAC). ( Блюм '92 ) nnlogss
  2. Якщо припустити для деяких ϵ < 1 , ми не можемо PAC дізнатися дерева розмірів s рішення за розмірами s k дерева рішень для будь-якого k 0 . ( Алехнович та ін. '07 )NPDTIME(2nϵ)ϵ<1sskk0

Ці два результати, мабуть, означають твердість для вашої проблеми. З одного боку (1) ми можемо знайти велике дерево рішень; з іншого боку (2), ми не повинні мати можливість мінімізувати його, щоб отримати еквівалентний "маленький", розміром , навіть коли такий існує з розміром s .sks


(Я знайшов вашу відповідь з цієї відповіді , яка була опублікована менше години тому.)Схоже , що « » можна замінити «позитивні е , так як зменшуються е робить правиця твоя боку утримувати в менше .ϵ<1ϵϵ Крім того, де в цьому документі показано 2.?

Дивіться точку № 2 у рефераті тут: researchcher.watson.ibm.com/researcher/files/us-vitaly/…
Лев Рейзін

(виходячи з тієї ж відповіді, що і Рікі Демер), чи можете ви детальніше розказати, як ви отримаєте "відповідь 3" з пунктів 1. і 2.? Я не дуже добре знайомий з теорією навчання і важко з'єдную частини ...
Марк

Ця проблема послідовності та навчальності тісно пов'язана через бритву Occam. Ідея полягає в тому, що якщо ви зможете знайти послідовну функцію з невеликого набору, ви можете досягти успіху в навчанні PAC. Тому твердість результату навчання передбачає результат "твердості послідовності". Я не впевнений, скільки ще можу пояснити у коментарі ...
Лев Рейзін

Наскільки я розумію, алгоритм, викликаний для 1., не працює в часі що було б необхідно, щоб отримати протиріччя з 2. (точний результат у статті, якщо я правильно його отримав говорить, що для дерев рішень немає алгоритму навчання багатопотокового навчання). Тож може виникнути проблема з вашою аргументацією. Poly(n,s)
Марк
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.