He estado trabajando para introducir algunos resultados de la complejidad computacional en la biología teórica, especialmente la evolución y la ecología , con el objetivo de ser interesante / útil para los biólogos. Una de las mayores dificultades que he enfrentado es justificar la utilidad del análisis asintótico del peor de los casos para los límites inferiores. ¿Hay referencias de longitud de artículos que justifiquen los límites inferiores y el análisis asintótico del peor de los casos para una audiencia científica?
Realmente estoy buscando una buena referencia que pueda diferir en mi escritura en lugar de tener que pasar por las justificaciones en el espacio limitado que tengo disponible (ya que ese no es el punto central del artículo). También conozco otros tipos y paradigmas de análisis, por lo que no busco una referencia que diga que el peor de los casos es el "mejor" análisis (ya que hay configuraciones cuando realmente no lo es), pero no lo es. completeletely inútil: todavía nos da una visión puede teóricamente útiles sobre el comportamiento de los actuales algoritmos de reales entradas. También es importante que la escritura esté dirigida a científicos generales y no solo ingenieros, matemáticos o informáticos.
Como ejemplo, el ensayo de Tim Roughgarden que presenta la teoría de la complejidad a los economistas está en el camino correcto para lo que quiero. Sin embargo, solo las secciones 1 y 2 son relevantes (el resto es demasiado específico para la economía) y la audiencia prevista está un poco más cómoda con el pensamiento a prueba de teorema-lema que la mayoría de los científicos [1] .
Detalles
En el contexto de la dinámica adaptativa en la evolución , he conocido dos tipos específicos de resistencia de biólogos teóricos:
[A] "¿Por qué debería importarme el comportamiento del arbitrario ? Ya sé que el genoma tiene pares de bases (o tal vez genes) y nada más".
Esto es relativamente fácil de ignorar con el argumento de "podemos imaginar esperar segundos, pero no ". Pero, un argumento más complejo podría decir que "claro, usted dice que le importa solo una específica , pero sus teorías nunca usan este hecho, solo usan que es grande pero finito, y es su teoría con la que estamos estudiando análisis asintótico ".
[B] "Pero solo demostró que esto es difícil al construir este paisaje específico con estos dispositivos. ¿Por qué debería importarme esto en lugar del promedio?"
Esta es una crítica más difícil de abordar, porque muchas de las herramientas que la gente usa comúnmente en este campo provienen de la física estadística, donde a menudo es seguro asumir una distribución uniforme (u otra distribución simple específica). Pero la biología es "física con historia" y casi todo no está en equilibrio o "típico", y el conocimiento empírico es insuficientepara justificar supuestos sobre distribuciones sobre entrada. En otras palabras, quiero un argumento similar al utilizado contra el análisis de caso promedio de distribución uniforme en ingeniería de software: "modelamos el algoritmo, no podemos construir un modelo razonable de cómo el usuario interactuará con el algoritmo o cuál es su distribución de entradas serán, eso es para psicólogos o usuarios finales, no para nosotros ". Excepto en este caso, la ciencia no está en una posición en la que exista el equivalente de 'psicólogos o usuarios finales' para descubrir las distribuciones subyacentes (o si eso es significativo).
Notas y preguntas relacionadas
- El enlace discute las ciencias cognitivas, pero la mentalidad es similar en biología. Si navega por Evolution o Journal of Theoretical Biology , rara vez verá prueba de teorema-lema, y cuando lo haga, generalmente será solo un cálculo en lugar de algo así como una prueba de existencia o una construcción intrincada.
- Paradigmas para el análisis de complejidad de algoritmos
- ¿Otros tipos de análisis de tiempo de ejecución además del peor de los casos, el caso promedio, etc.?
- Ecología y evolución a través del lente algorítmico.
- Por qué los economistas deberían preocuparse por la complejidad computacional
fuente
Respuestas:
Mi opinión personal (y parcial) es que el análisis asintótico del peor de los casos es un paso histórico hacia tipos de análisis más prácticos. Por lo tanto, parece difícil justificar a los practicantes.
Probar límites para el peor de los casos es a menudo más fácil que probar límites incluso para definiciones "agradables" de caso promedio. El análisis asintótico también suele ser mucho más fácil que demostrar límites razonablemente estrechos. El análisis asintótico en el peor de los casos es, por lo tanto, un excelente lugar para comenzar.
El trabajo de Daniel Spielman y Shanghua Teng sobre el análisis simplificado de Simplex me parece un presagio de lo que puede suceder cuando comenzamos a comprender mejor la forma de un problema: abordar el peor de los casos primero permite que se comprenda mejor. desarrollado. Además, como Aaron Roth sugirió en los comentarios, si el comportamiento "habitual" de un sistema es significativamente diferente de su peor caso, entonces el sistema aún no está completamente especificado y se necesita más trabajo para mejorar el modelo. Por lo tanto, ir más allá del peor de los casos generalmente parece importante como un objetivo a largo plazo.
En lo que respecta al análisis asintótico, generalmente sirve para mantener una prueba larga y desordenada libre de detalles que distraigan. Desafortunadamente, actualmente no parece haber una manera de recompensar el tedioso trabajo de completar los detalles para obtener las constantes reales, por lo que rara vez parece hacerse. (Los límites de página también funcionan en contra de esto). El análisis cuidadoso de los detalles de un límite asintótico ha llevado a algoritmos reales, con buenos límites en las constantes, por lo que personalmente me gustaría ver más de este tipo de trabajo. Quizás si se formalizaran más pruebas utilizando sistemas asistentes de prueba, entonces las constantes podrían estimarse con menos esfuerzo adicional. (O los límites en las constantes, en la línea del límite de Gowers para el Lema de regularidad de Szemerédi, podrían volverse más rutinarios). También hay formas de probar los límites inferiores que están libres de constantes, mediante el uso de modelos de máquina más explícitos (como los autómatas deterministas de estado finito). Sin embargo, tales límites inferiores (casi) exactos para modelos de cómputo más generales pueden requerir mucho trabajo o estar fuera de alcance por completo. Esto parece haberse llevado a cabo en ~ 1958-1973 durante el primer apogeo de la teoría de los autómatas, pero, por lo que puedo decir, desde entonces se ha dejado solo en gran medida.
fuente
Los límites inferiores y el análisis del peor de los casos no suelen ir de la mano. No dice que un algoritmo tomará al menos tiempo exponencial en el peor de los casos, por lo tanto, es malo. Dices que puede llevar más tiempo lineal en el peor de los casos y, por lo tanto, es bueno. El primero solo es útil si va a ejecutar su algoritmo en todas las entradas posibles, y no simplemente en una entrada promedio.
Si desea utilizar límites inferiores para demostrar la maldad, entonces desea un análisis del mejor caso o un análisis de caso promedio. Puede simplificar las cosas confiando en el punto de @ PeterShor de que lo peor y el promedio son a menudo muy similares, y proporciona una lista exhaustiva de algoritmos para los que esto es cierto. (Ej: todos los tipos clásicos además de quicksort).
En cuanto a demostrar que las asintóticas son importantes cuando se comparan con entradas constantes y factores constantes, mi artículo favorito sobre el tema es "Perlas de programación: técnicas de diseño de algoritmos" de Jon Bentley. Presenta cuatro soluciones diferentes para un problema de matriz simple y demuestra cómo el enfoque lineal aniquila al cúbico. Él llama a su mesa "La tiranía de las asíntotas", después del término utilizado por los físicos para la intratabilidad de la ecuación del cohete. Utilizo este ejemplo para motivar la búsqueda de mejores algoritmos para estudiantes preuniversitarios.
¿Un científico que no sea informático leerá un artículo que contiene código y sabrá omitir los detalles de bajo nivel para obtener una visión general? No lo sé. Quizás haya una mejor presentación en otro lado. Pero creo que este es un recurso decente para citar.
Y si argumentan que no les importa la n arbitrariamente grande, haga que ejecuten Fibonacci recursiva no memorizada en 3 * 10 9 pares de bases, y dígales que es O (1) ya que el tamaño de la secuencia de ADN es fijo. ;)
fuente
Estuvo de acuerdo en que este es un tema importante para la encuesta / cobertura, pero parece que todavía no ha sido mucho. algunas referencias de estilo / cobertura / audiencia / formalidad diferentes, no exactamente como se solicitó, pero algo cercanas (mejor visto en línea hasta ahora en búsqueda media, espero escuchar más sobre mejores; más notas a continuación):
La complejidad de los algoritmos Atkinson (por desgracia, solo una referencia a la biología en el documento, pero puede ser suficiente en términos más generales de ciencia / ingeniería)
Complejidad y algoritmos J. Díaz. 100 diapositivas ancho; uno podría extraer los relevantes en particular.
en otras palabras, ¿hay algún tipo de introducción / encuesta / visión general de la lente teórica de la complejidad en combinación / conjunción / acompañante con la lente algorítmica avanzada en ciencia, algo así como "Teoría de la complejidad para científicos, ingenieros e investigadores" ?
hay buenas referencias en la "lente algorítmica" anterior que ha citado, por ejemplo, Papadimitriou, pero no parece una referencia muy satisfactoria por parte de un experto en el campo que se ha escrito en la última "lente de complejidad" ... aún (tal vez alguna "élite" " miembro de este sitio lo considerará como su próximo libro o proyecto en papel).
Tenga en cuenta también que hay muchas referencias sobre la relevancia P vs NP fuera de la teoría de la complejidad y en otros campos científicos que podrían usarse de alguna manera para este propósito. los agregará en los comentarios si hay algún interés.
fuente