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 en 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 se extiende al corazón de la informática a medida que surge como una disciplina: El trabajo de Alan Turing sobre el Entscheidungsproblem seguido del trabajo de Kurt Gödel sobre teoremas incompletos. 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 una máquina capaz de razonar 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 organizadas para responder a una consulta.

Hoy en día, la lógica es extensamente aplicada en los campos de inteligencia artificial y de ciencias de computación, y estos campos proporcionan una rica fuente de problemas en la lógica formal e informal. 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 de la computadora, 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 sobre inteligencia artificial, por ejemplo la lógica modal y la lógica por defecto en los formalismos y métodos de representación del conocimiento, las cláusulas de Horn en la programación lógica y la lógica de descripción.

Además, las computadoras se pueden usar como herramientas para los lógicos. Por ejemplo, en lógica simbólica y lógica matemática, las pruebas de los seres humanos pueden ser asistidos por computadoras. Usando la prueba automatizada del teorema, las máquinas pueden encontrar y comprobar pruebas, así como trabajar con las pruebas demasiado largas para escribir 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.

La lógica proposicional y la computación[editar]

La lógica computacional es la lógica matemática aplicada a las ciencias de la computación, utilizada por los programadores, los cuales se centran en la descripción del problema y no en invertir tiempo en el mecanismo de computación necesario. Esto conlleva a la creación de programas de forma rápida y sencilla.

El uso frecuente de dicha lógica suele ser:

  1. Circuitos computacionales
  2. Programación lógica
  3. Análisis y optimización de algoritmos.

Para el término de lógica computacional, podemos utilizar la siguiente fórmula:

Algoritmo = Lógica + Control

Cualquier sistema computacional está compuesto por circuitos electrónicos, los cuales entienden unicamente el lenguaje binario.La lógica computacional , se encarga de modelar y optimizar dichos sistemas. Debido a que los computadores trabajan con información binaria, la herramienta matemática adecuada para el análisis y diseño de su funcionamiento es el Álgebra de Boole. El Álgebra de Boole fue desarrollada inicialmente para el estudio de la lógica. Ha sido a partir de 1938, fecha en que Claude Shannon publicó un libro llamado "Análisis simbólico de circuitos con relés", estableciendo los primeros conceptos de la actual teoría de la conmutación, cuando se ha producido un aumento considerable en el número de trabajos de aplicación del Álgebra de Boole a los computadores digitales. Hoy en día, esta herramienta resulta fundamental para el desarrollo de los computadores ya que, con su ayuda, el análisis y síntesis de combinaciones complejas de circuitos lógicos puede realizarse con rapidez.

Referencias[editar]

Enlaces externos[editar]