miércoles, 6 de junio de 2007

Realidad ampliada

Vivimos tiempos de cambio, donde el desarrollo acelerado de las tecnologías se está convirtiendo en un problema, no sólo por la contaminación (hoy se habla de desarrollo sostenible) sino también por las dificultades para su asimilación, cada vez se hace más difícil digerir los cambios que se están produciendo, llamados por algunos el shock del futuro. Y casi todos coinciden en que nos encontramos en la tercera era de la computación: la computación ubicua.

Mark Weiser el creador de la computación ubicua considera tres eras de la computación:
1. La de los Mainframes que eran grandes y caras computadoras que trabajaban en tiempo compartido (muchos usuarios para una máquina) y todo el personal informático estaba en función de la computadora.
2. Las computadoras de sobremesa, pequeñas y baratas computadoras de carácter personal (una computadora para cada usuario) y aunque desaparece gran parte de la dependencia y ya no es exclusividad de los informáticos, sigue existiendo cierta dependencia.
3. La que sé esta iniciando actualmente, computadoras ubicuas, increíblemente pequeñas y baratas que serán invisibles y estarán integradas al entorno (muchas computadoras para un usuario) desaparece la computadora como la conocemos hoy y estarán incluidas de forma natural en todas las máquinas, aparatos, vivienda, ropas, etc.

