Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Estudio de las Técnicas de Inteligencia Artificial mediante el apoyo de un Software Educativo (página 3)



Partes: 1, 2, 3, 4

Por ejemplo, en una red que se va a aplicar
al diagnóstico de imágenes
médicas; durante la fase de entrenamiento el
sistema recibe
imágenes de tejidos que se
sabe son cancerígenos y tejidos que se sabe son sanos,
así como las respectivas clasificaciones de dichas
imágenes. Si el entrenamiento es el adecuado, una vez
concluido, el sistema podrá recibir imágenes de
tejidos no clasificados y obtener su clasificación sano/no
sano con un buen grado de seguridad. Las
variables de
entrada pueden ser desde los puntos individuales de cada imagen hasta un
vector de características de las mismas que se puedan
incorporar al sistema (por ejemplo, procedencia anatómica
del tejido de la imagen o la edad del paciente al que se le
extrajo la muestra).

3.2.2.1 Estructura
RNA.

Están compuestas por unidades estructurales
también conocidas como neuronas, conectadas entre
sí. El modelo
básico de una neurona es el
siguiente:

Monografias.com

Figura III.3 Estructura Red Neuronal
Artificial

Típicamente las redes
neuronales poseen una capa de entrada (input layer), una capa
de salida (output layer), y una o varias capas ocultas
intermedias (hidden layers) [Vega, 2000].

La mayoría de los científicos coinciden en
que una RNA es muy diferente en términos de estructura de
un cerebro animal.
Al igual que el cerebro una RNA se compone de un conjunto
masivamente paralelo de unidades de proceso muy
simples y es en las conexiones entre estas unidades donde reside
la inteligencia
de la red. Sin embargo, en términos de escala, un
cerebro es muchísimo mayor que cualquier RNA creada hasta
la actualidad, y las neuronas artificiales también son
más simples que su contrapartida animal.

Biológicamente, un cerebro aprende mediante la
reorganización de las conexiones sinápticas entre
las neuronas que lo componen. De la misma manera, las RNA tienen
un gran número de procesadores
virtuales interconectados que de forma simplificada simulan la
funcionalidad de las neuronas biológicas. En esta simulación, la reorganización de las
conexiones sinápticas biológicas se modela mediante
un mecanismo de pesos, que son ajustados durante la fase de
aprendizaje.
En una RNA entrenada, el conjunto de los pesos determina el
conocimiento de esa RNA y tiene la propiedad de
resolver el problema para el que la RNA ha sido
entrenada.

Por otra parte, en una RNA, además de los pesos y
las conexiones, cada neurona tiene asociada una función
matemática
denominada función de transferencia. Dicha función
genera la señal de salida de la neurona a partir de las
señales
de entrada. La entrada de la función es la suma de todas
las señales de entrada por el peso asociado a la
conexión de entrada de la señal. Algunos ejemplos
de funciones de
transferencia son la función escalón, la lineal o
mixta, la sigmoidal y la función gaussiana.

La topología de una red neuronal estará
determinada por el número de neuronas que esta tenga, por
la forma en éstas estén ordenadas (en capas) y por
la naturaleza de
las conexiones presentes.

3.2.2.2 Características y Ventajas.

Las Redes de Neuronas
Artificiales (RNA) tienen muchas ventajas debido a que
están basadas en la estructura del sistema nervioso,
principalmente el cerebro [Daza, 1997].

  • Aprendizaje: Las RNA tienen la habilidad de aprender
    mediante una etapa que se llama etapa de aprendizaje. Esta
    consiste en proporcionar a la RNA datos como entrada a su vez
    que se le indica cuál es la salida (respuesta)
    esperada.

  • Auto organización: Una RNA crea su propia
    representación de la información en su
    interior, descargando al usuario de esto.

  • Tolerancia a fallos. Debido a que una RNA almacena
    la información de forma redundante, ésta puede
    seguir respondiendo aceptablemente aún si se
    daña parcialmente.

  • Flexibilidad: Una RNA puede manejar cambios no
    importantes en la información de entrada, como
    señales con ruido u otros cambios en la entrada (ej.
    si la información de entrada es la imagen de un
    objeto, la respuesta correspondiente no sufre cambios si la
    imagen cambia un poco su brillo o el objeto cambia
    ligeramente).

  • Tiempo real: La estructura de una RNA es paralela,
    por lo cual si esto es implementado con computadoras o en
    dispositivos electrónicos especiales, se pueden
    obtener respuestas en tiempo real.

  • Capacidad de Asociación
    (Generalización).

  • Seguridad ante caídas del sistema.

  • Procesamiento masivamente paralelo.

  • Representación y Procesamiento distribuido de
    la información.

3.2.2.3 Modelos.

Existe una serie de modelos que aparecen en la
mayoría de estudios académicos y la bibliografía
especializada.

Diferentes modelos de redes son utilizados para resolver
diferentes tipos de problemas. En
la siguiente tabla puede observarse algunos de los modelos
más utilizados y su campo de aplicación.

Monografias.com

Tabla III.1. Modelos y Campos de
Aplicación RNA

3.2.2.4 Arquitectura de
Redes Neuronales Artificiales.

Diferentes tipos de interconexión implican
diferentes comportamientos de la red. El flujo de la información puede ser unidireccional desde
la capa de entrada hacia la capa de salida (redes feedforward) o
bidireccional con retroalimentación (redes
recurrentes).

Por ejemplo, las redes que tienen flujo de datos
unidireccional (feedforward) son estáticas, es decir,
producen sólo un grupo de
valores de
salida en lugar de una secuencia de valores de salida para una
entrada dada, además sus salidas no dependen de los valores
anteriores de la red. Por otro lado las redes neuronales
recurrentes o realimentadas son sistemas
dinámicos. Según la arquitectura de la
conexión las redes neuronales se pueden clasificar, entre
otras, como: Red Neuronal Monocapa, Red Neuronal Multicapa y Red
Neuronal Realimentada.

Red Neuronal Monocapa: Las redes monocapa
están formadas sólo por una capa de neuronas, y
suelen utilizarse frecuentemente en tareas relacionadas con la
regeneración de información incompleta o
distorsionada que se presenta a la red.

Monografias.com

Figura III.4. Red Neuronal
Monocapa

Red Neuronal Multicapa: Son las estructuras
más comunes; además de la capas de entrada y
salida, poseen un número de capas intermedias u ocultas
que mejoran su desempeño.

Monografias.com

Figura III.5. Red Neuronal
Multicapa

Red Neuronal Recurrente: Se caracteriza porque
sus salidas pueden ser utilizadas como entradas. La estabilidad
de la red es un importante factor a considerar en este tipo de
arquitectura [Fuente, 2000].

Monografias.com

Figura III.6. Red Neuronal
Realimentada

Aprendizaje: Una de las principales
características de las redes neuronales es su capacidad de
aprendizaje, esto se logra a través de la repetitiva
presentación de ejemplos, lo cual permite adaptar los
pesos sinápticos de las neuronas.

Otra clasificación que se suele hacer es en
función del tipo de aprendizaje de que es capaz (si
necesita o no un conjunto de entrenamiento supervisado). Para
cada tipo de aprendizaje encontramos varios modelos propuestos
por diferentes autores:

  • Aprendizaje supervisado: necesitan un conjunto de
    datos de entrada previamente clasificado o cuya respuesta
    objetivo se conoce. Ejemplos de este tipo de redes son: el
    perceptrón simple, la red Adaline, el
    perceptrón multicapa y la memoria asociativa
    bidireccional.

  • Aprendizaje no supervisado o auto organizado: no
    necesitan de tal conjunto previo. Ejemplos de este tipo de
    redes son: las memorias asociativas, las redes de Hopfield,
    la máquina de Bolzman y la máquina de Cauchy,
    las redes de aprendizaje competitivo, las redes de Kohonen o
    mapas auto organizados y las redes de resonancia adaptativa
    (ART) .

  • Redes híbridas: son un enfoque mixto en el
    que se utiliza una función de mejora para facilitar la
    convergencia. Un ejemplo de este último tipo son las
    redes de base radial.

