miércoles, 23 de junio de 2010

Inteligencia artificial

Se denomina inteligencia artificial (IA) a la rama de las Ciencias de la Computación[1] [2] [3] dedicada al desarrollo de agentes racionales no vivos.

Para explicar la definición anterior, entiéndase a un agente como cualquier cosa capaz de percibir su entorno (recibir entradas), procesar tales percepciones y actuar en su entorno (proporcionar salidas), y entiéndase a la [racionalidad] como la característica que posee una elección de ser correcta, más específicamente, de tender a maximizar un resultado esperado (este concepto de racionalidad es más general y por ello más adecuado que inteligencia para definir la naturaleza del objetivo de esta disciplina).

Por lo tanto, y de manera más específica la inteligencia artificial es la disciplina que se encarga de construir procesos que al ser ejecutados sobre una arquitectura física producen acciones o resultados que maximizan una medida de rendimiento determinada, basándose en la secuencia de entradas percibidas y en el conocimiento almacenado en tal arquitectura.

Existen distintos tipos de conocimiento y medios de representación del conocimiento. El cual puede ser cargado en el agente por su diseñador o puede ser aprendido por el mismo agente utilizando técnicas de aprendizaje.

También se distinguen varios tipos de procesos válidos para obtener resultados racionales, que determinan el tipo de agente inteligente. De más simples a más complejos, los cinco principales tipos de procesos son:

  • Ejecución de una respuesta predeterminada por cada entrada (análogas a actos reflejos en seres vivos).
  • Búsqueda del estado requerido en el conjunto de los estados producidos por las acciones posibles.
  • Algoritmos genéticos (análogo al proceso de evolución de las cadenas de ADN).
  • Redes neuronales artificiales (análogo al funcionamiento físico del cerebro de animales y humanos).
  • Razonamiento mediante una lógica formal (análogo al pensamiento abstracto humano).

También existen distintos tipos de percepciones y acciones, pueden ser obtenidas y producidas, respectivamente por sensores físicos y sensores mecánicos en máquinas, pulsos eléctricos u ópticos en computadoras, tanto como por entradas y salidas de bits de un software y su entorno software.

Varios ejemplos se encuentran en el área de control de sistemas, planificación automática, la habilidad de responder a diagnósticos y a consultas de los consumidores, reconocimiento de escritura, reconocimiento del habla y reconocimiento de patrones. Los sistemas de IA actualmente son parte de la rutina en campos como economía, medicina, ingeniería y la milicia, y se ha usado en gran variedad de aplicaciones de software, juegos de estrategia como ajedrez de computador y otros videojuegos.


Escuelas de pensamiento

La IA se divide en dos escuelas de pensamiento:

Inteligencia artificial convencional

Se conoce también como IA simbólico-deductiva. Está basada en el análisis formal y estadístico del comportamiento humano ante diferentes problemas:

  • Razonamiento basado en casos: Ayuda a tomar decisiones mientras se resuelven ciertos problemas concretos y aparte que son muy importantes requieren de un buen funcionamiento.
  • Sistemas expertos: Infieren una solución a través del conocimiento previo del contexto en que se aplica y ocupa de ciertas reglas o relaciones.
  • Redes bayesianas: Propone soluciones mediante inferencia estadística.
  • Inteligencia artificial basada en comportamientos: que tienen autonomía y pueden auto-regularse y controlarse para mejorar.
  • Smart process management: facilita la toma de decisiones complejas, proponiendo una solución a un determinado problema al igual que lo haría un especialista en la actividad.

Inteligencia artificial computacional

Artículo principal: Inteligencia Computacional

La Inteligencia Computacional (también conocida como IA subsimbólica-inductiva) implica desarrollo o aprendizaje interactivo (por ejemplo, modificaciones interactivas de los parámetros en sistemas conexionistas). El aprendizaje se realiza basándose en datos empíricos.