Todo esto requiere cambios en la forma de comunicarse con las máquinas y de la creación de nuevas interfaz humano-computadora donde se persigue
1. Inteligencia (que los objetos no sólo procesen información sino que también manipulen conocimientos y mejor aun que aprendan del entorno)
2. Movilidad (que puedan trasladarse por si mismo, robot, o que puedan ser trasladados, usarse desde cualquier lugar: teléfonos móviles)
3. Integrabilidad (que se integre al cuerpo humano, a los objetos, al entorno)
Comunicación (conexión entre los objetos y que sean capaces de interactuar entre ellos y con los humanos.
La computadora puede aislar aún más al individuo de sus semejantes.

Tanto la computación ubicua como la realidad ampliada son una reacción ante la ideología que se oculta detrás de la realidad virtual, en lugar de sumergir al hombre en un mundo virtual y que interaccione en el ciberespacio, lograr que el mundo real sea más cómodo, inteligente y agradable a través de la interacción con objetos tantos reales como virtuales.

En vez de sumergirse en un ciberespacio creado en la computadora, se busca ciberizar la realidad donde los objetos del mundo real adquieren atributos virtuales. Piensen en un televisor que en cuanto se levanta del asiento se apague solo y cuando regrese se encienda, que si usted se pone a conversar baje el volumen. Que nos avise cuando va a comenzar nuestro programa preferido… Se persigue dotar de inteligencia al mundo que nos rodea (objetos inteligentes), romper las barreras de las comunicaciones (globalización). Como una forma de llevar las computadoras al espacio humano, o como otros dicen: humanizar a las máquinas.

Tenemos que aceptar desde hoy, que la visión que teníamos del mundo ha ido cambiando en los últimos años de forma ascendente:
• De una ciencia, la Inteligencia Artificial, que aspiraba a lograr máquinas cada vez más inteligentes a los nuevos intentos de lograr que las máquinas inteligentes a través de su interacción con los humanos hagan que este sea cada vez más inteligente.
• De máquinas conectadas entre si a través de una red cerrada (local) a personas conectadas entre si a través de redes abiertas.
• En lugar de introducirse dentro de una computadora (realidad virtual) que las computadoras se inserten en la vida del hombre.

El hombre tiene la elección de alcanzar una vida mejor, sin formulas evasivas, con máquinas quizás no tan inteligentes, pero si cada vez más cercanas a nosotros y más acorde con nuestro mundo y sus conflictos tanto económicos, sociales (no se puede ignorar la pobreza extrema en que viven muchos países) o éticos

jueves, 31 de mayo de 2007

Fundamentos de la Inteligencia Artificial: La Cibernética

En nuestros días la Cibernética no debe verse ni como una ciencia, ni como una disciplina; sino como un movimiento de ideas, que trató de romper con la estrechez de conocimientos propios de cada disciplina. El movimiento cibernético permitió que científicos de ramas muy diferentes se agruparan en colectivos de investigación y por primera vez, matemáticos, fisiólogos y especialistas en electrónica se integraran en equipos multidisciplinarios. Su creador Norbert Wiener después de estar años trabajando en las teorías matemáticas y de agregar algunas fórmulas más al gran aparato matemático, comenzó a trabajar en cuestiones técnicas como el control de los disparos de la artillería antiaérea y la transmisión más eficiente de mensajes codificados a través de sistemas de comunicaciones. Escribió un libro sobre cibernética y el control en los animales y las máquinas que se convirtió en un éxito. Las condiciones estaban dadas para una nueva revolución dentro de la ciencia.

La cibernética se basa en el estudio de las máquinas (objetos artificiales) y su aplicación, lo que promovió una nueva revolución científica sobre la base de la interrelación de los humanos con las máquinas a un ritmo tecnológico de crecimiento jamás visto y de carácter impredecible. Este ritmo ya se hace sentir y podemos afirmar, por ejemplo, que un hombre del siglo XVI pudiese muy bien, haber vivido sin mucho sobresalto en el siglo XVII en cambio uno del siglo XIX tendría grandes problemas para adaptarse al XX y todo indica que esta aceleración seguirá aumentando, lo cual hará que una persona en su vejez tenga que vivir en un mundo totalmente diferente al de su infancia.

Con la cibernética el concepto de máquina ha ido cambiando a lo largo de los años. Luego de aquellas primeras máquinas mecánicas donde se pretendía reemplazar completa o parcialmente el trabajo físico del hombre y de los animales, han seguido otras, cuyo fin, es la mecanización del trabajo intelectual. Hoy las máquinas realizan funciones que antes se consideraban propias del intelecto humano. Pero quizás el aporte más importante de la cibernética fue fundamentarse sobre las analogías, de ahí su característica de ciencia exógena, la cual está dada por la interrelación con otras ramas del conocimiento y su asimilación interna, pero sobre todo por la propuesta de teorías generales que expliquen fenómenos propios de las otras ciencias. Por ejemplo, la cibernética ha preferido basarse en la teoría de los modelos, que hace más hincapié en la representación funcional de los organismos que en su estructura en el sentido vertical o jerárquico. Esto, unido a la búsqueda de analogías entre los fenómenos y no a la reducción de uno en otro la llevó a convertirse en una ideología científica para la comprensión del mundo.

Otro de los aportes de la cibernética, es la utilización del aparato matemático, que hasta ese momento era de uso casi exclusivo de la física y como la cibernética a su vez era una disciplina común a varios sectores de investigación, trajo como consecuencia que ramas como la psicología, la sociología y la biología, pudieran de alguna manera formalizar sus teorías, y aún fue más lejos, ya que les proporcionó métodos de experimentación mediante la creación de máquinas que permitieran estudiar conductas, reacciones, reflejos, aprendizaje, etc.

Cuando los cibernéticos intentaban modelar la estructura de un objeto, más que la estructura lo que tenían en cuenta era la reproducción de su funcionamiento sobre otra estructura y se aspiraba a que ese modelo u objeto artificial exhibiera una conducta similar a la del original. Digo similar porque en realidad la conducta mostrada por los modelos siempre ha estado supeditada a la interpretación del investigador. Estos intentos de modelación llevaron a los científicos a la construcción de máquinas con conducta como las tortugas de Grey Walter y los zorros de Albert Ducrocq, que no eran más que pequeñas máquinas dotadas de movimiento y que se orientaban por la luz, otras se orientaban por el sonido o poseían alguna forma de radar. Pero lo más interesante era la interpretación que se le daba al comportamiento de estos ciberanimalitos. Para Grey Walter las tortugas podían pasar de un comportamiento flemático a otro irascible. Para Ducrocq, sus zorros eran capaces de manifestar sentimientos de afecto entre si. Sé que esto a los racionalistas les puede parecer infantil, pero ¿no es interesante por no decir válido que el ser humano siga recurriendo a su fantasía para interpretar los fenómenos y que mantenga viva, en estos tiempos de determinismo científico, su capacidad de "sorprenderse"?.

Hoy nadie habla de las experiencias emocionales con tortugas, zorros, ratones... Las ideas eran demasiado simples: cualquier aparato podía mostrar alguna forma de conducta humana. Ese era el gran sueño de los cibernéticos: reproducir la vida en todas sus manifestaciones y no sólo la inteligencia, como pretende en estos tiempos la Inteligencia Artificial. Y es que la Cibernética no basó su investigación sobre la base de que la máquina sustituiría al hombre, ya que siempre vio a ambos como sistemas con analogías funcionales, que a la vez que tenían grandes diferencias por ser organismos con estructura y organización propias poseían a su vez, muchas similitudes; De a.C. que los cibernéticos le dieran, siempre, mayor importancia a la influencia de la estructura sobre la mente, pero ambos vistos como un sistema capaz de funcionar como un todo.

Vivimos en un mundo de crisis tanto social como espiritual, y el hombre desesperado vuelve sus ojos a la ciencia y espera de ella la solución a los grandes problemas que lo agobian y ve en la ideología cibernética un nuevo enfoque. Veamos algunos de los problemas que se están retomando: El sistema educativo, la salud (las prótesis), la muerte, la creatividad, la producción de bienes de consumo, el desarrollo, la comprensión de la mente humana, la felicidad, la evolución (convergencia hombres y máquinas), nuevas formas de organización social (posthumanidad), mejoramiento humano (conexión hombre máquinas)

Es por eso que la Cibernética al pasar de los años se ha ido transformando en una de las ideologías de la ciencias más influyentes, y al igual que la Física y la Biología, engendra grandes promesas y para muchos se convierte en la nueva salvadora del mundo, gracias a que ha aportado una de las metáforas más ricas y poderosas: la llamada metáfora computacional o cibernética, que ofrece una nueva óptica de la sociedad y abre las puertas hacia una nueva era post-industrial. Hoy en día son muchos los que piensan que la máquina sustituirá al hombre, o los que creen que la mente humana se puede simular a través de una computadora, o los que sueñan con crear una vida artificial.

viernes, 25 de mayo de 2007

Paradigmas de interacción

Estamos en el cambio hacia la tercera generación del ordenador personal o de tecnologías personales, donde la tecnología desaparecerá en la herramienta, aportando funcionalidades valiosas, pero quitándose de en medio, la generación donde el ordenador desaparece en herramientas específicas a tareas.
Alan Kay

Los paradigmas de interacción son los modelos de los que se derivan todos los sistemas de interacción. Actualmente existen 4 paradigmas de interacción hombre-computadora.
1. La computadora personal o de sobremesa
2. La realidad virtual
3. La computación ubicua
4. La realidad aumentada

1. La computadora personal.

Para Donald Norma, la computadora personal es probablemente la tecnología más frustrante jamás fabricada, a lo que agrega: es demasiado visible, demasiado exigente y controla nuestro destino. Su complejidad y sus frustraciones son debidas a la concentración de demasiadas funciones en una caja que está en nuestra sobremesa

2. La realidad virtual.

El termino de realidad virtual (RV) se suele aplicar a
• Interfaces en 3D con las que se puede interactuar y se actualizan en tiempo real
• Sistemas cuyo nivel de autonomía, interacción y sensación de presencia es casi igual al del mundo real

Donde las condiciones necesarias para hablar de un sistema de RV:
• Sensación de presencia física directa mediante indicaciones sensoriales (visuales, auditivas, hápticas) creadas por la tecnología
• Indicaciones sensoriales en tres dimensiones
• Interacción natural. Permiten manipular los objetos virtuales con los mismos gestos que los reales: coger, girar, etc.

3. La Computación Ubicua.

Trata de extender la capacidad computacional al entorno del usuario.

Permite que:
• La capacidad de información esté presente en todas partes en forma de pequeños dispositivos muy diversos que permiten interacciones de poca dificultad conectados en red a servidores de información
• El diseño y localización de los dispositivos son específicos de la tarea objeto de interacción
• La computadora queda relegada a un segundo plano, intentando que resulte “transparente” al usuario (ordenador invisible)
• La interacción se diluye en el entorno
- La capacidad informática está por todas partes
- Dispositivos grandes y pequeños
- Una infraestructura global de información
- Conectados entre ellos
- Actúan como detectores y controles
• Forma parte y mejora el mundo real

La computación ubicua tiene su origen en las ideas de Mark Weiser, Xerox PARC, 1991

Podemos decir que son entornos en los que los usuarios no interaccionan directamente con ordenadores, sino con dispositivos de diverso tipo y tamaño. Se considera los opuesto a la realidad virtual.

Realidad Virtual: el mundo en la computadora
Realidad ampliada: El mundo en las computadoras en el mundo

En la realidad ampliada existe una gran variedad de dispositivos:
• Insignias activas
• Marcas
• Tabletas
• Pizarras, etc.

Pero hasta el momento, los avances en hardware que se han producido no son suficientes para el cambio de paradigma.

4. La realidad aumentada

Son ambientes aumentados de la realidad o ambientes simplemente aumentados, en los que se trata de reducir las interacciones con el ordenador utilizando la información del entorno como una entrada implícita

La realidad aumentada integra el mundo real y el computacional:
• El mundo real aparece aumentado por información sintética
• Se consigue una disminución importante del coste interactivo

Y tiene entre sus objetivos
• Mejorar la interacción con el mundo real
• Integrar el uso del ordenador en actividades cotidianas
• Posibilitar el acceso a usuarios diversos y no especializados. Los objetos cotidianos se convierten en objetos interactivos
• Trasladar el foco de atención del ordenador al mundo real. La información se traslada al mundo real, en lugar de introducir el mundo real en el ordenador (realidad virtual)
• Cconstruir entornos interactivos que aumenten directamente los sentidos de un usuario con material generado por ordenador

Estas son las tecnologías en las que se esta trabajando

• Visualizadores personales: Dispositivos que permiten ver a través de un casco para aumentar los sentidos visuales y auditivos de un usuario
• Ordenadores corporales
• Entornos aumentados
• Interfaces de usuario tangibles
• Integración el mundo real y el computacional: (Wellner,1993)
• Método más común: Solapamiento entre la información digital y las imágenes del mundo real a través del uso de visualizadores en casco o proyecciones de vídeo
• Combinación del medio ambiente con objetos asibles
• Reconocimiento automático de la situación del usuario a través de diversas técnicas de reconocimiento: tiempo, posición, objetos, códigos de barra…


Líneas fundamentales de investigación

1. Aplicar la realidad virtual al mundo real
• Se aumenta o mejora la visión que el usuario tiene del mundo real con información adicional sintetizada
• La información se superpone mediante el uso de gafas especializadas

2. Usar dispositivos que aumentan la realidad e interaccionan directamente con ella
• El usuario interactúa con el mundo real, que está aumentado con información sintetizada
• No se trata de superponer la información real con la virtual, sino de hacer participar a objetos cotidianos como un lápiz o una mesa que interactúan con el sistema de forma automática

Entre las áreas aplicación se encuentran.

• Medicina
• Mantenimiento mecánico y reparación
• Diseño interior
• Cultura, ocio


Tiene como líneas principales de trabajo.

• Superficies interactivas: Transformación de la superficie dentro de un espacio arquitectónico (paredes, mesas, puertas, ventanas) en una superficie activa entre el mundo físico y el mundo real
• Acoplamiento de bits y átomos: Acoplamiento sin interrupciones entre los objetos de cada día que se pueden coger (tarjetas, libros, etc.) con la información digital que está relacionada con ellos
• Medio ambiente: Uso del medio ambiente como sonido, luz, corrientes de aire y movimiento de agua como interfaces de fondo

miércoles, 9 de mayo de 2007

Interfaces de interacción

Definición de interfaz:
Las interfaces básicas de usuario son aquellas donde se incluyen menús, ventanas, teclado, ratón, etc. En general, son todos aquellos canales por los cuales se permite la comunicación entre el hombre y la computadora.

Se considera a una interfaz multimodal cuando se usan múltiples canales de comunicación simultáneamente.

Canales de comunicación
- Teclado
- Mouse
- Display
- Micrófono
- Bocinas

Característica de la multimodalidad
- Eficiencia: Apuntar es más fácil que describir
- Redundancia: Dos fuentes de información son mejores que una
- Naturalidad: Imitar la interacción entre humanos
- Exactitud: Combinación de fuentes que dan más certidumbre

Otras modalidades alternativas

Otras modalidades alternativas

Los conversores texto a voz (text to speach – TTS), que surgieron hacia finales de los años 70. Eran máquinas capaces de convertir texto tecleado en voz (conversor texto-voz), que junto con los programas de reconocimiento óptico de caracteres (Optical Carácter Recognition en inglés) produjeron los primeros sistemas comerciales para leer libros en voz alta.

Ejemplo de programa que lee los textos por ti
TextAlaoud: http://www.nextup.com/

Interfaces adaptativas

Son aquellas que pueden cambiar de acuerdo al contexto y que son capaces de aprender de acuerdo al perfil de los usuarios.

Se esta produciendo un cambio en los dispositivos para interactuar.
• Varios tamaños de display.
• Alternativas como escritura a mano.
• Identificación del contexto.
• Contextos visibles
• Adaptable a dimensiones de pantalla.

Otras interfaces

Interfaces inteligentes: Esta relacionada con la interacción asistida y con el uso de los agentes inteligentes y con la interpretación semántica de los problemas.

Interfaces emotivas: tiene como objetivo desarrollar tareas que tienen que ver con el estado emotivo de la persona. Permite medir algunos tipos de emoción como: alegria, tristeza, sorpresa, cansancio, etc.

Interfaces táctiles: permite el acoplamiento entre el mundo sensible al tacto con nel mundo generado por la computadora. Tiene aplicación en personas con limitaciones físicas.

Se espera que las computadoras portátiles se integrarán a la vestimenta de las personas. Se prevén diferentes sistemas de ayuda personal y profesional (agendas, sistemas para navegación en carretera o en ciudad, ayuda para la realización de tareas, acceso a telefonía e Internet, etc.) en lo que ya se conoce como wearable computation. Independientemente de la función de este tipo de dispositivos, está claro que los ordenadores que «se llevan puestos», entre otras características propias, necesitan un sistema especial de interacción con el usuario.

jueves, 1 de marzo de 2007

Programación lógica

Introducción:
En los comienzos de los años 70 el francés Alain Colmenuer desarrolló el lenguaje PROLOG que también permite el desarrollo de aplicaciones en forma declarativa.

En general el PROLOG es un demostrador automático de problema, el cual utiliza una Base de Conocimientos en forma de reglas de inferencia deductivas (cláusulas de Horn), es decir sus reglas tienen como consecuente una única acción y las inferencias obte­nidas son estrictamente lógicas (verdaderas o falsas), aunque puede parecer una limitación, esto no es totalmente justo, ya que PROLOG permite programar mecanismos inferenciales con lógica probabilisticas, dado que se trata de búsquedas en árboles con acumulación de evidencias.

El PROLOG como lenguaje surgido del cálculo de predicados, tomó las siguientes ideas de la lógica para su ejecución.
1) Un conjunto de axiomas o hechos.
2) Reglas de inferencias las cuales se resuelven por resolución y unificación.
3) El objetivo a demostrar, que serán las condiciones a unificar con las reglas.
También tomó del LISP el tratamiento de las listas para la repre­sentación de estructuras complejas.Aunque el PROLOG tuvo su ori­gen en la lógica matemática no fue una transposición exacta, y esta ligada a las discusiones que sostienen desde hace años los principales investigadores de la Inteligencia Artificial, los cuales están divididos en dos grandes grupos, de una parte Minsky quien propone estudiar los mecanismos del pensamiento humano y luego simularlo en la computadora.
Lo más importante para Minsky son los conceptos, o sea la inter­pretación que se le puede dar a cada palabra en dependencia de un contexto dado.