3.2.2.5 Aplicaciones.

Las características de las RNA las hacen bastante
apropiadas para aplicaciones en las que no se dispone a priori de
un modelo identificable que pueda ser programado, pero se dispone
de un conjunto básico de ejemplos de entrada (previamente
clasificados o no).

Esto incluye problemas de clasificación y
reconocimiento de patrones de voz, imágenes,
señales, etc. Asimismo se han utilizado para encontrar
patrones de fraude, hacer
predicciones en el mercado
financiero, hacer predicciones de tiempo
atmosférico, etc.

También se pueden utilizar cuando no existen
modelos matemáticos precisos o algoritmos con
complejidad razonable.

Otro tipo especial de redes neuronales artificiales se
ha aplicado en conjunción con los algoritmos
genéticos (AG) para crear controladores para robots. En
este tipo de aplicación el genoma del AG lo constituyen
los parámetros de la red (topología, algoritmo de
aprendizaje, funciones de activación, etc.) y la
adecuación de la red viene dada por la adecuación
del comportamiento
exhibido por el robot controlado (normalmente una
simulación de dicho comportamiento).

En resumen las redes neuronales artificiales (RNA) son
modelos computacionales que tratan de replicar, de manera
simplificada, el complejo funcionamiento del cerebro humano
utilizando métodos o
modelos matemáticos muy sofisticados. Su capacidad de
aprendizaje a través de ensayos
repetidos, las ha hecho muy populares en una amplia variedad de
aplicaciones en todas las ciencias. En
este sentido las redes neuronales resultan una herramienta
fundamental ya que proponen una estrategia de
resolución de problemas basada en la adaptación al
entorno de información.

3.2.3 Algoritmos Genéticos (AG).

Los Algoritmos Genéticos (AGs) son métodos
adaptativos que pueden usarse para resolver problemas de
búsqueda y optimización. Están basados en el
proceso genético de los organismos vivos. A lo largo de
las generaciones, las poblaciones evolucionan en la naturaleza de
acorde con los principios de la
selección natural y la supervivencia de los
más fuertes, postulados por Darwin. Por
imitación de este proceso, los Algoritmos Genéticos
son capaces de ir creando soluciones
para problemas del mundo real. La evolución de dichas soluciones hacia
valores óptimos del problema depende en buena medida de
una adecuada codificación de las mismas.

También los algoritmos genéticos son
métodos de optimización: dada una función
objetivo, el
AG lleva a cabo una búsqueda en el espacio de soluciones
intentando encontrar la solución que minimiza dicha
función objetivo. Por lo tanto, los AG están
indicados para resolver todo tipo de problemas que puedan ser
expresados como un problema de optimización.

Básicamente, los algoritmos genéticos (AG)
funcionan como sigue: dada una población de soluciones, y en base al
valor de la
función objetivo para cada una de los individuos
(soluciones) de esa población, se seleccionan los mejores
individuos (los que minimizan la función objetivo) y se
combinan para generar otros nuevos. Este proceso se repite
cíclicamente [García, 2001].

Como se puede ver, el proceso es similar al que se da en
la naturaleza: una serie de individuos compiten por su
supervivencia; los mejor adaptados al medio (los que optimizan la
función objetivo) sobreviven y tienen más
posibilidades de aparearse, transmitiendo así parte de su
material genético "mejor adaptado" a las generaciones
siguientes. De esta manera, generación tras
generación, la especie consigue una mayor y mejor
adaptación al medio en el que vive.

Algo de Historia: Desde finales
de los años 50 y principios de los 60 se desarrollaron
trabajos por algunos biólogos para simular sistemas
genéticos en una computadora. A
pesar de estos trabajos, se reconoce al profesor John
Holland de la Universidad de
Michigan como el creador de los AG con su trabajo sobre
teoría
de los sistemas adaptativos, en el año 62. Es Holland el
primero que adaptó la idea de la genética a
sistemas artificiales. Su objetivo era lograr que las computadoras
aprendieran por sí mismas. A la técnica que
inventó Holland se le llamó originalmente "planes
reproductivos", pero se hizo popular bajo el nombre "algoritmo
genético" tras la publicación de su libro en
1975.

Terminología Usada: En el trabajo con
AG se maneja una serie de términos "importados" de la
genética natural. No siempre es adecuada la
analogía, pero estos son comúnmente
aceptados:

Población

Conjunto de indivíduos o cromosomas. Equivale a una muestra aleatoria
del espacio de solución o un conjunto de soluciones
alternativas.

Cromosoma

Un cromosoma es un portador de la
información genética que transmite cada uno
de sus genes. Una posible solución.

Gen

Cada uno de los rasgos o características
que conforman el cromosoma. También se les llama
parámetros o aspectos. Cada gen equivale a una
variable del problema.

Genotipo

En biología se le llama al "paquete"
genético total en su forma interna. En la
terminología de AG será la información
genética de todo el cromosoma en forma
codificada.

Fenotipo

Se le llama en genética al paquete
genético tal y como interactúa con el medio
exterior. En los AG artificiales serían los aspectos
del cromosoma decodificados.

Locus

Es la posición de un gen el
cromosoma

Alelo

Es el valor asociado a un gen

Tabla III.2 Términos de
Algoritmos Genéticos

3.2.3.1 Componentes de un AG.

Los AG trabajan a partir de una población inicial
de estructuras artificiales que van modificando repetidamente a
través de la aplicación de los siguientes
operadores genéticos:

  • Operador de Selección o Darwiniano

  • Operador de Cruzamiento o Mendeliano

  • Operador de Mutación.

Para utilizar los AG es necesario encontrar una posible
estructura para representar las soluciones. Pensando este asunto
como el problema de buscar en un espacio de estados, una
instancia de esta estructura representa un punto o un estado en el
espacio de búsqueda de todas las posibles soluciones.
Así, una estructura de
datos en el AG consistirá en uno o más
cromosomas (frecuentemente uno), el cual se representa
comúnmente como una cadena de bits (existen otras
representaciones) [Rodríguez, 2004].

Cada cromosoma (cadena) es una concatenación de
un número de subcomponentes llamados genes. La
posición de un gen en el cromosoma se conoce como locus y
sus valores como alelos. En la representación como cadena
de bits, un gen es un bit o una cadena de bits, un locus es su
posición en la cadena y un alelo es su valor (0 ó 1
si es un bit).

Los AG realizan una maximización por defecto,
para los problemas de minimización los valores de la
función objetivo pueden ser negados y traslados con vistas
a tomar valores positivos para producir así la
adaptabilidad.

3.2.3.2 Funcionamiento de un AG.

El modo de trabajo de un AG puede resumirse en el
siguiente esquema el funcionamiento de un AG simple. El mecanismo
de un AG simple es:

  • El AG simple genera aleatoriamente una
    población de n estructuras (cadenas, cromosomas o
    individuos).

  • Sobre la población actúan los
    operadores transformando la población. Una vez
    completada la acción de los tres operadores se dice
    que ha transcurrido un ciclo generacional.

  • Luego se repite el paso anterior mientras no se
    garantice el criterio de parada del AG.

Monografias.com

Figura III.7. Diagrama
funcional de un algoritmo genético.

  • El operador de selección o Darwiniano realiza
    la selección de las cadenas de acuerdo a su
    adaptabilidad para el posterior apareamiento.

  • El operador de cruzamiento o Mendeliano realiza la
    recombinación del material genético de dos
    cadenas padres.

  • El operador de Mutación al estilo del
    operador natural realiza la mutación de un gen dentro
    de un cromosoma o cadena a sus diferentes formas
    alelomorfas.

  • Para cada uno de estos operadores está
    asociado el uso de probabilidades y la generación de
    números aleatorios.

  • El AG ejecuta para un número fijo de
    generaciones o hasta que se satisface algún criterio
    de parada.