Historia

  • Las ideas más básicas se remontan a los griegos, antes de Cristo. Aristóteles (384-322 a. C.) fue el primero en describir un conjunto de reglas que describen una parte del funcionamiento de la mente para obtener conclusiones racionales, y Ktesibios de Alejandría (250 a. C.) construyó la primera máquina autocontrolada, un regulador del flujo de agua (racional pero sin razonamiento).
  • En 1315 Ramon Llull en su libro Ars magna tuvo la idea de que el razonamiento podía ser efectuado de manera artificial.
  • En 1936 Alan Turing diseña formalmente una Máquina universal que demuestra la viabilidad de un dispositivo físico para implementar cualquier cómputo formalmente definido.
  • En 1943 Warren McCulloch y Walter Pitts presentaron su modelo de neuronas artificiales, el cual se considera el primer trabajo del campo, aun cuando todavía no existía el término. Los primeros avances importantes comenzaron a principios de los años 1950 con el trabajo de Alan Turing, a partir de lo cual la ciencia ha pasado por diversas situaciones.
  • En 1955 Herbert Simon, Allen Newell y J.C. Shaw, desarrollan el primer lenguaje de programación orientado a la resolución de problemas, el IPL-11. Un año más tarde desarrollan el LogicTheorist, el cual era capaz de demostrar teoremas matemáticos.
  • En 1956 fue inventado el término inteligencia artificial por John McCarthy, Marvin Minsky y Claude Shannon en la Conferencia de Dartmouth, un congreso en el que se hicieron previsiones triunfalistas a diez años que jamás se cumplieron, lo que provocó el abandono casi total de las investigaciones durante quince años.
  • En 1957 Newell y Simon continúan su trabajo con el desarrollo del General Problem Solver (GPS). GPS era un sistema orientado a la resolución de problemas.
  • En 1958 John McCarthy desarrolla en el Instituto de Tecnología de Massachusetts (MIT), el LISP. Su nombre se deriva de LISt Processor. LISP fue el primer lenguaje para procesamiento simbólico.
  • En 1959 Rosenblatt introduce el Perceptrón.
  • A fines de los 50 y comienzos de la década del 60 Robert K. Lindsay desarrolla «Sad Sam», un programa para la lectura de oraciones en inglés y la inferencia de conclusiones a partir de su interpretación.
  • En 1963 Quillian desarrolla las redes semánticas como modelo de representación del conocimiento.
  • En 1964 Bertrand Raphael construye el sistema SIR (Semantic Information Retrieval) el cual era capaz de inferir conocimiento basado en información que se le suministra. Bobrow desarrolla STUDENT.
  • Posteriormente entre los años 1968-1970 Terry Winograd desarrolló el sistema SHRDLU, que permitía interrogar y dar órdenes a un robot que se movía dentro de un mundo de bloques.
  • A mediados de los años 60, aparecen los sistemas expertos, que predicen la probabilidad de una solución bajo un set de condiciones. Por ejemplo DENDRAL, iniciado en 1965 por Buchanan, Feigenbaum y Lederberg, el primer Sistema Experto, que asistía a químicos en estructuras químicas complejas euclidianas, MACSYMA, que asistía a ingenieros y científicos en la solución de ecuaciones matemáticas complejas.
  • En 1968 Minsky publica Semantic Information Processing.
  • En 1968 Seymour Papert, Danny Bobrow y Wally Feurzeig, desarrollan el lenguaje de programación LOGO.
  • En 1969 Alan Kay desarrolla el lenguaje Smalltalk en Xerox PARC y se publica en 1980.
  • En 1973 Alain Colmenauer y su equipo de investigación en la Universidad de Aix-Marseille crean PROLOG (del francés PROgrammation en LOGique) un lenguaje de programación ampliamente utilizado en IA.
  • En 1973 Shank y Abelson desarrollan los guiones, o scripts, pilares de muchas técnicas actuales en Inteligencia Artificial y la informática en general.
  • En 1974 Edward Shortliffe escribe su tesis con MYCIN, uno de los Sistemas Expertos más conocidos, que asistió a médicos en el diagnóstico y tratamiento de infecciones en la sangre.
  • En las décadas de 1970 y 1980, creció el uso de sistemas expertos, como MYCIN: R1/XCON, ABRL, PIP, PUFF, CASNET, INTERNIST/CADUCEUS, etc. Algunos permanecen hasta hoy (shells) como EMYCIN, EXPERT, OPSS.
  • En 1981 Kazuhiro Fuchi anuncia el proyecto japonés de la quinta generación de computadoras.
  • En 1986 McClelland y Rumelhart publican Parallel Distributed Processing (Redes Neuronales).
  • En 1988 se establecen los lenguajes Orientados a Objetos.
  • En 1997 Garry Kasparov, campeón mundial de ajedrez pierde ante la computadora autónoma Deep Blue.
  • En 2006 se celebró el aniversario con el Congreso en español 50 años de Inteligencia Artificial - Campus Multidisciplinar en Percepción e Inteligencia 2006.
  • En el año 2009 ya hay en desarrollo sistemas inteligentes terapéuticos que permiten detectar emociones para poder interactuar con niños autistas.
  • Existen personas que al dialogar sin saberlo con un chatbot no se percatan de hablar con un programa, de modo tal que se cumple la prueba de Turing como cuando se formuló: «Existirá Inteligencia Artificial cuando no seamos capaces de distinguir entre un ser humano y un programa de computadora en una conversación a ciegas».
  • Como anécdota, muchos de los investigadores sobre IA sostienen que «la inteligencia es un programa capaz de ser ejecutado independientemente de la máquina que lo ejecute, computador o cerebro».

[editar] Fundamentos y filosofía

Como ocurre casi siempre en el caso de una ciencia recién creada, la inteligencia artificial aborda tantas cuestiones confundibles en un nivel fundamental y conceptual que, adjunto a lo científico, es necesario hacer consideraciones desde el punto de vista de la filosofía. Gran parte de esta ciencia se junta con temas en la filosofía de la mente, pero hay ciertos temas particulares a la IA. Por ejemplo:

  • ¿En qué consiste la inteligencia? ¿Cómo la reconoceríamos en un objeto no humano, si la tuviera?
  • ¿Qué sustancia y organización se requiere? ¿Es posible que una criatura hecha de metal, por ejemplo, posea una inteligencia comparable a la humana?
  • Aunque una criatura no orgánica pudiera solucionar problemas de la misma manera que un humano, ¿tendría o podría tener conciencia y emociones?
  • Suponiendo que podemos hacer robots con una inteligencia comparable a la nuestra, ¿debemos hacerlo?

Durante más de 2000 años de tradición en filosofía, han ido surgiendo diversas teorías del razonamiento y del aprendizaje, simultáneamente con el punto de vista de que la mente se reduce al funcionamiento físico. La psicología ofrece herramientas que permiten la investigación de la mente humana, así como un lenguaje científico para expresar las teorías que se van obteniendo. La lingüística ofrece teorías para la estructura y significado del lenguaje, así como la ciencia de la computación, de la que se toman las herramientas que permiten que la Inteligencia Artificial sea una realidad.

Empezó con el nacimiento de Platón en 428 a. C. y con lo que aprendió de Sócrates. La temática de su obra fue muy diversa: política, matemática, física, astronomía y diversas ramas de la filosofía. El filósofo Hubet Dreyfus (1979) afirma que:

Bien podría afirmarse que la historia de la inteligencia artificial comienza en el año 450 a.C., cuando Platón cita un diálogo en el que Sócrates le pregunta a Eutidemo: «Desearía saber cuál es la característica de la piedad que hace que una acción se pueda considerar como pía... y así la observe y me sirva de norma para juzgar tus acciones y las de otros.»

Los filósofos delimitaron las más importantes ideas relacionadas con la inteligencia artificial, pero para pasar de allí a una ciencia formal era necesario contar con una formalización matemática en tres áreas principales: la computación, la lógica y la probabilidad. La idea de expresar un cálculo mediante un algoritmo formal se remonta a la época de Jwarizmi, matemático árabe del siglo IX, con cuyas obras se introdujeron en Europa los números arábigos y el álgebra (de su nombre al-Jwarizmi deriva la palabra algoritmo).

El hombre se ha aplicado a sí mismo el nombre científico de Homo sapiens como una valoración de la trascendencia de nuestras habilidades mentales tanto para nuestra vida cotidiana como para nuestro propio sentido de identidad. Los esfuerzos del campo de la inteligencia artificial se enfocan en lograr la compresión de entidades inteligentes. Una de las razones de su estudio es el aprender más de nosotros mismos. A diferencia de la filosofía y de la psicología, que también se ocupan de la inteligencia, los esfuerzos de la inteligencia artificial están encaminados tanto a la construcción de entidades como a su compresión. Otra razón por la cual se estudia la inteligencia artificial es debido a que ha sido posible crear sorprendentes y diversos productos de trascendencia. Nadie podría pronosticar con toda precisión lo que se podría esperar en el futuro, es evidente que las computadoras que posean una inteligencia a nivel humano tendrán repercusiones muy importantes en nuestra vida diaria así como en el devenir de la civilización.

El problema que aborda la inteligencia artificial es uno de los más complejos: ¿Cómo es posible que un diminuto y lento cerebro, sea biológico o electrónico, tenga capacidad de percibir, comprender, predecir y manipular un mundo que en tamaño y complejidad lo excede con creces?, pero a diferencia de la investigación en torno al desplazamiento mayor que la velocidad de la luz o de un dispositivo antigravitatorio, el investigador del campo de la inteligencia artificial cuenta con pruebas contundentes de que tal búsqueda es totalmente factible.

La inteligencia artificial permite al hombre emular en las máquinas el comportamiento humano, tomando como base el cerebro y su funcionamiento, de manera tal que se pueda alcanzar cierto razonamiento creando marionetas robóticas.

La inteligencia artificial y los sentimientos

El concepto de IA es aún demasiado difuso. Contextualizando, y teniendo en cuenta un punto de vista científico, podríamos englobar a esta ciencia como la encargada de imitar una persona, y no su cuerpo, sino imitar al cerebro, en todas sus funciones, existentes en el humano o inventadas sobre el desarrollo de una máquina inteligente.

A veces, aplicando la definición de Inteligencia Artificial, se piensa en máquinas inteligentes sin sentimientos, que «obstaculizan» encontrar la mejor solución a un problema dado. Muchos pensamos en dispositivos artificiales capaces de concluir miles de premisas a partir de otras premisas dadas, sin que ningún tipo de emoción tenga la opción de obstaculizar dicha labor.

En esta línea, hay que saber que ya existen sistemas inteligentes. Capaces de tomar decisiones «acertadas».

Aunque, por el momento, la mayoría de los investigadores en el ámbito de la Inteligencia Artificial se centran sólo en el aspecto racional, muchos de ellos consideran seriamente la posibilidad de incorporar componentes «emotivos» como indicadores de estado, a fin de aumentar la eficacia de los sistemas inteligentes.

Particularmente para los robots móviles, es necesario que cuenten con algo similar a las emociones con el objeto de saber –en cada instante y como mínimo– qué hacer a continuación [Pinker, 2001, p. 481].

Al tener «sentimientos» y, al menos potencialmente, «motivaciones», podrán actuar de acuerdo con sus «intenciones» [Mazlish, 1995, p. 318]. Así, se podría equipar a un robot con dispositivos que controlen su medio interno; por ejemplo, que «sientan hambre» al detectar que su nivel de energía está descendiendo o que «sientan miedo» cuando aquel esté demasiado bajo.

Esta señal podría interrumpir los procesos de alto nivel y obligar al robot a conseguir el preciado elemento [Johnson-Laird, 1993, p. 359]. Incluso se podría introducir el «dolor» o el «sufrimiento físico», a fin de evitar las torpezas de funcionamiento como, por ejemplo, introducir la mano dentro de una cadena de engranajes o saltar desde una cierta altura, lo cual le provocaría daños irreparables.

Esto significa que los sistemas inteligentes deben ser dotados con mecanismos de retroalimentación que les permitan tener conocimiento de estados internos, igual que sucede con los humanos que disponen de propiocepción, interocepción, nocicepción, etcétera. Esto es fundamental tanto para tomar decisiones como para conservar su propia integridad y seguridad. La retroalimentación en sistemas está particularmente desarrollada en cibernética, por ejemplo en el cambio de dirección y velocidad autónomo de un misil, utilizando como parámetro la posición en cada instante en relación al objetivo que debe alcanzar. Esto debe ser diferenciado del conocimiento que un sistema o programa computacional puede tener de sus estados internos, por ejemplo la cantidad de ciclos cumplidos en un loop o bucle en sentencias tipo do... for, o la cantidad de memoria disponible para una operación determinada.

A los sistemas inteligentes el no tener en cuenta elementos emocionales les permite no olvidar la meta que deben alcanzar. En los humanos el olvido de la meta o el abandonar las metas por perturbaciones emocionales es un problema que en algunos casos llega a ser incapacitante. Los sistemas inteligentes, al combinar una memoria durable, una asignación de metas o motivación, junto a la toma de decisiones y asignación de prioridades con base en estados actuales y estados meta, logran un comportamiento en extremo eficiente, especialmente ante problemas complejos y peligrosos.

En síntesis, lo racional y lo emocional están de tal manera interrelacionados entre sí, que se podría decir que no sólo no son aspectos contradictorios sino que son –hasta cierto punto– complementarios.

Críticas

Las principales críticas a la inteligencia artificial tienen que ver con su incapacidad de imitar por completo a un ser humano. Estas críticas ignoran que ningún humano individual tiene capacidad para resolver todo tipo de problemas, y autores como Howard Gardner han propuesto que existen inteligencias múltiples. Un sistema de inteligencia artificial debería resolver problemas. Por lo tanto es fundamental en su diseño la delimitación de los tipos de problemas que resolverá y las estrategias y algoritmos que utilizará para encontrar la solución.

En los humanos la capacidad de resolver problemas tiene dos aspectos: los aspectos innatos y los aspectos aprendidos. Los aspectos innatos permiten por ejemplo almacenar y recuperar información en la memoria y los aspectos aprendidos el saber resolver un problema matemático mediante el algoritmo adecuado. Del mismo modo que un humano debe disponer de herramientas que le permitan solucionar ciertos problemas, los sistemas artificiales deben ser programados de modo tal que puedan resolver ciertos problemas.

Muchas personas consideran que el test de Turing ha sido superado, citando conversaciones en que al dialogar con un programa de inteligencia artificial para chat no saben que hablan con un programa. Sin embargo, esta situación no es equivalente a un test de Turing, que requiere que el participante esté sobre aviso de la posibilidad de hablar con una máquina.

Otros experimentos mentales como la Habitación china de John Searle han mostrado cómo una máquina podría simular pensamiento sin tener que tenerlo, pasando el test de Turing sin siquiera entender lo que hace. Esto demostraría que la máquina en realidad no está pensando, ya que actuar de acuerdo con un programa preestablecido sería suficiente. Si para Turing el hecho de engañar a un ser humano que intenta evitar que le engañen es muestra de una mente inteligente, Searle considera posible lograr dicho efecto mediante reglas definidas a priori.

Uno de los mayores problemas en sistemas de inteligencia artificial es la comunicación con el usuario. Este obstáculo es debido a la ambigüedad del lenguaje, y apareció ya en los inicios de los primeros sistemas operativos informáticos. La capacidad de los humanos para comunicarse entre sí implica el conocimiento del lenguaje que utiliza el interlocutor. Para que un humano pueda comunicarse con un sistema inteligente hay dos opciones: o bien el humano aprende el lenguaje del sistema como si aprendiese a hablar cualquier otro idioma distinto al nativo, o bien el sistema tiene la capacidad de interpretar el mensaje del usuario en la lengua que el usuario utiliza.

Un humano durante toda su vida aprende el vocabulario de su lengua nativa. Un humano interpreta los mensajes a pesar de la polisemia de las palabras utilizando el contexto para resolver ambigüedades. Sin embargo, debe conocer los distintos significados para poder interpretar, y es por esto que lenguajes especializados y técnicos son conocidos solamente por expertos en las respectivas disciplinas. Un sistema de inteligencia artificial se enfrenta con el mismo problema, la polisemia del lenguaje humano, su sintaxis poco estructurada y los dialectos entre grupos.

Los desarrollos en inteligencia artificial son mayores en los campos disciplinares en los que existe mayor consenso entre especialistas. Un sistema experto es más probable de ser programado en física o en medicina que en sociología o en psicología. Esto se debe al problema del consenso entre especialistas en la definición de los conceptos involucrados y en los procedimientos y técnicas a utilizar. Por ejemplo, en física hay acuerdo sobre el concepto de velocidad y cómo calcularla. Sin embargo, en psicología se discuten los conceptos, la etiología, la psicopatología y cómo proceder ante cierto diagnóstico. Esto dificulta la creación de sistemas inteligentes porque siempre habrá desacuerdo sobre lo que se esperaría que el sistema haga. A pesar de esto hay grandes avances en el diseño de sistemas expertos para el diagnóstico y toma de decisiones en el ámbito médico y psiquiátrico (Adaraga Morales, Zaccagnini Sancho, 1994).

Lógica proposicional

En lógica y matemática, la lógica proposicional es un sistema formal diseñado para analizar ciertos tipos de argumentos. En la lógica proposicional, las fórmulas representan proposiciones y las constantes lógicas son operaciones sobre las fórmulas que producen otras fórmulas de mayor complejidad.[1] Como otros sistemas lógicos, la lógica proposicional intenta esclarecer nuestra comprensión de la noción de consecuencia lógica para el rango de argumentos que analiza

Considérese el siguiente argumento:

  1. Mañana es miércoles o mañana es jueves.
  2. Mañana no es jueves.
  3. Por lo tanto, mañana es miércoles.

Este es un argumento válido. Quiere decir que es imposible que las premisas sean verdaderas y la conclusión falsa. Esto no quiere decir que la conclusión sea verdadera. Si las premisas son falsas, entonces la conclusión también podría serlo. Pero si las premisas son verdaderas, entonces la conclusión también lo es. La validez de este argumento no se debe al significado de las expresiones "mañana es miércoles" y "mañana es jueves", porque éstas podrían cambiarse por otras y el argumento permanecer válido. Por ejemplo:

  1. Está soleado o está nublado.
  2. No está nublado.
  3. Por lo tanto, está soleado.

En cambio, la validez de estos dos argumentos depende del significado de las expresiones "o" y "no". Si alguna de estas expresiones se cambiara por otra, entonces podría ser que los argumentos dejaran de ser válidos. Por ejemplo:

  1. Ni está soleado ni está nublado.
  2. No está nublado.
  3. Por lo tanto, está soleado.

Las expresiones de las que depende la validez de los argumentos se llaman constantes lógicas. La lógica proposicional estudia el comportamiento de una variedad de estas expresiones. En cuanto a las expresiones como "está nublado" o "mañana es jueves", lo único que importa de ellas es que tengan un valor de verdad. Es por esto que se las reemplaza por simples letras, cuya intención es simbolizar una expresión con valor de verdad cualquiera. A estas letras se las llama variables proposicionales, y en general se toman del alfabeto latino, empezando por la letra p, luego q, r, s, etc. Así, los dos primeros argumentos de esta sección podrían reescribirse así:

  1. p o q
  2. No q
  3. Por lo tanto, p

Y el tercer argumento, a pesar de no ser válido, puede reescribirse así:

  1. Ni p ni q
  2. No q
  3. Por lo tanto, p

Conectivas lógicas

Artículo principal: Conectiva lógica

A continuación hay una tabla que despliega todas las conectivas lógicas que ocupan a la lógica proposicional, incluyendo ejemplos de su uso en el lenguaje natural y los símbolos que se utilizan para representarlas.

Conectiva Expresión en el
lenguaje natural
Ejemplo Símbolo en
este artículo
Símbolos
alternativos
Negación no No está lloviendo. \neg \, \sim
Conjunción y Está lloviendo y está nublado. \and \And \,
Disyunción o Está lloviendo o está soleado. \or
Condicional material si... entonces Si está soleado, entonces es de día. \to \, \supset
Bicondicional si y sólo si Está nublado si y sólo si hay nubes visibles. \leftrightarrow \equiv \,
Negación conjunta ni... ni Ni está soleado ni está nublado. \downarrow \,
Disyunción excluyente o bien... o bien O bien está soleado, o bien está nublado. \nleftrightarrow \oplus, \not\equiv

En la lógica proposicional, las constantes lógicas son tratadas como funciones de verdad. Es decir, como funciones que toman conjuntos de valores de verdad y devuelven valores de verdad. Por ejemplo, la constante lógica "no" es una función que si toma el valor de verdad 1, devuelve 0, y si toma el valor de verdad 0, devuelve 1. Por lo tanto, si se aplica la función "no" a una letra que represente una proposición falsa, el resultado será algo verdadero. Si es falso que "está lloviendo", entonces será verdadero que "no está lloviendo".

El significado de las constantes lógicas no es nada más que su comportamiento como funciones de verdad. Cada constante lógica se distingue de las otras por los valores de verdad que devuelve frente a las distintas combinaciones de valores de verdad que puede recibir. Esto quiere decir que el significado de cada constante lógica puede ilustrarse mediante una tabla que despliegue los valores de verdad que la función devuelve frente a todas las combinaciones posibles de valores de verdad que puede recibir.

Negación Conjunción Disyunción Condicional Bicondicional

\begin{array}{|c||c|}       \phi & \neg \phi \\       \hline       1 & 0 \\       0 & 1 \\       \hline    \end{array}

\begin{array}{|c|c||c|}       \phi & \psi & \phi \and \psi \\       \hline       1 & 1 & 1 \\       1 & 0 & 0 \\       0 & 1 & 0 \\       0 & 0 & 0 \\       \hline    \end{array}

\begin{array}{|c|c||c|}       \phi & \psi & \phi \or \psi \\       \hline       1 & 1 & 1 \\       1 & 0 & 1 \\       0 & 1 & 1 \\       0 & 0 & 0 \\       \hline    \end{array}

\begin{array}{|c|c||c|}       \phi & \psi & \phi \to \psi \\       \hline       1 & 1 & 1 \\       1 & 0 & 0 \\       0 & 1 & 1 \\       0 & 0 & 1 \\       \hline    \end{array}

\begin{array}{|c|c||c|}       \phi & \psi & \phi \leftrightarrow \psi \\       \hline       1 & 1 & 1 \\       1 & 0 & 0 \\       0 & 1 & 0 \\       0 & 0 & 1 \\       \hline    \end{array}

Límites de la lógica proposicional

La maquinaria de la lógica proposicional permite formalizar y teorizar sobre la validez de una gran cantidad de argumentos. Sin embargo, también existen argumentos que son intuitivamente válidos, pero cuya validez no puede ser probada por la lógica proposicional. Por ejemplo, considérese el siguiente argumento:

  1. Todos los hombres son mortales.
  2. Sócrates es un hombre.
  3. Por lo tanto, Sócrates es mortal.

Según la lógica proposicional, la forma de este argumento es la siguiente:

  1. p \,
  2. q \,
  3. \therefore r

Pero esta es una forma de argumento inválida, y eso contradice nuestra intuición de que el argumento es válido. Para teorizar sobre la validez de este tipo de argumentos, se necesita investigar la estructura interna de las variables proposicionales. De esto se ocupa la lógica de primer orden. Otros sistemas formales permiten teorizar sobre otros tipos de argumentos. Por ejemplo la lógica de segundo orden, la lógica modal y la lógica temporal.

Dos sistemas formales de lógica proposicional

A continuación se presentan dos sistemas formales estándar para la lógica proposicional. El primero es un sistema axiomático simple, y el segundo es un sistema sin axiomas, de deducción natural.

Sistema axiomático

Alfabeto