El otro grupo encabezado por Mac Carthy (autor del LISP), afirma que la lógica matemática es el elemento característico para la representación del razonamiento y su implantación en la computadora, este grupo centra su atención en la formalización y en la estructura de los conocimientos más que en el sentido de los mismos.

La lógica desde la antigüedad se concibió como el método de descubrir las leyes del pensamiento, pero estas leyes siempre han estado restringidas al pensamiento científico y muy especialmente el matemático, quedando fuera el sentido común. Esta deficiencia es admitida por los defensores de la lógica, pero ellos consideran que la lógica es la única senda posible para desarrollar programas capaces de mostrar inteligencia.
2.1.1. Programación declarativa

En la programación declarativa lo principal no son las instrucciones que se dan en forma secuencial (programación prescriptiva), en su lugar, el programador se dedica a describir el problema a través de reglas y hechos que funcionan de forma independiente y es a través de un mecanismo de inferencia que se ejecutan las reglas.

En la programación declarativa las reglas (base de conocimientos) esta separada del programa de control (maquina de inferencia).

Ejemplo de programación declarativa:
Si y/o y/o .... entonces y/o ....

Donde un hecho seria:
Juan es un estudiante
El perro es blanco
A María le gusta el cine.

El conocimiento operativo tiene carácter procedimental.
Si Premisas entonces Conclusión
(También hay quienes utilizan: Si Condiciones entonces Acciones)

