Lógica computacional

De Wikipedia, la enciclopedia libre
Saltar a: navegación, búsqueda

La lógica computacional es la misma lógica matemática aplicada al contexto de las ciencias de la computación. Su uso es fundamental a varios niveles: en los circuitos computacionales, en la programación lógica y en el análisis y optimización (de recursos temporales y espaciales) de algoritmos.

La lógica computacional se convirtió rápidamente en el corazón de la ciencia de la computación. El trabajo de Alan Turing en Entscheidungsproblem siguió del trabajo de Kurt Gödel en los teoremas de incompletitud. La noción de la computadora de uso general que surgió de este trabajo fue de gran importancia para los diseñadores de la maquinaria informática en la década de 1940.

En los 50's y 60's, investigaciones predijeron que, cuando el conocimiento humano se pudiera expresar usando la lógica con notaciones matemáticas, sería posible crear un máquina que razonara o una inteligencia artificial. Esto fue más difícil de lo esperado a causa de la complejidad del razonamiento humano. En la lógica de programación, un programa consiste en una colección de axiomas y reglas. Los sistemas de programación lógicos (como Prolog) calculan las consecuencias de los axiomas y las reglas para responder a una consulta.

Hoy en día, la lógica es extensamente aplicada en los campos de inteligencia artificial y de las ciencias de computación, y estos campos proveen un recurso muy rico de problemas lógicos tanto formales como informales. La teoría de la argumentación es un buen ejemplo de cómo la lógica está siendo aplicada a la inteligencia artificial. El sistema de clasificación computacional ACM, en particular, considera:

  • Sección F.3 en Lógicas y significados de programas y F.4 en Lógica matemática y lenguajes formales como parte de la teoría de la ciencia de computación: este trabajo cubre la semántica formal de los lenguajes de programación tan bien como el trabajo de métodos formales como la lógica de Hoare.
  • Lógica booleana como fundamento en el hardware del ordenador, particularmente la sección del sistema B.2 en la estructura aritmética y lógica, relacionado a operadores AND, NOT y OR.
  • Muchos formalismos lógicos fundamentales son esenciales para la sección I.2 en la inteligencia artificial, por ejemplo la lógica modal y la lógica por defecto en los formalismos de la representación del conocimiento y métodos, cláusulas Horn en la lógica de programación, y lógica descriptiva.

Además, los ordenadores se pueden usar como herramientas por lógicos. Por ejemplo, en lógica simbólica y lógica matemática, probadas por humanos pueden ser computadores asistidos. Usando prueba de teoremas automatizados, las máquinas pueden encontrar y verificar pruebas, tan bien como trabajar con pruebas muy extensas como para escribirlas a mano.

Circuitos computacionales[editar]

El nivel menos abstracto dentro de una computadora está constituido por circuitos electrónicos que responden a diferentes señales eléctricas, siguiendo los patrones de la lógica booleana; esto es, compuertas lógicas que devuelven un valor dependiendo de las entradas que se le dan al sistema. Existen ocho compuertas lógicas básicas con las cuales se pueden formar sistemas muy complejos: AND, OR, Inverter, Buffer, NAND, NOR, XOR y XNOR. Todas ellas son representadas mediante un símbolo y una tabla de valores de verdad, que es simplemente un cuadro donde se ubican todas las posibles entradas y los valores que devolvería la compuerta dados dichos valores.

Todo sistema computacional, por muy complejo que sea, no está compuesto por más que circuitos electrónicos que únicamente entienden un lenguaje binario. La lógica computacional se encarga de modelar y optimizar tales sistemas a este nivel.