Desde el punto de vista de la comparación de los
AG con otros métodos de búsqueda se pueden enmarcar
sus diferencias en cuatro aspectos:

1- Trabajan con una codificación de los
parámetros y no con los parámetros
mismos.

2- Buscan a partir de una población de puntos y
no de un punto simple.

3- Usan directamente la función objetivo y no la
derivada u otro conocimiento
auxiliar.

  • 4-   Usan reglas de transición
    probabilísticas y no
    determinísticas.

¿Por qué utilizar AG y no otros
métodos conocidos?

Las razones que se pueden argumentar son varias. Los
métodos conocidos son buenos mientras el problema no es
muy complejo. Los AG permiten la solución eficiente de
funciones extremadamente complejas.

Las potencialidades de los AG se pueden resumir por sus
habilidades para resolver una variedad de problemas muy
difíciles:

  • ? Trabajar sin conocimiento previo de la
    función a optimizar.

  • ? Optimizar funciones "ruidosas".

  • ? Trabajar sin información secundaria
    como gradientes.

La mayoría de los especialistas en este tema
coinciden en que los AG pueden resolver las dificultades
representadas en los problemas de la vida real que a veces son
insolubles por otros métodos.

Para [Rodríguez, 2004] el tema central de
la
investigación en AG consiste en la robustez: el
balance entre la eficacia y la
eficiencia
necesaria para sobrevivir en muchos ambientes
diferentes.

3.2.3.3 Aplicaciones tradicionales de AG.

Los algoritmos genéticos se utilizan en sistemas
de búsqueda y optimización, este es el campo en que
más aplicaciones se reportan, habiéndose realizado
incluso trabajos con funciones muy complejas. También se
ha trabajado en la obtención de soluciones a ecuaciones no
lineales [Costa, 2002].

Desde aplicaciones evidentes, como la biología o
la medicina,
hasta otros campos como la industria
(clasificación de piezas en cadenas de montaje). Los
algoritmos genéticos poseen un importante papel en este
ámbito.

3.3 Búsqueda en Inteligencia
Artificial.

Los investigadores pioneros en Inteligencia Artificial
tuvieron como su primer objetivo la solución de problemas
que fueron difíciles de resolver mediante las técnicas
computacionales existentes. Como se dijo antes, estos problemas
generalmente no tienen solución algorítmica
conocida o esta es tan compleja que no tiene una
implementación práctica computacional.

La respuesta fue desarrollar nuevas técnicas de
solución de problemas, similares a las humanas, una de las
más importantes fue la búsqueda.

La búsqueda en la I.A. difiere de la
búsqueda convencional sobre estructuras de datos
esencialmente en que se busca en un espacio problema, no en una
pieza de dato particular. Se busca un camino que conecte la
descripción inicial del problema con una
descripción del estado deseado para el problema, es decir,
el problema resuelto. Este camino representa los pasos de
solución del problema.

El proceso de buscar una solución a un problema
produce un espacio solución, o sea, la parte del espacio
problema que se examina realmente. A diferencia de las
estructuras de datos que están predefinidas y ya existen
cuando comienza la búsqueda, los espacios problema son
generalmente definidos proceduralmente, es decir, el espacio
problema es creado a medida que es explorado. Se usan procedimientos
para definir los siguientes estados posibles en el espacio a
través de los cuales la búsqueda puede continuar
desde el estado
actual. Solamente los caminos explorados tienen que estar
definidos explícitamente.

Hay diferentes alternativas para realizar la
búsqueda. Desde un punto de vista podemos apreciar tres
alternativas: aleatoria, a ciegas y dirigida. Con el siguiente
ejemplo se ilustran estos. Supóngase que está en
París sin un mapa y no habla francés
¿Cómo llegar hasta la torre Eiffel?

Un método
podía ser tomar aleatoriamente una calle esperando que
más pronto que tarde se llegará a la torre. Esta
búsqueda aleatoria puede llevar a encontrar la torre pero
puede requerir una cantidad infinita de tiempo por la forma
arbitraria en la cual seleccionamos un camino (el mismo puede
tomarse múltiple veces).

Otra alternativa es seguir exhaustivamente cada calle de
inicio a fin. Cuando se alcanza un final se busca una calle
paralela y se sigue esta en dirección opuesta independientemente de si
nos acercamos o alejamos del objetivo. Eventualmente esta
variante consideraría todas las posiciones de nuestro
espacio problema. Este tipo de búsqueda se llama a ciegas,
ya que no usa conocimiento de cuan cerca estamos de la
solución para tomar un determinado camino.

Alternativamente, podemos usar nuestro conocimiento
sobre la torre para mejorar la eficiencia de la búsqueda.
Suponiendo que el extremo superior de la torre puede ser visto
desde cualquier lugar del espacio problema, podemos tomar la
calle que nos parezca nos lleve en esa dirección. Esta es
llamada búsqueda dirigida. La búsqueda dirigida es
la base de la I.A.

En la siguiente figura se relacionan estas tres
alternativas de búsqueda:

Monografias.com

Figura III.8 Alternativas de
Búsqueda.

Otro aspecto a considerar es la dirección de la
búsqueda. Puede ser dirigida por dato (forward) o dirigida
por objetivo (backward).

Una búsqueda dirigida por dato comienza a partir
de la información (o hechos) y trata de extraer
conclusiones. Una búsqueda dirigida por objetivo comienza
a partir de expectativas de lo que es el objetivo o lo que
sucederá, entonces busca las evidencias que
soportan o contradicen esas expectativas (o hipótesis).

3.3.1 Definición formal de la solución de
problemas en la I.A.

Para resolver un problema primero debemos
identificar:

  • Un punto de partida.

  • Un objetivo a alcanzar.

  • Acciones a disposición para resolver el
    problema.

  • Restricciones sobre el objetivo (p.e. de
    costo).

  • Elementos del dominio que son relevantes en el
    problema (p.e., conocimiento incompleto del punto de
    partida).

Estrategias de Búsqueda: La estrategia de
búsqueda define el criterio para seleccionar el siguiente
nodo a expandir. La estrategia se avalúa atendiendo a
cuatro aspectos:

  • Completitud: ¿Garantiza la estrategia
    encontrar una solución cuando esta exista?

  • Complejidad del tiempo: ¿Cuánto tiempo
    requiere encontrar una solución?

  • Complejidad del espacio: ¿Cuánta
    memoria se necesita para realizar la
    búsqueda?

  • Optimalidad: ¿Encuentra la estrategia la
    solución de mayor calidad cuando haya varias
    soluciones diferentes?

En general y con mucha frecuencia las estrategias de
búsqueda son:

  • búsqueda exhaustiva.

  • búsqueda a ciegas o no informada.

  • búsqueda informada o
    heurística.

En la búsqueda exhaustiva la idea es examinar el
espacio de estado completamente de una manera ordenada, usando
todos los operadores y generando todos los sucesores posibles
para encontrar la solución deseada. La búsqueda a
ciegas es aquella donde no existe ninguna información para
decidir que nodo expandir, no se conoce la cantidad de pasos o el
costo del camino
desde el estado actual hasta el objetivo. También se
denomina búsqueda no informada. En el otro caso, cuando
existe información para decidir, la búsqueda se
denomina informada o heurística.

3.3.1.1 Búsqueda a ciega (blind search) o sin
información.