Si P entonces C
Donde:P y C instrucciones estaríamos en presencia de una representación procedimental.
P y C hechos o aserciones estaríamos en presencia de una representación declarativa.

Ejemplo de representación procedimental
Si A1 = B1 y A2 > B2 entonces X := A1 + A2

Donde A1 = B1 y A2 > B2 son comparaciones que tomaran el valor de ¨verdadero¨ o ¨falso¨.


O sea que tendríamos:

Si P1 y P2 entonces C

donde P1 y P2 serian variables lógicas (darían verdadero o falso)

Ejemplo de representación declarativa
Si y entonces

Esto en cualquier lenguaje se haría de la siguiente forma:
X := “Juan es un estudiante”
Y := “Juan tiene 7 años”

if X = “Juan es un estudiante” and Y = “Juan tiene 7 años”
then Z := “Juan esta en la primaria”

Veamos ahora la forma de formalizar los hechos o aserciones
Ejemplo: Juan tiene 10 años de edad
1)
<10>
2) relacion (concepto, concepto,....) La que utiliza Prolog
edad(Juan, 10)
También se utiliza
3)


Nos concentraremos en las dos primera representaciones.

Ejemplo1: El león es un mamífero

es-un(leon, mamifero)

Ejemplo 2: A María le gusta el cine.
1)
2) gusta(maria, cine)

Veamos ahora algunos ejemplos donde se combinan los hechos en formas de reglas o cláusulas:

si y
entonces

Y ahora formalizando los hechos tendremos:


1) si y
entonces

O también (similar a Prolog)
2) vive(tiburon, en-agua) si vive(pez, en-agua) y es-un(pez, tiburon)

Observen que en prolog la conclusión se pone delante de las premisas

Representación en forma de reglas:
si Premisas entonces Conclusión
Lo que se interpretaría como:
si entonces
Donde la conclusión puede estar compuesta por varios hechos o aserciones.

Representación en prolog:
Conclusión si Premisas
Y se interpretaría como:
si
Donde la conclusión estará dada por un solo hecho o aserción.

Ejercicio 1:
1. A María le gusta el tenis.
2. A Tomas le gusta el béisbol.
3. A José le gustan los deportes que le gustan a Tomas.

1.
2. S
3. Si entonces

Similar a prolog:
1. gusta(maria, tenis)
2. gusta(tomas, beisbol)
3. gusta(Jose, X) Si gusta(tomas, X)

Ejercicio 2:

Sofía desea un hombre que no fume.

si y

Similar a prolog:
desea(sofia, X) si hombre(X) y no fuma(X)


Calculo proposicional y de predicados.

Introducción a la lógica de predicados.

Esquemas lógicos:

Habíamos definido que Prolog utiliza la representación:
Relación (concepto1, concepto2,....)

En lógica el nombre de la relación se denomina “predicados” y los conceptos “argumentos” y dicha estructura se denomina ‘proposición” las cuales toman el valor de verdadero o falso. Y se resuelven a través del calculo de predicados.

Predicado (Argumento1, Argumento2, .....)

Un argumento puede ser representado con una constante o con una variable.

Ejemplos:
Propietario(pedro, radio)
Estudia (maria, X-materia)
Posee (luis, X-cualidad)
Supervisa(pedro, juan)

Calculo de predicados: Dado una formula cualquiera determinar si es verdadera o falsa.



Modus ponens: A, A Þ B

B

Si A se cumple y A Þ B se cumple entonces también se cumple B

Si tenemos A1 Ù A2 Ù A3 Þ B donde si todas las A se cumplen entonces se cumple B. Pero, si alguna de las A da falso, en ese caso no se puede saber el valor de B, dado que B puede ser verdadera o falsa
Ya que la formula: (falso) Þ B es verdadera tanto para si B es verdadera o falsa.

Ejemplo:

Todos los hombres son mortales
Socrates es hombre

Socrates es mortal

Como ya sabemos esto se representaría de forma declarativa:

Si hombre. X entonces mortal. X
Hombre. Socrates

Mortal. Socrates

En calculo de predicados seria:

Hombre (X) Þ Mortal (X)
Hombre (Socrates)

Mortal (Socrates)

Lo cual es posible ya que si Hombre(X) es verdadero también Hombre(Socrates) es verdadero por interpretación de formulas.


Interpretación de formulas del calculo de predicados.

Veamos algunas definiciones:
U: Universo o dominio para la interpretación.
Predicado: “Relación entre elementos de U y las propiedades de los elementos.

Definición: Una formula A es verdadera en U. Si A evaluada para cualquier valor de X tomado de U da siempre verdadero.

O sea:

A es verdadero en U si "(X), X Î U y A(X) verdadero


Donde X es una variable libre (no instanciada)

Ejemplo de Universo:
U = {Socrates, Platon, Democrito}

Cuantificadores universales

": Para todo o para cada.
"(X):Todas las sustituciones de la variable X por elementos de algún dominio de aplicación, deben tomar el valor verdadero.

$: Existe.
$(X): Solamente alguna de las sustituciones necesita tomar dicho valor.

En Prolog los cuantificadores se dan de forma implícita. Hay que eliminar los cuantificadores y mantener la dependencia.

Si tenemos la siguiente expresión
" (X) $(Y) tal que X £ Y
Como Y depende de X , al eliminar los cuantificadores quedaría:
Y = f(X).

Ejemplo 1:
Sea el predicado Persona(X)
Sea U = { juan, maria, jose, ana}
El predicado persona seria cierto en U si se cumple:
"(X) tal que X Î {juan, maria, jose, ana}
O sea persona(X) se cumple para:
Persona(maria) ® verdadero
Persona (luis) ® falso

Ejemplo 2
Todas las personas tienen una madre.
Tendriamos la siguiente expresión:
"(X) $(Y) persona(X) Þ Madre(Y, X)

Veamos algunas propiedades
Ø(Ø A) = A
A Þ B = ØA Ú B
Ø(A Ù B) = ØA Ú ØB
Ø(A Ú B) = ØA Ù ØB
A Ù (B Ú C) = A Ù B Ú A Ù C
A Ú (B Ù C) = A Ú B Ù A Ú C


Conjuntos y relaciones

Pocos lenguajes pueden ser interpretados desde tres ángulos diferentes, como declarativos, como lógicos y como relacionales. Tal vez esta sea una de las mayores dificultades a la hora de comprender la esencia de Prolog, pero a su vez, en esa riqueza de interpretación radica, tanto su complejidad como su encanto.

Hemos estado afirmando que Prolog los hechos se representan como:
Relación(concepto1, concepto2,.......)

Ejemplo:
1. gusta(maria, juan)
2. gusta(maria, Y)
3. gusta(X, Juan)
4. gusta(X, Y)

Lo que se interpreta como:
1. A María le gusta Juan.
2. A María le gusta alguien
3. A alguien le gusta Juan
4. A alguien le gusta alguien

Repasemos algunos conceptos sobre RELACION

Producto cartesiano
A = {a,b,c} y B = {2,3}
Sea el par (x,y) con x Î A y y Î B
Se obtiene el conjunto
AxB = { (a,2), (a,3), (b,2), (b,3), (c,2), (c,3)}
Y se denota como
AxB = { (x,y) / x Î A y y Î B}

Relación entre conjuntos
Sea C = { (c,2), (c.3)}
Se tiene que C Ì AxB
Una relación entre dos conjuntos A y B es cualquier subconjunto del producto cartesiano AxB.
Por tanto C es una relación del conjunto ab
O lo que es lo mismo.
Si R Ì ab Þ R es una relación entre A y B

Aquí R fue seleccionada arbitrariamente. En la practica se establecen las condicione entre los componentes de los pares con el objeto de obtener una relación determinada, del tipo.
R = { (x,y) Î AxB / }

Ejemplo:
Sean los conjuntos A = { 1, 3 } y B = { 2, 4 }
Sea la relación R = { (x,y) Î AxB / x < y }
Tendremos R = { (1,2), (1,4), (3,4) }
Entrando en materia

Sean los conjuntos H = { juan, jose } y M = {maria, ana }
Sea la relación G (gusta) G = { (x,y) Î HxM / si x Î H y y Î M}
Tendremos G = { (juan, maria), (juan, ana), (jose, maria), (jose, ana) }

En Prolog seria:
Gusta (X,Y) si hombre(X) y mujer(Y)
Hombre(juan)
Hombre(jose)
Mujer(maria)
Mujer(ana)

Y el resultado seria: gusta(juan,maria), gusta(juan,ana), gusta(jose, maria) y gusta(jose, ana).

Ejemplo 1:
A José le gustan todas las mujeres bonitas.
Seria
Gusta (José, X) si mujer(X) y bonita(X)
Bonita(ana).

Observen que ahora estamos haciendo referencia al conjunto de las mujeres bonitas el cual es subconjunto de M= {maria, ana}

Ejemplo 2:
María odia a todos los hombres
Odia(maria, X) si hombre(X)

martes, 20 de febrero de 2007

Hacia un nuevo enfoque de la Inteligencia Artificial

A partir de la crisis en la IA han surgido nuevas áreas de investigación de la IA tales como:
‑ Redes Neuronales
‑ Algoritmos Genéticos
‑ Inteligencia Artificial Distribuída

Todas tienen en común un nuevo enfoque: la inteligencia es producto de la asociación, combinación o conexión de entidades independientes más simples (agentes, genes o neuronas), las cuales pueden tener alguna inteligencia o ninguna y producto de su interacción, el sistema presentaría un comportamiento inteligente. Lo cual nos lleva a un nuevo paradigma basado en la copia de los sistemas emergentes y evolutivos de la naturaleza, que de cierta manera es un retorno a la Cibernética, primera ciencia de carácter técnico inspirada en la naturaleza.

Las investigaciones en las RNA han estado inmersas en la creación de autómatas que aprendan a descubrir relaciones ocultas en los datos a la vez que puedan codificar y almacenar información en forma similar a como lo realiza el cerebro.

La neurocomputación utiliza como base la metáfora cerebral, pero no persigue como objetivo la construcción de máquinas absolutamente plausibles biológicamente, sino el desarrollo de máquinas útiles.

La capacidad intelectual depende de la acción colectiva de las neuronas, que realizan procesos en serie y en paralelo utilizando la retroalimentación y una organización molecular y laminar con alta capacidad de auto-organización y cooperatividad basado en una estructura jerárquica que permite el procesamiento local y centralizado en fases.

Vida artificial es el nombre dado a una nueva disciplina, nacida en los años 80, que estudia la vida natural mediante la recreación de fenómenos biológicos en la computadora y otros medios artificiales, con el fin no solamente de la comprensión teórica de los fenómenos bajo estudio, sino también de descubrir y realizar aplicaciones prácticas y útiles de los principios biológicos en la tecnología de la computación y en la ingeniería, como por ejemplo, en robots móviles, naves espaciales, medicina, nanotecnología, fabricación industrial y ensamblaje así como también en otros proyectos de ingeniería.

En la Naturaleza, la evolución, en particular la de los seres vivos, presenta algunas características que motivaron a John Holland a comenzar una línea de investigación en un área que eventualmente se transformó en lo que hoy se denomina Algoritmos Genéticos (AG). La habilidad de una población de cromosomas para explorar el espacio de búsqueda "en paralelo" y combinar lo mejor que ha sido encontrado en él por medio del mecanismo de sobrecruzamiento (crossover), es algo intrínseco a la evolución natural y trata de ser explotada por los AGs.

Desde el punto de vista biológico, el problema se centra en la imitación del mecanismo evolutivo de los seres vivos. De una población, tienen más posibilidades de sobrevivir y de tener descendencia aquellos organismos mejor adaptados al medio. De combinarse dos que tengan características deseables para aspectos distintos pueden surgir nuevos que hereden ambas peculiaridades.

La premisa de los AGs, trás la publicación del libro de Holland "Adaptation in Natural and Artificial Systems" y de los numerosos investigadores que los utilizan como metaheurística para optimización, es que se pueden encontrar soluciones aproximadas a problemas de gran complejidad computacional mediante un proceso de "evolución simulada", en particular como un algoritmo matemático implementado en un ordenador.

En la Inteligencia Artificial Distribuida (IAD) se estudia la solución cooperativa de problemas por un grupo de agentes distribuídos. Tal cooperación se basa en que ninguno posee la información (experticidad, recursos, etc) para resolver completamente el problema y donde un agente tiene como característica la de ser una entidad mas o menos autónoma, con conocimientos propios y de su entorno así como con la posibilidad de interactuar con dicho entorno y otros agentes.

A diferencia de los sistemas expertos, llamados por muchos "sistemas autistas" estas nuevas investigaciones se ocupan de que los mismos sean capaces de interactuar con el entorno o lo que es lo mismo que sean abiertos y flexibles.

Por otra parte, los agentes inteligentes se perfilan como una de las aplicaciones de la IA mas prometedoras debido a su estrecha relación con Internet (la tercera revolución de la informática). Sin crear falsas expectativas, debemos recordar los sistemas expertos y los agentes inteligentes dadas las ventajas que representan para el acceso a las redes. Ellos están llamados a cambiar nuestra forma de trabajo al permitir a los usuarios moverse en ambientes más cómodos y amistosos.


CONCLUSIONES

Hasta hoy, es posible desarrollar sistemas que se comportan ‘eficazmente’ en una materia específica, pero no que 'emulan' a la inteligencia humana. La lógica es sólo una arista de la misma: el sentido común, razonamiento no monótono, reconocimiento y otros procesos ‘inteligentes’ aún no están totalmente resueltos.

Los programas de ajedrez son una demostración palpable de lo que podría llamarse una inteligencia basada en la fuerza bruta, dado que su método consiste en la velocidad de cálculo, lo cual le permite buscar en grandes espacios y procesar una cantidad enorme de información, velocidad de procesamiento que supera ampliamente la del cerebro humano. Muchos creen que la rapidez creciente en el cálculo de las computadoras, que no parece tener limites, debe conducir al surgimiento de las llamadas máquinas inteligentes, afirmación sustentada en que las computadoras al poder valorar más variantes de un problema, ya sea el juego de ajedrez, un cálculo de ingeniería, un diseño industrial o un diagnóstico mecánico, será capaz de alcanzar soluciones más rápidas y eficientes, relegando la de los humanos a un segundo plano. Este argumento se fundamenta en el auge acelerado que se evidencia en el hardware de las computadoras, mientras subestima el desarrollo del software e ignora las posibilidades del cerebro.

Actualmente, la ciencia deja de encerrarse en si misma y se fija en lo que le rodea, comprende que la mejor manera de entender cómo funciona algo en un ser humano es entenderlo primero en los animales más simples. Es así que la ciencia descubre las propiedades emergentes de la inteligencia, como resultado de la interacción compleja de sencillos elementos y emula con los procesos genéticos evolutivos en la búsqueda de mejores soluciones a problemas realmente complejos.


La Inteligencia Artificial 'convencional' con sus intentos de modelar matemáticamente los procesos de razonamiento, no ha podido alcanzar el sueño de sus creadores, mucho menos los seguidores de la denominada IA 'fuerte', quienes han pretendido convencernos de que seremos sustituidos por máquinas pensantes. Comienza una nueva era dentro de la Inteligencia Artificial. El hecho de mirar hacia la naturaleza posibilitará al hombre un avance en el camino de lograr simular verdaderamente, la inteligencia humana.

viernes, 2 de febrero de 2007

Crisis de la inteligencia artificial

Los primeros intentos de la inteligencia artificial (IA) se fundamentaron en las búsquedas heurísticas. Se creía que el hombre resolvía todos los problemas a través de métodos heurísticos y se pensaba que la mente estaba conformada por potentes mecanismos heurísticos capaces de partir de lo general a lo particular tal como sucedía con los algoritmos de computación. De ahí los esfuerzos por hallar un algoritmo general basado en los principios heurísticos que fuera capaz de resolver cualquier tipo de problema. Ejemplo de ello fue el GPS (solucionador general de problemas) con el cual se podía demostrar cualquier tipo de teorema matemático, pero era incapaz de resolver problemas de carácter elemental que requieran un mínimo de sentido común. Este fracaso llevó a los investigadores a la conclusión que la heurística no lo era todo y que si el hombre resolvía los problemas era porque poseía los conocimientos necesarios para darle solución.
.
Lo que dió lugar a la explosión de los sistemas basados en conocimientos más conocidos como sistemas expertos los cuales debido a la estrechez de su dominio de solución de los problemas, no cumplió con las expectativas de los usuarios. Ello trajo como consecuencia la crisis del paradigma simbolista dentro la IA lo que originó nuevos paradigmas siendo los más importantes los basados en el conexionismo y los basados en la cooperación. Siendo interés nuestro los últimos ya que son los que están relacionados con la cooperación entre agentes inteligentes ajustándose este modelo a la estructura de una organización inteligente.

Otro de los intentos de la inteligencia artificial fue tratar de comprender los estados mentales a través de "mundos de juguetes", producto del desconocimiento existente sobre la naturaleza de la inteligencia y, por otro lado, existía la creencia de que lo aprendido en esos dominios de juguete se podría extender sin dificultades a problemas más complicados pero debido a la complejidad de los problemas del mundo real estos no pueden capturarse en modelos reducidos y por tanto deben plantearse directamente.

Crisis de la IA:

