Articulo de referencia

Modelo de árbol de decisión

Modelo de árbol de decisión En la teoría de la complejidad computacional , el modelo de árbol de decisión es el modelo de computación en el que un algoritmo puede considerarse u...

Modelo de árbol de decisión

En la teoría de la complejidad computacional , el modelo de árbol de decisión es el modelo de computación en el que un algoritmo puede considerarse un árbol de decisión , es decir, una secuencia de consultas o pruebas que se realizan de forma adaptativa, de modo que el resultado de las pruebas anteriores puede influir en las pruebas que se realizan a continuación.

Por lo general, estas pruebas tienen un número reducido de resultados (como una pregunta de sí o no ) y se pueden realizar rápidamente (por ejemplo, con un coste computacional unitario), por lo que la complejidad temporal en el peor de los casos de un algoritmo en el modelo de árbol de decisión corresponde a la profundidad del árbol correspondiente. Esta noción de complejidad computacional de un problema o un algoritmo en el modelo de árbol de decisión se denomina complejidad de árbol de decisión o complejidad de consulta .

Los modelos de árbol de decisión son fundamentales para establecer límites inferiores a la complejidad de ciertas clases de problemas y algoritmos computacionales. Se han introducido diversas variantes de modelos de árbol de decisión, dependiendo del modelo computacional y del tipo de consulta que se permite realizar a los algoritmos.

Por ejemplo, se utiliza un argumento de árbol de decisión para demostrar que una comparación de algún tiponorte{\displaystyle n}Los artículos deben cumplirnorteregistro(norte){\displaystyle n\log(n)}comparaciones. Para las ordenaciones por comparación, una consulta es una comparación de dos elementos.a,b{\displaystyle a,b}, con dos resultados (suponiendo que ningún elemento sea igual): o biena<b{\displaystyle a<b}oa>b{\displaystyle a>b}En este modelo, las ordenaciones por comparación pueden expresarse como árboles de decisión, ya que dichos algoritmos de ordenación solo realizan este tipo de consultas.

Árboles de comparación y límites inferiores para la ordenación

Los árboles de decisión se emplean a menudo para comprender algoritmos de ordenación y otros problemas similares; esto fue realizado por primera vez por Ford y Johnson . [ 1 ]

Por ejemplo, muchos algoritmos de ordenación son de ordenación por comparación , lo que significa que solo obtienen información sobre una secuencia de entrada.incógnita1,incógnita2,,incógnitanorte{\displaystyle x_{1},x_{2},\ldots ,x_{n}}mediante comparaciones locales: probar siincógnitai<incógnitaj{\displaystyle x_{i}<x_{j}},incógnitai=incógnitaj{\displaystyle x_{i}=x_{j}}, oincógnitai>incógnitaj{\displaystyle x_{i}>x_{j}}Suponiendo que los elementos a clasificar son todos distintos y comparables, esto se puede reformular como una pregunta de sí o no: esincógnitai>incógnitaj{\displaystyle x_{i}>x_{j}}¿

Estos algoritmos pueden modelarse como árboles de decisión binarios, donde las consultas son comparaciones: un nodo interno corresponde a una consulta, y los hijos del nodo corresponden a la siguiente consulta cuando la respuesta a la pregunta es sí o no. Para los nodos hoja, la salida corresponde a una permutación.π{\displaystyle \pi }que describe cómo se desordenó la secuencia de entrada a partir de la lista de elementos completamente ordenados. (La inversa de esta permutación,π1{\displaystyle \pi ^{-1}}(reordena la secuencia de entrada.)

Se puede demostrar que las clasificaciones por comparación deben utilizarΩ(norteregistro(norte)){\displaystyle \Omega (n\log(n))}comparaciones a través de un argumento simple: para que un algoritmo sea correcto, debe poder generar todas las permutaciones posibles denorte{\displaystyle n}elementos; de lo contrario, el algoritmo fallaría para esa permutación en particular como entrada. Por lo tanto, su árbol de decisión correspondiente debe tener al menos tantas hojas como permutaciones:norte¡{\displaystyle n!}hojas. Cualquier árbol binario con al menosnorte¡{\displaystyle n!}Las hojas tienen profundidad al menosregistro2(norte¡)=Ω(norteregistro2(norte)){\displaystyle \log _{2}(n!)=\Omega (n\log _{2}(n))}Por lo tanto, este es un límite inferior para el tiempo de ejecución de un algoritmo de ordenación por comparación . En este caso, la existencia de numerosos algoritmos de ordenación por comparación con esta complejidad temporal, como mergesort y heapsort , demuestra que el límite es ajustado. [ 2 ] : 91

Este argumento no utiliza nada sobre el tipo de consulta, por lo que de hecho demuestra una cota inferior para cualquier algoritmo de ordenación que pueda modelarse como un árbol de decisión binario. En esencia, se trata de una reformulación del argumento de la teoría de la información que afirma que un algoritmo de ordenación correcto debe aprender al menosregistro2(norte¡){\displaystyle \log _{2}(n!)}fragmentos de información sobre la secuencia de entrada. Como resultado, esto también funciona para árboles de decisión aleatorios.

Otros límites inferiores de árboles de decisión utilizan el hecho de que la consulta es una comparación. Por ejemplo, considere la tarea de usar solo comparaciones para encontrar el número más pequeño entrenorte{\displaystyle n}números. Antes de que se pueda determinar el número más pequeño, todos los números, excepto el más pequeño, deben "perder" (compararse con uno mayor) en al menos una comparación. Por lo tanto, se necesitan al menosnorte1{\displaystyle n-1}comparaciones para encontrar el mínimo. (El argumento de la teoría de la información aquí solo da una cota inferior deregistro(norte){\displaystyle \log(n)}.) Un argumento similar funciona para cotas inferiores generales para el cálculo de estadísticas de orden . [ 2 ] : 214

Árboles de decisión lineales y algebraicos

Los árboles de decisión lineales generalizan los árboles de decisión de comparación anteriores para calcular funciones que toman vectores reales.incógnitaRnorte{\displaystyle x\in \mathbb {R} ^{n}}como entrada. Las pruebas en los árboles de decisión lineales son funciones lineales: para una elección particular de números realesa0,,anorte{\displaystyle a_{0},\dots ,a_{n}}, muestra el signo dea0+i=1norteaiincógnitai{\displaystyle a_{0}+\textstyle \sum _{i=1}^{n}a_{i}x_{i}}. (Los algoritmos en este modelo solo pueden depender del signo de la salida). Los árboles de comparación son árboles de decisión lineales, porque la comparación entreincógnitai{\displaystyle x_{i}}yincógnitaj{\displaystyle x_{j}}corresponde a la función linealincógnitaiincógnitaj{\displaystyle x_{i}-x_{j}}Por definición, los árboles de decisión lineales solo pueden especificar funciones.F{\displaystyle f}cuyas fibras pueden construirse tomando uniones e intersecciones de semiespacios .

Los árboles de decisión algebraicos son una generalización de los árboles de decisión lineales que permiten que las funciones de prueba sean polinomios de gradod{\displaystyle d}Geométricamente, el espacio se divide en conjuntos semialgebraicos (una generalización de un hiperplano ).

Estos modelos de árbol de decisión, definidos por Rabin [ 3 ] y Reingold , [ 4 ] se utilizan a menudo para demostrar cotas inferiores en geometría computacional . [ 5 ] Por ejemplo, Ben-Or demostró que la unicidad de elementos (la tarea de calcularF:Rnorte{0,1}{\displaystyle f:\mathbb {R} ^{n}\to \{0,1\}}, dóndeF(incógnita){\displaystyle f(x)}es 0 si y solo si existen coordenadas distintasi,j{\displaystyle i,j}de tal manera queincógnitai=incógnitaj{\displaystyle x_{i}=x_{j}}) requiere un árbol de decisión algebraico de profundidadΩ(norteregistro(norte)){\displaystyle \Omega (n\log(n))}. [ 6 ] Esto fue demostrado por primera vez para modelos de decisión lineales por Dobkin y Lipton. [ 7 ] También muestran unnorte2{\displaystyle n^{2}}cota inferior para árboles de decisión lineales en el problema de la mochila , generalizada a árboles de decisión algebraicos por Steele y Yao. [ 8 ]

Complejidad de los árboles de decisión booleanos

Para los árboles de decisión booleanos, la tarea consiste en calcular el valor de una función booleana de n bits .F:{0,1}norte{0,1}{\displaystyle f:\{0,1\}^{n}\to \{0,1\}}para una entradaincógnita{0,1}norte{\displaystyle x\in \{0,1\}^{n}}Las consultas corresponden a leer un poco de la entrada,incógnitai{\displaystyle x_{i}}y el resultado esF(incógnita){\displaystyle f(x)}Cada consulta puede depender de consultas anteriores. Existen muchos tipos de modelos computacionales que utilizan árboles de decisión y que podrían considerarse, admitiendo múltiples nociones de complejidad, denominadas medidas de complejidad .

Árbol de decisión determinista

Si la salida de un árbol de decisión esF(incógnita){\displaystyle f(x)}, para todosincógnita{0,1}norte{\displaystyle x\in \{0,1\}^{n}}Se dice que el árbol de decisiones "calcula"F{\displaystyle f}La profundidad de un árbol es el número máximo de consultas que pueden ocurrir antes de llegar a una hoja y obtener un resultado.D(F){\displaystyle D(f)}, la complejidad del árbol de decisión determinista deF{\displaystyle f}es la profundidad más pequeña entre todos los árboles de decisión deterministas que calculanF{\displaystyle f}.

Árbol de decisión aleatorio

Una forma de definir un árbol de decisión aleatorio es agregar nodos adicionales al árbol, cada uno controlado por una probabilidad.pagi{\displaystyle p_{i}}Otra definición equivalente consiste en definirla como una distribución sobre árboles de decisión deterministas. Según esta segunda definición, la complejidad del árbol aleatorio se define como la mayor profundidad entre todos los árboles que sustentan la distribución subyacente. R2(F){\displaystyle R_{2}(f)}se define como la complejidad del árbol de decisión aleatorio de menor profundidad cuyo resultado esF(incógnita){\displaystyle f(x)}con probabilidad al menos2/3{\displaystyle 2/3}a pesar deincógnita{0,1}norte{\displaystyle x\in \{0,1\}^{n}}(es decir, con un error bilateral limitado).

R2(F){\displaystyle R_{2}(f)}Se conoce como la complejidad del árbol de decisión aleatorio de Monte Carlo , porque se permite que el resultado sea incorrecto con un error bilateral limitado. La complejidad del árbol de decisión de Las VegasR0(F){\displaystyle R_{0}(f)}mide la profundidad esperada de un árbol de decisión que debe ser correcto (es decir, tiene error cero). También existe una versión unilateral de error limitado que se denota porR1(F){\displaystyle R_{1}(f)}.

Árbol de decisión no determinista

La complejidad del árbol de decisión no determinista de una función se conoce más comúnmente como la complejidad del certificado de dicha función. Mide la cantidad de bits de entrada que un algoritmo no determinista necesitaría examinar para evaluar la función con certeza.

Formalmente, la complejidad del certificado deF{\displaystyle f}enincógnita{\displaystyle x}es el tamaño del subconjunto más pequeño de índicesS[norte]{\displaystyle S\subseteq [n]}de tal manera que, para todosy{0,1}norte{\displaystyle y\in \{0,1\}^{n}}, siyi=incógnitai{\displaystyle y_{i}=x_{i}}a pesar deiS{\displaystyle i\in S}, entoncesF(y)=F(incógnita){\displaystyle f(y)=f(x)}. La complejidad del certificado deF{\displaystyle f}es la complejidad máxima del certificado en todosincógnita{\displaystyle x}. La noción análoga en la que solo se requiere que el verificador sea correcto con una probabilidad de 2/3 se denotaRdo(F){\displaystyle RC(f)}.

Árbol de decisión cuántico

La complejidad del árbol de decisión cuánticoQ2(F){\displaystyle Q_{2}(f)}es la profundidad del árbol de decisión cuántico de menor profundidad que da el resultadoF(incógnita){\displaystyle f(x)}con probabilidad al menos2/3{\displaystyle 2/3}a pesar deincógnita{0,1}norte{\displaystyle x\in \{0,1\}^{n}}. Otra cantidad,Qmi(F){\displaystyle Q_{E}(f)}, se define como la profundidad del árbol de decisión cuántico de menor profundidad que da el resultadoF(incógnita){\displaystyle f(x)}con probabilidad 1 en todos los casos (es decir, calculaF{\displaystyle f}exactamente). Q2(F){\displaystyle Q_{2}(f)}yQmi(F){\displaystyle Q_{E}(f)}son más comúnmente conocidas como complejidades de consulta cuántica , porque la definición directa de un árbol de decisión cuántico es más complicada que en el caso clásico. De manera similar al caso aleatorio, definimosQ0(F){\displaystyle Q_{0}(f)}yQ1(F){\displaystyle Q_{1}(f)}.

Estas nociones suelen estar limitadas por las nociones de grado y grado aproximado. El grado deF{\displaystyle f}, denotadogrados(F){\displaystyle \deg(f)}es el grado más pequeño de cualquier polinomiopag{\displaystyle p}satisfactorioF(incógnita)=pag(incógnita){\displaystyle f(x)=p(x)}a pesar deincógnita{0,1}norte{\displaystyle x\in \{0,1\}^{n}}. El grado aproximado deF{\displaystyle f}, denotadogrados~(F){\displaystyle {\widetilde {\deg }}(f)}es el grado más pequeño de cualquier polinomiopag{\displaystyle p}satisfactoriopag(incógnita)[0,1/3]{\displaystyle p(x)\in [0,1/3]}cuando seaF(incógnita)=0{\displaystyle f(x)=0}ypag(incógnita)[2/3,1]{\displaystyle p(x)\in [2/3,1]}cuando seaF(incógnita)=1{\displaystyle f(x)=1}.

Beals et al. establecieron queQ0(F)grados(F)/2{\displaystyle Q_{0}(f)\geq \deg(f)/2}yQ2(F)grados~(F)/2{\displaystyle Q_{2}(f)\geq {\widetilde {\deg }}(f)/2}. [ 9 ]

Relaciones entre las medidas de complejidad de las funciones booleanas

De las definiciones se deduce inmediatamente que para todosnorte{\displaystyle n}Funciones booleanas de -bitF{\displaystyle f},Q2(F)R2(F)R1(F)R0(F)D(F)norte{\displaystyle Q_{2}(f)\leq R_{2}(f)\leq R_{1}(f)\leq R_{0}(f)\leq D(f)\leq n}, yQ2(F)Q0(F)D(F)norte{\displaystyle Q_{2}(f)\leq Q_{0}(f)\leq D(f)\leq n}Encontrar los mejores límites superiores en la dirección inversa es un objetivo principal en el campo de la complejidad de las consultas.

Todos estos tipos de complejidad de consulta están relacionados polinómicamente. Blum e Impagliazzo, [ 10 ] Hartmanis y Hemachandra, [ 11 ] y Tardos [ 12 ] descubrieron independientemente queD(F)R0(F)2{\displaystyle D(f)\leq R_{0}(f)^{2}}Noam Nisan descubrió que la complejidad del árbol de decisión aleatorio de Monte Carlo también está relacionada polinómicamente con la complejidad del árbol de decisión determinista :D(F)=O(R2(F)3){\displaystyle D(f)=O(R_{2}(f)^{3})}. [ 13 ] (Nisan también demostró queD(F)=O(R1(F)2){\displaystyle D(f)=O(R_{1}(f)^{2})}.) Se sabe que existe una relación más estrecha entre los modelos de Montecarlo y Las Vegas:R0(F)=O(R2(F)2registroR2(F)){\displaystyle R_{0}(f)=O(R_{2}(f)^{2}\log R_{2}(f))}. [ 14 ] Esta relación es óptima salvo factores polilogarítmicos. [ 15 ] En cuanto a las complejidades de los árboles de decisión cuánticos,D(F)=O(Q2(F)4){\displaystyle D(f)=O(Q_{2}(f)^{4})}y este límite es estrecho. [ 16 ] [ 15 ] Midrijanis demostró queD(F)=O(Q0(F)3){\displaystyle D(f)=O(Q_{0}(f)^{3})}, [ 17 ] [ 18 ] mejorando una cota cuártica debida a Beals et al. [ 9 ]

Estas relaciones polinómicas son válidas solo para funciones booleanas totales . Para funciones booleanas parciales , que tienen un dominio un subconjunto de{0,1}norte{\displaystyle \{0,1\}^{n}}, una separación exponencial entreQ0(F){\displaystyle Q_{0}(f)}yD(F){\displaystyle D(f)}es posible; el primer ejemplo de tal problema fue descubierto por Deutsch y Jozsa .

Conjetura de sensibilidad

Para una función booleanaF:{0,1}norte{0,1}{\displaystyle f:\{0,1\}^{n}\to \{0,1\}}, la sensibilidad deF{\displaystyle f}se define como la sensibilidad máxima deF{\displaystyle f}en generalincógnita{\displaystyle x}donde la sensibilidad deF{\displaystyle f}enincógnita{\displaystyle x}es el número de cambios de un solo bit enincógnita{\displaystyle x}que cambian el valor deF(incógnita){\displaystyle f(x)}La sensibilidad está relacionada con la noción de influencia total del análisis de funciones booleanas , que es igual a la sensibilidad promedio sobre todas lasincógnita{\displaystyle x}.

La conjetura de sensibilidad es la conjetura de que la sensibilidad está relacionada polinómicamente con la complejidad de la consulta; es decir, existe un exponentedo,do{\displaystyle c,c'}de tal manera que, para todosF{\displaystyle f},D(F)=O(s(F)do){\displaystyle D(f)=O(s(f)^{c})}ys(F)=O(D(F)do){\displaystyle s(f)=O(D(f)^{c'})}Se puede demostrar mediante un argumento sencillo ques(F)D(F){\displaystyle s(f)\leq D(f)}Por lo tanto, la conjetura se centra específicamente en encontrar un límite inferior para la sensibilidad. Dado que todas las medidas de complejidad previamente analizadas están relacionadas polinómicamente, el tipo preciso de medida de complejidad no es relevante. Sin embargo, esto se suele formular como la cuestión de relacionar la sensibilidad con la sensibilidad de bloques.

