Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la...

54
Graficación, inteligencia artificial e interacción humano -computadora A. Graficación I. Aspectos generales 1. Introducción a la graficación Definición y objetivos de la graficación (R) Definición: Tecnología fundamental para comunicar ideas, datos y tendencias en la mayoría de las áreas comerciales, científicas, de ingeniería y educativas. Objetivo: Se pueden crear mundos artificiales (o virtuales), constituyendo cada uno de ellos un área de exploración para el estudio de objetos y fenómenos en una forma natural e intuitiva que aproveche nuestras altamente desarrolladas habilidades de reconocimiento de patrones visuales. Aplicaciones (multimedios, ambientes inmersivos, visualización, cartografía, CAD/CAM, etcétera) (R) Aplicaciones. La graficación por computador se emplea hoy en día en varias áreas de la industria, los negocios, el gobierno y el entretenimiento. La lista de aplicaciones es enorme y crece con rapidez a medida que los computadores con capacidades graficas se convierten en artículos de consumo. A continuación se verán algunas de estas áreas: a. Interfaces con el usuario: Si ha trabajado con Machintosh o con un computador personal compatible con IBM que ejecute Windows usted es prácticamente un avezado usuario de los gráficos. Después de todo la mayoría de las aplicaciones que se ejecutan en computadores personales o estaciones de trabajo tienen interfaces con el usuario que se apoyan en sistemas de ventanas para administrar múltiples actividades simultaneas, así como seleccionar elementos de los menús, iconos y objetos de pantalla. Los programas de procesamiento de texto, hoja de calculo y compuedición son aplicaciones típicas que aprovechan estas técnicas de interfaz con el usuario. b. Graficación interactiva en los negocios, la ciencia y la tecnología: Esta es la siguiente aplicación más usual de los gráficos es para crear gráficos bidimensionales y tridimensionales de funciones matemáticas, físicas y económicas; histogramas y diagramas de barras y circulares; diagramas de programación de actividades; diagramas de inventario y producción. Todos estos gráficos se usan para presentar de manera significativa y concisa las tendencia 1

Transcript of Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la...

Page 1: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Graficación, inteligencia artificial e interacción humano -computadoraA. Graficación

I. Aspectos generales

1. Introducción a la graficación

Definición y objetivos de la graficación (R)

Definición: Tecnología fundamental para comunicar ideas, datos y tendencias en la mayoría de las áreas comerciales, científicas, de ingeniería y educativas.

Objetivo: Se pueden crear mundos artificiales (o virtuales), constituyendo cada uno de ellos un área de exploración para el estudio de objetos y fenómenos en una forma natural e intuitiva que aproveche nuestras altamente desarrolladas habilidades de reconocimiento de patrones visuales.

Aplicaciones (multimedios, ambientes inmersivos, visualización, cartografía, CAD/CAM, etcétera) (R)

Aplicaciones.

La graficación por computador se emplea hoy en día en varias áreas de la industria, los negocios, el gobierno y el entretenimiento. La lista de aplicaciones es enorme y crece con rapidez a medida que los computadores con capacidades graficas se convierten en artículos de consumo. A continuación se verán algunas de estas áreas:

a. Interfaces con el usuario: Si ha trabajado con Machintosh o con un computador personal compatible con IBM que ejecute Windows usted es prácticamente un avezado usuario de los gráficos. Después de todo la mayoría de las aplicaciones que se ejecutan en computadores personales o estaciones de trabajo tienen interfaces con el usuario que se apoyan en sistemas de ventanas para administrar múltiples actividades simultaneas, así como seleccionar elementos de los menús, iconos y objetos de pantalla. Los programas de procesamiento de texto, hoja de calculo y compuedición son aplicaciones típicas que aprovechan estas técnicas de interfaz con el usuario.

b. Graficación interactiva en los negocios, la ciencia y la tecnología: Esta es la siguiente aplicación más usual de los gráficos es para crear gráficos bidimensionales y tridimensionales de funciones matemáticas, físicas y económicas; histogramas y diagramas de barras y circulares; diagramas de programación de actividades; diagramas de inventario y producción. Todos estos gráficos se usan para presentar de manera significativa y concisa las tendencia y los patrones extraídos de los datos, para así esclarecer fenómenos complejos y facilitar la toma de decisiones informada.

c. Cartografía: La graficación por computador se emplea para producir representaciones precisas y esquemáticas de fenómenos geográficos y de otro tipo, a partir de datos de mediciones. Como ejemplos están los mapas geográficos, meteorológicos, de contorno y de densidad de población.

d. Medicina: La graficación por computador tiene una función cada vez más importante en campos como la medicina de diagnostico y la planificación de cirugías. En el segundo caso, los cirujanos usan los gráficos como auxiliares para guiar instrumentos y determinar precisamente donde hay que eliminar tejidos enfermos. p .e MRI magnetic resonance imaging) imágenes por resonancia magnética.

1

Page 2: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

e. Bosquejo y diseño asistido por computador: En el diseño asistido por computador (CAD computer-aided design), los usuarios emplean la graficación interactiva para diseñar componentes y sistemas de dispositivos mecánicos, eléctricos y electromecánicos y electrónicos, incluyendo estructuras como edificios, carrocerías de automóviles, cascos de aviones y barcos, pastillas de circuitos integrados a escala muy grande (VLSI, very large scale integration) y redes telefónicas y de computadoras. Por lo general, el punto central de la atención es la interacción con un modelo basado en computador del componente o sistema que diseña. Pero en ocasiones el usuario sólo quiere producir dibujos precisos de los componentes y el montaje, como en el caso de bosquejos en linea o los planos arquitectónicos.

f. Sistemas multimedia: La graficación por computador tiene una función crucial en la rápidamente creciente área de los sistemas multimedia. Como su nombre lo indica, los multimedia comprenden más de un medio de comunicación. En estos sistemas se emplean convencionalmente texto, gráficos y sonido, pero pueden existir muchos mas.

g. Simulación y animación para visualización científica y entretenimiento: Los filmes de animación generados por computador y las presentaciones del comportamiento variable en el tiempo de objetos reales y simulados constituyen una herramienta cada vez más común para la visualización científica y del campo de la ingeniería. Podemos usar estos gráficos para estudiar entidades matemáticas abstractas o modelos matemáticos de fenómenos como el flujo de fluidos, la relatividad, las reacciones nucleares y químicas, la función de los órganos y el sistema fisiológico, y la deformación de estructuras mecánicas sujetas a diferentes tipos de carga. Otra área de la tecnología avanzada es la producción de efectos especiales de gran elegancia para filmes. Existen mecanismos complejos que permiten modelar los objetos y representar las sobras.

Clasificación y alcances del software (R, E)

Hemos avanzado de los paquetes de bajo nivel, dependientes del dispositivo, que proporcionaban los fabricantes para sus dispositivos de presentación particulares, a paquetes de mayor nivel, independientes del dispositivo. Estos paquetes pueden dirigir una amplia variedad de dispositivos de presentación, desde impresoras láser y graficadores hasta grabadoras de película fotográfica y pantallas interactivas de alto rendimiento. El propósito principal de usar un paquete independiente del dispositivo junto con un lenguaje de programación de alto nivel es promover la transportabilidad del programa de aplicación El paquete ofrece esta transportabilidad en una forma muy similar a la de un lenguaje de alto nivel, independiente de la maquina (como FORTRAN, Pascal o C) : aislando al programador de la mayoría de las particularidades de la máquina y ofreciendo características del lenguaje fáciles de implantar en diversos tipos de procesadores.

II. Hardware para graficación

1. Medios

Dispositivos de entrada y de salida (características y ejemplos) (R, E)

Dispositivos de entrada.

La tecnología de entrada ha mejorado mucho con el paso de los años. El burdo y frágil lápiz de luz de los sistemas vectoriales ha sido reemplazado por el popular ratón, la tableta de datos; y el tablero transparente, sensible al tacto montado sobre la pantalla. También son cada vez más comunes los dispositivos de entrada más complejos que no sólo proporcionan localidades (x,y) en la pantalla, sino también valores tridimensionales o incluso de más dimensiones (grados de libertad). La comunicación por audio también tiene mucho potencial, ya que permite la entrada sin tener que usar las manos y la salida natural de instrucciones sencillas, realimentación, etc. Con los dispositivos de entrada

2

Page 3: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

estándar, el usuario puede especificar operaciones o componentes de la imagen tecleando o dibujando información nueva o bien apuntando hacia la información que existe en la pantalla. Para esta interacción no se requieren conocimientos de programación y hay que usar muy poco el teclado; el usuario elige las opciones con sólo seleccionar botones o iconos de los menús, responde preguntas marcando opciones o tecleando unos cuantos caracteres en un formulario, coloca copias de símbolos predefinidos en la pantalla, dibuja indicando puntos extremos consecutivos que se conectarán con líneas rectas o interpoladas por curvas regulares, pinta moviendo el cursor por la pantalla y rellena áreas cerradas limitadas por polígonos o pinta contornos con tonos de grises, con colores o con diversos patrones.

Dispositivos de salida

Los dispositivos de pantalla desarrollados a mediados de la década de 1960 y que fueron de uso común hasta mediados de la década de 1980 se denominan pantallas de vector, de trazo, de dibujo de líneas o caligráficas. Aquí, el término vector se usa como un sinónimo de línea; un trazo es una línea corta y los caracteres se forman como secuencias de estos trazos. Un sistema vectorial típico consiste en un procesador de pantalla conectado como dispositivo periférico de entrada/salida a una unidad central de procesamiento CPU, una memoria de pantalla y un CRT .

La esencia del sistema vectorial es que el haz de electrones que escribe en el recubrimiento de fósforo del CRT se desvía de un punto extremo a otro, según lo determine el orden arbitrario de los mandatos de dibujo; esa técnica se denomina rastreo aleatorio. Como la salida luminosa del fósforo decae en decenas o a lo sumo cientos de microsegundos, el procesador de la pantalla debe efectuar un ciclo por la lista de presentación para refrescar el fósforo al menos 30 veces por segundo (30 HZ) a fin de evitar el parpadeo.

A principios de la década de los 70's la disponibilidad de memoria de acceso aleatorio (RAM random access memory) de bajo costo para los mapas de bits fue el punto clave para que lo gráficos de trama se convirtieran en la tecnología de hardware dominante. Los CRT de dos niveles (tambipen conocidos como monocromaticos) dibujan imágenes en blanco y negro o en verde y negro; algunas pantallas de plasma usan negro y naranja. Los mapas de bits de dos niveles contienen un solo bit por píxel y todo el mapa de bits de una pantalla de 1024 por 1024 pixeles ocupa únicamente 2 elevado a la 20 bits, alrededor de unos 128000 bytes. Los sistemas de color más sencillos usan ocho bits por píxel, lo que permite utilizar de manera simultánea 256 colores; los sistemas más costosos tienen 24 bits por píxel, permitiendo elegir entre 16 millones de colores; y tambien existen memorias de refrescamiento de 32 bits por píxel y resolución de pantalla de 1280 por 1024 pixeles, disponibles incluso en computadoras personales. De estos 32 bits, 24 se dedican a la representación del color y los otros ocho a propósitos de control. U n sistema de color tipico de 1280 por 1024 con 24 bits por píxel requiere 3.75 MB de RAM, lo que representa un costo bajo según los estándares actuales. En un sentido estricto, el concepto de mapa de bits se apluca exlusivamente a los sistemas de dos niveles de un bit por píxel usaremos el término mapa o arreglo bidimensional de pixeles.

Las principales ventajas de los gráficos de barrido con respecto a los gráficos vectoriales incluyen su menor costo y la capacidad para representar áreas rellenas de colores sólidos o patrones, una forma especialmente rica para comunicar información e indispensable para obtener imágenes realistas de objetos tridimensionales.

La principal desventaja de las imágenes de barrido, en comparación con los sistemas vectoriales, se debe a la naturaleza discreta de la representación con píxeles. En primer lugar las primitivas como líneas y polígonos se especifican en función de sus puntos extremos (vértices) y deben discretizarse a sus pixeles componentes en la memoria gráfica.

Otra desventaja de los sistemas de barrido se debe a la naturaleza de la trama. Un sistema vectorial puede dibujar líneas ocntinuas y regulares (incluso curvas y regulares) esencialmente de cualquier punto del CRT a otro; en un sistema de barrido, la presentación de primitivas matemáticas curvas como círculos y elipses sólo se puede lograr aproximándolas con píxeles en el arreglo de trama. Esta aproximación puede ocasionar el conocido problema de "escalonamiento",

3

Page 4: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Este artefacto visual es una manifestación de un error de muestreo conocido como artefacto de discretación en la teoría del procesamiento de señales; estas situaciones se presentan cuando la función de una variable continua que manifiesta cambios abruptos en la intensidad, es aproximada con muestras discretas. En el campo de la graficación moderna existe la preocupación por desarrollar técnicas de eliminación del artefacto de discretización en sistemas de escala de grises o en color. Estas técnicas especifican cambios graduales en la intensidad de los píxeles vecinos en las orillas de las primitivas, en lugar de asignarles únicamente la intensidad máxima o de cero.

Arquitecturas para graficación (aceleradores, buses, coprocesadores, etcétera) (R, E)

El marco conceptual de alto nivel que se presenta en el siguiente diagrama nos puede servir para describir casi cualquier sistema gráfico interactivo. En el nivel de hardware (que no se presenta explícitamente en el diagrama), un computador recibe su entrada de dispositivos interactivos y envía las imágenes a dispositivo de presentación. El software tiene tres componentes. El primero, el programa de aplicación, crea, almacena y lee del segundo componente, el modelo de aplicación, que representa los datos u objetos que se mostrarán en la pantalla. El programa de aplicación también maneja las entradas de usuario. Este programa produce vistas enviando al tercer componente, el sistema gráfico, una serie de mandatos gráficos de salida que contienen una descripción geométrica de qué se verá y los atributos que indican cómo deben aparecer los objetos. El sistema gráfico es el responsable de la producción real de la imagen a partir de las descripciones detalladas, así como de pasar las entradas de usuario al programa de aplicación para que se procesen.

Así el sistema gráfico es un intermediario entre el programa de aplicación y el hardware de presentación, que lleva a cabo una transformación de salida de los objetos en el modelo de aplicación a una vista del modelo. Simétricamente, efectúa una transformación de entrada de las acciones del usuario a entradas para el programa de aplicación, por medio de las cuales la aplicación hará cambios al modelo o a la imagen. La tarea fundamental del diseñador de un programa de la graficación interactiva es especificar qué clases de elementos de datos u objetos se generarán y representarán pictóricamente y como interactuan el usuario y el programa de aplicación para crear y modificar el modelo y su representación visual. La mayor parte de las tareas del programador tiene que ver con la creación y edición del modelo, asi como con el manejo de la interacción con el usuario, no con la creación de las vistas, ya que esta tarea es realizada por el sistema gráfico.

III. Conceptos, técnicas y algoritmos

1. Herramientas

Librerías y paquetes para gráficas (tipos y características) (R, E)

El primer paquete grafico se llama SRGP (simple raster graphics package, paquete gráfico simple de barrido) es independiente del dispositivo y explota las capacidades de las tramas. El repertorio de primitivas (líneas, rectángulos,

4

Page 5: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

círculos, elipses y cadenas de texto) de SRGP es similar al del popular paquete gráfico de trama Macintosh QuickOraw y al del paquete Xlib de Xwindow System. Por otra parte, las características de manejo de interacción de SRGP constituyen un subconjunto de las SPHIGS, el paquete gráfico de mayor nivel que se usa para presentar primitivas tridimensionales, SPHIGS es un dialecto simplificado del paquete gráfico estándar PHIGS (programmer's hierarchical interactive graphics system, sistema gráfico interactivo jerarquico para programadores), diseñado tanto para hardware de barrido como vectorial.

El segundo paquete de graficación se llama PHIGS (programmer's hierarchical interactive graphics system, paquete grafico interactivo jerarquico para programadores) implanta una especificación diseñada como estandar por un organismo normativo oficial a nivel internacional o nacional.

2. Modelado

Representación, manipulación y despliegue de objetos de dos y tres dimensiones. (R)

Software para modelado (R)

Macpaint y Pcpaint, el propósito de estos programas es el de producir una imagen permitiendo que el usuario establezca o modifique los pixeles individualmente

3. Síntesis de imagen

Software para síntesis (R)

TECNICAS

RAY TRACING

El ray tracing es una de las técnicas de generación de imágenes que permite la aplicación de un modelo de iluminación global para el cálculo de la iluminación en una escena.

El proceso que sigue el ray tracing es el siguiente. Se coloca un observador virtual dentro del espacio donde se define la escena, asociándole una dirección hacia donde va a ver y una amplitud de su campo visual. Una vez hecho esto, se puede establecer el conjunto de direcciones desde las cuales llega la información luminosa que compondrá la imagen. Este conjunto de direcciones es infinito por lo que hay que seleccionar un subconjunto finito que a fin de cuentas es lo que determinará la resolución de la imagen que generemos. A cada una de las direcciones seleccionadas les asociamos un rayo para el cual debemos calcular la iluminacion que viene desde esa dirección. Si la dirección está dirigida a un objeto que emite luz, entonces la iluminación estará directamente relacionada con la emisión del objeto, pero si al seguir el rayo de luz llegamos a un objeto que no emite luz por si mismo, entonces debemos considerar otro tipo de fenómenos que ocurren en el punto donde se intersectan el rayo y la superficie del objeto. En este punto es necesario considerar las leyes físicas que rigen la interacción entre la luz y los materiales que componen los objetos, ya que dependiendo de las características del material y de las condiciones de iluminación del ambiente que rodea al objeto, será la luz que llegue hasta el observador en esa dirección.

Por ejemplo si el objeto es opaco, sólo habrá que considerar la cantidad de luz que llega a la superficie del objeto a partir de los emisores de luz que estan a su alrededor. Pero si el objeto fuera de un material semitransparente, entoces además

5

Page 6: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

de considerar las reflexiones habría que considerar la iluminación que atraviesa el objeto en la dirección del rayo de refracción.

Este es un proceso que puede ser extremadamente complicado pero que también nos permite generar imágenes con un alto grado de realidad puesto que se estan empleado las leyes físicas que reflejan la realidad de lo que percibimos.

RADIOSIDAD

La Radiosidad surge como una técnica para el cálculo de la iluminación global de un ambiente cerrado, a partir de la incorporación de las técnicas de cálculo para transferencia de calor radiado que se empleaban en termodinámica.

La idea en que se basa esta técnica es buscar el equilibrio de la energía que es emitida por los objetos emisores de luz y la energía que es absorbida por los objetos en el ambiente.

Para llevar a cabo este cálculo de iluminación es necesario considerar que cuando la superficie de un objeto, que no emite luz por si mismo, es iluminada por otro objeto, esta absorbe una cierta cantidad de la energía, pero refleja otra parte, por lo que puede ser considerada como una emisora de luz por reflexión. De tal forma que todas las superficies en el ambiente son de una u otra forma emisoras de energía, y por lo tanto cada una afecta a la iluminación de las demas superficies. Esto nos lleva a una dependencia total entre las iluminaciones de las superficies, que podría ser resuelta con el planteamiento de un sistema de n ecuaciones con n incógnitas. Donde n es el número de elementos para los que se desea saber su iluminación.

Desafortunadamente este número n suele ser bastante grande (mayor de 10,000) en escenas no muy complicadas lo que podía hacer demasiado lento el proceso de cálculo, y además este tipo de cálculo de iluminación global estaba restringido a solo una parte de los fenómenos que ocurren durante la interacción de la luz y las superficies de los objetos. Es decir que solo modelaba las reflexiones difusas.

MODELOS HíBRIDOS

Las técnicas híbridas surgen debido a las limitaciones implícitas en cada una de las técnicas de modelado de la iluminación que se habían desarrollado, principalmente ray tracing y radiosidad, donde cada una de estas técnicas manejaba con muy buenos resultados una parte de los fenómenos de la interacción de la luz con las superficies.

En este caso se empleo una técnica que combina el manejo de la iluminación difusa del método de radiosidad, con el manejo de la iluminación especular del método de ray tracing. De esta forma se crea un método de dos pasos que combina los resultados obtenidos por el modelo de radiosidad como un primer paso y un segundo paso en que se aplica el modelo de ray tracing para generar la iluminación final.

4. Técnicas de animación

Software para animación (R)

B. Inteligencia artificial

I. Representación del conocimiento

1. Lógica

6

Page 7: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Proposicional (sintaxis y semántica)

Lógica propositiva o lógica booleana los símbolos representan proposiciones completas (hechos); por ejemplo, D se podría interpretar como "el wumpus está muerto" , que puede o no ser una proposición verdadera. Los símbolos de proposiciones pueden combinarse usando los conectivos boléanos para generar oraciones de significado más complejo. Una lógica como ésta poco se preocupa por la manera de representar cosas, por ello no es sorprendente que no ofrezca mucho lenguaje de representación.

Sintaxis

La sintaxis de la lógica propositiva es sencilla. Los símbolos utilizados en la lógica propositiva son las constantes verdadero y falso, símbolos de proposiciones tales como p ya, los conectivos lógicos, todas las oraciones se forman combinando los signos mediante la aplicación de las siguientes reglas:

1.Las constantes lógicas verdadero y falso constituyen oraciones en si mismas.

2.Un símbolo propositivo tal como P y Q es una oración en si mismo

3.Encerrar entre paréntesis una oración produce tambien una oración, por ejemplo (P y Q)

5. Una oración se forma combinando oraciones mas sencillas con unos de los cinco conectores lógicos.

Conectores LógicosSímbolo Nombre

(y) Conjunción (o) Disyunción

(implica) Si- entonces (equivalente) o bicondicional

(no) Negación= Igualdad

Semántica

La semántica de la lógica propositiva es bastante directa tambien, se define especificando la interpretación de los signos de proposición y de las constantes y especificando el significado de los conectores lógicos.

Un signo de proposición significa lo que tu desees Pe: P = Paris es la capital de Francia.

Las constantes lógicas no hay opción la oración verdadero quiere decir que aquello que sucede es realidad y la oración falso siempre quiere decir que aquello no existe.

El significado de una oración compleja se obtiene del significado de cada una de sus partes, asi que se puede considerar que cada conector es una función.

Tablas de verdad para los cinco conectores lógicos

P Q No P P y Q P o Q P imp Q P equ QFalso Falso Verdadero Falso Falso Verdadero VerdaderoFalso Verdadero Verdadero Falso Verdadero Verdadero Falso

Verdadero Falso Falso Falso Verdadero Falso Falso

7

Page 8: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Verdadero Verdadero Falso Verdadero Verdadero Verdadero Verdadero

De primer orden (sintaxis y semántica) (R)

Esta Lógica se preocupa por la representación de los mundos en terminos de objetos y predicados sobre objetos (es decir propiedades de los objetos o relaciones entre los objetos), asi como el uso de los conectivos y cuantofocadores, mediante los cuales se pueden escribir oraciones sobre todo lo que pasa en el universo, a un mismo tiempo. Al parecer, la lógica de primer orden permite la aprehensión de buena parte de lo que sabemos sobre el mundo, y que se ha estudiado aproximadamente por cien años

Uno de sus alcances es considerar que el mundo esta constituido por objetos, es decir, entes con identidades individuales y propiedades que los distinguen de otros objetos, entre estos objetos existen diversos tipos de relaciones algunas de estas son funciones relaciones en que en una entrada corresponde solo un valor ejemplos:

1. Objetos: gente, casas, numeros, teorias, colores, juegos 2. Relaciones: hermano de, mayor que, dentro de, parte de 3. Funciones: padre de, major amigo de, tercer tipo de

Ejemplo

" El malvado rey Juan gobernó Inglaterra en 1200" objetos: Juan, Inglaterra, 1200. Relación: gobernó. Propiedades: malvado, rey

Sintaxis y semántica

En la lógica de primer orden hay oraciones, pero también hay términos, estos últimos representan objetos, los signos que representan constantes, las variables y los signos de funciones sirven todos para construir términos, los cuantificadores y los signos de predicados sirven para construir oraciones. A continuación se presenta una explicación mas detallada de cada uno de los elementos anteriores, la que incluye tanto sintaxis como semántica:

1. Signos de constantes: A, B, G, Juan

En la interpretación respectiva deberá especificarse a que objeto del mundo se esta haciendo referencia, mediante el signo de una constante

2. Signos de predicado: Redondo, Hermano

Una interpretación especifica que mediante un signo de predicado se hace referencia a una relación particular de un modelo., por ejemplo el signo hermano hace referencia a una relacion de hermandad, es un símbolo de predicado binario, por lo que la hermandad es una relación que vincula (0 desvincula) pares de objetos, en cualquier modelo dado la relación se da en un conjunto de tuplas que la satisfacen, una tupla es un conjunto de objetos clasificados de una manera determinada y en orden fijo, Se escriben entra paréntesis angulares, en un modelo que contenga los tres objetos, rey juan, robin hood y ricardo corazon de león la relacion de hermandad se define mediante un conjunto de tuplas:

{ < Rey Juan, Ricardo corazón de león > < Ricardo Corazón de León, Rey Juan > }

8

Page 9: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Es decir, desde un punto de vista formal, hermano hace referencia a este conjunto de tuplas bajo la interpretación que se escogió para este caso.

3. Signos de funciones: coseno, padre de, pierna izquierda de Algunas relaciones son funcionales, es decir, un objeto esta relacionado justamente con otro objeto mediante la relación, Pe a un ángulo le corresponde sólo un numero que es su coseno, toda persona tiene a alguien que es su padre , en estos casos es más práctico definir un signo de la función (p.e. coseno) para referirse aesa relación especial entre ángulos y números.

Términos Un término es una expresión lógica que se refiere a un objeto, por lo tanto los signos de constante son términos, Por ejemplo en español se utilizaría la expresión II La pierna izquierda del rey Juan", en vez de asignar un nombre a su pierna, para eso son los signos de funciones, en vez de utilizar un símbolo de constante, se emplea pierna izquierda de(Juan).

La semántica formal de los términos es muy directa, mediante una interpretación se especifica la relación funcional a la que alude el signo de función y los objetos a los Que se alude mediante los términos de sus argumentos.

Así el término completo se refiere al objeto que aparece en la entrada número (n+1) de esta tupla en relación cuyos primeros n elementos son los objetos a que se aluden los argumentos, es decir el signo de función pierna izquierda de podría hacer referencia a la siguiente relación funcional:

{ < Juan, pierna izquierda del rey Juan> < Ricardo corazón de león, pierna izquierda de Ricardo > }

y si rey Juan se refiere al rey Juan, entonces pierna izquierda de (Rey Juan) se refiere, de acuerdo con la relación, a la pierna izquierda del Rey Juan.

Oración Atómica

Casado(padrede(Ricardo),Madrede(Juan)) =El padre de Ricardo esta casado con la madre del Rey Juan

Oraciones Complejas

Mayor(Juan,30) Menor(Juan,30) = Si Juan tiene mas de 30 años entonces no tiene menos de 30 años

Cuantificadores

Cuantificación Universal

"Todos los gatos son mamíferos" para expresar esta regla se utilizarían los predicadores unarios gato y mamífero; en consecuencia "Mancha es un gato" se representa de la siguiente manera: Gato(mancha); y "mancha es un mamífero" por: Mamífero(mancha). En español lo que se intenta expresar es que por cualquier objeto x, si x es un gato, entonces x es un mamífero. La lógica de primer orden nos permite realizar lo anterior de la siguiente manera

x gato(x) mamífero(x)

9

Page 10: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Este símbolo de la a invertida se lee como "para todo"

Cuantificación existencial

En este caso se hacen afirmaciones sobre cualquier objeto. Asimismo, también se pueden hacer afirmaciones acerca de algún objeto en el universo sin tener que nombrarlo, mediante un cuantificador existencial. Para afirmar, por ejemplo, que mancha tiene una hermana que es un gato, escribiremos:

X Hermana(x, Mancha) Gato (x)

Se lee (existe...) en general es verdadero si p es verdadero para

cierto =:J objeto del universo

Cuantificadores anidados

Todas las personas aman a alguien”

X y amores (x, y)

Igualdad

Padre(Juan)=Enrique = Juan es el padre de Enrique

Como representación del conocimiento (R)El objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de una manera que se le pueda utilizar como un auxiliar para el buen desempeño de los agentes, la representación del conocimiento consta de sintaxis y semántica.

2. Reglas

Representación (R)

Reglas de inferencia Existen ciertos patrones de inferencias que se presentan una y otra vez por la confiabilidad. De esta manera se aprende el patrón respectivo, lo cual se conoce como regla de inferencia, una vez establecida la regla, se le puede emplear para hacer mas inferencias sin necesidad de pasar por el tedioso procedimiento de las tablas de verdad. A continuación se enlistan 7 reqlas de inferencia:

1. Modus ponens o implicación-eliminación: A partir de una implicación y la premisa de la implicación, se puede inferir la conclusión.

10

Page 11: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

2. Y-Eliminación: A partir de una conjunción se puede inferir cuales son los coyuntos.

ni

3. Y-Introducción: A partir de una lista de oraciones es posible inferir su conjunción.

nn

4 . O-lntroducción: A partir de una oración, es posible inferir su disyunción Con todo lo demás.

n

5. Doble Negación Eliminación: A partir de una oración doblemente negada es posible inferir una oración positiva.

6. Resolución unitaria: A partir de una disyunción, si uno de los disyuntos es falso, entonces se puede inferir que el otro es verdadero.

7. Resolución: Es la más difícil, puesto que B no puede ser al mismo tiempo verdadera ni falsa, uno de los otros disyuntos debe ser en una de las premisas. O, también, que la implicación es transitiva.

equivalente

Regla del producto Se debe al hecho de que para que A y B sean ciertas, es necesario que B sea cierta, y luego que A sea cierta considerando B, se cumple siempre que P(B»O P(A B)=P(AIB)P(B)

Regla de condición-acción Se realiza un proceso como respuesta a una entrada y se establece una condición; esto activa la conexión ya definida en el programa del agente y por lo tanto tiene una acción correspondiente.

11

Page 12: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Si -Entonces

Mecanismos de inferencia (encadenamiento hacia adelante y hacia atrás) (R)

Estos procedimientos se utilizan cuando ya se tiene un lenguaje razonable para representar el conocimiento y con una regla razonable de inferencia ( Modus ponens generalizado) que permita utilizar tal conocimiento, esta regla se puede utilizar en dos formas: encadenamiento hacia delante v hacia atrás.

Encadenamiento hacia adelante

Podemos empezar por las oraciones que están en la base de conocimientos y generar nuevas conclusiones, de las que, a su vez, se pueden obtener nuevas inferencias, se utiliza por lo general cuando se incorpora en la base de datos un nuevo hecho y deseamos generar sus consecuencias.

En el encadenamiento hacia delante e utiliza la idea el renombramiento, se dice que una oración es el renombramiento de otra si son idénticas, excepto por los nombres de sus variables, por ejemplo, legusta(x, elhelado) y legusta(y, elhelado) son renombramiento una de la otra puesto que lo único que las diferencia es x o y, sin embargo lequsta(x, x) y le gusta(x, y) no son renombramiento una de otra.

También se usa la idea de composición de substituciones. Componer(01, 02) es la substitución, cuyo efecto es idéntico al efecto producido por la aplicación de una substitución a la vez.

Encadenamiento hacia atrás

Podemos empezar por algo que deseamos demostrar, se buscan las oraciones que nos permitirían llegar a tal conclusión y por ultimo tratar de establecer las premisas correspondientes, este encadenamiento se utiliza cuando es necesario demostrar una meta.

Esta hecho para buscar todas las respuestas posibles a una pregunta formulada a la base de conocimientos, por ello este encadenamiento cuenta con la funcionalidad requerida por el procedimientos de preguntar. Este encadenamiento lo que hace primero es verificar si las respuestas se pueden obtener directamente a partir de las oraciones de la base de conocimientos, luego busca todas las implicaciones cuyas conclusiones respectivas unifica con la consulta y trata de establecer cuales son las premisas de tales implicaciones, si la premisa es una conjunción entonces el encadenamiento hacia atrás la procesara, coyunto por coyunto, construyendo así el unificador de toda la premisa.

Resolución de conflictos

En algunos sistemas de producción se ejecutan todas las reglas que pasan la fase del cotejo, En otros sistemas de producción tales reglas se consideran sólo como sugerencias; la fase de resolución de conflictos sirve para decidir cual de las sugerencias se va a aceptar. A esta fase se le puede considerar como la estrategia de control. Alaunas de las estrateqias que se han utilizado son las siguientes:

1. No duplicación: No aplique dos veces la misma regla a los mismos argumentos.

12

Page 13: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

2. Novedad Prefiera aquellas reglas que se refieren a aquellos elementos de la memoria de trabajo de reciente creación.

3. Especificidad: Dé preferencia a aquellas reglas que sean mas especificas, por ejemplo la segunda de las dos reglas siguientes es la que se preferiría:

a. Mamífero(x) añadir piernas(x, 4) b. Mamífero(x) I\ humano(x) añadir piernas(x, 2)

4. Prioridad de operación: Prefiera aquellas acciones que tienen mayor prioridad, según lo especificado por cierto sistema de calificación. Por ejemplo, la segunda de las siguientes reglas posiblemente es la que tenga mas prioridad:

a. Tablerodecontrol(p) polvoso(p) acción(desempolvar(p)) b.tablerodecontrol(p)lamparadefusionencendida(p) acción(evacuar)

Mecanismos de explicación (R)

3. Redes semánticas, frames y scripts

Representación (R)

Las redes semánticas han sido muy utilizadas en IA para representar el conocimiento y por tanto ha existido una gran diversificación de técnicas. Los elementos básicos que encontramos en todos los esquemas de redes son:

Estructuras de datos en nodos, que representan conceptos, unidas por arcos que representan las relaciones entre los conceptos. Un conjunto de procedimientos de inferencia que operan sobre las estructuras de datos. Básicamente, podemos distinguir tres categorías de redes semánticas:

1. Redes IS-A, en las que los enlaces entre nodos están etiquetados. 2. Gratos conceptuales: en los que existen dos tipos de nodos: de conceptos y de relaciones 3. Redes de marcos: en los que los puntos de unión de los enlaces son parte de la etiqueta del nodo.

En general, cuando se habla de "redes semánticas" se suele hacer referencia a uno de estos esquemas, normalmente a las redes IS-A o a los esquemas basados en marcos, que comparten ciertas características fundamentales. De entre estas características compartidas destacamos la herencia por defecto (default inheritance). En una red semántica, los conceptos (o estructuras, clases, marcos, dependiendo del esquema concreto )

están organizados en una red en la que existe un nodo superior (top: T ) al que se le asigna uno o varios nodos hijos, que a su vez tienen otros conceptos hijos y así sucesivamente hasta que se alcanza el final (bottom: ), cuyos nodos ya no son conceptos sino instancias.

13

Page 14: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

14

Page 15: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Mecanismos de inferencia (herencia, por omisión, demonios) (R)

Herencia

Las categorías sirven para organizar y simplificar la base de conocimientos a través de la herencia, si afirmamos que todos los casos concretos de la categoría comida son comestibles, y si decimos que fruta es una sub clase de comida y que manzanas es una sub clase de fruta, sabremos que todas las manzanas son comestibles. Se dice entonces que cada una de las manzanas hereda la propiedad de ser comestible, en este caso por ser miembro de la categoría comida.

Herencia Múltiple

Cuando un objeto pertenece a más de una categoría, y por tanto hereda propiedades de varias rutas, en algunas casos esto opera sin mayor problema, por ejemplo algunas personas podrían pertenecer tanto a las categorías de multimillonario como a la de jugador de polo, en cuyo caso podemos inferir que son ricos y que pueden montar un caballo.

Valor por omisiónSe afirma que los mamíferos tiene cuatro piernas, perro tambien se afirma que los murciélagos, que tambien son mamíferos, tienen dos piernas, de acuerdo con la semántica lógica directa, lo anterior es una contradicción, para resolver el problema, se modifica la traducción semántica de un vinculo R que esta dentro de una caja de A a 8 para indicar así que todos los miembros de A deben tener una relación R con 8 a menos que exista una A 'para la cual Rel(R,A ',8') De

15

Page 16: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

esta manera se afirmara sin dar lugar a contradicciones, que los murciélagos tienen dos piernas, no cuatro, (R, A, 8) ya no significa que todas las A están relacionadas con 8 mediante R sino que 8 es el valor por omisión de la relación R para los miembros de A; pero los valores por omisión pueden resultar inválidos por alQuna otra información.

4. Inteligencia artificial distribuida

Arquitecturas/esquemas de control (de central hasta distribuido) (R)

La definición de un sistema de razonamiento distribuido es aquel compuesto de un juego de modulos separados (usualmente llamados agentes desde que se espera que cada modulo actue como una entidad que resuelve problemas por su propio derecho) y un juego de caminos de comunicación entre ellos. Esta definición es intencionalmente vaga, la cual admite que los sistemas dondequiera a lo largo de un espectro que los ranquea desde sistemas ajustados en los cuales existe un mecanismo de control centralizado y una base de conocimiento compartida para aquellos en los cuales el control y el conocimiento estan completamente distribuidos, de hecho, por supuesto, la mayoria de los sistemas de razonamiento distribuidos se encuentran en algun lugar intermedio. Esta definición tambien incluye a los sistemas que estan distribuidos en distintos niveles de granularidad, aunque no se intenta incluir sistemas con muy fina granularidad ( tales como sistemas de conección en los cuales los nodos individuales no realizan razonamiento en el mismo sentido en que se a utilizado este termino ).

Para muchos tipos de aplicaciones, los sistemas de razonamiento distribuido tienen muchas ventajas sobre los sistemas monolíticos, estas ventajas pueden incluir:

1. Modularidad del sistema: Es mas facil construir y mantener una colección de modulos independientes que uno grande.

2. Eficiencia: No todo el conocimiento es necesario para realizar todas las tareas, si lo modularizamos, ganamos la habilidad de enfocar los esfuerzos del sistema en la resolución del problema de maneras que pueden resultar mas útiles

3. Rápida arquitectura de computadoras: Como resolvedoras del problema se pone mas complejo, ellas necesitan mas y mas ciclos, aunque las maquinas continúan haciéndose mas rápidas, los verdaderos aceleramientos provienen no de un simple procesador con una gran memoria asociada, pero para los clusters de los procesadores pequeños, cada uno con su propia memoria, los sistemas distribuidos tienen mejores posibilidades de explotar ese ti 00 de arquitectura

4. Razonamiento heterogéneo: Las técnicas de solución de problemas y los formalismos de la representación del conocimiento que son mejores para trabajar en una parte del problema puede no ser la mejor manera de trabajar en alguna otra parte.

5. Múltiples perspectivas: El conocimiento requerido para solucionar un problema puede no residir en la cabeza de una sola persona. Es muy difícil hacer que mucha gente construya una sola coherente base de conocimiento y algunas veces es imposible por que sus modelos de dominio son inconsistentes.

6. Problemas distribuidos: Algunos problemas están inherentemente distribuidos, por ejemplo, puede haber diferentes datos disponibles en todas las diferentes distribuciones físicas.

7. Contiabilidad: Si un problema es distribuido entre agentes en diferentes sistemas, la solución de problemas puede continuar incluso si un sistema falla.

Una arquitectura para el razonamiento distribuido puede proporcionar:

1. Un mecanismo para asegurar que las actividades de varios agentes en el sistema están coordinadas así que el sistema de resolución de problemas logre su meta de manera global.

16

Page 17: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

2. Una estructura de comunicación que permita que la información circule hacia delante y hacia atrás entre los agentes o módulos.

3. Versiones distribuidas de las técnicas de razonamiento necesarias. Estos mecanismos es probable que difieran de sus contrapartes monolíticas ya que ellos presumiblemente operan en un juego de bases del conocimiento locales en vez de una global una que pueda presumirse que posee un juego de propiedades global (así como consistencia).

Arquitectura de pizarrón (R)

La idea detrás del acercamiento de pizarrón en simple, el sistema completo consiste en:

1. Un juego de módulos independientes llamados fuentes del conocimiento (KS's knowledge sources) los cuales contienen el dominio del conocimiento especifico del sistema.

2. Un pizarron, el cual es la estructura de la información compartida por la cual las bases del conocimiento se comunican entre si.

3. Un sistema de control, el cual determina el orden en que las bases del conocimiento operaran en las entradas del pizarrón.

Para ver como estas piezas trabajan juntas vamos a ver al sistema HEARSAY-II las fuentes del conocimiento corresponden a los niveles de conocimiento acerca del lenguaje (silabas, palabras, frases y oraciones), y las tareas están a discusión. El pizarrón contiene hipótesis acerca de interpretaciones en cada uno de estos niveles. El control se realiza por una fuente especializada del conocimiento que razona acerca de estos factores como costo de ejecución y posibilidades de lograr un resultado. Cuando una fuente del conocimiento es activada ( como se describe abajo) esta examina el contenido actual de el pizarron y aplica su conocimiento ya sea para crear una nueva hipótesis y escribirla en el pizarron o para modificar una existente, Aunque la ejecución del sistema HEARSAR-II completo consiste en la ejecución asíncrona de la colección de las fuentes del conocimiento, la ejecución de una fuente individual es un proceso secuencial. Una vez que la fuente del conocimiento es activada se ejecuta sin ser interrumpida hasta que termina.

Las hipótesis en el pizarron estan organizadas a lo largo de dos dimensione: nivel (desde el pequeño, hipótesis de bajo nivel acerca de sonido individuales a los largos, alto nivel acerca del significado de una oración completa) y tiempo La meta del sistema es la de crear un sola hipótesis que represente la solución a un problema.

Sistemas multiagentes (arquitecturas). Estructuras y ambientes (R)

La forma mínima de los sistemas de razonamiento distribuido es aquel en el que un simple agente:

1. Descompone la meta en sub metas, y 2. Asigna las sub metas a otros varios agentes.

Este tipo de razonamiento es usualmente llamado planeación multiagente. El primer paso, la descomposición del problema, es esencial lo mismo es para un sistema de planeación de un simple agente.

De una manera ideal los resultados de la descomposición son un juego de subproblemas que son mutuamente independientes.

17

Page 18: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Una vez que la descomposición del problema se ha llevado a cabo, los subproblemas deben asignarse a los agentes disponibles para su ejecución, a este punto la planeación distribuida difiere de la planeación de un simple agente de las siguientes maneras:

1. A menos que todos los agentes esclavos sean idénticos, el agente amo debe tener acceso a los modelos de las capacidades de los varios esclavos. Estos modelos hacen posible distribuir tareas a los agentes que tienen la mejor disposición para realizar las tareas.

2. Aun si todos los agentes esclavos son idénticos, el amo debe realizar un balance para asegurarse de que el total de las metas se realicen tan rápido como sea posible.

3. Una vez que las tareas han sido distribuidas, la sincronización entre los esclavos es necesaria a menos que todas las tareas sean completamente independientes.

Consideremos este ultimo punto con mas detalle. Suponga que la tarea es hacer la corrección de la escritura en un documento con varios capítulos, y después imprimirlo. Podemos distribuir esto entre varios agentes correctores de escritura y un agente de impresión. Pero para obtener el resultado deseado, necesitamos asegurar que el agente de impresión no comience a imprimir ningún capitulo hasta que la corrección del mismo haya terminado. El razonamiento distribuido explota una gran variedad de técnicas de sincronización para garantizar esto, ponderándolas desde las mas simples hasta las mas complejas, estas técnicas mas sofisticadas requieren que a cada agente esclavo se le diga algo de información acerca de los otros esclavos al tiempo que se le asigna la tarea.

Para tareas relativamente simples, varios agentes se pueden comunicar de manera efectiva entre ellos con solo anunciar cuando cada uno de ellos termina su tarea. Para otro tipo de tareas no es suficiente con solo saber cuando otro agente a terminado sus deberes, también puede ser necesario conocer el estado en que se encuentra el sistema durante la ejecución de las tareas por ejemplo suponga que existe un solo recurso que varios agentes comparten tal como un aparato de E/S entonces algún agente puede necesitar conocer el estado actual del aparto, si alguien lo esta utilizando, para soportar este tipo de interacción es útil introducir un modelo basado en estados, en el cual cada acción disponible es catalogada como una secuencia de cambio de estados. Varios agentes pueden compartir un solo modelo en el cual ellos también deben informar a los otros agentes relevantes cuando realicen un cambio a sus estados internos, lo cual puede ser importante de manera externa.

II. Búsqueda y juegos

1. Conceptos básicos

Representación de espacio de estados (R) Representación de estados: En la solución de problemas, se plantea una descripción completa del estado inicial y las acciones se representan mediante un programa que genere caracterizaciones de estado cabales. Por lo tanto, todas las representaciones de estado son cabales. En la mayoría de los problemas, un estado es una estructura de datos simple: un permutación de las piezas del acertijo de las ocho fichas, la ubicación del agente en un problema sobre determinación de ruta, o la disposición de seis personas en la lancha del problema de los misioneros y caníbales. Las representaciones del estado se emplean sólo en la generación de sucesor en la evaluación de una función heurística y la prueba de meta.

Espacio de conjunto de estados: En el caso de los problemas de estado múltiple sólo hay que hacer algunas ligeras modificaciones: un problema está formado por un conjunto de estados iniciales; un conjunto de operadores especifican

18

Page 19: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

cada una de las acciones del conjunto de estados que se alcanza a partir de un estado determinado; la prueba de meta y la función del costo de ruta siguen funcionando como antes.

Se aplica un operador a un conjunto de estados mediante la unión de los resultados obtenidos al aplicar el operador a cada uno de los estados de conjunto. Ahora mediante una ruta se conectan los conjuntos de estados y la solución es ahora una ruta que conduce a un conjunto de estados todos los cuales son estados meta.

Espacio de conjunto de estados: En el caso de los problemas de estado múltiple sólo hay que hacer algunas ligeras modificaciones: un problema está formado por un conjunto de estados iniciales; un conjunto de operadores especifican cada una de las acciones del conjunto de estados que se alcanza a partir de un estado determinado; la prueba de meta y la función del costo de ruta siguen funcionando como antes.

2. Sin información

Búsqueda en profundidad y a lo ancho (R, E, RP)

Búsqueda preferente por profundidad

En esta búsqueda siempre se expande uno de los nodos que se encuentre en lo más profundo del árbol. Sólo si la búsqueda conduce a un callejón sin salida (un nodo sin meta que no tiene expansión), se revierte la búsqueda y se expanden los nodos de niveles menos profundos. La implantación de la anterior estrategia se realiza mediante la búsqueda y se expanden los nodos de niveles menos profundos. La implantación de la anterior estrategia se realiza mediante Búsqueda-General con una función de lista de espera que va poniendo los estados recién generados a la cabeza de tal lista. Puesto que el nodo expandido fue el más profundo, los respectivos sucesores estarán a profundidades cada vez mayores. El desarrollo de la búsqueda se ilustra en la siguiente figura:

19

Page 20: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

En la búsqueda por profundidad el volumen de memoria necesario es bastante modesto. Como se muestra en la figura, sólo es necesario guardar solo la ruta que vaya del nodo raíz al nodo hoja, junto con los nodos restantes no expandidos, por cada nodos de la ruta. Si un espacio de estados tiene un factor de ramificación b y profundidad máxima m la cantidad de memoria necesaria en una búsqueda por profundidad será sólo de bm nodos, en contraste con la cantidad de bd necesaria en una búsqueda preferente por amplitud, si la meta más inmediata se encuentra a una profundidad d.

La desventaja de la búsqueda por profundidad es la posibilidad de que se quede estancada al avanzar por una ruta equivocada. En muchos problemas, los árboles de búsqueda son muy profundos, o hasta infinitos, por lo que una búsqueda por profundidad nunca será posible recuperarse de alguna desafortunada opción en uno de los nodos que están cerca de la parte superior del árbol. La búsqueda proseguirá siempre en sentido descendente, sin hacia atrás, aún en el caso de que exista una solución próxima. Por lo tanto, en estos problemas, la búsqueda preferente por profundidad o se queda atorada en un bucle infinito y nunca es posible regresar al encuentro de una solución, o a la larga encontrará una ruta de solución más larga que la solución óptima. Esto quiere decir que la búsqueda preferente por profundidad ni es la más completa ni la más óptima. Esto quiere decir que la búsqueda preferente por profundidad ni es la más completa ni la más óptima, por ello, cuando hay árboles de búsqueda con prolongadas o infinitas profundidades máximas hay que evitar el empleo dela búsqueda preferente por profundidad.

Con esta búsqueda se eliminan las dificultades que conlleva búsqueda preferente por profundidad al imponer un límite a la profundidad máxima de una ruta. Para implantar tal límite se utiliza un algoritmo especial de búsqueda limitada por profundidad, o utilizando el algoritmo general de búsqueda con operadores que se informan constantemente de la profundidad. Por ejemplo, si en el mapa de Rumania hay 20 ciudades, sabemos que en caso de que exista una solución, está deberá tener como máximo 19 ciudades. L implementación del límite de profundidad se lleva a cabo utilizando operadores del tipo "si usted se encuentra en la ciudad A y hasta allí ha recorrido una ruta que incluya menos de 19 pasos, proceda a generar un nuevo estado en la ciudad B con una longitud de ruta que sea una unidad mayor". Este nuevo conjunto de operadores garantiza que de existir, se encontrará la solución; lo que no se garantiza es que la primero solución encontrada sea necesariamente la más breve; la búsqueda limitada por profundidad es completa, pero no optima, Incluso de escogerse un limite de profundidad excesivamente pequeño, la búsqueda limitada por profundidad ni siquiera será completa. La complejidad espacio-temporal de búsqueda limitada por profundidad es similiar a la búsqueda preferente por profundidad. Requiere un tiempo de 0(b1) y un espacio de O(bl) en donde I es el limite de la profundidad.

Búsqueda Limitada por profundidad

En este caso primero se expande el nodo raíz, y luego todos los nodos generados por éste; luego, sus sucesores, y así sucesivamente. En general, todos los nodos que están en la profundidad d del árbol de búsqueda se expanden antes de los nodos que estén en la profundidad d + 1.

Búsqueda Preferente por similitud a lo ancho

Para implantar una búsqueda preferente por amplitud se utiliza un algoritmo Búsqueda-General con una función de lista de espera mediante la que se van poniendo los estados recién generados al final de la lista, a continuación de todos los estados generados previamente.

La de la búsqueda preferente por amplitud es una estl-ategia bastante sistemática, pues primero toma en cuenta todas las rutas de longitud 1, luego las de longitud 2, etc. En la siguiente figura se muestra el avance de la búsqueda efectuada en

20

Page 21: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

un sencillo árbol binario. En caso de haber solución, es seguro que ésta se encontrará mediante la búsqueda preferente por amplitud; si son varias las soluciones, este tipo de búsqueda permitirá siempre encontrar primero el estado meta más próximo.

En función de los cuatro criterios, la búsqueda preferente por amplitud es muy completa y óptima, siempre y cuando el costo de rutas sea una función que no disminuya al aumentar la profundidad del nodo, (por lo general, esta condición se cumple sólo cuando el costo de todos los operadores es el mismo. )

Las principales desventajas de este método de búsqueda son la cantidad de tiempo y de memoria para realizar la búsqueda.

3. Con información

Hill-climbing, best-first, beam-search y A* (R, E, RP)

En la siguiente figura se muestra el algoritmo de ascenso de cima, simplemente se trata de un bucle que constantemente se desplaza en la dirección de un valor ascendente. Como el algoritmo no mantiene un árbol de búsqueda, la estructura de datos del nodo solo tiene que registrar el estado y su evaluación, denominado VALOR. Una mejora importante es que cuando existe más de un sucesor idóneo que escoger, el algoritmo selecciona uno de ellos al azar. Esta sencilla política tiene tres bien conocidas ventajas:

1. Máximos Locales: Un máximo local, contrariamente a un máximo global, es una cima cuya altura es inferior a la cima más alta de todo el espacio de estados. Una vez que ha alcanzado un máximo local, el algoritmo para, no obstante que todavía la solución diste de ser satisfactoria2. Planicie: Las planicies son áreas del espacio de estados en donde la función de evaluación básicamente es plana. La búsqueda realizará un paseo al azar.

3. Riscos: Las laderas de algunos riscos tienen pendientes muy pronunciadas, por lo que es fácil para una búsqueda llegar a la cima del risco; sin embargo, puede suceder que la pendiente de tal cima se aproxime demasiado gradualmente a un pico a menos que existan operadores que se desplacen directamente por la cima del risco, I búsqueda oscilará de una lado al otro, obteniendo muy poco avance.

Function hill-climbing(problem)returns a solution state Función Ascenso de cima(problema)respondecon un estado de solución Entradas: problema, un problema

21

Page 22: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Estatico: actual, un nodo Siguiente, un nodo

Actual Hacer - Nodo(estado inicial [problema]) Bucle hacer Siguiente el sucesor de actual de más alto valor Si VALOR[siguiente]<VALOR[actual]entonces responde con actual Actual siguiente

El algoritmo de búsqueda por ascenso de cima

Best- first

La búsqueda preferente por lo mejor es una Búsqueda-General en la que los nodos de costo mínimo (de acuerdo con cierta medida) son los que se expanden primero.Si se desea utilizar el algoritmo de Búsqueda-General , en lo único que podrá utilizarse es la función lista de espera, mediante la cual se define el nodo que en turno toca expandir. Por lo general, el conocimiento en que se apoya esta decisión es obtenido desde una función de evaluación, la cual produce un número que sirve para representar lo deseable(o indeseable) que sería la expansión de un nodo. Cuando loS nodos se ordenan de manera tal que se expande primero aquél con mejor evaluación, entonces se llama Búsqueda preferente por lo mejor. Como puede observarse en la siguiente figura, su implantación se puede efectuar directamente mediante Búsqueda-General. El nombre búsqueda preferente por lo mejor es impreciso, al fin y al cabo si en verdad fuese posible expandir desde un principio el mejor nodo, en realidad no se trataría de una búsqueda; sería encaminarse directamente a la meta. Lo que sucede es que se escoge es el nodo que parece ser el mejor, según lo aconsejado por la función de evaluación. Si esta es omnisciente, el nodo verdaderamente será el mejor; en realidad, a veces la función de evaluación no opera y da al traste con la búsqueda. No obstante lo anterior, seguirá empleándose el término "búsqueda preferente por lo mejor"

Function best-first-search(problem,Eval-Fn)return a solution sequence Función Búsqueda-preferente-por lo major (problema, Función- evaluación)responde con una secuancia de solución Entradas: problema, un problema Función-Eval, una función de evaluación Función-Lista de espera una función que ordena los nodos mediante Función-Eval Responde con Búsqueda-General(problema,Función-Lista de espera)Implantación de una búsqueda preferente por lo mejor, utilizando el algoritmo general de busqueda

Así como existe toda una familia de algoritmos Búsqueda-General, con distintas funciones de ordenamiento, también existe una familia de algoritmos de Búsqueda-preferente-por lo mejor, que consta de diversas funciones de evaluación. Puesto que su objetivo es encontrar soluciones de bajo costo, por lo general en estos algo ritmos se utiliza alguna medida estimada del costo de la solución, y se hace esfuerzos por reducir esta medida al mínimo.

Beam-Search

Esta es una variación de la búsqueda preferente por lo mejor, donde solo los nodos en estados mas prometedores se mantienen para una futura consideración. Este procedimiento es mas eficiente con respecto a la memoria pero introduce la posibilidad de perder una solución en conjunto con la búsqueda en el árbol muy temprana.

Reducir al mínimo el costo de la ruta total: búsqueda A*

La búsqueda avara busca permitir reducir al mínimo el costo de la meta, h(n) , con lo que también se reduce en forma considerable el costo de la búsqueda. Desafortunadamente, este tipo de búsqueda no es óptimo ni tampoco completo. Por otra parte, la búsqueda por costo uniforme, reduce al mínimo el costo de la ruta, g(n); es óptima y completa, pero puede ser muy ineficiente. Sería bueno poder utilizar ambas estrategias para así combinar las ventajas que ofrecen. Afortunadamente sí es posible hacerlo, al combinar las dos funciones de evaluación mediante una suma:

22

Page 23: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

F(n) = g(n) + h(n)

Dado que con g(n) se calcula el costo de la ruta que va del nodo de partida al nodo n, y h(n) es el costo estimado de la ruta más barata que va de n a la meta. tenemos Que:

F(n) = costo estimado de la solución más barata, pasando por n

Es decir, si lo que se trata es de encontrar la solución que sea más barata, entonces es razonable probar primero en el nodo cuyo valor de f sea el más bajo. Lo interesante de esta estrategia es que no sólo es razonable, sino que se puede demostrar que es compleja y óptima, dada una sencilla restricción de la función h. La restricción consiste en escoger una función h que nunca se sobreestima el costo que implica alcanzar la meta. A tal h se le conoce como heurística admisible. Por naturaleza este tipo de heurísticas son optimistas, pues consideran que el costo para resolver un problema siempre es inferior a lo que en realidad es. Este optimismo se transfiere a la función f: si h es aceptable, f(n) nunca sobreestimara el costo real de la mejor solución que pase por n. A la búsqueda preferente por lo mejor en la que se utiliza f como la función de evaluación y una función h aceptable se le conoce como búsqueda A*.

Completez de A* Anteriormente se menciono que A * expande los nodos por orden de f creciente, finalmente hará una expansión que le permita llegar al estado meta. Esto es cierto, desde luego, a menos que haya una cantidad infinita de nodos es : (a), haya un nodo con un factor de ramificación infinito, o (b), haya una ruta con costo de ruta finito, pero con una cantidad infinita de nodos a lo largo de ella. Por lo tanto, el enunciado correcto consiste en afirmar que A* es completa en gráficas localmente finitas (gráficas con un factor de ramificación finito ), suponiendo que exista una constante positiva f de manera que todos los operadores cuesten por lo menos f.

Complejidad de A* El que entre todos los algoritmos, la búsqueda A* sea completa, óptima y óptimamente eficiente, es muy alentador. Sin embargo, esto no significa que A* sea la solución para todos nuestro problemas de búsqueda. La dificultad reside en que, para la generalidad de los problemas, la cantidad de nodos que están dentro del espacio de búsqueda en el contorno de la meta, sigue siendo exponencial a lo largo de toda la solución. Se ha demostrado que el crecimiento exponencial se produce a menos de que el error en la función heurística no crezca más rapido que el logaritmo del costo real de la ruta. Expresada matemáticamente, la condición para el crecimiento subexponencial es:

I h(n)-h *(n)1 <O(Logh *(n))

En donde h*(n) es el costo real para ir de la n a la meta. En casi todas las heurísticas que se emplean en la practica, el error es al menor proporcional al costo de la ruta, y el crecimiento exponencial resultante al final rebasa la capacidad de cualquier computadora. Desde luego que el empleo de una buena heurística significa ahorros significativos en comparación con el caso de una búsqueda no respaldada con información.

El tiempo de computo no es la principal desventaja de A*. Debido a que guarda en la memoria todos los nodos generados, por lo general A * se queda sin memoria mucho antes de agotar el tiempo. Hay algo ritmos de reciente invención que han logrado resolver el problema de la memoria sin ir en detrimiento de la completez y condición optima.

4. Juegos

23

Page 24: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Minimax

Ahora consideraremos el caso general de un juego con dos participantes, al que se denominará MAX y MIN, por razones que mas adelante se verán. MAX es el que inicia el juego, y loS jugadores alternan su participación hasta que concluye el juego. Al final de éste se dan puntos al vencedor (otras veces se asignan castigos al perdedor). Una definición formal de juego sería la de un tipo de problema de búsqueda integrado por lo siguiente:

El estado inicial, que incluye la posición en el tablero y una indicación de quién toca jugar. Un conjunto de operadores, quienes definen qué jugadas están permitidas a un jugador. Una prueba terminal que define el término del juego. Los estados en donde termina el juego se denominan estados

terminales. Una función de utilidad (también conocida como función de resultado) asigna un valor numérico al resultado

obtenido en un juego. En el caso del ajedrez, los resultados posibles son ganar, perder o empatar, lo que se puede representar mediante los valores numéricos +1' -1 o O. En algunos juegos son mas los posibles resultados; por ejemplo, los posibles resultados de un juego de backgammon varían entre +192 y –192.

Si se tratara de un problema de búsqueda normal, lo único que tendría que hacer MAX es determinar la secuencia de jugadas que conduzca a un estado terminal ganador (de acuerdo con lo indicado por la función de utilidad), y proceder a efectuar la primera jugada de la secuencia. Desafortunadamente, en esto MIN también tiene algo que decir. Por lo tanto, MAX tiene que encontrar una estrategia que lo conduzca a un estado terminal ganador, independientemente de lo que haga MIN; en la estrategia de 10 anterior define la jugada correcta MAX considerando todas las posibles jugadas de MIN. Empezaremos por mostrar cómo determinar la estrategia óptima (o racional), aun cuando normalmente no haya suficiente tiempo para calcularla.

En la primer figura se muestra parte del árbol de búsqueda correspondiente al juego tres en línea. En el estado inicial, MAX puede elegir nueve jugadas posibles. El juego alterna entre las X que ponga MAX y las O que ponga MIN, hasta llegar a los nodos hoja correspondientes a los estados terminales; estados en donde un jugador logra poner tres marcas en línea, o cuando se llenan todos los cuadros. El número de cada nodo hoja indica el valor.

de utilidad del estado terminal desde el punto de vista de MAX, los valores alto se consideran buenos para MAX y malos para MIN (esta es la razón de la asignación de sus respectivos nombres). Toca MAX utilizar el árbol e búsqueda ( en especial la utilidad de estados terminales) para determinar cual es la mejor jugada. Incluso juegos tan simples como tres en línea son demasiado complejos como para permitir mostrar todo el árbol de búsqueda, por lo que ahora veremos el juego totalmente trivial de la segunda figura, las jugadas posibles para MAX se identifican como A 1 I A2 y A3. Las posibles respuestas de M I N a A 1 son A 11 I A 12 y A 13 etc. El juego termina luego de que tanto MAX como MIN hacen una jugada. (En la jerga de los juegos, se dice que la profucndidad del juego es de uno, consta de dos medidas jugadas o dos capas). Las utilidades de los estados terminales de este juego van de 2 a 14. El algoritmo mínimax sirve para determinar la estrategia óptima para MAX, y decidir así cual es la mejor jugada. Los algoritmos se componen de cinco pasos: 1. Generación de todo el árbol de juego, completamente hasta alcanzar los estados terminales.

2. Aplicación de la función de utilidad a cada estado terminal y obtención de su valor respectivo.

3. Uso de la utilidad de los estados terminales para calcular la utilidad de los nodos del siguiente nivel superior del árbol de búsqueda. Considérense los nodos de hoja que están en el extremo izquierdo en la segunda figura. En el nodo que está arriba, MIN puede optar por desplazarse y lo mejor que MIN puede hacer es escoger A 11, que le produce

24

Page 25: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

el resultado mínimo 3. Es decir, aunque la función de utilidad no se pueda aplicar de inmediato a este nodo se le puede asignar elvalor de utilidad 3, suponiendo que MIN hará lo correcto. Por un razonamiento similar, a los otros dos nodos se les asigna el valor de utilidad2 .

Continuación del respaldo a los valores de los nodos hojas, en dirección a la raíz, una capa a la vez. Finalmente, los valores respaldados llegan a la parte superior del árbol; en ese sitio MAX elige la jugada que le

permita obtener el valor más alto. En el nodo del extremo\Superior de la segunda figura MAX puede optar por tres jugadas que le llevarán a estados cuya utilidad es 3, 2 y 2 respectivamente. Por lo tanto, la mejor opción de MAX para inicial el juego es A 11. A esta última se le conoce como decisión mínimas, por que permite obtener el máximo de utilidad bajo el supuesto de que el oponente jugará enteramente para reducirla al mínimo.

En la ultima figura se muestra una descripción más formal del algoritmo mínima. La función del nivel superior, DECISI6N -MNIMAX, escoge una de las jugadas disponibles, las que a su vez se evalúan mediante la función VALOR-MINIMAX.

Si la profundidad máxima del árbol es m y b representa las jugadas permitidas en cada punto, la complejidad en tiempo del algoritmo mínimas es O(b elevado a la m). El algoritmo es una búsqueda preferente por profundidad (si bien en este caso la implantación se realiza por repetición en vez de utilizar una lista de espera de nodos) por lo que la capacidad de memoria necesitada es lineal en M y B. Desde luego que en los juegos reales es absolutamente impractico usar el costo de tiempo, sin embargo este algoritmo es útil como punto de partida en el caso de métodos más realistas y en el análisis matemático de los juegos.

Function MíNIMAX-DECISION(game) returns an operator Función DECISlON-MINIMAXUuego) responde con un operador

Por cada op en operadores uuego] hacer Valor [op] valor-MINIMAX(aplicar(op,juego),juego) Terminar

Responde con el op de Valor más elevado[op]

Function MíNIMAX-VALUE(state,game) return a utility value Funcion VALOR-MINIMAX(estado,juego) responde con un valor de utilidad

Si PRUEBA-TERMINAL[juego](estado) Responde UTILIDAD[juego]( estado )

25

Page 26: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

SI MAX se desplaza a un estado entonces Responde con el mayor valor de VALOR-MíNIMAX de sucesores(estado)

O bien

Responde con el mínimo VALOR-MINIMAX de sucesores(estado)

Un algoritmo para calcular decisiones mínimas. Produce el operador de la mejor de las jugadas posibles, es decir, aquélla cuyo resultado tiene la mejor utilidad, bajo el supuesto de que el juego del oponente intenta reducir al mínimo tal utilidad. La función VALOR-MINIMAX recorre la totalidad del árbol de juego, pasa por todas las hojas, a fin de obtener el valor respaldado de un estado.

Poda alfa-beta (R, E, RP)

Supongamos que se ha logrado implantar una búsqueda mínimas que cuenta con una función de evaluación razonable para el ajedrez y una razonable prueba de suspensión con una búsqueda de reposo. Contando con un programa bien elaborado, y una computadora normal, probablemente se podrán buscar 1000 posiciones por segundo ¿Qué tan bien jugara el programa? En los torneos de ajedrez, se dispone de unos 150 segundos para cada jugada, por lo que hay tiempo para explorar 150,000 posiciones. En el caso del ajedrez, el factor de ramificación es de aproximadamente 35, es decir, el programa sólo podrá explorar tres o cuatro capas y su juego tendrá el nivel de novato incluso los jugadores humanos promedio pueden anticipar sus jugadas seis u ocho capas: nuestro programa perdería sin mayor dificultad.

Afortunadamente es posible calcular la decisión mínimax correcta sin tener que explorar todos los nodos del árbol de búsqueda. Al proceso para evitar la exploración de una de las ramas del árbol de búsqueda se le conoce como poda del árbol de búsqueda.

A la técnica que consideraremos en particular se le conoce como poda alfa-beta. Aplicada a un árbol mínimax estándar, produce la misma jugada que se obtendría con mínimax, pero elimina todas las ramas que posiblemente no influirán en la decisión final.

26

Page 27: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Considérese el árbol de juego de dos capas de la figura (5.2) mostrando nuevamente la figura (5.6). La búsqueda procede como en el caso anterior: A11 , A12, A 13; el nodo que está bajo A 1 tiene el valor mínimx de 3. Ahora continuamos con A2 y A21, cuyo valor es de 2. Podemos darnos cuenta ahora de que si MAX juega A2, MIN tiene la opción de llegar a la posición que vale 2, así como otras opciones cercanas. Así, ya es posible concluir que la jugada A2 para MAX es como máximo 2. Como ya sabemos que la jugada A 1 vale 3, no tiene caso seguir buscando más debajo de A2. Es decir, en este sitio se poda el árbol de búsqueda, y podemos estar seguros de que dicha poda no repercutirá en el resultado.

El principio general es el siguiente: considérese un nodo n del árbol (fig 5.7), tal que exista la posibilidad de que el jugador pueda ir a ese nodo. Si el jugador tuviera una mejor opción m ya sea en el nodo padre de n o en cualquier punto de elección posterior, en un juego real nunca se alcanzará n. Es decir, una vez que se cuenta con suficiente información sobre n (mediante la exploración de algunos de sus descendientes) que permita llegar a esta conclusión, se procede a podar.

Recuérdese que la búsqueda minimx es preferente por profundidad, por lo que en todo momento es necesario considerar todos los nodos que están en un asola ruta del árbol. Sea a el valor de la mejor opción encontrada hasta entonces en un punto de elección a través de la ruta de MAX y sea 13 el valor de la mejor (valor más bajo) opción encontrada hasta entonces en un punto de opción a lo largo de la ruta de MIN. Conforme se efectua la búsqueda alfa-beta se van actualizando los valores de yy se poda el sub árbol (es decir, concluye la solicitud de repetición) en cuanto se determina que es peor que el valor actual de y

La descripción del algoritmo de la siguiente figura se divide en las funciones VALOR-MAX y VALOR-MIN. Las funciones anteriores se aplican a los nodos MAX y MIN respectivamente, aunque el efecto de ambas es el mismo: devolver el valor mínimx del nodo, excepto en el caso de nodos que hay que podar (en cuyo caso de todas formas se ignora el valor producido). La función de búsqueda alfa-beta es en si una copia de la función VALOR-MAX, con un código adicional para recordar y responder con la mejor jugada que se haya encontrado.

Function MAX-VALUE(state,game,, ) returns the minimax value of state FunciónVALOR-MAX(estado,juego,)responde con el valor minimax del estado Entradas; estado, estado actual del juego

Juego, descripción del juego mejor resultado para MAX a lo largo de la ruta a estado 13 mejor resultado para MIN a lo largo de la ruta a estado

Si SUSPENSIÓN-PRUEBA(estado) entonces responde con EVAL(estado) Por cada s en SUCESORES(estado) hacer

MAX(,VALORES-MIN(s,juego,,)) si a > O = responde entonces con

terminar responde

Function MIN-VALUE(state, game, ,) returns the minimax value of state

27

Page 28: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Función VALOR-MIN(estado, juego,,)responde con el valor mínimax del estado

Si SUSPENSIÓN-PRUEBA(estado) entonces responde con EVAL(estado) Por cada s en SUCESORES(estado) hacer

MIN (, VALOR-MAX(s, juego, ,)) si < O = responde con

Terminar Responde con

El algoritmo de la búsqueda alfa-beta realiza los mismos cálculos que un mínimas normal pero poda el árbol de búsqueda.

III. Aplicaciones

1. Sistemas basados en conocimientos

Arquitectura (R)

La naturaleza de la resolución de problemas durante la primera década de la investigación en inteligencia artificial residía en un mecanismo de búsqueda de propósito general en el que se entrelazaban pasos de razonamiento elementales para encontrar soluciones completas.

A estos procedimientos se les ha denominado métodos débiles, debido a que la información sobre el dominio con que cuentan es débil. La única forma de remediarlo es recurrir al uso del conocimiento adecuado a pasos de razonamiento más amplios, y resolver casos recurrentes en limitadas áreas de la experiencia. Podría afirmarse que para resolver un problema prácticamente es necesario saber de antemano la respuesta respecti

Ejemplos (MYCIN, Prospector, Dendral, etcétera) (R)

MYCIN (1976) Es un programa de diagnostico médico. Los factores de certeza fueron inventados para utilizarse por primera vez en el sistema experto MYCIN para la medicina, diseñado para funcionar como una solución de ingeniería y como un modelo de raciocinio humano en condiciones de incertidumbre.

MYCIN fue creado para el diagnostico de las infecciones sanguíneas, con un respaldo de 450 reglas era capaz de hacer diagnósticos tan buenos como los de un experto y mejores que los de un medico recién graduado. MYCIN tenia dos aspectos característicos, el primero las reglas era necesario obtenerlas a partir de amplias consultas con los expertos, quienes las habían obtenido de su experiencia directa en diversos casos, y en segundo lugar las reglas debían reflejar la incertidumbre inherente al conocimiento medico, MYCIN contaba con un calculo de incertidumbre denominado factores de certeza, que al parecer correspondía muy bien a la manera como los médicos ponderaban las evidencias al hacer un diagnostico.

Prospector (1979) provoco mucha publicidad al recomendar la realización de perforaciones de exploración en una ubicación geológica en donde se encontraron importantes depósitos de molibdeno, en este sistema se utilizo un sistema basado en reglas, en el que estas eran justificadas suponiendo una independencia global.

Dendral ( 1969) constituye uno de los primeros ejemplos del enfoque de los sistemas basados en conocimiento. Soluciono el problema de inferir una estructura molecular a partir de la información proporcionada por un espectometro de masas. El equipo DENDRAL concluyó que el nuevo sistema ofrece muchas posibilidades debido a que toda la información teórica necesaria para resolver estos problemas se correlaciono a partir de su forma general, en el [componente predico por el espectro] ("primeros principios"), con formas eficientes especiales.

28

Page 29: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

La trascendencia de DENDRAL fue la de ser el primer sistema de conocimiento intensivo que lograba funcionar, sus conocimientos se basaban en importantes cantidades de reglas para propósitos especiales.

CONVINCE (1983) Primer sistema experto en donde fueron utilizadas redes de creencia.

MUNIN (1989) Sistema para el diagnostico de desórdenes neuromusculares.

PATHFINDER (1991) Utilizado en patoloqía

Tipos (diagnóstico, diseño, etcétera) (R) Tipos de sistemas basados en conocimiento

1. Diseño 2. Diagnostico 3. Lógico 4. Médico 5. Comercial 6. Con incertidumbre 7. Con razonamiento de metanivel

2. Sistemas tutores inteligentes

Principales componentes (R)

La educación o enseñanza vista desde el punto de vista desde el punto de la informática tradicional es un sistema de control-

En los años 60 se aplico las teorías algorítmicas a la enseñanza mediante ordenador o enseñanza asistida por ordenador (E.A.O), basadas en el desarrollo por parte de la psicología de la enseñanza programada, entonces se diferencio los algo ritmos de enseñanza de los algoritmos que enseñan.

Un programa tradicional funciona según las respuestas del alumno (verdadera, errónea y el tipo de error cometido). Así al mismo error, le corresponde la misma respuesta por parte del ordenador, lo cual no siempre es correcto, pues un mismo error puede ser motivado por causas muy diversas.

En realidad, no debe corregirse el error, si no el motivo que lo ha generado, tras un diagnostico psicológico, está necesidad se apunta ya en los años 70, pero el desarrollo de la informática en esta época, no permite la implantación práctica de esta filosofia.

Los sistemas diagnosticadores y didácticos, pueden ser una realidad mediante el uso de los S.S.E.E, que permiten la EIAO -Enseñanza Inteligente Asistida por Ordenador.

Prototipaje: Por último tenemos la utilización frecuente de los lenguajes, herramientas y entornos adaptados a los S.S.E.E, para la realización de prototipos, debido a su fácil, manejo (entornos gráficos,...), flexibilidad (modularidad,...) y potencia (Lenguajes declarativos,...).

Ejemplos (NEOMYCIN, QUEST, SCHOLAR, etcétera) (R)

3. Herramientas de desarrollo

29

Page 30: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Shells de sistemas expertos (R)

Son sistemas híbridos llamados conchas de sistemas expertos, los cuales proveen aun ambiente completo (relativamente hablando) para la construcción de sistemas expertos basados en el conocimiento.

Inicialmente cada sistema experto que era construido era creado de marcos, usualmente en LISP, pero después de esto muchos sistemas han sido construidos de esta manera, se volvió claro que estos sistemas muy seguido tenían mucho en común en especial desde que los sistemas eran construidos como un conjunto de representaciones declarativas (en su mayoría reglas) combinadas con un interprete para estas representaciones, era posible separar el interprete del dominio especifico del conocimiento y después crear un sistema que pudiera ser usado para construir nuevos sistemas expertos mediante la adición de nuevo conocimiento correspondiente al nuevo problema. Los interpretes resultantes son llamados conchas.

Ahora existen varios conchas a la venta que sirven como la base para muchos sistemas expertos que se están construyendo. Estas conchas proveen de mucha flexibilidad en la representación del conocimiento y en el razonamiento. Estas generalmente soportan reglas, marcos, sistemas de mantenimiento de la verdad y una gran variedad de sistemas de razonamiento.

Las primeras conchas de sistemas expertos proveían mecanismos para la representación del conocimiento, y explicación. Después, herramientas para la adquisición del conocimiento se le agregaron, pero como experiencia el uso de estos sistemas para resolver problemas del mundo real fue creciendo se volvió claro que las conchas de los sistemas expertos necesitaban hacer algo mejor , necesitaban hacer mas fácil la integración de sistemas expertos con otros tipos de programas. Los sistemas expertos no pueden operar como una aspiradora, en mayor medida de la que los hombres pueden. Necesitaban acceso a las bases de datos corporativas y este acceso necesita ser controlado de igual manera como se hace para otros sistemas. Una de las principales características de una concha debe ser el proveer una interfase fácil de usar entre el sistema experto que esta escrito con la concha y una mas grande, debe contar con un ambiente de programación mas convencional.

Lenguajes de programación de alto nivel (OPS5, CLIPS) (R)

Estos sistemas utilizan implicación como elemnto primario de representación. El consecuente de cada implicación se interpreta como recomendación de la acción, y no como mera comclusión logica. Entre las acciones figuran inserciones y eliminaciones de la base de conocimientos asi como entrada y salida. Los sistemas de producción funcionan con un mecanismo de resolución de conflictos para decidir que acción emprender cuando son varias las que se recomiendan realizar. Pe OPS-%CLIPS,SOAR.

Ambientes de programación (R)

1. Programación orientada a objetos. 2. Programación dinámica.3. Programación evolutiva. 4. Programación funcional. 5. Programación lógica inductiva ILP (inductive logical programming).

C. Interacción humano-computadora

I. Aspectos generales

1. Introducción a la interacción humano-computadora

30

Page 31: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Orígenes y definiciones (R)

Interacción humano-computadora - IHC (o también humano-ordenador) es un área inter-disciplinaria. Tiene aspectos tanto prácticos (diseño de interfaces) como psicológicos (comportamiento humano con la máquina) y sociales. IHC existe como una disciplina en las facultades de Informática en varias Universidades de América Latina y España.

Una disciplina dedicada al desarrollo de técnicas de diseño, evaluación e implementación de sistemas interactivos para uso humano y a estudiar los fenómenos derivados del uso de dichos sistemas (Grupo de desarrollo de cursos en IHC de ACM) (solamente qué hace la gente en IHC)

Estudio de la gente, la tecnología computacional y las relaciones entre ambos con el objetivo de determinar formas más útiles de aprovechamiento de esta última [Dix et al.] (énfasis en el objetivo de IHC) .

Diseño de sistemas computacionales para ayudar a las personas a realizar sus actividades de manera productiva y segura [Preece 1994]. (énfasis en los beneficios de IHC).

Esta categoría de ODP contiene programas desarrollados aplicando criterios estudiados por IHC.

Se pueden enviar a esta categoría aplicaciones que de alguna manera amplían las capacidades de interacción que proporciona el software tradicional, sobre todo las que tratan de incorporar el lenguaje natural (hablado o escrito) en la interfaz de usuario y que tengan un propósito general. Si un programa de este tipo es una aplicación especializada, debe ir a la subcategoría de software que le corresponda.

Características deseables en un sistema interactivo funcionalidad adecuada (análisis y diseño de sistemas) integridad de datos (dbms’s) confiabilidad disponibilidad seguridad estandarización integración consistencia portabilidad

Factores humanos medibles en una interfaz

tiempo de aprendizaje velocidad de desempeño frecuencia de "errores" de usuario retención en el tiempo satisfacción subjetiva (no muy cuantificable)

II. Aspectos humanos

1. Características, capacidades y limitaciones cognitivas y perceptuales

Memoria y percepción (R)

La memoria

31

Page 32: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

entendida como la capacidad buena o pobre de retener en la mente tanto las experiencias recientes como aquellas que constituyen nuestro pasado. Es un factor muy importante dentro del aprendizaje puesto que, para avanzar hay que recordar lo anteriormente aprendido y por supuesto, es fundamental en lo que al lenguaje se refiere.

Hay diferentes tipos de almacenamiento. En la memoria sensorial los elementos no se procesan, constituye un nivel mínimo de codificación donde el sujeto no ejerce ningún control sobre esa información porque se encuentra a un nivel perceptual.

A la memoria a corto plazo o memoria reciente, se la considera el centro de la conciencia porque sostiene todos los pensamientos, la información y las experiencias de las que el individuo es consciente en un momento dado.

Finalmente, cuando se da un procesamiento profundo de la información, esta memoria inserta la información a un tercer nivel llamado memoria a largo plazo. En ella se acumulan aprendizajes y experiencias que vamos adquiriendo durante toda la vida. No tiene límites en su capacidad de almacenamiento pero si en el nivel de recuperación de lo almacenado, lo que es todo un consuelo porque quiere decir que sabemos más de lo que somos capaces de evocar.

Porque es importante conocer teorías sobre percepción La percepción es mas que solo visión Como se diferencian los enfoques constructivista y ecológico de percepción Porqué no se representan los objetos con todas sus caracteristicas en una interfaz Que es un indicador monocular de profundidad (monocular cue) Ejemplos de indicadores monoculares de profundidad Que son indicadores esteroscópicos de profundidad Cual es la aplicación actual más popular de los indicadores esteroscopicos de profundidad Que es parallax del movimiento Ventajas y desventajas de los diferentes tipos de modelado en 3D Como pueden mejorar la interfaz la codificación gráfica o por color Que es contaminación de color Cuando deben usarse códigos por color en la interfaz Que es un ícono y como mejora una interfaz gráfica

La percepción

podría definirse como un proceso mediante el cual, los estímulos son discriminados, seleccionados e interpretados. Pero, según entiendo, no se reduce sólo a sensaciones, sino que implica la estructuración de la realidad que depende tanto de las características de la misma, como de la situación interna del que percibe. Es por tanto, un proceso complejo por la relación dinámica que mantiene con los otros procesos cognoscitivos: memoria, atención, motivación, etc.

Como características básicas de la percepción destacan la objetividad y la generalización, categorías que le confiere el lenguaje. Así, con la percepción separamos y diferenciamos un objeto de otro (esto es una mesa y no una silla). Una vez categorizado, se generaliza paulatinamente, de acuerdo al desarrollo intelectual, hasta llegar a una abstracción desligada de los rasgos sensoriales (aplicamos el concepto de mesa a todo lo que se configura como tal mesa y la diferenciamos del resto).

Dentro de la percepción cabe hacer mención a las diferentes modalidades perceptivas. La modalidad a la que se le ha dado más importancia, en lo que respecta al lenguaje, ha sido la que conocemos como percepción visual que podemos definir como la facultad de reconocer y discriminar los estímulos visuales y de interpretarlos asociándolos con experiencias anteriores. Está integrada por cinco facultades: coordinación viso-motriz, percepción figura-fondo, constancia perceptiva, percepción espacial y relaciones espaciales.

La percepción auditiva depende de las características físicas del sonido, del funcionamiento del oído y de la capacidad para localizar la fuente del sonido. Actualmente se le concede gran importancia al oído en el aprendizaje, pues es el órgano de la comunicación por excelencia y traductor del sonido al grafismo y viceversa, de hecho las dificultades en

32

Page 33: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

algunas de las fases del lenguaje, devidos a deficiencias auditivas, pueden acarrear importantes transtornos en la escritura.

A través de la percepción háptica se puede extraer mucha información sobre un objeto a la que no se accedería nunca por la vista o el oído. El uso activo de dedos y manos no debiera faltar en un programa de enseñanza/aprendizaje de la escritura.

Procesos cognitivos (R)

Atención

Otro proceso cognitivo implicado en el aprendizaje del lenguaje es la atención. La importancia de este factor radica en el proceso selectivo que realiza debido a la imposibilidad de que el sistema nervioso procese todo lo que recibe, de esta manera, la atención focaliza y concentra aquello que el sujeto desea aunque, la atención, tambien puede ser involuntaria. Pinillos, define la atención como "un proceso de focalización perceptiva que incrementa la conciencia clara y distinta de un núcleo central de estímulos, en cuyo entorno quedan otros más difusamente percibidos".

En el proceso de aprendizaje, la atención es necesaria, bien para la selección de estímulos, bien para procesos de discriminación, de síntesis, etc. Las adquisiciones conceptuales se apoyan en los procesos de atención selectiva. Existe, por tanto, una correlación entre el rendimiento escolar y la atención y esto es algo de lo que somos conscientes todo profesional de la enseñanza. Se podría decir, que en muchos casos de dificultades de aprendizaje podríamos encontrar su origen en la falta de atención. Es por tanto, bajo mi punto de vista, la atención uno de los factores más determinantes que condiciona el proceso de aprendizaje.

Pensamiento y lenguaje

han sido ligados tradicionalmente hasta el punto de que los conductistas encuentran cierta identidad entre ambos procesos. Otro grupo de pensadores avalan la hipótesis de que el lenguaje depende directamente del pensamiento. Por otro lado otros estudiosos como Vigotsky o Bruner afirman que ambos procesos son interinfluyentes, teoría por la que personalmente también me decanto ya que entiendo que el pensamiento puede existir sin el lenguaje aunque el caso contrario no llegue a decirse que sea así.

Podríamos hablar de los diferentes niveles de procesamiento del lenguaje:

- perceptivo: nivel en el que a partir de una señal acústica o visual, de la extracción de los rasgos de las letras, nos permite la comprensión del lenguaje oral por otro escrito respectivamente.

- léxico: procesa todas las palabras que posee el sujeto reagrupadas en conceptos y categorías.

Otros dos niveles más son el de la frase y el del discurso, constituídos por proposiciones en los que se procesa el significado, se actualizan conocimientos y se resuelven problemas.

Nos queda hacer referencia de un proceso cognitivo de gran importancia en cualquier proceso de aprendizaje:

La motivación.

33

Page 34: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

El concepto de motivación nos viene dado de "motio" que significa movimiento. Un motivo es algo que empuja, que mueve a la acción. Podríamos definirla como el conjunto de condiciones que inician, guían y mantienen los comportamientos generalmente hasta que se logra una meta o la respuesta se bloquea. La motivación en el aprendizaje del lenguaje aparece como resultado de la interacción del sujeto con el medio y de la necesidad de comunicarse.

La motivación escolar es entendida como una técnica para promover el aprendizaje, no es algo externo, sino algo que desde el interior empuja al sujeto a una conducta. En consecuencia, el educador debe adecuar el contexto para que pueda darse esa motivación que, aún así, depende de factores internos del sujeto.

Todos los factores citados anteriormente son procesos cognitivos que interactúan entre si en cualquier aprendizaje y como no, en uno de los principales aprendizajes de todo individuo, como es el aprendizaje del lenguaje, tan importante para la adquisición de conocimientos posteriores.

De todos los procesos a los que nos hemos referidos, les concedo especial importancia, dentro del contexto educativo, al proceso de atención y motivación pues la experiencia me dice que en el defecto o carencia de estos dos elementos radica el origen del mayor porcentaje de fracasos escolares. El cómo captar la atención y mantener la motivación de nuestros alumnos debe ser un tema del que nos preocupemos todos los docentes a la hora de elaborar nuestros programas y a la hora de la práctica docente.

 

Ergonomía

Estudio de las relaciones entre hombre, máquina y ambiente durante una determinada actividad laboral, cuya finalidad es proporcionar al diseñador de máquinas o ciclos de trabajo las indicaciones necesarias para la realización de medios y ambientes que protejan al individuo y valoren plenamente sus capacidades y aptitudes.La ergonomía es básicamente una tecnología de aplicación práctica e interdisciplinaria, fundamentada en investigaciones científicas, que tiene como objetivo la optimización integral de Sistemas Hombres-Máquinas, los que estarán siempre compuestos por uno o más seres humanos cumpliendo una tarea cualquiera con ayuda de una o más "máquinas" (definimos con ese término genérico a todo tipo de herramientas, máquinas industriales propiamente dichas, vehículos, computadoras, electrodomésticos, etc.). Al decir optimización integral queremos significar la obtención de una estructura sistémica (y su correspondiente comportamiento dinámico), para cada conjunto interactuante de hombres y máquinas, que satisfaga simultánea y convenientemente a los siguientes tres criterios fundamentales: * Participación: de los seres humanos en cuanto a creatividad tecnológica, gestión, remuneración, confort y roles psicosociales. * Producción: en todo lo que hace a la eficacia y eficiencia productivas del Sistema Hombres-Máquinas (en síntesis: productividad y calidad). * Protección: de los Subsistemas Hombre (seguridad industrial e higiene laboral), de los Subsistemas Máquina (siniestros, fallas, averías, etc.) y del entorno (seguridad colectiva, ecología, etc.).

La ergonomía, también denominada como "ingeniería de factores humanos", es la ciencia aplicada de carácter multidisciplinar que tiene como finalidad la adecuación de los productos, sistemas y entornos artificiales a las características, limitaciones y necesidades de sus usuarios, para optimizar su eficacia, seguridad y confort.

En los últimos años la World Wide Web se ha convertido en un medio altamente popular para divulgación de información, que ha influido en todas las actividades sociales de la humanidad, incluyendo las formas de interacción entre las personas; sin embargo, se han creado una gran cantidad de sitios Web que presentan muy poca utilidad y usabilidad para el usuario, que pueden ser considerados responsables de desperdicio de tiempo del usuario navegando en la red, desmotivando su exploración y navegación, y creando una gran cantidad de tráfico innecesario en Internet.

El concepto de usabilidad es algo que ha sido difícil de definir. De acuerdo con la Organización Internacional de Normas (ISO), la usabilidad se define como la efectividad, eficiencia y satisfacción con los cuales usuarios específicos alcanzan metas específicas en un ambiente particular (ISO DIS 9241-11). La usabilidad está involucrada con hacer sistemas fáciles de aprender y fáciles de usar.

34

Page 35: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

El estudio de la interacción entre el humano y la computadora está principalmente involucrado con entender como pueden desarrollar actividades entre ambas partes, y como esos sistemas de interacción son diseñados, tomando el conocimiento, métodos y teoría de otras disciplinas, incluyendo ciencias sociales y físicas. Este estudio incluye partes fundamentales de la ergonomía debido a que esta disciplina se involucra con el entendimiento de como personas y computadoras pueden interactuar para desarrollar tareas existentes y nuevas, en una forma efectiva y eficiente. El usuario y la computadora comparten responsabilidades para desarrollar diferentes actividades, y juntos contribuyen a alcanzar el objetivo deseado.

El uso de los sitios Web como divulgadores de información presentan grandes ventajas en muchos campos de la vida humana, sin embargo también presenta aspectos que pueden disminuir su efectividad como medio de difusión de la información, si no son considerados en el diseño de las páginas y sitios Web.

Esta forma de difusión de la información provee grandes ventajas sobre otros medios de difusión, como por ejemplo, el hecho de poder realizar una difusión de la información a personas en diferentes y variados sitios geográficos, con la posibilidad de proveer textos, sonidos e imágenes informativas a diferentes niveles por el uso de ligas e hypertextos, dando a cada uno de los usuarios la posibilidad de contar con un diferente nivel de información dependiendo de sus necesidades; sin embargo, a pesar de las ventajas que ofrece este medio, el hecho de no considerar los factores ergonómicos del grupo de usuarios al que está dirigido el sitio puede derivar en un menor aprovechamiento e incomprensión de la información presentada por estos, con lo que el sitio no cumpliría su objetivo, o lo cumpliría parcialmente.

Uno de los problemas que se han encontrado en la comprensión de la información presentada en sitios y páginas Web ha sido la desorientación, ya que al navegar a través de las páginas y los sitios, el usuario pierde fácilmente la idea de la ruta seguida e incluso el objetivo de su búsqueda de información, desviándose hacia otros temas y olvidando volver a su objetivo inicial.

Basándose en el conocimiento ergonómico obtenido de estudios sobre la complejidad, uso de color, uso de iconos y símbolos, la densidad y tamaño de información en los tableros de control, diseño centrado en el usuario, y combinándolo con el conocimiento aportado por otras áreas que han contribuido al desarrollo de la ergonomía, se han desarrollado principios y guías ergonómicas para el diseño y evaluación de sitios Web que contribuyen a crear sitios que tengan una mejor usabilidad, ayudando además a evitar que el usuario presente desorientación durante la navegación en el sitio, y se tenga una mejor comprensión de la información divulgada.

 Alcances y Resultados

Los alcances de este trabajo son presentar la contribución de la ergonomía para el diseño y evaluación de sitios Web, presentar algunos problemas que se han encontrado en el uso de este tipo de divulgación de la información, y algunos principios y guías para el desarrollo y evaluación de estos sitios.

Se presentará el procedimiento, material y resultados de métodos objetivos y subjetivos de evaluación que se realizó por comparación entre dos sitios Web informativos, uno de los cuales fue diseñado considerando los principios y guías ergonómicas presentadas, y con un enfoque de diseño centrado en el usuario.

III. Interfaces

1. Diseño de interfaces

Principios y guías de diseño (R, E)

Usabilidad (R, E, RP)

Definimos Usabilidad de un sistema o herramienta como una medida de su utilidad, facilidad de uso, facilidad de aprendizaje y apreciación para una tarea, un usuario y un contexto dado.

35

Page 36: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

El peso relativo de cada una de estas medias está relacionado con el usuario, la tarea y el contexto. Por ejemplo, la facilidad de aprendizaje puede ser crucial para un producto y poco importante en otro.

Si bien no está incluida en la definición usual de usabilidad, se está comenzando a hablar de la evolución de estos factores a lo largo del tiempo. Por ejemplo, cómo una interfaz puede adaptarse al crecimiento en eficiencia y conocimientos de un usuario

Estudio sistemático de propiedades del software claves para su aceptación por el usuario: Facilidad de aprendizaje Eficiencia ( productividad) Memorabilidad (facilidad para recordar) Manejo de errores Satisfacción del usuario

¿Cómo medir?

Laboratorios de usabilidad Software para usabilidad

-> Ingeniería de usabilidad

Algunas heurísticas:

Aun el mejor diseño puede refinarse El usuario siempre tiene la razón El usuario no siempre tiene la razón El usuario no es un diseñador El diseñador no es un usuario Los directores no son usuarios (típicos) Entre menos, mejor (no al "fatware") Entre menos ayuda (se necesite), mejor

2. Paradigmas de interacción

De lenguajes de comandos a manipulación directa (R, E)

Lenguaje Natural

El usuario teclea instrucciones en su idioma Ventaja: natural Problemas: Ambiguo, vago, demasiados caracteres, lento... Soluciones: Vocabulario controlado, abreviaturas ... --> ¡lenguaje de comandos! Metáfora: Autómata

Manipulación Directa Los objetos de interés son representados de manera visible Acciones rápidas, reversibles, incrementales sobre los objetos Ventaja: Intuitivo, sin errores, retroalimentación inmediata, sensación de control Metáfora: Manipulación de objetos y herramientas Limitante: Espacios grandes de información y acciones

Extensiones a manipulación directa

Manipulación directa, paradigma exitoso pero también con límitaciones:

36

Page 37: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

a) Uso pleno de los sentidos

rastreo ocular (eye tracking) retroalimentación de fuerza (haptic interfaces) visión esteroscópica (ambientes virtuales) interfaces olfativas (?) sonido, reconocimiento y síntesis de voz

b) Espacios  de información de gran volumen, complejidad  y dinamismo visualización de información.

Ambientes virtuales e inmersión

El desarrollo de ambientes virtuales es costoso en la actualidad, pues requieren equipos especiales como cascos con recepción de escenas a alta velocidad con imágenes en tercera dimensión, sonidos especiales y controles de temperaturas. También pueden incluir el manejo de objetos con guantes especiales para manejarlos o sensores en el cuerpo humano para dar seguimiento al movimiento de la persona. En el caso del LDI no se usan este tipo de periféricos debido a su alto costo y por la audiencia tan grande a la que se desea llegar con estos laboratorios, pero se logran algunas de las condiciones que definen como aceptable la inmersión de una persona en los ambientes virtuales como son:

1. Que técnicamente sea lo suficientemente realista para que la persona reconozca el ambiente que se le presenta.

2. Que sea lo suficientemente interesante para que motive a la persona a prestar atención y participar.

3. Que sea relevante al dominio o tarea que se realiza.

Los ambientes virtuales de capacitación y práctica para los pilotos de aviación son los mayormente conocidos y utilizados a la fecha y una de las mejores analogías en lo que se refiere respecto a lo que se desea lograr con estos laboratorios.

Navegación (R, E)

La ciencia (o arte) de conducir un robot móvil mientras atraviesa un entorno (tierra, mar o aire) para alcanzar un destino o meta, sin chocar con ningún obstáculo.

Creación de mapas Planificación de caminos Conducción

1. Percepción del entorno 2. Fusión de sensores 3. Modificación/generación de mapas 4. Control de movimiento 5. Esquivar obstáculos

Visualización (R, E)

Visualización de Información 

Las bases de datos consisten de numerosos objetos con múltiples atributos Los usuarios están interesados sólo en un subconjunto Tipos de Datos

37

Page 38: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

o 1D: Lineales: Texto (memos, programas fuente, listas) o 2D: mapas geográficos, planos, tablas o 3D: Cuerpos, edificios, ... o Temporales: proyectos, historias o Multi-dimensionales: Rn, bases de datos relacionales o Árboles: taxonomías, directorios de archivos o Redes: relaciones complejas

Tareas del usuario: Ubicarse en vista panorámica Acercarse y alejarse (zoom) Filtrar Obtener detalles Relacionar Mantener una historia de acciones Extraer sub-colecciones

Agentes (R)

Definición: Cualquier parte o proceso de la mente/cerebro que resulte suficientemente sencillo de entender en su tarea. Las interacciones entre grupos de estos agentes pueden llegar a producir fenómenos más difíciles de entender.

El primero de estos monigotes refleja la esencia de un agente genérico. Describiendo esta gráfica estamos definiendo, al mismo tiempo, a un agente genérico (el ser humano, el robot, el agente de soporte lógico (software) - agente llamado softbot, haciendo un mix de software y robot [en castellano el mix sería logibot] - son casos particulares de agentes. Las percepciones y las acciones del logibot digital son cadenas de ceros y unos.

El agente puede ser:

autónomo:

38

Page 39: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Un agente autónomo es un sistema anidado y parte integrante de un ambiente (environment) y que detecta o percibe (percepts) datos ambientales, momento a momento, y actúa sobre él con la intención de usar (actions) esos datos para su propia tarea (task) o agenda, afectando así lo que va a detectar en el futuro, sin intervención de terceras partes (basado en Franklin y Greasser, 1996).

racional, que hace lo correcto, siendo "ideal" si hipoteticamente lo consigue del todo. inteligente, siendo aceptable cualquiera de las numerosas definiciones de inteligencia, por ejemplo, capaz de

aprender/adaptivo. activo, o sea que tiene en cuenta la gama de acciones abiertas a la elección y sus recompensas o penalidades. pro-activo donde más allá de actuar en respuesta a su mundo, lo hace tomando la iniciativa. meta-intensivo (orientado a metas), que elige las acciones que lo conducen a la meta, que intenta lograr

prioritariamente. modelo-intensivo, que tiene internalizado un cierto modelo del mundo y lo respeta en sus acciones. utilidad-intensivo, que se esfuerza por obtener un máximo de "felicidad". social-intensivo o de comunicación, capaz de comunicarse en algun lenguaje de comunicación para agentes

comprensible para otros. de planificación, parecido al agente problema-intensivo (orientado a resolver problemas y tomar decisiones) softbot o sea robot basado en un software (como los robots bidimensionales de Beer que mimetizan a un

invertebrado). reactivo cuando percibe perturbaciones en su mundo y responde a esa percepción de una manera actualizada

(adaptada). reflejo o tropista, que responde de inmediato y en forma bien definida a un tropismo, a una percepción

alarmante o beneficiosa (así un agente para el heliotropismo se orienta al sol).

Por "programa de agente" se entiende la vía que usa desde la percepción de su input y la acción de su output, pasando por estados internos de acuerdo con la función que cumple ese agente.

Las clases de Agentes

Tres vistas(opiniones) principales de agencia pueden ser distinguidas en la literatura. Primero, los informáticos e ingenieros de software han usado a agentes como una abstracción para conceptuar, diseñar y poner en práctica sistemas complejos. Esta clase de agentes se mencionará como agentes de programador. Segundo, los agentes pueden ser vistos como entidades que autónomamente emigran que actúan de parte de nodos de red en un ambiente distribuido. Esta clase será llamada agentes de red. Finalmente, han propuesto a agentes como una abstracción para usuarios finales para actuar recíprocamente con sistemas de ordenador. Esta vista(opinión) define la clase agentes de usuario llamados.

Agentes de Programador

Los informáticos se ocupan del hardware complejo y entidades de software. Los mecanismos de abstracción solieron describir el comportamiento de estas entidades varían extensamente. Los organigramas, organigramas de datos y modelos de objeto han sido artículos de mechanistic populares para visualizar la operación de autómatas. Como la complejidad de sistemas de software ha aumentado, animistic abstracciones han sido encontrados útil en la explicación del comportamiento de sistema. Considerando la familiaridad de los programadores con las entidades verdaderas mundiales que exponen las intenciones, atribuyendo la autonomía y la intención a componentes de sistema suministran un modo conveniente de describir, analizar y predecir la operación de sistemas enteros sin la remota preocupación(interés) sobre sus detalles internos. Esto es la perspectiva adoptada por Wooldridge y Jennings [1995a] para definir a un agente como un sistema coherentemente descrito por la postura intencional (en la referencia a Dennett [1987]). El énfasis aquí es en el modelado de los procesos realizados por el ordenador para la ventaja del programador. Como esta vista(opinión) madura, un acercamiento al desarrollo de software probablemente va a surgir bajo la bandera de ingeniería de software orientada por agente.

Agentes de Red

La comunicación en ambientes calculadores distribuidos a menudo confía en la llamada de procedimiento remota (RPC) protocolos. En RPC, un proceso de cliente invoca una acción remota por enviando a un mensaje (la inclusión de argumentos de datos) a un proceso de servidor y bloques antes de que una respuesta sea recibida con los resultados de las operaciones solicitadas [RPC 1988]. En aquel punto, llámese los resultados son extraídos y los curriculums vitae de

39

Page 40: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

ejecución del llamador. El tráfico de red puede aumentar dramáticamente como el número de clientes y el número y la complejidad de aumento de tareas.

Conecte una red a agentes ofrecen una alternativa a RPC. La comunicación de ordenadores puede suministrar el código de los procedimientos para ser ejecutados por máquinas remotas, permitiendo al cómputo emigrar al sitio donde los datos residen. Los mensajes enviados a través de la red incluyen instrucciones para ser ejecutadas y datos que reflejan el estado corriente del procedimiento. Cada procedimiento de ejecución es considerado un agente autónomo que puede decidir emigrar a un anfitrión diferente en la red según sus exigencias de tarea. Un agente puede comenzar a ejecutar sobre una máquina y, cuando otros recursos son necesarios, el salto a la máquina que tiene(ha) aquellos recursos, siguen realizar su cómputo allí y, si necesitado, emigrar otra vez. Realizando su trabajo en un anfitrión de encubrimiento, el proceso de emigración es considerado como un agente que representa los intereses de la máquina de enviar. Los agentes de red también se han mencionado como agentes móviles [1996 Blanco], agentes itinerantes [el Ajedrez et al. 1995] y agentes transportables [Color gris et al. 1996]. También han llamado el modelo móvil basado por agente para la informática distribuida el programa remoto [1996 Blanco].

La realización a agentes móviles requiere que ordenadores participantes estén de acuerdo sobre el juego de las instrucciones que pueden ser enviadas sobre la red y ejecutadas por recibiendo a anfitriones. Estas instrucciones constituyen un lenguaje de programación de agente móvil. Un motor capaz de interpretar tal lengua debe residir sobre cada anfitrión participante. Un acercamiento natural al suministro de un ambiente seguro es de poner en práctica agencias como intérpretes capaces de supervisar instrucciones siendo(estando) ejecutadas por agentes e instalaciones que proveen de la migración de agente y la recepción. Si agentes móviles deben comunicar con el uno al otro, las agencias deben suministrar mecanismos para agentes para encontrar y cambiar datos también. Las puestas en práctica del modelo de agentes móvil solamente(justo) comienzan a aparecer. Los proyectos notables en el desarrollo de instalaciones de agente móviles incluyen al Agente Tcl [el Color gris 1995], Ara [Peine 1995], TACOMA [Johansen et al. 1995] y Guión para la tele [1996 Blanco]. En todos los casos, los motores que pueden ejecutar las declaraciones en una lengua interpretada han sido puestas en práctica y las declaraciones que permiten a programadores transparentemente especificar la migración de agente y las reuniones de agente son centrales construye.

Agentes de Usuario

Los usuarios finales coherentemente han atribuido la autonomía y otros aspectos de agencia a sistemas de ordenador, hasta cuando esta vista(opinión) explícitamente no ha sido promovida por interfaces de usuario. Por ejemplo, en un experimento conducido por Friedman [1995], el ochenta y tres por ciento de los usuarios participantes atribuyó capacidades de toma de decisiones autónomas o intenciones a programas del ordenador. Un natural siguiente(próximo) intervienen el desarrollo de interfaces de ordenador humano debe hacer la abstracción de agente explícitamente disponible a los usuarios finales. Tal como los reveladores de software usan al programador y conectan una red a agentes como abstracciones para enfrentarse con la complejidad de diseño de sistema, los usuarios finales mejor pueden ocuparse de la complejidad de sistema por viendo programas como animistic entidades

Interfaces multiusuario (groupware)

Groupware: Software para grupos de usuarios

Cambio de paradigma: de IHC a Interacción Humano-Humano mediada por computadora

Dificultades adicionales al diseñar groupware

o Aún no llegamos a conocer al individuo, menos al grupo o Roles múltiples o Factores sociales, motivacionales, políticos o Difícil observar grupos en acción

40

Page 41: Graficación, inteligencia artificial e interacción … · Web viewEl objetivo de la representación del conocimiento es expresar éste en forma manejable por la computadora, de

Factores que hacen que el groupware falle:

o Requiere de más trabajo y quien lo hace no es quien más se beneficia o Es "subversivo" (socava reglas y estructuras) o Requiere aun mayor flexibilidad (no manuales de procedimientos directamente, espacio para la

improvisación)

Dimensiones de groupware

mismo tiempo

diferente tiempo

mismo lugar

ej. juntas presenciales electrónicas

ej. trabajos por turno, salas de enfermeras

diferente lugar

ej. video conferencia, MUD's

ej. email, usenet BBSs.

Groupware: Algunos aspectos importantes Interfaz:

o Representación de objetos compartidos Metáforas WYSIWIS estricto vs. relajado Presencia y pertenencia al grupo (awareness) - telepointers Contacto visual

Desarrollo de groupware o Control de concurrencia o Ancho de banda o Toolkits especializados

41