La búsqueda a ciegas es una colección de
procedimientos que investigan el espacio de estados de manera
exhaustiva pero ciega. Estos procedimientos se consideran
métodos débiles, pues imponen restricciones
mínimas a la búsqueda, en general son
técnicas de solución de problemas de
propósito general y pueden describirse independientemente
de cualquiera sea el dominio del
problema. Estos métodos usan solamente la
información estructural y no hacen ninguna
distinción cualitativa entre los nodos, respecto a su
posibilidad de encontrarse sobre el camino deseado. En
consecuencia, para los problemas con un extenso espacio de
estados, la cantidad de alternativas que deben explorarse es tan
grande que hace que su uso sea computacionalmente imposible. El
número de nodos a explorar crece, en general,
exponencialmente con la longitud del camino que representa la
solución del problema. Esto genera una explosión
combinatoria que estos métodos son incapaces de superar.
No obstante, continúan formando el núcleo de la
mayoría de los sistemas de I.A. [Meseguer,
2006].

Características:

  • El orden en que la búsqueda se realiza no
    depende de la naturaleza de la solución
    buscada.

  • Exploración del árbol de
    búsqueda sistemáticamente pero sin
    información.

  • La localización de la meta(s) no altera el
    orden de expansión de los nodos.

  • No tienen en cuenta el coste de la solución
    en la búsqueda.

  • Su funcionamiento es sistemático, siguen un
    orden de visitas y generación de nodo establecido por
    la estructura del espacio de búsqueda.

  • Los dos métodos básicos de la
    búsqueda a ciegas son la búsqueda primero a lo
    ancho (breadth-first search) y la búsqueda primero en
    profundidad (depth-first search).

Estudiaremos algunas de las técnicas de
búsqueda a ciegas más usadas

3.3.1.2 Búsqueda primero a lo ancho
(breadth-First)

Una búsqueda primero a lo ancho (breadth-first)
explora primero todos los sucesores del nodo raíz. Si no
se encuentra la meta, pasa a
los sucesores del segundo nivel y así sucesivamente por
niveles. Suponiendo que el objetivo a alcanzar es el nodo 7, el
recorrido primero a lo ancho del espacio de búsqueda que
se muestra en la figura III.9, es 1-2-3-4-5-6-7. Este
método simboliza a un explorador bastante
conservador.

Monografias.com

Figura. III.9. Un ejemplo de espacio
de búsqueda.

Este método tiene como ventaja que siempre
encuentra el camino más corto a la solución, si
ésta existe, aún en el caso de que el espacio de
búsqueda sea infinito. Es efectivo cuando el factor de
ramificación, o sea, el número promedio de hijos de
un nodo, es pequeño, pues entonces la cantidad de nodos
por niveles será pequeña y es mejor explorar un
nivel antes de pasar al siguiente. Sin embargo, tiene las
siguientes desventajas:

  • Necesita mucha memoria. Como cada nivel del
    árbol tiene que ser almacenado completamente para
    poder generar el próximo nivel y la cantidad de
    memoria es proporcional al número de nodos
    almacenados, su complejidad espacial también lo
    es.

  • Requiere mucho trabajo, especialmente si el camino
    más corto a la solución es muy largo, puesto
    que el número de nodos que necesita examinar se
    incrementa exponencialmente con la longitud del
    camino.

  • Los operadores irrelevantes o redundantes
    incrementarán grandemente el número de nodos
    que deben explorarse.

  • Una búsqueda primero a lo ancho comienza por
    generar todos los sucesores de la raíz del nodo. Luego
    la búsqueda continúa expandiendo todos los
    nodos de cada nivel. La esencia del método es examinar
    todas las soluciones potenciales a un nivel antes de pasar al
    nivel inferior.

Monografias.com

Fig. III.10.Búsqueda Primero a
lo ancho.

3.3.1.3 Búsqueda primero en profundidad.
(Depth-First).

Este método siempre expande uno de los nodos del
nivel más profundo del árbol. Solamente cuando la
búsqueda alcanza un nodo muerto (nodo no objetivo que no
se puede expandir) la búsqueda va a atrás y expande
nodos de niveles inferiores [Morales, 1999].

Esta búsqueda tiene requerimientos de memoria modestos.
Solamente almacena un camino de la raíz a un nodo hoja
junto con los hermanos de los nodos de este camino a cada nivel.
La principal ventaja de este método es que sus
requerimientos de memoria son linealmente proporcionales a la
profundidad del árbol. La cantidad de tiempo que consume
es la misma que en primero a lo ancho.

Su principal problema es que puede tomar un camino
equivocado que si es muy largo, quizás infinito, no
permite encontrar una solución nunca. Muchos problemas
tienen árboles
de búsquedas muy profundos o incluso infinitos, en cuyo
caso este método nunca se podrá recuperar de una
selección equivocada en uno de los nodos cercanos a la
raíz del árbol.

Otra situación en la que puede caer el
método es encontrar una solución con un camino
más largo que la solución óptima, es decir,
el método no es ni completo, ni óptimo. Este
método debe evitarse para árboles de
búsquedas muy profundos. Es un método apropiado
cuando los estados objetivos se
encuentran a la izquierda del árbol de búsqueda o
cuando los caminos son cortos.

En depth-first cada nodo que es explorado genera todos
sus sucesores antes de que otro nodo sea explorado.
Después de cada expansión el nuevo hijo es de nuevo
seleccionado para expansión. Para problemas con muchas
soluciones depth-first puede ser más rápido que
breadth-first porque existe una buena posibilidad de encontrar
una solución después de explorar una pequeña
parte del espacio de búsqueda.

La búsqueda primero en profundidad procede
generando primeramente un sucesor del nodo raíz y luego un
sucesor de este, y continúa extendiendo este camino
solamente hasta que termina o se realiza un corte a alguna
profundidad, si no se ha alcanzado el objetivo se realiza un
retroceso al nivel anterior para generar otro camino.

Monografias.com

Figura III.11 Búsqueda Primero
en Profundidad

Ventajas de la búsqueda en amplitud:

  • No se "pierde" explorando caminos infructuosos que
    consumen mucho tiempo sin llegar a una solución o de
    los que no se vuelve nunca (bucles en
    profundidad).

  • Si hay una solución la encuentra. Es
    más, si hay varias encuentra la
    óptima.

Ventajas de la búsqueda en
profundidad:

  • Requiere mucha menos memoria (sólo hay que
    guardar el camino actual).

  • Puede encontrar una solución sin examinar
    mucho el árbol, sobre todo si hay varios caminos a la
    solución.

3.3.1.4. Búsqueda heurística o con
Información.

La palabra heurística viene del griego heuriskein
que significa descubrir. Ella es también el origen de
eureka, que se deriva de la famosa exclamación de
Arquímides heurika ("lo encontré"), que
lanzó al descubrir un método para determinar la
pureza del oro.
Feigenbaum y Feldman la definen así: "Una
heurística (regla heurística o método
heurístico) es una regla para engañar, simplificar
o para cualquier otra clase de
ardid, la cual limita drásticamente la búsqueda de
soluciones en grandes espacios de solución" [Meseguer,
2006].

La posibilidad de efectuar la búsqueda de una
forma más eficiente se basa en el uso de alguna
información específica para el problema a
solucionar. Esta información, aunque imprecisa e
incompleta, permite distinguir cuáles de los nodos dirigen
mejor el avance hacia la meta y permite realizar este avance
siempre en la dirección que momentáneamente tiene
la mejor perspectiva.

Se llama búsqueda heurística a los
métodos de búsqueda que usan este tipo de
información. Precisamente por esto a estos métodos,
generalmente, se les llaman métodos fuertes. Las
técnicas heurísticas son como las guías
turísticas: son buenas cuando apuntan a direcciones
interesantes y son malas cuando apuntan a callejones sin salida.
Usando buenas técnicas heurísticas, podemos esperar
lograr buenas soluciones a problemas difíciles, como el
del vendedor ambulante, en un tiempo menor que el
exponencial.

