¿Cuáles son los problemas en informática para los cuales se conoce con certeza la mejor complejidad computacional absoluta?

Hay una multitud de problemas para los cuales podemos probar límites inferiores en la complejidad Y tener algoritmos que demuestren que estos límites son ajustados:

  • Todos los algoritmos de búsqueda y clasificación sin clasificar de tiempo lineal, ya que estos necesariamente requieren examinar cada pieza de datos.
  • La comparación de tiempo lineal lineal, como lo demuestra fácilmente un simple argumento teórico de la información.
  • Ciertos algoritmos de geometría computacional de tiempo linealítmico (como el casco convexo y el árbol de expansión mínima euclidiana) por reducción a la clasificación.

También hay problemas para los que tenemos límites inferiores, pero no podemos probar que sean ajustados, porque no tenemos algoritmos que cumplan estos límites. El mejor ejemplo que sé es:

  • La multiplicación de matrices es al menos [matemática] o (n ^ 2) [/ matemática]. Algunos creen que esto es un límite estrecho, pero nuestro mejor algoritmo hasta la fecha es solo [matemática] O (n ^ {2.3728639}) [/ matemática]

Creo que puede haber problemas similares con respecto a la complejidad de la comunicación en la computación cuántica, pero no estoy familiarizado con los detalles.

Gracias por el A2A. +1 a la respuesta de David.

En general, creo que más útil que los límites inferiores para una determinada clase de problemas es la capacidad de comprender cómo se desarrollan los límites inferiores (por cierto, los límites inferiores son DUROS ). Dos de las herramientas más potentes que conozco para este uso son:
i) Límites inferiores de complejidad del circuito (complejidad del circuito)
ii) Límites inferiores de la complejidad de Kolmogrov (complejidad de Kolmogorov)

Espero que esto ayude.

Para agregar a los ejemplos de David, la búsqueda binaria coincide con su límite inferior, con un tiempo proporcional a log (n), también utilizando un argumento teórico de información.

Y el mejor caso para ordenar requiere al menos n-1 comparaciones.

More Interesting

¿Qué es la variable de referencia en C ++ y por qué se usa? ¿Cómo se relaciona con la variable de valor y la variable de puntero?

¿Qué problema resolvió Alan Turing y cómo eso lo llevó a ser etiquetado como el 'Padre de la Informática'?

¿El concepto de implicación en matemáticas y ciencias de la computación preocupa a todos, o solo soy yo?

En informática, ¿la reversibilidad lógica implica reversibilidad física?

¿Cómo los operadores matemáticos mapean objetos de un punto a otro en el espacio?

¿Es la informática teórica una subdisciplina de la lógica matemática? ¿Cuál es la diferencia entre los dos? ¿Dónde se cruzan?

¿Cuál es el problema P vs NP?

¿Por qué Matlab no le permite llamar a las funciones dos veces o indexarlas como en f (x) (y)?

¿Cuál es la justificación rigurosa de la exactitud de la segunda formulación de la solución DP de corte de varillas en CLRS?

Cómo entender las matemáticas del algoritmo de propagación hacia atrás en redes neuronales

¿Cuál sería la forma más eficiente de verificar si un número dado es un factorial de algún número o no?

¿Las matemáticas detienen a un programador o son las restricciones del lenguaje, o posiblemente un problema de eficiencia?

¿Cuál es el papel de las matemáticas en la programación de computadoras?

¿Cuáles son los problemas que no podemos resolver debido a los límites de la computación?

¿Cuál es su consejo para alguien que comienza su doctorado en informática teórica?