
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 tipoLos artículos deben cumplircomparaciones. Para las ordenaciones por comparación, una consulta es una comparación de dos elementos., con dos resultados (suponiendo que ningún elemento sea igual): o bienoEn 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.mediante comparaciones locales: probar si,, oSuponiendo que los elementos a clasificar son todos distintos y comparables, esto se puede reformular como una pregunta de sí o no: es¿
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.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,(reordena la secuencia de entrada.)
Se puede demostrar que las clasificaciones por comparación deben utilizarcomparaciones a través de un argumento simple: para que un algoritmo sea correcto, debe poder generar todas las permutaciones posibles deelementos; 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:hojas. Cualquier árbol binario con al menosLas hojas tienen profundidad al menosPor 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 menosfragmentos 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 entrenú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 menoscomparaciones para encontrar el mínimo. (El argumento de la teoría de la información aquí solo da una cota inferior de.) 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.como entrada. Las pruebas en los árboles de decisión lineales son funciones lineales: para una elección particular de números reales, muestra el signo de. (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 entreycorresponde a la función linealPor definición, los árboles de decisión lineales solo pueden especificar funciones.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 gradoGeomé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 calcular, dóndees 0 si y solo si existen coordenadas distintasde tal manera que) requiere un árbol de decisión algebraico de profundidad. [ 6 ] Esto fue demostrado por primera vez para modelos de decisión lineales por Dobkin y Lipton. [ 7 ] También muestran uncota 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 .para una entradaLas consultas corresponden a leer un poco de la entrada,y el resultado esCada 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 es, para todosSe dice que el árbol de decisiones "calcula"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., la complejidad del árbol de decisión determinista dees la profundidad más pequeña entre todos los árboles de decisión deterministas que calculan.
Á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.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. se define como la complejidad del árbol de decisión aleatorio de menor profundidad cuyo resultado escon probabilidad al menosa pesar de(es decir, con un error bilateral limitado).
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 Vegasmide 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 por.
Á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 deenes el tamaño del subconjunto más pequeño de índicesde tal manera que, para todos, sia pesar de, entonces. La complejidad del certificado dees la complejidad máxima del certificado en todos. La noción análoga en la que solo se requiere que el verificador sea correcto con una probabilidad de 2/3 se denota.
Árbol de decisión cuántico
La complejidad del árbol de decisión cuánticoes la profundidad del árbol de decisión cuántico de menor profundidad que da el resultadocon probabilidad al menosa pesar de. Otra cantidad,, se define como la profundidad del árbol de decisión cuántico de menor profundidad que da el resultadocon probabilidad 1 en todos los casos (es decir, calculaexactamente). yson 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, definimosy.
Estas nociones suelen estar limitadas por las nociones de grado y grado aproximado. El grado de, denotadoes el grado más pequeño de cualquier polinomiosatisfactorioa pesar de. El grado aproximado de, denotadoes el grado más pequeño de cualquier polinomiosatisfactoriocuando seaycuando sea.
Beals et al. establecieron quey. [ 9 ]
Relaciones entre las medidas de complejidad de las funciones booleanas
De las definiciones se deduce inmediatamente que para todosFunciones booleanas de -bit,, yEncontrar 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 queNoam 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 :. [ 13 ] (Nisan también demostró que.) Se sabe que existe una relación más estrecha entre los modelos de Montecarlo y Las Vegas:. [ 14 ] Esta relación es óptima salvo factores polilogarítmicos. [ 15 ] En cuanto a las complejidades de los árboles de decisión cuánticos,y este límite es estrecho. [ 16 ] [ 15 ] Midrijanis demostró que, [ 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, una separación exponencial entreyes posible; el primer ejemplo de tal problema fue descubierto por Deutsch y Jozsa .
Conjetura de sensibilidad
Para una función booleana, la sensibilidad dese define como la sensibilidad máxima deen generaldonde la sensibilidad deenes el número de cambios de un solo bit enque cambian el valor deLa 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 las.
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 exponentede tal manera que, para todos,ySe puede demostrar mediante un argumento sencillo quePor 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 de, denotado, se define como la sensibilidad máxima del bloque deen general. La sensibilidad del bloque deenes el número máximode subconjuntos disjuntosde tal manera que, para cualquiera de los subconjuntos, volteando los bits decorrespondiente acambia el valor de. [ 13 ]
En 2019, Hao Huang demostró la conjetura de sensibilidad, mostrando que. [ 19 ] [ 20 ]
Véase también
Referencias
- ↑ 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 .
- 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 ) - ↑ 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 .
- ↑ 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 .
- ↑ Preparata, Franco P. (1985). Geometría computacional : una introducción . Shamos, Michael Ian. Nueva York: Springer-Verlag. ISBN 0-387-96131-3OCLC 11970840
- ↑ 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 .
- ↑ 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 .
- ↑ 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 .
- 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 .
- ↑ Blum, M.; Impagliazzo, R. (1987). "Oráculos genéricos y clases de oráculos". Actas del 18.º IEEE FOCS . págs. 118–126 .
- ↑ Hartmanis, J.; Hemachandra, L. (1987), "Funciones unidireccionales, robustez y no isomorfismo de conjuntos NP-completos", Informe técnico DCS TR86-796, Universidad de Cornell
- ↑ Tardos, G. (1989). "Complejidad de la consulta, o ¿por qué es difícil separar NP A ∩ coNP A de P A mediante oráculos aleatorios A ?". Combinatorica . 9 (4): 385– 392. doi : 10.1007/BF02125350 . S2CID 45372592 .
- 1 2 Nisan, N. (1989). "CREW PRAMs y árboles de decisión". Actas del 21.º ACM STOC . págs. 327–335 .
- ↑ Kulkarni, R. y Tal, A. Sobre la sensibilidad de bloques fraccionarios. Coloquio electrónico sobre complejidad computacional (ECCC). Vol. 20. 2013.
- 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 .
- ↑ 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 ].
- ↑ Midrijanis, Gatis (2004), "Complejidad exacta de consultas cuánticas para funciones booleanas totales", arXiv : quant-ph/0403168
- ↑ Midrijanis, Gatis (2005), "Sobre complejidades de consultas aleatorias y cuánticas", arXiv : quant-ph/0501142
- ↑ 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 .
- ↑ 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
- Teoría de la complejidad computacional
- Modelos de computación
- Árboles de decisión