Existen 3 métodos muy conocidos:

  • Generación y prueba.

  • Ascenso de colina (-> profundidad
    primero).

  • Primero el mejor.

3.3.1.5 Generación y Prueba.
(GENERATE-AND-TEST)

  • 1. Generar una posible solución. (Estado
    o camino).

  • 2. Comprobar para ver si es una
    solución, mediante comparación con los
    elementos del conjunto de objetivos aceptables.

  • 3. Si la solución ha sido encontrada
    salir, de otra manera, retornar al paso.

3.3.1.6 Hill Climbing o Escalador de colinas.

Existe un conjunto de problemas para los cuales el
camino que conduce a la solución es irrelevante.
Usualmente esto ocurre en aquellos problemas en los que la
descripción del estado contiene toda la información
necesaria para una solución. La idea general es comenzar
con una configuración completa y hacer modificaciones para
mejorar su calidad.

El método de búsqueda conocido por
ascensión de colinas (hill-climbing) toma su nombre de la
semejanza que tiene con un alpinista quien desea alcanzar
rápidamente el pico de una montaña, este selecciona
la dirección de ascenso mayor a partir de la
posición actual.

Con este método la estrategia es repetidamente
expandir un nodo, inspeccionar sus sucesores recién
generados, y seleccionar y expandir el mejor entre los sucesores
sin mantener referencias a los padres.

Este método es una variación de la
búsqueda primero en profundidad en la cual se usa la
función heurística para estimular la distancia
entre el nodo actual y el nodo objetivo [Peraza,
1997].

Los algoritmos de ascenso a colina son
típicamente locales, ya que deciden qué hacer,
mirando únicamente a las consecuencias inmediatas de sus
opciones. Puede que nunca lleguen a encontrar una
solución, si son atrapados en estados que no son el
objetivo, desde donde no se puede hallar mejores estados, por
ejemplo:

  • 1. Un máximo local, que es un
    estado mejor que sus vecinos pero no es mejor que otros que
    están algo más alejados.

  • 2. Una meseta, es un espacio de
    búsqueda en el que todo un conjunto de estados vecinos
    tienen igual valor.

  • 3. Un risco, que es un tipo especial de
    máximo local, imposible de atravesar con movimientos
    simples.

Hay algunas formas que pueden ayudar a solventar estos
problemas, aunque no existe garantía:

  • 1. Para evitar máximos locales, regresar
    a un estado anterior y explorar en una dirección
    diferente.

  • 2. Para casos de mesetas, dar un salto grande
    en alguna dirección y tratar de encontrar una nueva
    sección del espacio de estado.

  • 3. Para los riscos, aplicar dos o más
    reglas, antes de realizar una prueba del nuevo estado, esto
    equivale a moverse en varias direcciones a la vez.

Los algoritmos de ascenso a colina, a pesar de explorar
sólo un paso adelante, al examinar el nuevo estado pueden
incluir una cierta cantidad de información global
codificada en la función objetivo o función
heurística. [Costa, 2002]

3.3.1.7 Algoritmo Best-First (Primero el
mejor)

La búsqueda por el mejor nodo es una forma de
combinar las ventajas de las búsquedas en profundidad y a
lo ancho en un único método. En cada paso del
proceso de búsqueda se selecciona el más prometedor
de aquellos nodos que se han generado hasta el momento. Entonces
este se expande usando los operadores para generar sus sucesores.
Si uno de ellos es una solución se termina. Si no, todos
esos nuevos nodos se añaden al conjunto de nodos generados
hasta ese momento.

Se selecciona de nuevo el nodo más prometedor y
el proceso continúa. La selección del nodo a
expandir es independiente de la posición en que nos
encontramos en el árbol de búsqueda y de la
posición del nodo más prometedor. Lo que sucede
usualmente es que se realiza un poco de búsqueda a
profundidad mientras se explora una rama prometedora. En un
momento dado esa rama comienza a ser menos prometedora que otras
de más alto nivel que se han ignorado hasta ese
momento.

El nombre de búsqueda primero el mejor
(Best-First Search) es impreciso. Si realmente pudiéramos
expandir el mejor nodo primero no sería una
búsqueda sino un procedimiento
directo al estado objetivo.

Ascenso de colina inspecciona la que parece la mejor
trayectoria hasta el final; la búsqueda primero el mejor
analiza varias trayectorias a la vez, siempre siguiendo la mejor
trayectoria parcial conocida al momento.

Generalmente la búsqueda primero el mejor
encuentra trayectorias más cortas a los estados
meta.

3.3.1.8 Búsqueda con Sistemas
Evolutivos.

Los Algoritmos Genéticos son métodos de
búsqueda que recorren el espacio de posibilidades en forma
paralela y aleatoria, obedecen a una analogía con la
evolución de las especies Darwiniana. En cada etapa, se
tiene una población de soluciones posibles para el
problema a partir de ésta se genera una nueva
población de soluciones mediante operadores que emulan la
selección entre las especies del cruzamiento y la
mutación. El método trabaja, generación tras
generación, mejorando la calidad de la mejor
solución de cada población hasta que algún
criterio de detección se cumpla, por ejemplo que el
esfuerzo computacional que se ha invertido en la solución
del problema ha superado el límite predefinido [Tolmos,
2004].

Cuál es el mejor método:

  • Primero en profundidad es bueno cuando se sabe con
    seguridad que el árbol no es muy profundo.

  • Primero en anchura, cuando el factor de
    ramificación no es muy grande.

  • Los métodos heurísticos son adecuados
    cuando existe una medida natural de la distancia entre cada
    estado y el estado meta.

3.4 Resumen Comparativo de las Técnicas
I.A.

Algunos sistemas basados en el conocimiento, como los
sistemas Fuzzy encuentran aplicación en automatizar
características de percepción, conocimiento y toma de
decisiones propias de los operarios humanos. Las redes
neuronales artificiales (RNA) emulan ligeramente a las redes
neuronales naturales (RNN). Se les ha utilizado, por ejemplo,
para aprender la forma de controlar un sistema "observando" las
acciones que
efectúa un operario. Los algoritmos genéticos (AG)
se utilizan en el diseño
asistido por computadora para "evolucionar" controladores, bajo
el principio de supervivencia para los que mejor se ajusten al
objetivo determinado.

Conclusiones.

  • En este Capítulo, aprendimos el
    funcionamiento de las Técnicas de Inteligencia
    Artificial como son: la lógica difusa la cual es ideal
    para resolver problemas de la vida real con alto nivel de
    incertidumbre, debido a sus características de
    ambigüedad.

  • Estudiamos las principales características de
    las redes neuronales y algoritmos genéticos que son
    utilizados principalmente para el reconocimiento de voz,
    imágenes y son métodos de optimización
    de problemas basados en los mecanismos de la
    reproducción natural.

  • También estudiamos las características
    básicas de los tipos de búsquedas para resolver
    problemas de Inteligencia Artificial como: primero el mejor,
    heurística, primero en amplitud, primero en
    profundidad.

CAPITULO 4. Implementación del Software.

4.1. Introducción.

El Capítulo muestra la Implementación del
software para el Tutorial de Inteligencia Artificial, donde se
plantean los requerimientos funcionales que debe asegurar el
sistema para satisfacer al cliente y
usuarios finales.

Se aborda lo referido al diseño de la Interfaz de
Usuario, la Base de Datos,
Actores, Casos de Uso, diagramas de
Casos de Uso, describiendo cada Caso de Uso textualmente sobre la
base de su prototipo de Interfaz-Usuario, realizado con el uso de
artefactos del Lenguaje
Unificado de Modelado (UML).Se refiere
además a la gestión
de usuarios del Sistema, definiendo los tipos de Usuario
Estudiante y Profesor con sus respectivos permisos de acceder al
Sistema y el diagrama de Navegación.