La Inteligencia Artificial se ha visto siempre como una ciencia teórica, desligada de la realidad, mientras para otros son métodos que permiten investigar el cerebro. Pero, en realidad, ¿cuales han sido sus logros? ¿Cómo ha influído en la comprensión de la mente humana?



La IA parece irreconciliable si la analizamos a través de sus tres vertientes:
‑ Estudio de la mente humana.
‑ Sistemas informáticos inteligentes.
‑ Sistemas comerciales basados en las técnicas de la IA

Estudio de la mente: Descubrir los enigmas de la mente humana, donde la máquina es utilizada como laboratorio para verificar las teorías.

Sistemas informáticos: analizar las técnicas informáticas de simulación del comportamiento inteligente

Sistemas comerciales: la máquina es una herramienta que a través de programas inteligentes servirá al hombre en sus tareas diarias.

Cada uno de estos métodos niega los progresos del otro, y en algunos casos considera que no tiene nada que ver con la Inteligencia Artificial.

De acuerdo a estos enfoque surgen tres áreas de investigación y desarrollo de la Inteligencia Artificial.

Estudio de la mente àCiencia cognoscitiva.
Sistemas informáticos à Máquinas inteligentes.
Sistemas comerciales à Ingeniería del conocimiento

Estudio de la mente:
Se considera una ciencia natural que investiga sobre la mente que trata de comprender los mecanismos de la creatividad del ser humano apoyándose en las computadoras como soporte del pensamiento de este grupo se desprenden dos grandes ideas que han llenado de promesas las investigaciones de la IA: la IA fuerte y la IA débil.

La Inteligencia Artificial fuerte:
La idea de una IA fuerte ha sido el sueño de casi todos los investigadores de ese campo. Sostiene que todas las operaciones mentales son manifestaciones sofisticadas de complicados procesos computacionales, y que es irrelevante si tales procesos son llevados a cabo por un sujeto humano, un objeto físico o un dispositivo electrónico. Por lo que acepta que la mente humana puede ser reproducida o copiada para otro medio, el cerebro se considera un soporte más.


En cambio para la IA débil (menos radical que la anterior, y también más extendida desde el fracaso del enfoque idealista de los primeros años) computación no supone consciencia, y la simulación artificial de actividades mentales en ningún caso da origen a fenómenos mentales como dolor, reconocimiento, entendimiento o intencionalidad. No obstante se acepta la posibilidad de una simulación de la mente que suponga identidad funcional, aunque nunca identidad estructural.
Se acepta la creación de un algoritmo suficientemente complejo que podría ser codificado a través de un programa computacional y controlar un robot de la misma forma que lo haría un ser humano.


2. Sistemas informáticos:
A este grupo no les preocupa tanto las cuestiones filosóficas, aunque su afiliación esta dentro de una IA débil. Para ellos la meta es construir máquinas más perfectas, aprendiendo a representar y manipular el conocimiento sobre el mundo real mediante una computadora y no les preocupa en lo más mínimo si la forma de pensar de las máquinas está de algún modo relacionada con la forma humana de pensar.

Para estos investigadores la máquina es el tema de su investigación, la cual es vista como un todo (soft y hard) y se pretende que esta como tal alcance niveles de inteligencia, posiblemente no alcanzados por el hombre, cada vez más avanzados. Y se especula sobre la posibilidad de que la máquina sustituya al hombre, dada las posibilidades ilimitadas de la misma.

Las mayores aportaciones al campo de la IA se debe a este grupo en temas tan importantes como: la robótica, las tecnologías del conocimiento, la IA distribuída, máquinas para lisp, etc.

3. Sistemas comerciales:
Se elaboran aplicaciones para resolver problemas que antes eran competencia sólo de los humanos. Son los especialistas de computación que se dedican a abordar a través de algoritmos tareas poco estructuradas con fines prácticos, casi siempre utilizando estructuras de datos complejas.

Se puede ver como rama de la ingeniería dedicada a crear productos comerciales. sobre todo sistemas especializados. Por ejemplo los sistemas expertos (los cuales serán tratados en el tema 3).

Cada enfoque crea una filosofía de trabajo que hace incompatible la comunicación entre cada grupo de investigadores, desde sus "creencias" entre MENTE, MAQUINA Y USUARIO. Incluso hasta la forma de ver la máquina cambió para cada uno.

Ya pasó la época en que la IA se veía como una ciencia mística cargada de amenazas, algunos pensaban que los sistemas expertos sustituirían a los especialistas, y hoy con un enfoque más maduro sin falsas expectativas, recuerden el proyecto japonés de la 5ta. Generación, las técnicas de IA se irán abriendo paso de forma imperceptible, es más, todo indica que la inteligencia se irá ampliando y que de la cooperación entre humanos y sistemas informáticos inteligentes surgirán las bases de las sociedades basadas en el conocimiento.

De ahí que la IA abandone los sistemas autistas (encerrados en si mismo) para dar lugar a sistemas abiertos que comparten información de forma inteligente, a su vez que permite la combinación de diferentes paradigmas de representación del conocimiento como los basados en reglas, los marcos (frames), los guiones. Y surjan nuevos temas de investigación tales como:
- La formalización del sentido común.
‑ El aprendizaje.
‑ La integración de diferentes paradigmas de inteligencia.
‑ El desarrollo de arquitecturas cognoscitivas completas.

Mientras la Inteligencia Artificial se desangra en pugnas internas y en definir que es y que no es Inteligencia Artificial, en la computación convencional el hardware marcha a paso acelerado en la construcción de máquinas cada vez más rápidas, con más memoria y más posibilidades de cálculos simbólicos, que se pronostica alcanzará la creación de máquinas inteligentes a corto plazo sin necesidad de la Inteligencia Artificial.