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.