stringtranslate.com

Lógica en informática.

Representación esquemática de puertas lógicas informáticas.

La lógica en informática cubre la superposición entre el campo de la lógica y el de la informática . Básicamente, el tema se puede dividir en tres áreas principales:

Fundamentos teóricos y análisis.

La lógica juega un papel fundamental en la informática. Algunas de las áreas clave de la lógica que son particularmente importantes son la teoría de la computabilidad (anteriormente llamada teoría de la recursividad), la lógica modal y la teoría de categorías . La teoría de la computación se basa en conceptos definidos por lógicos y matemáticos como Alonzo Church y Alan Turing . [1] [2] Church mostró por primera vez la existencia de problemas algorítmicamente irresolubles utilizando su noción de definibilidad lambda. Turing dio el primer análisis convincente de lo que se puede llamar un procedimiento mecánico y Kurt Gödel afirmó que encontraba el análisis de Turing "perfecto". [3] . Además, algunas otras áreas importantes de superposición teórica entre la lógica y la informática son:

Computadoras para ayudar a los lógicos

Una de las primeras aplicaciones en utilizar el término inteligencia artificial fue el sistema teórico de la lógica desarrollado por Allen Newell , Cliff Shaw y Herbert Simon en 1956. Una de las cosas que hace un lógico es tomar un conjunto de enunciados en lógica y deducir el conclusiones (declaraciones adicionales) que deben ser verdaderas según las leyes de la lógica. Por ejemplo, si se dan las afirmaciones "Todos los humanos son mortales" y "Sócrates es humano", una conclusión válida es "Sócrates es mortal". Por supuesto, este es un ejemplo trivial. En los sistemas lógicos reales, las declaraciones pueden ser numerosas y complejas. Desde el principio se comprendió que este tipo de análisis podía mejorarse significativamente mediante el uso de ordenadores. El teórico de la lógica validó el trabajo teórico de Bertrand Russell y Alfred North Whitehead en su influyente trabajo sobre lógica matemática llamado Principia Mathematica . Además, los lógicos han utilizado sistemas posteriores para validar y descubrir nuevos teoremas y demostraciones matemáticas. [7]

Aplicaciones lógicas para ordenadores.

Siempre ha habido una fuerte influencia de la lógica matemática en el campo de la inteligencia artificial (IA). Desde el inicio del campo se comprendió que la tecnología para automatizar inferencias lógicas podría tener un gran potencial para resolver problemas y sacar conclusiones a partir de hechos. Ron Brachman ha descrito la lógica de primer orden (FOL) como la métrica mediante la cual se deben evaluar todos los formalismos de representación del conocimiento de la IA. La lógica de primer orden es un método general y poderoso para describir y analizar información. La razón por la que FOL en sí simplemente no se utiliza como lenguaje informático es que en realidad es demasiado expresivo , en el sentido de que FOL puede expresar fácilmente declaraciones que ninguna computadora, por poderosa que sea, podría resolver jamás. Por esta razón, toda forma de representación del conocimiento es, en cierto sentido, una compensación entre expresividad y computabilidad . Cuanto más expresivo sea el lenguaje, cuanto más cercano esté a FOL, más probable será que sea más lento y propenso a un bucle infinito. [8]

Por ejemplo, las reglas SI-ENTONCES utilizadas en sistemas expertos se aproximan a un subconjunto muy limitado de FOL. En lugar de fórmulas arbitrarias con toda la gama de operadores lógicos, el punto de partida es simplemente lo que los lógicos llaman modus ponens . Como resultado, los sistemas basados ​​en reglas pueden admitir computación de alto rendimiento, especialmente si aprovechan los algoritmos de optimización y la compilación. [9]

Por otro lado, la programación lógica , que combina el subconjunto de cláusulas de Horn de la lógica de primer orden con una forma no monótona de negación , tiene un alto poder expresivo e implementaciones eficientes . En particular, el lenguaje de programación lógica Prolog es un lenguaje de programación completo de Turing . Datalog amplía el modelo de base de datos relacional con relaciones recursivas, mientras que la programación de conjuntos de respuestas es una forma de programación lógica orientada a problemas de búsqueda difíciles (principalmente NP-hard ) .

Otra área importante de investigación para la teoría lógica es la ingeniería de software . Proyectos de investigación como los programas Asistente de software basado en el conocimiento y Aprendiz de programador han aplicado la teoría lógica para validar la exactitud de las especificaciones del software . También han utilizado herramientas lógicas para transformar las especificaciones en código eficiente en diversas plataformas y demostrar la equivalencia entre la implementación y la especificación. [10] Este enfoque formal impulsado por la transformación suele requerir mucho más esfuerzo que el desarrollo de software tradicional. Sin embargo, en dominios específicos con formalismos apropiados y plantillas reutilizables, el enfoque ha demostrado ser viable para productos comerciales. Los dominios apropiados suelen ser aquellos como sistemas de armas, sistemas de seguridad y sistemas financieros en tiempo real, donde la falla del sistema tiene un costo humano o financiero excesivamente alto. Un ejemplo de tal dominio es el diseño integrado a muy gran escala (VLSI) , el proceso para diseñar los chips utilizados para las CPU y otros componentes críticos de los dispositivos digitales. Un error en un chip puede ser catastrófico. A diferencia del software, los chips no se pueden parchear ni actualizar. Como resultado, existe una justificación comercial para utilizar métodos formales para demostrar que la implementación corresponde a la especificación. [11]