La sensibilidad del bloque deF{\displaystyle f}, denotadobs(F){\displaystyle bs(f)}, se define como la sensibilidad máxima del bloque deF{\displaystyle f}en generalincógnita{\displaystyle x}. La sensibilidad del bloque deF{\displaystyle f}enincógnita{\displaystyle x}es el número máximot{\displaystyle t}de subconjuntos disjuntosS1,,St[norte]{\displaystyle S_{1},\ldots ,S_{t}\subseteq [n]}de tal manera que, para cualquiera de los subconjuntosSi{\displaystyle S_{i}}, volteando los bits deincógnita{\displaystyle x}correspondiente aSi{\displaystyle S_{i}}cambia el valor deF(incógnita){\displaystyle f(x)}. [ 13 ]

En 2019, Hao Huang demostró la conjetura de sensibilidad, mostrando quebs(F)=O(s(F)4){\displaystyle bs(f)=O(s(f)^{4})}. [ 19 ] [ 20 ]

Véase también

Referencias

  1. Ford, Lester R. Jr.; Johnson, Selmer M. (1959-05-01). "Un problema de torneo" . The American Mathematical Monthly . 66 (5): 387– 389. doi : 10.1080/00029890.1959.11989306 . ISSN 0002-9890 . 
  2. 1 2 Introducción a los algoritmos . Cormen, Thomas H. (Tercera ed.). Cambridge, Mass.: MIT Press. 2009. ISBN  978-0-262-27083-0OCLC 676697295 {{cite book}}: CS1 mantenimiento: otros ( enlace )
  3. Rabin, Michael O. (1972-12-01). "Proving simulator positivity of linear forms" . Journal of Computer and System Sciences . 6 (6): 639– 650. doi : 10.1016/S0022-0000(72)80034-5 . ISSN 0022-0000 . 
  4. Reingold, Edward M. (1972-10-01). "Sobre la optimalidad de algunos algoritmos de conjuntos" . Journal of the ACM . 19 (4): 649– 659. doi : 10.1145/321724.321730 . ISSN 0004-5411 . S2CID 18605212 .  
  5. Preparata, Franco P. (1985). Geometría computacional : una introducción . Shamos, Michael Ian. Nueva York: Springer-Verlag. ISBN  0-387-96131-3OCLC 11970840 
  6. Ben-Or, Michael (1983-12-01). «Límites inferiores para árboles de computación algebraica». Actas del decimoquinto simposio anual de la ACM sobre Teoría de la Computación - STOC '83 . Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 80–86 . doi : 10.1145/800061.808735 . ISBN  978-0-89791-099-6. S2CID 1499957 . 
  7. Dobkin, David; Lipton, Richard J. (1976-06-01). "Problemas de búsqueda multidimensionales" . SIAM Journal on Computing . 5 (2): 181– 186. doi : 10.1137/0205015 . ISSN 0097-5397 . 
  8. Michael Steele, J; Yao, Andrew C (1982-03-01). "Límites inferiores para árboles de decisión algebraicos" . Journal of Algorithms . 3 (1): 1– 8. doi : 10.1016/0196-6774(82)90002-5 . ISSN 0196-6774 . 
  9. 1 2 Beals, R.; Buhrman, H.; Cleve, R.; Mosca, M.; de Wolf, R. (2001). "Límites inferiores cuánticos mediante polinomios". Journal of the ACM . 48 (4): 778– 797. arXiv : quant-ph/9802049 . doi : 10.1145/502090.502097 . S2CID 1078168 . 
  10. Blum, M.; Impagliazzo, R. (1987). "Oráculos genéricos y clases de oráculos". Actas del 18.º IEEE FOCS . págs. 118–126 . 
  11. Hartmanis, J.; Hemachandra, L. (1987), "Funciones unidireccionales, robustez y no isomorfismo de conjuntos NP-completos", Informe técnico DCS TR86-796, Universidad de Cornell
  12. Tardos, G. (1989). "Complejidad de la consulta, o ¿por qué es difícil separar NP AcoNP A de P A mediante oráculos aleatorios A ?". Combinatorica . 9 (4): 385– 392. doi : 10.1007/BF02125350 . S2CID 45372592 .   
  13. 1 2 Nisan, N. (1989). "CREW PRAMs y árboles de decisión". Actas del 21.º ACM STOC . págs. 327–335 . 
  14. Kulkarni, R. y Tal, A. Sobre la sensibilidad de bloques fraccionarios. Coloquio electrónico sobre complejidad computacional (ECCC). Vol. 20. 2013.
  15. 1 2 Ambainis, Andris; Balodis, Kaspars; Belovs, Aleksandrs; Lee, Troya; Santa, Miklos; Smotrovs, Juris (4 de septiembre de 2017). "Separaciones en la complejidad de consultas basadas en funciones de puntero" . Revista de la ACM . 64 (5): 32:1–32:24. arXiv : 1506.04719 . doi : 10.1145/3106234 . ISSN 0004-5411 . S2CID 10214557 .  
  16. Aaronson, Scott; Ben-David, Shalev; Kothari, Robin; Rao, Shravas; Tal, Avishay (23-10-2020). "Grado vs. Grado aproximado e implicaciones cuánticas del teorema de sensibilidad de Huang". arXiv : 2010.12629 [ quant-ph ].
  17. Midrijanis, Gatis (2004), "Complejidad exacta de consultas cuánticas para funciones booleanas totales", arXiv : quant-ph/0403168
  18. Midrijanis, Gatis (2005), "Sobre complejidades de consultas aleatorias y cuánticas", arXiv : quant-ph/0501142
  19. Huang, Hao (2019). "Subgrafos inducidos de hipercubos y una demostración de la Conjetura de Sensibilidad". Annals of Mathematics . 190 (3): 949– 955. arXiv : 1907.00847 . doi : 10.4007/annals.2019.190.3.6 . ISSN 0003-486X . JSTOR 10.4007/annals.2019.190.3.6 . S2CID 195767594 .   
  20. Klarreich, Erica (25 de julio de 2019). "Resuelta en dos páginas una conjetura de la informática con décadas de antigüedad" . Quanta Magazine . Consultado el 26 de julio de 2019 .

Encuestas

  • Buhrman, Harry; de Wolf, Ronald (2002), "Medidas de complejidad y complejidad de árboles de decisión: una revisión" (PDF) , Theoretical Computer Science , 288 (1): 21–43 , doi : 10.1016/S0304-3975(01)00144-X