También para la implementación de la Base
de Datos conoceremos las características de MySQL, para el
diseño de la Interfaz de Usuario se aprenderá las
ventajas del entorno de programación PHP, Dreamweaver como
editor de páginas
Web y como servidor Web el
Apache.

4.2 Funcionamiento del Sistema

Este Tutorial brinda Información sobre temas de
Inteligencia Artificial, un servicio de
Ejercicios Evaluativos, en donde los estudiantes pueden acceder a
la información y evaluarse mientras los profesores pueden
consultar y eliminar evaluaciones realizadas por sus estudiantes,
también se visualiza el contenido de cada Tema de
Inteligencia Artificial. Todas las funcionalidades que tiene la
aplicación se basa en información que no debe ser
alterada y a la cual no debe tener acceso cualquier tipo de
usuario para garantizar que el proceso de gestión sea
confiable, por esa razón se decide asegurar la integridad
de los datos en la Base de Datos iadatabase, donde se definen
tipos y cuentas de
usuarios con los cuales se controla el acceso tanto al
diseño como modificación de los datos.

4.3 Diseño de la Interfaz-Usuario.

El diseño de la Interfaz de Usuario debe estar en
correspondencia con los requerimientos funcionales que debe
cumplir el sistema y satisfacer a los usuarios finales. La
opción de elegir las herramientas
para la implementación de un sistema es una tarea a veces
compleja.

Este Sistema, es una aplicación Web, cuyo
objetivo está centrado en lograr una interfaz amigable y
legible para el usuario, que sea capaz de cumplir con los
requerimientos y dar respuesta en el menor tiempo
posible.

Los requerimientos planteados en el Sistema
son:

  • R1: Consultar Información sobre Inteligencia
    artificial

  • R2: Gestionar Ejercicios Evaluativos.

  • R3: Gestionar Cuenta de Usuarios.

  • R4: Autentificar al usuario del Sistema.

  • R5: Gestionar Documentos Adicionales.

  • R6: Evaluar Estudiante.

Ver Anexo IV.1 Interfaz Usuario.

Para construir este Tutorial elegimos PHP (Personal Home
Page por sus siglas en inglés)
el cual, es uno de los lenguajes más populares utilizados
en la creación de sitios Web dinámicos en Internet además de
ser Open Source e interpretado en el lado del servidor el cual se
muestra como código
embebido dentro de una página HTML
[García,2004].

Se realizó una caracterización más
amplia y profunda de PHP por ser este el lenguaje
escogido para la implantación del Tutorial de Inteligencia
Artificial, resultando que:

  • Es un lenguaje específicamente
    diseñado para realizar aplicaciones Web, mientras que
    otros lenguajes son adaptaciones de lenguajes preexistentes,
    no pensados para la Web.

  • Mantiene un bajo consumo de recursos de
    máquina.

  • Gran seguridad, muy poca probabilidad de corromper
    los datos.

  • Soporte para una gran cantidad de bases de datos:
    MySQL, PostgreSQL, Oracle, MS SQL Server, Informix, entre
    otras.

  • Rico en funciones predefinidas.

  • Fácil aprendizaje.

  • Es un lenguaje libre.

  • Dispone de muchísimos más recursos que
    ASP.

  • Trabaja en combinación con otras
    tecnologías: perl, javascript, phyton y dhmtl puedes
    hacerlo todo, por ejemplo: Creación de gráficos
    interactivos por el usuario, al estilo photoshop.

  • Combina excelentemente con otras inmejorables
    herramientas, como son el servidor apache y la base de datos
    mysql (o msql, o postgres), todas ellas gratuitas.

  • Buena documentación.

  • PHP corre en casi cualquier plataforma utilizando el
    mismo código fuente, como es Unix, Windows (95,98, NT,
    ME, 2000, XP) y Macs. Como en todos los sistemas se utiliza
    el mismo código base, los scripts pueden ser
    ejecutados de manera independiente al SO.

  • PHP actualmente se puede ejecutar bajo Apache, IIS,
    AOLServer, Roxen y THTTPD.

  • Rapidez.PHP generalmente es usado como modulo de
    Apache, que lo hace extremadamente veloz. Esta completamente
    escrito en C.

  • Miles de ejemplos y código fuente
    disponible.

Este Sistema Tutorial de Inteligencia Artificial se
publicará en el servidor Web Apache por ser un servidor
por excelencia. Apache ha sido uno de los mayores
éxitos del software
libre. Su continuo desarrollo y
portabilidad le han llevado a múltiples plataformas como
Windows y casi
todos los sistemas Unix.

Principales características de Apache
[Pérez, 2004]:

  • Es un servidor Web flexible, rápido y
    eficiente, continuamente actualizado y adaptado a los nuevos
    protocolos HTTP.

  • Implementa los últimos protocolos aunque se
    base en HTTP.

  • Puede ser adaptado a diferentes entornos y
    necesidades, con los diferentes módulos de apoyo y con
    la API de programación de módulos.

  • Incentiva la realimentación de los usuarios,
    obteniendo nuevas ideas, informes de fallos y parches de
    solución a los mismos.

Dentro de las herramientas para la implementación
de la interfaz de usuario del Tutorial de Inteligencia Artificial
se encuentra Dreamweaver 8.0, el cual es el más avanzado
para el desarrollo de aplicaciones y sitios Web, utiliza un
editor de diseño y código de primera calidad en la
misma herramienta. A través de sus características
y funcionalidades nos permite crear documentos Web
que se adapten a nuestras necesidades. En dicho software aunque
el usuario que lo maneje sea un experto programador de HTML,
siempre encontrarán razones para utilizarlo.

Dreamweaver incluye soporte para la creación de
páginas dinámicas de servidor en ASP, PHP, HTML
con acceso a bases de datos y
una mayor integración con otras herramientas de
Macromedia como Fireworks. Este permite editar las páginas
Web de forma visual sin tener que teclear el código HTML,
además de brindar la opción de trabajar con el
código, y por último la posibilidad de ver ambas
ventanas de desarrollo a la vez. También posibilita crear
botones flash y formularios.
Además incluye nuevas herramientas de zoom y guía
para revisar los diseños, y una barra de código
para acceder funciones frecuentes. Destaca también que las
funciones para cargar y descargar archivos ahora
funcionan en el background sin interrumpir la productividad en
el programa.

4.4 Lenguaje de Modelado Unificado.

Para el diseño del Sistema se emplearon algunos
de los artefactos del Lenguaje de Modelado Unificado (UML) el
cual según la literatura referenciada se
ha convertido en el estándar internacional para definir,
organizar y visualizar los elementos que configuran la
arquitectura de una aplicación. Su utilización es
independiente del lenguaje de
programación y de las características del
proyecto, pues
UML ha sido diseñado para modelar cualquier tipo de
proyectos,
tanto informáticos o de cualquier otra rama. UML se
caracteriza por [Booch, 2000]:

  • Ser un lenguaje gráfico con una
    semántica bien definida que estandariza la
    modelación durante el proceso de desarrollo del
    software para que sea legible por todo el equipo de proyecto
    y usuario.

  • Construye modelos precisos, no ambiguos y
    completos.

  • No es un lenguaje de programación, pero sus
    modelos pueden transformarse en código fuente, tablas
    o almacenamiento de objetos (Generación directa del
    código).

  • Permite describir requerimientos, la arquitectura y
    modelar las pruebas a través de artefactos que
    permiten documentar el proceso.

Es importante recalcar que sólo se trata de una
notación, es decir, de una serie de reglas y
recomendaciones para representar modelos. UML no es un proceso de
desarrollo, no describe los pasos sistemáticos a seguir
para desarrollar el software. UML sólo permite documentar
y especificar los elementos creados mediante un lenguaje
común describiendo modelos.

