sábado, 16 de abril de 2011

LA INTELIGENCIA ARTIFICIAL (IA)

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 de 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 probabilí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.
[editar] 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.
[editar] Historia
  • Él termino "inteligencia artificial" fue acuñado formalmente en 1956 durante la conferencia de Darthmounth, más para entonces ya se había estado trabajando en ello durante cinco años en los cuales se había propuesto muchas definiciones distintas que en ningún caso habían logrado ser aceptadas totalmente por la comunidad investigadora. La AI es una de las disciplinas más nuevas que junto con la genética moderna es el campo en que la mayoría de los científicos " más les gustaría trabajar".
  • 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 Ctesibio 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 finales 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.
  • En el año 2011 IBM desarrolló una supercomputadora llamada Watson , la cual ganó una ronda de tres juegos seguidos de Jeopardy, venciendo a sus dos máximos campeónes, y gnando un premio de 1 millón de dólares que IBM luego donó a obras de caridad. [4]
  • 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».
  
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 una capacidad humana que permite pensar, evaluar y actuar conforme a ciertos principios de optimidad y consistencia , para satisfacer algún objetivo o finalidad. De acuerdo al concepto previo, 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.

L´ogica Proposicional y de Predicados
Introducci´on
La l´ogica, o al menos la matem´atica l´ogica, consiste en deducciones. Vamos a examinar las reglas
de deducci´on haciendo uso de precisi´on que caracteriza el enfoque matem´atico Al hacer esto, si
queremos que haya tenemos que hacer inequ´ıvoco nuestro lenguaje, y la manera matem´atica estandar
de lograr esto consiste en introducir un lenguaje simb´olico en el que los s´ımbolos tengan significados
y usos enunciados con toda presici´on.
El lenguaje , como instrumento de comunicaci´on del conocimiento humano, est´a constituido por
frases de tipo interrogativo, imperativas y declarativas. Estas ´ultimas constituyen el elemento b´asico
de la descripci´on del conocimiento.
El conocimiento puede producirse bien por constataciones de hechos o ideas, que tienen un reflejo
en frases de tipo declarativas, como por deducci´on, a partir de una serie de declaraciones, de otras
nuevas cuya afirmaci´on se sigue necesariamente de las declaraciones previas.
Todas las presentaciones de las formulas matem´aticas de la l´ogica m´as usual, tienen en com´un una
etapa previa de simbolizaci´on de las formas de lenguaje usual que puede hacerse a dos niveles seg´un
el grado de complejidad del an´alisis y son el Calculo Proposicional y el Calculo de Predicados.
Calculo Proposicional
es la representaci´on del lenguaje usual tomando como elemento b´asico de la formulaci´on una
representaci´on matem´atica de las frases declarativas simples (proposiciones).
Calculo de Predicados
es la representaci´on del lenguaje usual tomado como base de los componentes de algunos tipos
de proposici´on: t´erminos y predicados.
Para cada uno de los niveles de representaci´on matem´atica del lenguaje, la forma de presentar las
estructuras deductivas correctas tiene dos l´ıneas principales:
1. Definici´on axiom´atica de una serie de estructuras deductivas correctas, y de las reglas para
obtenci´on de nuevas estructuras deductivas correctas a partir de aquellas.
2. Definici´on de un conjunto de significados (normalmente: verdadero o falso) atribuible a las
proposiciones, y definici´on de las estrucuturas deductivas correctas en t´erminos de relaci´on
entre significados de los elementos de la deducci´on.
En la primera l´ınea est´an los modelos de teor´ıa de la demostraci´on y deducci´on natural, y en la
segunda l´ınea la teor´ıa interpretativa o de modelos.

