Hay conexiones extremadamente profundas y penetrantes entre la lógica y la informática. Al comprender cuáles podrían ser, tenga en cuenta que la informática también se denomina "tecnología de la información" o "informática", lo que significa que los sistemas informáticos capturan, procesan y entregan información. Bueno, la lógica es una cosa similar. Estudia cómo se captura la información en las oraciones y cómo es posible que una declaración sea consecuencia de otra, es decir, cómo su contenido de información ya está presente en otra declaración (o colección de declaraciones). En ese sentido, la lógica y la informática son esencialmente las mismas.disciplina, centrándose en diferentes aspectos. Los lógicos (Church, Kleene, Turing, Post y sus estudiantes y colegas) crearon la disciplina de la informática, y muchos lógicos continúan haciendo contribuciones a la informática, especialmente Jean-Yves Girard y sus alumnos.
Aquí hay algunas aplicaciones estándar de lógica en informática:
El diseño de los circuitos digitales se basa completamente en la lógica de la propuesta, tanto que sus ingenieros lo llaman "diseño lógico" en lugar de "diseño de circuito". Incluso se suele pensar que escribir un programa de computadora implica diseñar su "lógica". (Tenga en cuenta que "lógica" en este último sentido es una idea informal en lugar de lógica formal, utilizada para referirse al flujo de información a través del programa y si se está procesando correctamente).
La lógica de predicados y su primo matemático, la teoría de conjuntos, se utilizan en una variedad de lenguajes de computación , por ejemplo, el lenguaje SQL para consultas de bases de datos relacionales. También hay lenguajes de programación basados en lógica, llamados "lenguajes de programación lógica".
La representación del conocimiento , que ya ha mencionado, tiene muchos formalismos basados en la lógica. Incluso si usa formalismos no lógicos, muchos de ellos todavía tienen un significado lógico y, por lo tanto, se basan en la lógica.
La lógica probabilística, donde las declaraciones no solo tienen valores verdaderos / falsos, sino niveles de certeza / incertidumbre, es cada vez más la base de los sistemas de aprendizaje automático .
Si desea establecer formalmente lo que hace un programa, es decir, dar una especificación de programa , terminará usando alguna forma de lenguaje lógico. De hecho, hay muchos lenguajes de especificación de programas, como Z y B, que se basan en la lógica de predicados y la teoría de conjuntos. También hay lenguajes de especificación basados en la lógica de la ecuación, como Larch. Los informáticos a menudo inventan nuevas lógicas para representar las necesidades de la informática, por ejemplo, la lógica de Hoare y la lógica de separación, o recogen y desarrollan varias formas infrautilizadas de lógicas tradicionales, como la lógica temporal y la lógica modal, y las desarrollan aún más.
Si quieres verificar si un programa hace lo que se supone que debe hacer, entonces terminas usando no solo el lenguaje de la lógica, sino toda la maquinaria de la lógica: teoría de la prueba, teoría del modelo y procedimientos de decisión. La tecnología de verificación ahora está creciendo a pasos agigantados y espero que, en una década más o menos, se usen de forma rutinaria para casi todo el desarrollo de software.
De hecho, las conexiones entre la lógica y la informática son tan profundas y generalizadas que diría que es difícil ser un buen científico de la computación sin una comprensión profunda de la lógica.
La razón por la que algunos científicos de IA subestiman la lógica en este momento es que algunos de los primeros desarrolladores de IA habían propuesto la lógica comercial como una herramientaen lugar de una base. La IA, por su propia naturaleza, promete entregar magia. No tenemos que hacer el trabajo duro de los sistemas de programación para entregar resultados. Podrían descubrir por sí mismos cómo producir soluciones porque serían "inteligentes". La lógica parecía indicar el camino porque si los sistemas informáticos entendieran la lógica y supieran cómo procesar la información utilizando las reglas de la lógica, serían capaces de entregar magia. Ese tipo de fe en la lógica fue, en retrospectiva, fuera de lugar. En primer lugar, la lógica estándar es demasiado fuerte y demasiado débil al mismo tiempo. Es demasiado fuerte en el sentido de que las reglas de la lógica son demasiado generales para idear procedimientos efectivos. También es demasiado débil porque es la lógica ideada por los matemáticos para las necesidades de las matemáticas y no No tiene el vocabulario necesario para lidiar con muchos otros tipos de información del mundo real que los sistemas de IA deben manejar (como la incertidumbre, la información contextual como el tiempo, el cambio, el conocimiento, la agencia, etc.). Entonces, AI está experimentando una reacción violenta contra la lógica. Pero creo que, cuando superen esa reacción violenta, los científicos de IA se darán cuenta de que todos los métodos más nuevos todavía se basan enlógica, ampliamente interpretada .