Por las ventajas antes referidas para el diseño
de la Interfaz de Usuario del Tutorial de Inteligencia Artificial
se emplearon algunos de los artefactos del Lenguaje de Modelado
Unificado (UML),

4.5. Casos de Uso.

En el diseño del tutorial se utilizaron
específicamente vistas lógicas para representar las
funcionalidades a realizar por el Sistema, empleándose los
conceptos de:

  • Actores: elementos que interactúan con
    la aplicación ya sea un humano, un software o
    hardware.

  • Casos de usos: agrupación de
    fragmentos de funcionalidad que el sistema ofrece para
    aportar un resultado de valor para los actores.

  • Diagrama de Caso de Uso: modela la
    funcionalidad del sistema agrupándola en descripciones
    de acciones ejecutadas por un sistema para obtener un
    resultado. Se representa la relación entre los casos
    de uso y los actores relacionados con estos.

En el Tutorial de Inteligencia Artificial se definieron
los tipos de usuario siguientes:

  • ADMINISTRADOR/PROFESOR tiene el derecho de controlar
    toda la información brindada por el sistema incluyendo
    la del registro de usuarios, puede controlar la
    Información Adicional sobre Inteligencia Artificial y
    los Ejercicios Evaluativos.

  • ESTUDIANTE solo tiene el derecho de poder leer la
    información de la aplicación y realizar los
    ejercicios evaluativos propuestos.

  • USUARIO puede consultar información como es:
    Información sobre Inteligencia Artificial y todo su
    contenido.

Actor

Rol

Usuario/Invitado

Consultar la información sobre Inteligencia
Artificial,

así como los Capítulos
Teóricos

Estudiante

Realizar los Ejercicios Evaluativos
propuestos.

Profesor/ Administración

Controlar la Información sobre Inteligencia
Artificial,

Los Ejercicios Evaluativos y Registro de
Usuarios.

Tabla IV.1. Actores del Tutorial de
Inteligencia Artificial.

Los Casos de Uso definidos para el sistema se encuentran
relacionados dentro del Diagrama de Caso de Uso con el objetivo
de lograr una mayor y mejor comprensión del Modelo y
modularización de la funcionalidad que brinda el sistema
estos se muestran en la figura IV.1, cada uno de los casos de uso
están relacionados entre sí representando el flujo
de información o comunicación que existe entre
ellos.

Monografias.com

Figura IV.1- Diagrama de Casos de Uso
del Sistema.

Se han definido siete Casos de Uso que garantizan un
análisis modular del sistema. Los Casos de
Uso son: Iniciar Tutorial, Gestionar Cuenta de Usuario, Consultar
Información sobre Inteligencia Artificial, Gestionar
Ejercicios Evaluativos, Autentificarse, Gestionar
Información Adicional y Evaluarse. Tabla IV.2.

Casos de Uso

Requerimientos
Asociados

Clasificación

Iniciar Tutorial

Principal

Gestionar Cuentas de Usuario

R3,R4

Principal

Consultar Información

R1

Principal

Gestionar Ejercicios Evaluativos

R2,R4

Principal

Autentificarse

R4

Principal

Gestionar Información Adicional

R5,R4

Principal

Evaluar Estudiante

R6

Principal

Tabla IV.2 Casos de Uso del
Sistema

A continuación se describe textualmente cada uno
de los Casos de Uso del Diagrama empleado su prototipo de su
Interfaz-Usuario.

Caso de uso:

Iniciar Tutorial.

Actores:

Usuario(inicia)

Descripción:

Este caso de uso se inicia cuando un usuario desea
acceder a la información que contiene el Tutorial y
para eso necesita iniciar la aplicación.

Referencias:

Precondiciones:

Poscondiciones:

El acceso al Tutorial

Curso normal de los
eventos

Acción del
Usuario

Respuesta del
Sistema

1. Accede al Tutorial

2. Muestra la interfaz principal de la
aplicación (IAP).

Tabla IV.3.Caso de Uso Iniciar
Tutorial.

Monografias.com

Figura IV.2 Figura de Iniciar Tutorial
(IP).

Caso de uso:

Autentificarse

Actores:

Estudiante, Profesor/ Administrador (inician).

Descripción: El Caso de Uso se
inicia cuando el usuario necesita hacer uso del sistema
Tutorial, una vez realizada su autentificación
concluye el Caso de Uso. En caso de ser positiva la
autentificación se notifica la bienvenida al sistema
y en caso contrario no se permite la entrada al
Sistema.

Referencias:

R4

Precondiciones:

El usuario haya iniciado el Sistema

Poscondiciones:

Que se ha iniciado o no la sesión del
usuario

Curso normal de los
eventos

Acción del
usuario

Respuesta del
Sistema

3. Introduce su Usuario en (A1 ), la
contraseña en (A2) y presiona el botón
Aceptar (A3)

4. Muestra el tipo de usuario en pantalla, las
acciones que puede realizar este tipo de usuario y se
notifica la entrada al sistema.

Tabla IV.4. Caso de Uso
Autentificarse

Monografias.com

Figura IV. 3- Figura Interfaz
Autentificarse.

Caso de uso:

Consultar Información sobre temas
I.A.

Actores:

Usuario (inicia).

Descripción:

El Caso de Uso se inicia cuando el usuario
consulta: Información sobre temas de Inteligencia
Artificial

Referencias:

R1

Precondiciones:

El usuario haya iniciado el tutorial.

Poscondiciones:

La Información sobre Inteligencia
Artificial ha sido consultada.

Curso normal de los
eventos

Acción del
usuario

Respuesta del
Sistema

1. En el menú principal de la Interfaz del
tutorial selecciona el tema sobre Inteligencia
Artificial.

2. Muestra en pantalla la interfaz consultar
Información sobre Inteligencia
Artificial.

3. Selecciona en la interfaz (CIIA1) la
información que desee consultar.

Muestra la Información consultada en
(CIIA2).

Tabla IV.5. Caso de Uso Consultar
Información sobre I.A.

Monografias.com

Figura IV.4 – Interfaz Consultar
Información sobre I.A. (CIIA).

Monografias.com

Figura IV.5- Caso de Uso Consultar
Información sobre I.A.

Caso de uso:

Gestionar Información Adicional
I.A.

Actores:

Profesor/Administrador (inician).

Descripción: El Caso de Uso puede
ser iniciado por el profesor o por el administrador una vez
que decidan administrar la Información Adicional
sobre Inteligencia Artificial

Para realizar esta acción tienen que antes haberse
autentificado.

Referencias:

R5

Precondiciones:

Que el usuario este autentificado como
administrador o como profesor.

Poscondiciones:

Los temas de Información Adicional sobre
Inteligencia Artificial han sido Administrados.

Curso normal de los
eventos

Acción del
usuario

Respuesta del
Tutorial

1. Necesita agregar un archivo al
Tutorial IA

2.Muestra la Interfaz Autentificación
(IAPC)

3. El usuario introduce: usuario en (A1) y
contraseña en (A2).

4. Muestra listado de temas de Información
Adicional sobre Inteligencia Artificial (IAIA) que
existen.

5. Selecciona el nombre(NAI) y ruta de
archivo(IAIA3) a anexar o eliminar (EDA) y ejecuta
(IAIA2)

6. Muestra la ruta de ubicación de la
Información para Administrarla en
(IAIA3).

7.Acepta y Actualiza la Información en
(IAIA) y se coloca en el menú Principal para acceder
estudiante

8. Visualiza la Información Actualizada en
(IAIA4).Para que usuario acceda a la información y
guarda en la base de datos.

Tabla IV.6. Caso de Uso Gestionar
Información Adicional.

Monografias.com

Figura IV. 6. Gestión de
Documentos Adicionales