Predicados y Cálculo de Predicados
El Cálculo Proposicional nos permitió razonar con fórmulas construídas con variables y
operadores booleanos, con lo cual nos fue posible expresar afirmaciones o frases que pueden
modelizarse utilizando expresiones de tipo booleano. El Cálculo de Predicados nos permitirá
ampliar el espectro, trabajando con fórmulas de diversos tipos además del booleano. La construcción
de fórmulas que veremos en este cálculo nos obliga a definir nuevas expresiones llamadas
predicados
pueden ser de diferentes tipos, es decir un predicado puede ser una función de tipo
. Un predicado es una aplicación de una función booleana cuyos argumentosZ B
como la función
Los nombres de las funciones (
utilizamos la notación
expresión
Vemos que los argumentos de los predicados son en este caso, variables de tipo distinto de
par.i o Z × Z B como la función igual(x, x z + z) o menor(x, y + z).igual, menor) son llamados símbolos de predicados. Tambiénx < y para expresar el predicado menor(x, y). Por ejemplo, la siguientex < y x = z q(x, z + x) contiene tres predicados, x < y, x = z y q(x, x + z).B
o también expresiones de éstos tipos. Los argumentos de un predicado son llamados
por ejemplo en la fórmula anterior los términos en los predicados son
Diremos que una fórmula del cálculo de predicados es una expresión booleana en la cual
alguna de las variables booleanas ha sido reemplazada por:
términos,x, y, z y z + x.
predicados.
Por ejemplo, la expresión
predicados.
El cálculo de predicados incluye los axiomas del cálculo proposicional y los axiomas correspondientes
a las expresiones cuantificadas
Las reglas de inferencia del cálculo de predicados son la Sustitución, Transitividad de la igualdad,
Leibniz y la extensión de esta regla para cuantificaciones que también vimos en el capítulo
anterior.
cuantificaciones existenciales o universales.x < y x = z q(x, z + x) es una fórmula del cálculo de(: R : P) y (: R : P) que vimos en el capítulo 5.
6.2. El cuantificador universal
La conjunción
considerarse una operación válida para definir la expresión cuantificada
es asociativa, conmutativa y tiene elemento neutro true. Por lo tanto puede
(
como ya vimos en el capítulo 5. El símbolo
universal
6.2. E
todo
anterior para el caso particular del cuantificador universal.
x : R : P) (6.1), que se lee “para todo”, se conoce como cuantificadory la expresión anterior se denomina cuantificación universal y se lee “paraL CUANTIFICADOR UNIVERSAL 113x que satisfaga R se satisface P”. Vamos a repasar ahora los axiomas vistos en el capítulo
Rango vacío
(
i : false : T.i) true
Rango unitario
Si i no es una variable libre en la expresión N, entonces
(
i : i = N : T.i) T.N
Distributividad
Como el operador es distributivo a derecha e izquierda con respecto al operador
, y true es absorbente para , vale
(
i : R.i : x T.i) x (i : R.i : T.i) (6.2)
(
En este axioma la expresión
dependiendo del lado derecho o izquierdo) no puede contener a
Esta restricción asegura que el lado izquierdo y el derecho en el axioma referencian a las
mismas variables libres, de otro modo no se podría asegurar la equivalencia en general.
i : R.i : T.i x) (i : R.i : T.i) x (6.3)x que es trasladada fuera del alcance (o dentro del alcance,i como variable libre.
Partición de rango
es de la forma
Como el operador es idempotente, entonces cuando el rango de especificaciónR S vale
(
i : R.i S.i : T.i) (i : R.i : T.i) (i : S.i : T.i)
Partición de rango generalizada
(
i : (j : S.i.j : R.i.j) : T.i) (i, j : S.i.j R.i.j : T.i)
Regla del término
(
i : R.i : T.i G.i) (i : R.i : T.i) (i : R.i : G.i)
Regla del término constante
decir, la variable cuantificada
entonces
Si el término de la cuantificación es igual a una constante C, esi no aparece en C y el rango de especificación es no vacío,
(
i : R : C) C
Regla de anidado
(
Regla de intercambio de variables dummy
Si V.j (FV.R FV.T) = entonces
(
i : R : T) (j : R[i := j] : T[i := j])
Regla de cambio de variable dummy
no aparezca en
Para toda función f biyectiva y para toda variable j queR ni en T, vale
(
i : R.i : T.i) (j : R.f.j : T.f.j)
A continuación presentaremos axiomas adicionales y teoremas para el cuantificador universal.
6.2.1. Traslación con el operador universal
El axioma que sigue nos permitirá trasladar el rango de especificación hacia el término de
cuantificación:
(6.1) Axioma.
Traslación
(
i : R.i : T.i) (i : : R.i T.i)
Este axioma permite demostrar también los siguientes teoremas:
(6.2) Teorema.
Traslación
a)
(x : R : P) (x :: R P)
b)
(x : R : P) (x :: R P R)
c)
(x : R : P) (x :: R P P)
(6.3) Teorema.
Traslación
a)
(x : Q R : P) (x : Q : R P)
b)
(x : Q R : P) (x : Q : R P)
c)
(x : Q R : P) (x : Q : R P R)
d)
(x : Q R : P) (x : Q : R P P)
Probaremos (6.3a))
(
=
x : Q R : P)hTraslación 6.1i
(
=
x :: Q R P)hTeorema 3.64i
(
=
x :: Q (R P))hTraslación 6.1i
(
x : Q : R P)
6.2. E
L CUANTIFICADOR UNIVERSAL 115
6.2.2. Distributividad con el cuantificador universal
Ya vimos en 6.2 cómo
distribuye respecto de
Suponiendo que
x no es una variable libre en P, vale
P
(x : R : Q) (x : R : P Q)
El axioma 6.2 nos permite demostrar los siguientes teoremas:
(6.4) Teorema.
Suponiendo que x no es variable libre en P, se tiene que
(
x : R : P) P (x :: R)
(6.5) Teorema.
libre en
Distributividad de respecto de : Suponiendo que x no es una variableP, vale
(x :: R) ((x : R : P Q) P (x : R : Q))
(6.6) Teorema.
(
x : R : true) true
(6.7) Teorema.
(
x : R : P Q) ((x : R : P) (x : R : Q))
Vamos a probar el teorema 6.5. Este teorema asegura que una conjunción puede trasladarse
fuera del alcance de la cuantificación si el rango
R no es siempre falso como lo indica el antecedente
el consecuente:
(x :: R). La prueba se hará suponiendo el antecedente (x :: R) y demostrando
(
=
x : R : P Q)h(5.11) Distributividad de sobre ∧i
(
=
x : R : P) (x : R : Q)h(6.4) ya que x no es variable libre en Pi
(
=
P (x :: R)) (x : R : Q)hSuposición de (x :: R) o bien (x :: R) falsei
(
=
P false) (x : R : Q)h(3.29) Elemento neutro de ∨i
P
(x : R : Q)
i, j : R.i S.i.j : Ti.j) (i : R.i : (j : S.i.j : T.i.j))