Otra aplicación importante de la lógica a la tecnología informática ha sido en el área de los lenguajes marco y los clasificadores automáticos. Los lenguajes marco como KL-ONE se pueden asignar directamente a la teoría de conjuntos y la lógica de primer orden. Esto permite a los demostradores de teoremas especializados llamados clasificadores analizar las diversas declaraciones entre conjuntos , subconjuntos y relaciones en un modelo determinado. De esta manera se puede validar el modelo y marcar cualquier definición inconsistente. El clasificador también puede inferir nueva información, por ejemplo definir nuevos conjuntos basándose en información existente y cambiar la definición de conjuntos existentes basándose en nuevos datos. El nivel de flexibilidad es ideal para manejar el mundo en constante cambio de Internet. La tecnología de clasificación se basa en lenguajes como Web Ontology Language para permitir un nivel semántico lógico además de Internet existente. Esta capa se llama Web Semántica . [12] [13]

La lógica temporal se utiliza para el razonamiento en sistemas concurrentes . [14]

Ver también

Referencias

  1. ^ Lewis, Harry R. (1981). Elementos de la Teoría de la Computación. Prentice Hall .
  2. ^ Davis, Martín (11 de mayo de 1995). "Influencias de la lógica matemática en la informática". En Rolf Herken (ed.). La máquina universal de Turing . Springer Verlag. ISBN 9783211826379. Consultado el 26 de diciembre de 2013 .
  3. ^ Kennedy, Juliette (21 de agosto de 2014). Interpretando a Gódel. Prensa de la Universidad de Cambridge. ISBN 9781107002661. Consultado el 17 de agosto de 2015 .
  4. ^ Hofstadter, Douglas R. (5 de febrero de 1999). Gödel, Escher, Bach: Una eterna trenza dorada. Libros básicos. ISBN 978-0465026562.
  5. ^ McCarthy, Juan ; PJ Hayes (1969). «Algunos problemas filosóficos desde el punto de vista de la inteligencia artificial» (PDF) . Inteligencia de las máquinas . 4 : 463–502.
  6. ^ Barr, Michael; Charles Wells (1998). Teoría de categorías para ciencias de la computación (PDF) . Centro de Investigaciones Matemáticas .
  7. ^ Newell, Allen; JC Shaw; HC Simón (1963). "Exploraciones empíricas con la máquina de teoría lógica" . En Ed Feigenbaum (ed.). Computadoras y pensamiento . McGraw-Hill. págs. 109-133. ISBN 978-0262560924.
  8. ^ Levesque, Héctor; Ronald Brachman (1985). "Una compensación fundamental en la representación y el razonamiento del conocimiento". En Ronald Brachman y Héctor J. Levesque (ed.). Lectura en la representación del conocimiento. Morgan Kaufman. pag. 49.ISBN 0-934613-01-X. La buena noticia al reducir el servicio KR a la demostración de teoremas es que ahora tenemos una noción muy clara y específica de lo que debería hacer el sistema KR; la mala noticia es que también está claro que los servicios no se pueden proporcionar... decidir si una oración en FOL es o no un teorema... es irresoluble.
  9. ^ Forgy, Charles (1982). "Rete: un algoritmo rápido para el problema de coincidencia de patrones de muchos patrones/muchos objetos*" (PDF) . Inteligencia artificial . 19 : 17–37. doi :10.1016/0004-3702(82)90020-0. Archivado desde el original (PDF) el 27 de diciembre de 2013 . Consultado el 25 de diciembre de 2013 .
  10. ^ Rico, Charles; Richard C. Waters (noviembre de 1987). "El proyecto de aprendiz de programador: una descripción general de la investigación" (PDF) . Experto IEEE . Archivado desde el original (PDF) el 6 de julio de 2017 . Consultado el 26 de diciembre de 2013 .
  11. ^ Stavridou, Victoria (1993). Métodos formales en diseño de circuitos. Sindicato de prensa de la Universidad de Cambridge. ISBN 0-521-443369. Consultado el 26 de diciembre de 2013 .
  12. ^ MacGregor, Robert (junio de 1991). "Uso de un clasificador de descripciones para mejorar la representación del conocimiento". Experto IEEE . 6 (3): 41–46. doi : 10.1109/64.87683. S2CID  29575443.
  13. ^ Berners-Lee, Tim ; James Hendler; Ora Lassila (17 de mayo de 2001). "La Web Semántica Una nueva forma de contenido Web que sea significativo para las computadoras desatará una revolución de nuevas posibilidades". Científico americano . 284 : 34–43. doi : 10.1038/scientificamerican0501-34. Archivado desde el original el 24 de abril de 2013.
  14. ^ Colin Stirling (1992). "Lógicas modales y temporales". En S. Abramsky ; DM Gabbay ; EET Maibaum (eds.). Manual de lógica en informática . vol. II. Prensa de la Universidad de Oxford. págs. 477–563. ISBN 0-19-853761-1.

Otras lecturas

enlaces externos