Algorithme d'optimisation des arbres de décision


16

Contexte

Un arbre de décision binaire T est un arbre enraciné où chaque nœud interne (et racine) est étiqueté par un index sorte qu'aucun chemin de la racine à la feuille ne répète un index, les feuilles sont étiquetés par des sorties dans , et chaque bord est étiqueté par pour l'enfant gauche et pour l'enfant droit. Pour appliquer un arbre à une entrée :{ A , B } 0 1 xj{1,...,n}{A,B}01x

  1. Commencez à la racine
  2. si vous êtes à leaf, vous sortez le label leaf ou et vous terminezBAB
  3. Lisez l'étiquette de votre nœud actuel, si déplacez-vous vers l'enfant de gauche et si déplacez-vous vers l'enfant de droite.x j = 0 x j = 1jxj=0xj=1
  4. passer à l'étape (2)

L'arbre est utilisé comme un moyen d'évaluer une fonction, en particulier on dit qu'un arbre représente une fonction totale si pour chaque on a . La complexité de requête d'un arbre est sa profondeur, et la complexité de requête d'une fonction est la profondeur du plus petit arbre qui la représente.f x { 0 , 1 } n T ( x ) = f ( x )Tfx{0,1}nT(x)=f(x)


Problème

Étant donné un arbre de décision binaire T, un arbre de décision binaire T 'de profondeur minimale telle que T et T' représente la même fonction.

Question

Quel est l'algorithme le plus connu pour cela? Des limites inférieures sont-elles connues? Et si nous savons que la depth(T)=O(logdepth(T)) ? Qu'en est-il si nous exigeons seulement que T soit d'une profondeur approximativement minimale?


Approche naïve

L'approche naïve est donnée =profondeur(T) pour énumérer récursive tous les arbres de décision binaires de profondeur d1 tout en testant si elles évaluent à la même chose que T . Cela semble nécessiter étapes (en supposant qu'il fautdétapes pour vérifier ce queT(x)évalue pour unxarbitraire). Est-ce qu'il y a une meilleure approche?O(d2nn!(nd)!)dT(x)x

Motivation

Cette question est motivée par une question précédente sur le compromis entre la complexité des requêtes et la complexité temporelle . En particulier, l'objectif est de limiter la séparation temporelle pour les fonctions totales. On peut faire un arbre partir d'un algorithme optimal dans le temps avec le temps d'exécution t , puis on voudrait le convertir en arbre T ' pour un algorithme optimal de requête. Malheureusement, si t O ( n ! / ( N - d ) ! ) (Et souvent d Θ ( n )TtTtO(n!/(nd)!)dΘ(n)) le goulot d'étranglement est la conversion. Ce serait bien si nous pouvions remplacer par quelque chose comme 2 d .n!/(nd)!2d


Trouver l'arbre de décision optimal est NP-complet. On m'a appris cela dans les cours de théorie de la décision et d'exploration de données, mais ceux-ci étaient basés sur des notes et je ne connais pas le document original qui a introduit le résultat.
chazisop

@chazisop cool, merci. Il n'est pas évident pour moi que trouver l'arbre de décision optimal soit dans NP, mais j'y penserai / le rechercherai un peu plus. Parfois, connaître l'énoncé du théorème est à mi-chemin de le prouver: D.
Artem Kaznatcheev

Je pense que la première référence à ce sujet est: des limites inférieures sur les listes de décision d'apprentissage et les arbres. (Hancock et al.1994
Lev Reyzin

1
La preuve que trouver l'arbre de décision optimal est un problème NP-complet a été donnée par Laurent Hyafil et Ronald L. Rivest dans Construire des arbres de décision binaires optimaux est NP-complete (1976). référence: ici
antoine

Réponses:


16

J'ai 3 réponses, donnant toutes des résultats de dureté quelque peu différents.

Soit une fonction.F:{0,1}n{0,1}

Réponse 1

Etant donné un arbre de décision calculant f et un nombre, il est NP-difficile de dire s'il existe un arbre de décision T ' calculant f de taille au plus égale à ce nombre. TFTF( Zantema et Bodlaender '00 )

Réponse 2

Étant donné un arbre de décision calculant f , il est difficile pour NP d'approximer le plus petit arbre de décision calculant f à un facteur constant. TFF( Sieling '08 )

Réponse 3

Soit la taille du plus petit arbre de décision calcul f . Étant donné un arbre de décision T calculant f , en supposant N P D T I M E ( 2 n ϵ ) pour certains ϵ < 1 , on ne peut pas trouver un arbre de décision équivalent T de taille s k pour tout k 0 .sFTFNPTjeME(2nϵ)ϵ<1Tskk0

Je pense que cette réponse plus forte (reposant sur une hypothèse plus faible) peut être faite à partir de résultats connus dans la théorie d'apprentissage des algorithmes d'Occam pour les arbres de décision, via l'argument suivant:

  1. Est-il possible de trouver un arbre de décision sur variables dans le temps n log s , où s est le plus petit arbre de décision cohérent avec des exemples issus d'une distribution (modèle PAC). ( Blum '92 ) nnlogss
  2. En supposant pour un certain ε < 1 , on ne peut pas savoir PAC taille de les arbres de décision selon la taille de k des arbres de décision pour tout k 0 . ( Alekhnovich et al. '07 )NPDTIME(2nϵ)ϵ<1sskk0

Ces deux résultats semblent impliquer un résultat de dureté pour votre problème. D'une part (1), nous pouvons trouver un grand arbre de décision; d'autre part (2), nous ne devrions pas pouvoir le minimiser pour en obtenir un "petit" équivalent, de taille , même lorsqu'il existe de taille s .sks


(J'ai trouvé votre réponse à partir de cette réponse , qui a été publiée il y a moins d'une heure.)Il semble que " " puisse être remplacé par "positif ϵ , car la diminution de ϵ rend le côté droit du confinement plus petit .ϵ<1ϵϵ De plus, où dans cet article est 2. montré?

Voir le point n ° 2 dans le résumé ici: researcher.watson.ibm.com/researcher/files/us-vitaly/…
Lev Reyzin

(provenant de la même réponse que Ricky Demer) pourriez-vous détailler un peu plus comment obtenir la "réponse 3" des points 1. et 2.? Je ne suis pas très familier avec l'apprentissage de la théorie et j'ai du mal à connecter les parties ...
Marc

Ce problème de cohérence et d'apprentissage est étroitement lié via le rasoir d'Occam. L'idée est que si vous pouvez trouver une fonction cohérente à partir d'un petit ensemble, vous pouvez réussir l'apprentissage PAC. Par conséquent, un résultat de dureté d'apprentissage implique un résultat de "dureté de cohérence". Je ne sais pas combien de plus je peux expliquer dans un commentaire ...
Lev Reyzin

Pour autant que je le comprenne, l'algorithme évoqué pour 1. ne fonctionne pas dans le temps qui serait nécessaire pour obtenir une contradiction avec 2. (le résultat précis dans l'article si je l'ai bien compris) dit qu'il n'y a pas d'algorithme d'apprentissage polytime pour les arbres de décision). Il pourrait donc y avoir un problème avec votre argumentation. Poly(n,s)
Marc
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.