A menudo interactúo con personas que desean solicitar un algoritmo para un problema computacional (o su complejidad), pero no lo expresan de manera rigurosa para que nosotros (los científicos informáticos) lo comprendamos.
Remitirlos a libros como CLRS no es útil porque los ejemplos allí generalmente tienen una forma bastante directa de establecer rigurosamente, por ejemplo, dada la lista de adyacencia de un gráfico y dos vértices, calculan el camino más corto entre esos vértices.
¿Existe algún buen libro (o algún otro recurso) en el que una persona con un conocimiento mínimo de CS pueda aprender cómo uno debe formular y establecer problemas computacionales de una manera rigurosa que sea comprensible para los informáticos?
Preferiblemente, el libro debería tener muchos ejemplos de cómo formular rigurosamente problemas computacionales a partir de varios dominios y ejemplos del mundo real.
Aclaración
Para hacer la pregunta más específica, supongamos que conocen la terminología básica de matemáticas / CS como conjuntos, funciones, gráficos, listas, etc. a nivel de estudiante de pregrado de 1 ° / 2 ° año (que es el caso de las personas que tengo en mente). Por ejemplo, han leído algunos libros de texto introductorios como Aho y Ullman (aunque podrían no haberlo entendido completamente).
- Al Aho y Jeff Ullman, Fundamentos de Ciencias de la Computación , 1992.
Respuestas:
Un buen recurso para esto, bastante conocido por los académicos pero no tan ampliamente conocido fuera de los especialistas, es la escritura matemática de Donald E. Knuth, Tracy L. Larrabee y Paul M. Roberts. Hay un libro publicado, videos de conferencias y un conjunto de notas. está más escrito desde la perspectiva de las personas que intentan dominar la escritura matemática, por ejemplo, para crear documentos, pero todos los consejos son muy aplicables al caso de los legos que intentan formular problemas con precisión. La escritura matemática, aunque formidable de aprender, es el enfoque científico para definir / formular rigurosamente, y como el libro detalla, resolver , por ejemplo, a través de algoritmos o pruebas, problemas computacionales / algorítmicos.
Información del libro de escritura matemática
Índice de videos de conferencias de escritura matemática
Escritura matemática CS1193 notas de clase
Además, el texto clásico de Garey & Johnson, Computadoras e Intractabilidad no describe exactamente cómo formular problemas con precisión, pero da muchos ejemplos y diversos "patrones" teóricos / conceptuales / técnicos, organizados en secciones de problemas similares, que pueden ser usado como "bloques de construcción" para describir problemas computacionales / algorítmicos.
fuente
acabo de encontrarme con esta referencia agradable / ordenada, inusual, relativamente nueva / desconocida en su página de inicio por Emmanuele Viola , profesor (T) CS en la Northeastern University) aparentemente inédito en otro lugar. 41pp. comienza con conceptos matemáticos muy básicos, por ejemplo, implicación, y luego abarca temas avanzados como el teorema de Erdős-Szekeres y la teoría de Ramsey .
fuente
Compre el libro Algorithms and Data Structures de Robert Lafore.
En este libro, cada algoritmo se explica como una historia, muy parecida a una poesía. Luego, dele a la persona la versión Lafore de un algoritmo, y luego la versión CLRS.
Tal vez así, la persona tendrá una idea de cómo traducir de una descripción intuitiva a una rigurosa.
fuente