El alfabeto de un sistema formal es el conjunto de símbolos que pertenecen al lenguaje del sistema. Si L es el nombre de este sistema axiomático de lógica proposicional, entonces el alfabeto de L consiste en:

  • Una cantidad finita pero arbitrariamente grande de variables proposicionales. En general se las toma del alfabeto latino, empezando por la letra p, luego q, r, etc., y utilizando subíndices cuando es necesario o conveniente. Las variables proposicionales representan proposiciones como "está lloviendo" o "los metales se expanden con el calor".
  • Un conjunto de operadores lógicos: \neg,  \and, \or, \to, \leftrightarrow
  • Dos signos de puntuación: los paréntesis izquierdo y derecho. Su única función es desambiguar ciertas expresiones ambiguas, en exactamente el mismo sentido en que desambiguan la expresión 2 + 2 ÷ 2, que puede significar tanto (2 + 2) ÷ 2, como 2 + (2 ÷ 2).
Gramática

Una vez definido el alfabeto, el siguiente paso es determinar qué combinaciones de símbolos pertenecen al lenguaje del sistema. Esto se logra mediante una gramática formal. La misma consiste en un conjunto de reglas que definen recursivamente las cadenas de caracteres que pertenecen al lenguaje. A las cadenas de caracteres construidas según estas reglas se las llama fórmulas bien formadas. Las reglas del sistema L son:

  1. Las variables proposicionales del alfabeto de L son fórmulas bien formadas.
  2. Si \phi \, es una fórmula bien formada de L, entonces \neg  \phi \, también lo es.
  3. Si \phi \, y \psi \, son fórmulas bien formadas de L, entonces (\phi  \and \psi), (\phi \or \psi), (\phi \to \psi) \, y (\phi \leftrightarrow \psi) también lo son.
  4. Sólo las expresiones que pueden ser generadas mediante las cláusulas 1 a 3 en un número finito de pasos son fórmulas bien formadas de L.

Según estas reglas, las siguientes cadenas de caracteres son ejemplos de fórmulas bien formadas:

p \,
\neg \neg \neg q \,
(p \and q)
\neg (p \and q)
(p \leftrightarrow \neg p)
((p \to q) \and p)
(\neg (p \and (q \or r)) \or s)

Y los siguientes son ejempos de fórmulas mal formadas:

(p) \,
\neg (p) \,
(\neg p) \,
p \to q \,
(p \and q \to r)

Por otra parte, dado que la única función de los paréntesis es desambiguar las fórmulas, en general se acostumbra omitir los paréntesis externos de cada fórmula, ya que estos no cumplen ninguna función. Así por ejemplo, las siguientes fórmulas generalmente se consideran bien formadas:

p \and q
\neg p \to q \,
(p \and q) \or \neg q
(p \leftrightarrow q) \leftrightarrow (q  \leftrightarrow p)
Axiomas

Los axiomas de un sistema formal son un conjunto de fórmulas bien formadas que se toman como punto de partida para demostraciones ulteriores. Un conjunto de axiomas estándar es el que descubrió Jan Łukasiewicz:

  • (\phi \to (\psi \to \phi)) \,
  • ((\phi \to (\psi \to \chi)) \to ((\phi \to  \psi) \to (\phi \to \chi))) \,
  • ((\neg \phi \to \neg \psi) \to (\psi \to  \phi)) \,
Reglas de inferencia

Una regla de inferencia es una función que va de conjuntos de fórmulas a fórmulas. Al conjunto de fórmulas que la función toma como argumento se lo llama premisas, mientras que a la fórmula que devuelve como valor se la llama conclusión. En general se busca que las reglas de inferencia transmitan la verdad de las premisas a la conclusión. Es decir, que sea imposible que las premisas sean verdaderas y la conclusión falsa. En el caso de L, la única regla de inferencia es el modus ponens, el cual dice:

(\phi \to \psi), \phi \vdash \psi

Recordando que \phi \, y \psi \, no son fórmulas, sino metavariables que pueden ser reemplazadas por cualquier fórmula bien formada.

Ejemplo de una demostración
A demostrar: \phi \to \phi \,
Paso Fórmula Razón
1 \phi \to (\phi \to \phi) \, Instancia del primer axioma.
2 \phi \to ((\phi \to \phi) \to \phi) \, Instancia del primer axioma.
3 \Big( \phi \to ((\phi \to \phi) \to \phi)  \Big) \to \Big( (\phi \to (\phi \to \phi)) \to (\phi \to \phi) \Big) Instancia del segundo axioma.
4 \Big( (\phi \to (\phi \to \phi)) \to (\phi \to  \phi) \Big) Desde (2) y (3) por modus ponens.
5 \phi \to \phi \, Desde (1) y (4) por modus ponens. Q.E.D.

Deducción natural

Artículo principal: Deducción natural

Un sistema de lógica proposicional también puede construirse a partir de un conjunto vacío de axiomas. Para ello se especifican una serie de reglas de inferencia que intentan capturar el modo en que naturalmente razonamos acerca de las constantes lógicas.

  • Introducción de la negación:
Si suponer \phi \, lleva a una contradicción, entonces se puede inferir que \neg \phi \, (reducción al absurdo).
  • Eliminación de la negación:
\neg \neg \phi \vdash \phi
  • Introducción de la conjunción:
\phi, \psi \vdash (\phi \and \psi)
\phi, \psi \vdash (\psi \and \phi)
  • Eliminación de la conjunción:
(\phi \and \psi) \vdash \phi
(\phi \and \psi) \vdash \psi
  • Introducción de la disyunción:
\phi \vdash (\phi \or \psi)
\phi \vdash (\psi \or \phi)
  • Eliminación de la disyunción:
(\phi \or \psi), (\phi \to \chi), (\psi \to  \chi) \vdash \chi
Si suponer \phi \, lleva a una prueba de \psi \,, entonces se puede inferir que (\phi \to \psi) \,.
(\phi \to \psi), \phi \vdash \psi
  • Introducción del bicondicional:
(\phi \to \psi), (\psi \to \phi) \vdash (\phi  \leftrightarrow \psi)
(\phi \to \psi), (\psi \to \phi) \vdash (\psi  \leftrightarrow \phi)
  • Eliminación del bicondicional:
(\phi \leftrightarrow \psi) \vdash (\phi \to  \psi)
(\phi \leftrightarrow \psi) \vdash (\psi \to  \phi)
Ejemplo de una demostración
A demostrar: \phi \to \phi \,
Paso Fórmula Razón
1 \phi \, Supuesto.
2 \phi \or \phi Desde (1) por introducción de la disyunción.
3 (\phi \or \phi) \and \phi Desde (1) y (2) por introducción de la conjunción.
4 \phi \, Desde (3) por eliminación de la conjunción.
5 \phi \vdash \phi Resumen de (1) hasta (4).
6 \vdash \phi \to \phi Desde (5) por introducción del condicional. Q.E.D.

Lenguaje formal en la notación BNF

El lenguaje formal de la lógica proposicional se puede generar con la gramática formal descrita usando la notación BNF como sigue:

\begin{array}{rcl}  \left\langle \mbox{Bicondicional}\right\rangle & ::= &  \left\langle \mbox{Condicional}\right\rangle \leftrightarrow\left\langle  \mbox{Bicondicional}\right\rangle \mid\left\langle  \mbox{Condicional}\right\rangle \\ \left\langle \mbox{Condicional}\right\rangle & ::= &  \left\langle \mbox{Conjuncion}\right\rangle \rightarrow\left\langle  \mbox{Condicional}\right\rangle \mid\left\langle  \mbox{Conjuncion}\right\rangle \\ \left\langle \mbox{Conjuncion}\right\rangle & ::= & \left\langle  \mbox{Disyuncion}\right\rangle \vee \left\langle  \mbox{Conjuncion}\right\rangle \mid\left\langle  \mbox{Disyuncion}\right\rangle \\ \left\langle \mbox{Disyuncion}\right\rangle & ::= & \left\langle  \mbox{Literal}\right\rangle \wedge\left\langle  \mbox{Disyuncion}\right\rangle \mid\left\langle  \mbox{Literal}\right\rangle \\ \left\langle \mbox{Literal}\right\rangle & ::= & \left\langle  \mbox{Atomo}\right\rangle \mid\neg\left\langle \mbox{Atomo}\right\rangle  \\ \left\langle \mbox{Atomo}\right\rangle & ::= &  \top\mid\bot\mid\left\langle \mbox{Letra}\right\rangle \mid\left\langle  \mbox{Agrupacion}\right\rangle\\ \left\langle \mbox{Agrupacion}\right\rangle & ::= &  (\left\langle \mbox{Bicondicional}\right\rangle )\mid[\left\langle  \mbox{Bicondicional}\right\rangle ]\mid\{\left\langle  \mbox{Bicondicional}\right\rangle \} \end{array}

La gramática anterior define la precedencia de operadores de la siguiente manera:

  1. Negación (\neg \,)
  2. Conjunción (\and \,)
  3. Disyunción (\or \,)
  4. Condicional material (\to \,)
  5. Bicondicional (\leftrightarrow)

Semántica

Una interpretación para un sistema de lógica proposicional es una asignación de valores de verdad para cada variable proposicional, sumada a la asignación usual de significados para los operadores lógicos. A cada variable proposicional se le asigna uno de dos posibles valores de verdad: o 1 (verdadero) o 0 (falso). Esto quiere decir que si hay n variables proposicionales en el sistema, el número de interpretaciones distintas es de 2n.

A partir de esto podemos definir: si \phi \, es una fórmula cualquiera de un lenguaje L, e I es una interpretación de L, entonces:

  • \phi \, es verdadera bajo la interpretación I si y sólo si I asigna el valor de verdad 1 a \phi \,.
  • \phi \, es falsa bajo la interpretación I si y sólo si I asigna el valor de verdad 0 a \phi \,.
  • \phi \, es una tautología (o una verdad lógica) si y sólo si para toda interpretación I, I asigna el valor de verdad 1 a \phi \,.
  • \phi \, es una contradicción si y sólo si para toda interpretación I, I asigna el valor de verdad 0 a \phi \,.
  • \phi \, es consistente (o satisfacible) si y sólo si existe al menos una interpretación I que asigne el valor de verdad 1 a \phi \,.
  • \phi \, es una consecuencia semántica de un conjunto de fórmulas Γ si y sólo si para toda fórmula \psi \, que pertenezca a Γ, no hay ninguna interpretación en que \psi \, sea verdadera y \phi \, falsa. Cuando \phi \, es una consecuencia semántica de Γ en un lenguaje L, se escribe: \Gamma \models_L \phi
  • \phi \, es una fórmula lógicamente válida si y sólo si \phi \, es una consecuencia semántica del conjunto vacío. Cuando \phi \, es una fórmula lógicamente válida de un lenguaje L, se escribe: \models_L \phi

Tablas de verdad

Artículo principal: Tablas de verdad

La tabla de verdad de una fórmula es una tabla en la que se presentan todas las posibles interpretaciones de las variables proposicionales que constituyen la fórmua y el valor de verdad de la fórmula completa para cada interpretación. Por ejemplo, la tabla de verdad para la fórmula \neg (p \or q) \to (p \to r) sería:

\begin{array}{|c|c|c||c|c|c|c|}       p & q & r & (p \or q) & \neg (p \or q) & (p  \to r) & \neg (p \or q) \to (p \to r)\\       \hline       1 & 1 & 1 & 1 & 0 & 1 & 1\\       1 & 1 & 0 & 1 & 0 & 0 & 1\\       1 & 0 & 1 & 1 & 0 & 1 & 1\\       1 & 0 & 0 & 1 & 0 & 0 & 1\\       0 & 1 & 1 & 1 & 0 & 1 & 1\\       0 & 1 & 0 & 1 & 0 & 1 & 1\\       0 & 0 & 1 & 0 & 1 & 1 & 1\\       0 & 0 & 0 & 0 & 1 & 1 & 1\\       \hline \end{array}

Como se ve, esta fórmula tiene 2n interpretaciones posibles —una por cada línea de la tabla—, donde n es el numero de variables proposicionales (en este caso 3, es decir p, q, r) , y resulta ser una tautología, es decir que bajo todas las interpretaciones posibles de las variables proposicionales, el valor de verdad de la fórmula completa termina siendo 1. Dependiendo de los valores de verdad que resulten de hacer la tabla las expresión lógicas pueden definirse como tautologia o valida en la cual para todos los valores de verdad de p,q y r da verdadero, además existe la contingencia o satisfacible, en la cual los valores de verdad de la expresión pueden ser verdaderos o falso, pero no todas falsas pues eso es una contradicción o insatifasible, y si habláramos de un conjunto de expresiones, se llaman valido, consistente o inconsistente. en base a esto se puede hablar de equivalencias lógicas en las cuales se cumple que son tautologias. Algunas tautologías conocidas:

  1. \neg \neg(p ) = (p)
  2.  (p \or p) = (p)
  3.  (p \and p) = (p)
  4. \neg (p \or q) = \neg p \and \neg q
  5. \neg (p \and q) = \neg p \or \neg q
  6.  (p \to q) = \neg p \or q

Formas normales

A menudo es necesario transformar una fórmula en otra, sobre todo transformar una fórmula a su formula normal. Esto se consigue transformando la fórmula en otra equivalente y repitiendo el proceso hasta conseguir la forma deseada (la cual solo usara los conectivos básicos es decir ∧,∨,¬). Para esto utilizaremos las equivalencias logicas:

p → q = ¬p ∨q

p ↔ q = (¬p ∨ q) ∧ (¬q ∨ p)

como ejemplo desarrollemos la expresión (p → q) ∧ (¬q ‹-› p).


(p → q) ∧ (¬q ‹-› p) = (¬p ∨ q) ∧ (q ∨ p) ∧ (¬q ∨ ¬p)



Forma normal disyuntiva(FND)

una fórmula F se dice que esta en forma normal disyuntiva si y sólo si F es de la forma F= (F1 v F2 v ... Fn ) , donde cada Fi es una conjunción de literales

ejemplo: (p ∧ q ∧ r) ∨ (¬p ∧ q) ∨ p



Forma normal conjuntiva(FNC)

una fórmula F se dice que esta en forma normal conjuntiva si y sólo si F es de la forma F= (F1∧F2∧ ... Fn ) , donde cada Fi es una disyunción de literales a la cual llamaremos

ejemplo: (p ∨ q ∨ r) ∧ (¬p ∨ q) ∧ p


Clausulas

Una cláusula es una disyunción de cero o mas literales. A veces se utiliza un conjunto de literales como equivalente a una cláusula suponiendo la disyunción entre los literales del conjunto. Así por ejemplo P v Q v ¬R ={P,Q, ¬R}. Cuando la cláusula tiene un único literal se llama cláusula unitaria. Cuando no contiene ningún literal será cláusula vacía, como la cláusula vacía no tiene ningún literal no puede ser satisfecha por ninguna interpretación, la cláusula vacía siempre es falsa

Dualidad de formas normales

Basada en la dualidad de las leyes de De Morgan

¬(p ∨ q) = ¬p ∧¬q

¬(p ∧ q) = ¬p ∨¬q

Las FNC y FND son mutuamente duales. La demostracion usa a De Morgan y la distributividad. Se debe cumplir que:

¬[( X1 ∧ Y1) ∨ ( X2 ∧ Y2) ∨ … ∨ ( Xn ∧ Yn)] =

[(¬X1 ∨ ¬Y1) ∧ (¬X2 ∨ ¬Y2) ∧ … ∧ (¬Xn ∨ ¬Yn)]

y viceversa:

¬[( X1 ∨ Y1) ∧ ( X2 ∨ Y2) ∧ … ∧ ( Xn ∨ Yn)] =

[(¬X1 ∧ ¬Y1) ∨ (¬X2 ∧ ¬Y2) ∨ … ∨ (¬Xn ∧ ¬Yn)]

La lógica proposicional y la computación

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.

Aristóteles con respecto al estudio de la lógica

La lógica es conocida como una de las ciencias más antiguas, tanto es así que se le atribuye a Aristóteles la paternidad de esta disciplina. Partiendo de que corresponde a Aristóteles haber sido el primero en tratar con todo detalle la lógica, se le considera pues ser su fundador. En un principio se llamó Analítica, en virtud del título de las obras en que trató los problemas lógicos. Más tarde los escritos de Aristóteles relativos a estos eventos fueron recopilados por sus discípulos con el título de Organon, por considerar que la lógica era un instrumento para el conocimiento de la verdad. Aristóteles se planteo cómo es posible probar y demostrar que un conocimiento es verdadero, es decir, que tiene una validez universal. Aristóteles encuentra el fundamento de la demostración en la deducción, procedimiento que consiste en derivar un hecho particular de algo universal. La forma en que se afecta esa derivación es el silogismo, por cuya razón la silogística llega a ser el centro de la lógica aristotélica.