La descripción del Caso de Uso Gestionar
Ejercicios Evaluativos
, se resume en la descripción de
los casos de uso: Realizar Evaluación, Consultar Resultados de
Evaluaciones, Mostrar Registro de Evaluaciones, Seleccionar
Estudiante, Eliminar Evaluación, Administrar ejercicios
evaluativos y Autentificarse. En la figura IV.7 se muestra el
Caso Uso Gestionar Ejercicios Evaluativos.

Monografias.com

Figura IV.7 – Caso Uso Gestionar
Ejercicios Evaluativos.

Caso de uso:

Realizar Evaluación.

Actores:

Estudiante

Descripción: El Caso de Uso es
iniciado cuando los usuarios del sistema desean realizar
una evaluación a través de los Ejercicios
Evaluativos.

Referencias:

R2, R4

Precondiciones:

Que el usuario este autentificado como Usuario y
la Aplicación este iniciada.

Poscondiciones:

Que se realice la evaluación.

Curso normal de los
eventos

Acción del
usuario

Respuesta del
Sistema

1. En el menú principal de la Interfaz
Principal se Autentifica como usuario estudiante y
selecciona la opción Auto evaluación
(RE1).

2. Muestra la interfaz Ejercicios
Evaluativos(EV)

3. Selecciona el tema de evaluación en
(RE2).

4. Muestra el texto de
pregunta del tema seleccionado en (RE3) y las posibles
respuestas de dicha pregunta en (RE4).

5. Marca
las respuesta que considera correctas en (RE4) y realiza la
evaluación presionando el botón Responder
(RE5),en caso que no desee evaluarse en una pregunta
determinada puede pasar para la próxima o la
anterior en (RE6)

6. Guarda los resultados en la Base de Datos del
Tutorial y Muestra en pantalla la interfaz Resultado de
Evaluaciones y los resultados de las evaluaciones
realizadas por el usuario.

Tabla IV.7. Caso de Uso Realizar
Evaluación.

Monografias.com

Figura IV.8- Interfaz Realizar
Evaluación (RE)

Caso de uso:

Mostrar Registro de Evaluaciones
Realizadas.

Actores:

Administrador/Profesor (inicia).

Descripción: El Caso de Uso se
inicia cuando el Administrador o Profesor desean obtener
los resultados de las evaluaciones realizadas por los
Estudiantes.

Referencias:

R2, R4

Precondiciones:

Que el usuario este autentificado como
administrador o como profesor.

Poscondiciones:

Que se muestren los resultados de evaluaciones de
los Estudiantes.

Curso normal de los
eventos

Acción del
usuario

Respuesta del
Sistema

1. Ejecuta en la interfaz Registro de
Evaluación.

2. Muestra en pantalla la interfaz Registro de
Evaluaciones Realizadas (MRER).

3. Selecciona en MRER1 el Estudiante y en MRER2 el
tema si lo desea.

4. Se muestra en MRER3 todos los datos de las
evaluaciones del estudiante. En (MRER4) se muestra un
resumen estadístico con el total de preguntas
respondidas y la cantidad correctas e incorrectas y
también se activa el botón (MRER5) para si
desea eliminar el registro de ese estudiante.

5. Si va a eliminar el estudiante presiona el
botón (MRER5)

6. Se elimina el registro de evaluación del
estudiante

Tabla IV.8. Caso de Uso Registro
Evaluaciones Realizadas.

Monografias.com

Figura IV.9- Interfaz Mostrar Registro
de Evaluaciones Realizadas (MRER)

Caso de uso:

Administrar Ejercicios
Evaluativos.

Actores:

Administrador/Profesor (inicia).

Descripción: El Caso de Uso se
inicia cuando el Administrador desea administrar los
Ejercicios Evaluativos, donde se incluye la
administración de los Temas, Preguntas y
Respuestas.

Referencias:

R2,R4

Precondiciones:

Que el usuario este autentificado como
administrador o como profesor.

Poscondiciones:

Que los Ejercicios Evaluativos hayan sido
administrados.

Curso normal de los
eventos

Acción del
usuario

Respuesta del
Sistema

1. En la interfaz Ejercicios Evaluativos se
realiza la

Administración de todas las Preguntas
relacionadas con el Tema.

2. Muestra la Interfaz Administrar Preguntas
(AP).

Puede: En la Interfaz (AP)

. Adicionar selecciona en (AP1) el tema,
introduce el texto de la Pregunta en (AP2), en (AP3).el
tipo de pregunta y con el uso del
botón(AP4)

. Editar presiona

. Modificar con el uso del botón
(AP6) que se activara según la
acción

. Eliminar presionar AP7

. Vínculo a Respuesta ejecuta en AP5
donde está el nombre de la pregunta.

Responde en caso de:

. Adicionar, adiciona la pregunta y la
muestra en(AP5)

. Editarla, muestra los valores en AP1,
AP2, AP3 y el botón (AP4) se activa para
Modificar.

. Modificar, modifica los datos de la
pregunta y los muestra modificados en AP5.

. Eliminar, elimina la Pregunta.

. Vínculo a Respuesta, muestra la
interfaz de Administrar Respuesta (AR).

. Conexión para Administrar Tema,
muestra la Interfaz Administrar Temas (AP1).

Puede: En la interfaz (AR)

. Adicionar introduce el código de
la Respuesta en (AR1), en (AR2) el texto, en (AR3) si es
correcta o no y presiona el botón (AR4) para
adicionarla.

. Editar presiona la imagen
(AR6)

. Modificar con el uso del botón
(AR4) que se activara según la
acción.

. Eliminar presionar la imagen
(AR7).

Responde en caso de:

. Adicionar, adiciona la respuesta y la
muestra en (AR5).

. Editar, muestra los valores en AR1, AR2,
AR3 y el botón (AR4) se activa para
Modificar.

. Modificar, modifica los datos de la
Respuesta y los muestra (AR5).

. Eliminar, elimina la
Respuesta.

Tabla IV.9. Caso de Uso Administrar
Ejercicios

Evaluativos.

Monografias.com

Figura IV. 10- Interfaz Administrar
Pregunta (AP).

Monografias.com

Figura IV. 11- Interfaz Administrar Respuesta
(AR).

Descripción del caso de uso Gestionar Cuenta
de Usuario.

Caso de uso:

Gestionar Cuenta de Usuarios.

Actores:

Administrador (inicia).

Descripción:

El Caso de Uso se inicia cuando el administrador
desea administrar las Cuentas de los Usuarios del
Tutorial.

Referencias:

R3

Precondiciones:

El usuario este autentificado como
administrador.

Poscondiciones:

Curso normal de los
eventos

Acción del
usuario

Respuesta del
Sistema

1. En el menú principal de Interfaz del
Sistema selecciona la opción Gestión de
usuarios

2. Muestra en pantalla la interfaz de
Autenticación.

3. El usuario se autentifica como
administrador

4. Muestra la interfaz de Gestionar Cuentas de
Usuarios (GCU).

. Adicionar introduce en (GCU1) el Nombre
Completo del Usuario, en (GCU2) el Usuario, en (GCU3) la
Contraseña, en (GCU4) selecciona el Tipo de Usuario
y con el uso del botón (GCU5) adiciona.

. Editar presiona.

. Modificar con el uso del botón
(GCU5) que se activara según la
acción.

. Eliminar presionar la imagen
(GCU8).

Responde en caso de:

. Adicionar, adiciona un Usuario y en
(GCU6) muestra sus datos.

. Editar, muestra los valores en GCU1,
GCU2, GCU3 , GCU4 y en el botón GCU5 se activa para
Modificar

. Modificar, modifica los datos Usuario y
los muestra modificados en (GCU6).

. Eliminar, elimina el Usuario.

Partes: 1, 2, 3, 4
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter