You are on page 1of 19

RESUMEN

DOCENTE:

ING. JESUS TOLENTINO, Ines

INTEGRANTE:

SILABO
 CUEVA CHAMORRO, Thalia Tatiana

SISTEMAS

2016

UNHEVAL_
ING.
SISTEMAS
RESUMEN SILABO

Contenido
 HISTORIA Y DEFINICIONES BÁSICAS DE LOS S.E........................................................3
PRESENTACIÓN DEL CURSO:......................................................................................... 3
HISTORIA DE LOS SISTEMAS EXPERTOS:.......................................................................4
DEFINICIÓN DE LA INTELIGENCIA ARTIFICIAL MÁQUINA INTELIGENTE. DIFERENCIA
ENTRE SISTEMAS OPERACIONALES Y SISTEMAS INTELIGENTES:...................................4
 INTELIGENCIA ARTIFICIAL MAQUINA INTELIGENTE:..........................................4
 DIFERENCIA ENTRE SISTEMAS OPERACIONALES Y SISTEMAS INTELIGENTES:..5
REVISIÓN DE LOS LENGUAJES DE LA INTELIGENCIA ARTIFICIAL. APLICACIONES EN LA
INDUSTRIA Y SERVICIO.................................................................................................. 5
 DIFERENCIA EN PARADIGMA DE CONOCIMIENTO DE S.E............................................7
Representación del conocimiento: redes semánticas, registros y predicados:..............7
Clasificación de problemas algorítmicos. Problemas de decisión, localización y
optimización. Problemas P y NP..................................................................................... 7
 CLASE NP:........................................................................................................ 7
 CLASE P........................................................................................................... 8
 ANÁLISIS DE CASOS DE UN S.E :................................................................................ 9
Descripción de algunos problemas............................................................................... 9
 PLANIFICACIÓN DE EXAMEN:...........................................................................9
 DIAGNÓSTICO MEDICO:................................................................................... 9
Introducción al PROLOG: Características y palabras del lenguaje, operaciones con
números...................................................................................................................... 10
Presentación del software SWI-PROG: comandos básicos, procesamiento básico del
interpretador:.............................................................................................................. 11
 Ejecución de un programa Prolog..................................................................12
 DESARROLLO DE PROCESOS COGNITIVOS DE REALIDADES ABSTRACTAS PARA EL
DESARROLLO DE APLICACIONES EXPERTAS:..................................................................15
Definición de problemas de la inteligencia artificial como problema de búsqueda en
un espacio de estado.................................................................................................. 15
Métodos de búsqueda ciega: amplitud profundidad y no determinista.......................16
 Búsqueda por amplitud:................................................................................16
 Busqueda por profundidad:...........................................................................17
 Busqueda no determinística:.........................................................................17

UNHEVAL_ ING. SISTEMAS 2


RESUMEN SILABO

RESUMEN SILABO

SEMANA1

 HISTORIA Y DEFINICIONES BÁSICAS DE LOS S.E.

PRESENTACIÓN DEL CURSO:


La Inteligencia Artificial es la parte de la Ciencia que se ocupa del diseño de
sistemas de computación inteligentes, es decir, sistemas que exhiben las
características que asociamos a la inteligencia en el comportamiento humano
que se refiere a la comprensión del lenguaje, el aprendizaje, el razonamiento, la
resolución de problemas, etc. La inteligencia artificial engloba varias áreas como
los sistemas expertos.

En la actualidad y ante un mercado diverso y altamente competitivo que exige a


las empresas almacenar y analizar una gran diversidad de información, los
Sistemas Expertos se destacan entre las herramientas de soporte para la toma
de decisiones. Han sido diseñados para facilitar tareas en múltiples campos de
aplicación y proporcionar equivalentes resultados que un especialista, emulando
la capacidad humana de tomar decisiones de acuerdo a las condiciones del
contexto.

Un sistema experto puede definirse como un sistema informático (hardware y


software) que simula a los expertos humanos en un ´área de especialización
dada.

Sin embargo, antes de desarrollar o adquirir un sistema experto debe realizarse


un análisis de factibilidad y de coste-beneficio. Hay varias razones para utilizar
sistemas expertos. Las más importantes son:

UNHEVAL_ ING. SISTEMAS 3


RESUMEN SILABO

1. Con la ayuda de un sistema experto, personal con poca experiencia puede


resolver problemas que requieren un conocimiento de experto.
2. El conocimiento de varios expertos humanos puede combinarse, lo que da
lugar a sistemas expertos más fiables, ya que se obtiene un sistema
experto que combina la sabiduría colectiva de varios expertos humanos
en lugar de la de uno solo.
3. Los sistemas expertos pueden responder a preguntas y resolver
problemas mucho más rápidamente que un experto humano.
4. En algunos casos, la complejidad del problema impide al experto humano
resolverlo. En otros casos la solución de los expertos humanos no es
fiable.
5. Los sistemas expertos pueden ser utilizados para realizar operaciones
monótonas, aburridas e inconfortables para los humanos.
6. Se pueden obtener enormes ahorros mediante el uso de sistemas
expertos.
El uso de los sistemas expertos se recomienda especialmente en las
situaciones siguientes:
o Cuando el conocimiento es difícil de adquirir o se basa en reglas que
solo pueden ser aprendidas de la experiencia.
o Cuando la mejora continua del conocimiento es esencial y/o cuando el
problema está sujeto a reglas o códigos cambiantes.
o Cuando los expertos humanos son caros o difíciles de encontrar.
o Cuando el conocimiento de los usuarios sobre el tema es limitado.

HISTORIA DE LOS SISTEMAS EXPERTOS:


Los sistemas expertos forman parte de la ciencia de la computación y dentro de ésta se
ubican en la rama de la inteligencia artificial. Éste término fue usado por primera vez
por un doctor de la Universidad Stanford, Edward A. Feigenbaum. El estipuló que el
poder de resolución de un problema en un programa de computadora viene del
conocimiento de un dominio específico, no solo de las técnicas de programación y el
formalismo que contiene. Antes de eso casi todos los investigadores en inteligencia
artificial habían tratado de desarrollar métodos generales de programación que
resolverían grandes problemas

Conceptuales pero estos programas resolvían pobremente los problemas individuales.

En el desarrollo de los sistemas expertos también se ha producido a medida que se ha


ido desarrollando la Inteligencia artificial y los diferentes métodos que se han empleado
para su resolución. El desarrollo de lenguajes como LISP y PROLOG condicionó esa
evolución, así como investigaciones en diversos campos relacionados. Los primeros
sistemas expertos que se desarrollaron en los años 1960 eran capaces de resolver solo
problemas basados en situaciones determinadas, mediante sistemas de reglas .Es a
partir de los años 1970 cuando se empiezan a resolver problemas basados en
situaciones inciertas, basados en medidas difusas al principio y en redes probabilísticas
con posterioridad.

UNHEVAL_ ING. SISTEMAS 4


RESUMEN SILABO

DEFINICIÓN DE LA INTELIGENCIA ARTIFICIAL MÁQUINA


INTELIGENTE. DIFERENCIA ENTRE SISTEMAS OPERACIONALES Y
SISTEMAS INTELIGENTES:

INTELIGENCIA ARTIFICIAL MAQUINA INTELIGENTE:

El término inteligencia artificial (IA) se refiere a la capacidad de emular as funciones


inteligentes del cerebro humano. Es la inteligencia exhibida por máquinas. En ciencias
de la computación, una máquina "inteligente" ideal es un agente racional flexible que
percibe su entorno y lleva a cabo acciones que maximicen sus posibilidades de éxito en
algún objetivo o tarea. La IA se da cuando maquina imita las funciones de los humanos
asociadas con la capacidad de resolver problemas.

Su objetivo es mejorar las computadoras para que tengan algunas características


parecidas a la inteligencia humana y se define como la creación de máquinas que son
capaces de crear conocimiento a partir de una especie de algoritmos.

DIFERENCIA ENTRE SISTEMAS OPERACIONALES Y SISTEMAS


INTELIGENTES:

 Un sistema operacional es un software que actúa de interface entre los


dispositivos de hardware y los programas usados por el usuario para utilizar un
computador.
 Un sistema inteligente es un programa de computación que reúne características
y comportamientos asimilables al de la inteligencia humana o animal.

SISTEMAS OPERACIONALES SISTEMAS INTELIGENTES


 Base del conocimiento  Conocimientos y
separada del mecanismo de procesamiento combinados
procesamiento. en un programa.
 Puede contener errores.  No contiene errores.
 Consiste en la explicación.  No da explicaciones, los
 Los cambios en las reglas son datos sólo de usan o
fáciles. escriben.
 Puede operar con  Los cambios son tediosos
información incompleta.  El sistema solo opera
 Representa y usa completo
conocimiento.  Necesita información
completa para operar.
 Representa y usa datos.

UNHEVAL_ ING. SISTEMAS 5


RESUMEN SILABO

REVISIÓN DE LOS LENGUAJES DE LA INTELIGENCIA ARTIFICIAL.


APLICACIONES EN LA INDUSTRIA Y SERVICIO.
LENGUAJES DE PROGRAMACIÓN MÁS USADOS:

 LISP: Lo estructura por listas.


Permite manipular el código fuente como estructura de datos eso permite
a los programadores crear nuevas sintaxis de programas de dominio
específico.
 PROLOG: Resolución de problemas mediante cálculos predicados que se
obtienen a través de consultas a la base de datos y de pruebas
matemáticas. No busca algoritmos para la solución sino dice como debe
ser la solución a un problema y lo rastrea mediante búsquedas aplicadas a
la lógica.
Es un lenguaje declarativo basado en reglas. Su nombre deriva del
anagrama Programación Lógica.
La sintaxis del lenguaje consiste en lo siguiente:
-Declarar hechos sobre objetos y sus relaciones
-Hacer preguntas sobre objetos y sus relaciones
-Definir reglas sobre objetos y sus relaciones

 HASKELL: Es el más usado por FACEBOOK.


 OPS5: Se basa en reglas que son condiciones previas que tienen que
darse antes de que se pueda hacer alguna acción. Analiza la memoria del
trabajo comprueba si hay reglas para realizar alguna acción y si existe esa
situación se convierte satisfactoria y ejecuta la acción.

UNHEVAL_ ING. SISTEMAS 6


RESUMEN SILABO

SEMANA 2

 DIFERENCIA EN PARADIGMA DE CONOCIMIENTO DE S.E.

Representación del conocimiento: redes semánticas, registros y predicados:


Intervienen 2 elementos importantes: la base del conocimiento y los datos.

Los datos están formados por la evidencia del conocimiento o los hechos ya conocidos
en un caso.

Este elemento es dinámico, es decir, puede cambiar de una aplicación a otra. Por esta
razón, no es de naturaleza permanente y se almacena en la memoria de trabajo.

En situaciones deterministas, las relaciones entre un conjunto de objetos pueden ser


representadas mediante un conjunto de reglas. El conocimiento se almacena en la base
de conocimiento y consiste en un conjunto de objetos y un conjunto de reglas que
gobiernan las relaciones entre esos objetos.

La información almacenada en la base de conocimiento es de naturaleza permanente y


estática, es decir, no cambia de una aplicación a otra, a menos que se incorporen al
sistema experto elementos de aprendizaje.

Un sistema experto, también llamado Sistema de Conocimiento , concepto que


incorpora la idea de ser un sistema que se basa en el conocimiento y de ser un sistema
formado por bases de conocimiento , es , esencialmente un sistema informático , que
dotado de una gran cantidad de sobre un dominio de conocimientos concreto y muy
bien definido, y que dispone también de una serie de mecanismos para poner en
funcionamiento estos conocimientos almacenados, con vistas a la resolución de
problemas que puedan surgir en ese dominio concreto. Por tanto, se trata de un
sistema informático que acaba realizando las tareas que un experto humano
profesional haría, a partir de los requerimientos, conocimientos, experiencia, etc. que

UNHEVAL_ ING. SISTEMAS 7


RESUMEN SILABO

habitualmente son necesarios para ello , y actuando de una forma muy similar, a como
haría un abogado penalista al preparar la estrategia de un caso, o un médico al
estructurar un procedimiento de diagnóstico, o un asesor fiscal o financiero al evaluar
las consecuencias de operación financiera, etc. , incluyendo las explicaciones y
justificaciones pertinentes.

Clasificación de problemas algorítmicos. Problemas de decisión, localización y


optimización. Problemas P y NP.

CLASE NP:
Pueden caracterizarse por le hecho de que puede aplicarse a un algoritmo
polínomico para ser comprobados sus posibles soluciones, de esa forma se
determina si es válida o inválida.

Por medio de esta característica podemos ejecutar un método de solución no


determinista, que consiste en aplicar heurísticos para obtener soluciones
hipotéticas que se van desestimando aceptando al ritmo polinómico.

CLASE P
Los algoritmos de complejidad polinómica se dicen que son tratables en el
sentido de que suelen ser ejecutados en la práctica.

Los problemas que existen para los algoritmos con esta complejidad, se dicen
que forman la clase P. Aquellos problemas para los que la mejor solución que se
conoce es de complejidad superior a la polinómica, se determinan que son
problemas intratables.

UNHEVAL_ ING. SISTEMAS 8


RESUMEN SILABO

SEMANA 3

 ANÁLISIS DE CASOS DE UN S.E :

Descripción de algunos problemas

PLANIFICACIÓN DE EXAMEN:
Se puede utilizar los sistemas expertos para resolver problemas como la organización y
asignación de las aulas para realizar exámenes finales de la forma que cumpla y se
logre los siguientes objetivos:

 Eliminar las coincidencias de asignación simultánea de aulas: Solo se puede


realizar un examen en cada aula al mismo tiempo.
 Asientos suficientes: Un aula asignada para un examen debe tener al menos dos
asientos por estudiante.
 Minimizar los conflictos temporales: Minimizar el número de alumnos que tienen
exámenes coincidentes.
 Eliminar la sobrecarga de trabajo: Ningún alumno debe tener más de dos
exámenes en un periodo de 24 horas.
 Minimizar el número de exámenes realizados durante las tardes.

DIAGNÓSTICO MEDICO:
Para aplicar sistemas expertos se necesita de información médica como registro del
paciente, síntomas de las enfermedades, etc.

UNHEVAL_ ING. SISTEMAS 9


RESUMEN SILABO

Por ejemplo, supóngase que un doctor en un centro médico está interesado en conocer
información sobre una cierta enfermedad (E) y tres síntomas asociados (S1, S2, y S3).
Se puede utilizar un sistema experto para buscar en la base de datos, extraer y
organizar la información deseada. Esta información puede resumirse en tablas.

¿Cómo se puede aprender de la experiencia? Es decir, como se actualiza el


conocimiento de los doctores en medicina cuando el número de pacientes que ´estos
tratan aumenta?

Supuesto que un paciente presenta un conjunto de síntomas, ¿cómo se decide que


enfermedad es la que más probablemente tiene el paciente?

¿Cuáles son las relaciones entre un conjunto (normalmente no observable) de


enfermedades y un conjunto (observable) de síntomas?

En otras palabras, ¿qué modelos pueden utilizarse para describir las relaciones entre
los síntomas y las enfermedades?

Dado que el conjunto de síntomas conocidos no es suficiente para diagnosticar la


enfermedad con cierto grado de certeza, ¿qué información adicional debe ser obtenida
(por ejemplo, ¿qué síntomas adicionales deben ser identificados? o ¿qué pruebas
médicas deben realizarse?).

¿Cuál es el valor de cada una de estas piezas de información? En otras palabras, ¿cuál
es la contribución de cada uno de los síntomas adicionales o pruebas a la toma de
decisión?

Introducción al PROLOG: Características y palabras del lenguaje, operaciones


con números
Prolog es un lenguaje conversacional; es decir, el sistema Prolog mantiene un diálogo
continuo con el programador desde el inicio de la sesión hasta el final de la misma.
Este diálogo toma generalmente la forma de un interrogatorio, a lo largo del cual el
programador planteará preguntas al sistema Prolog.

Por su parte, el sistema Prolog responderá cada una de las preguntas formuladas por el
programador en la medida en que esto sea posible.

Prolog le indica al programador que está esperando a que éste le formule una pregunta
mostrando en pantalla el siguiente símbolo

Tras este símbolo, el programador puede teclear una pregunta (terminada en un punto)
y pulsar el retorno de carro. Con ello, el programador solicita al sistema Prolog que
responda a la pregunta recién formulada. Una vez procesada la pregunta el sistema
Prolog mostrará en pantalla la respuesta correspondiente.

?- 5 is 2+3. Yes

Es importante recordar que todas las preguntas formuladas a Prolog deben terminar en
un punto. Si se olvida incluir el punto, por más veces que se presione retorno de carro,

UNHEVAL_ ING. SISTEMAS 10


RESUMEN SILABO

Prolog considerará que la pregunta no está formulada en su totalidad y, por lo tanto,


seguirá esperando a que se termine de formular la pregunta. Por ejemplo, si olvidamos
teclear el punto en la pregunta.

adelante, las preguntas son realmente términos Prolog y deben ajustarse a una sintaxis
formal concreta. Si la pregunta en cuestión no es un término Prolog correcto, habremos
cometido un error sintáctico.

Para responder a las preguntas formuladas por el programador, Prolog consulta una
base de conocimiento. Al iniciar una sesión Prolog, esta base de conocimiento
almacena un conocimiento básico que incluye, entre otras cosas, conceptos y
definiciones de la aritmética de los números naturales.

A lo largo de la conversación mantenida con el programador, Prolog no sólo es capaz de


responder a ciertas preguntas que se le formulen, sino que es también capaz de
aprender sobre aquello que no sabe. Durante la sesión, es posible ampliar esta base de
conocimiento añadiendo definiciones de conceptos sobre los que Prolog no sabe nada
(como por ejemplo una definición de pato), o bien modificando y extendiendo
definiciones sobre conceptos que Prolog ya conoce (por ejemplo, añadiendo nuevos
operadores aritméticos sobre los naturales). La base de conocimiento se expresa
mediante hechos y reglas Prolog, que no son otra cosa que una representación
sintáctica concreta de cláusulas de Horn de primer orden. Por lo tanto, todo el
conocimiento Prolog queda expresado empleando (casi) exclusivamente lógica de
primer orden. Por ello se dice que Prolog es un lenguaje lógico y que la programación
en Prolog es programación lógica. Un programa Prolog no es por tanto más que un
conjunto de hechos y reglas que expresan cierto conocimiento mediante lógica de
primer orden.

UNHEVAL_ ING. SISTEMAS 11


RESUMEN SILABO

Presentación del software SWI-PROG: comandos básicos, procesamiento básico


del interpretador:

El predicado pwd/0:

El predicado pwd imprime el directorio de trabajo actual (es equivalente al comando


MS-DOS cd sin parámetros). Por ejemplo, si nuestro directorio de trabajo es
c:\prolog\marisol (en notación MS-DOS), al preguntar a Prolog por el directorio actual
obtenemos ?

- pwd.

c:/prolog/marisol es decir, el directorio actual en notación Prolog.

El predicado ls/0.

El predicado ls lista el contenido del directorio de trabajo actual (es equivalente al


comando MS-DOS dir). Por ejemplo, si el directorio actual contiene los ficheros 'patos.pl'
y 'familia.pl' al ejecutar ls obtenemos

UNHEVAL_ ING. SISTEMAS 12


RESUMEN SILABO

?- ls.

patos.pl familia.pl

El predicado cd/1.

Finalmente, es posible cambiar el directorio actual mediante el predicado cd


(equivalente al comando MS-DOS cd). El nombre del nuevo directorio debe ser una ruta
(absoluta o relativa) en notación Prolog, encerrada entre comillas simples. Por ejemplo

?- cd('../pablo').

establecerá c:\prolog\pablo como nuevo directorio de trabajo, mientras que

?- cd('c:/prolog/marisol'). Reestablece c:/prolog/marisol como directorio de trabajo.

El predicado crea/4.

El primer paso para escribir un programa Prolog consiste en crear el fichero que lo
almacenará. Esto se hace mediante el predicado crea, que recibe cuatro parámetros: el
nombre del fichero a crear, el nombre del autor, el curso y el código de la máquina en
que se está trabajando.

Ejecución de un programa Prolog


Ejecutar un programa Prolog consiste realmente en formular una pregunta a la que
Prolog intentará responder haciendo uso del programa (base de conocimientos). Por
ejemplo, para “ejecutar” el programa ‘patos.pl’ podemos plantear a Prolog la siguiente
cuestión

?- esPato(lucas).

Yes

Prolog responderá afirmativamente, pues es cierto que Lucas es un pato. Debe


entenderse que Prolog sabe todo aquello que le hemos enseñado y sólo aquello que le
hemos enseñado acerca de los patos. Es decir, Prolog no lo sabe todo acerca de los
patos. Es más, ni siquiera sabe lo mismo que nosotros acerca de los patos. Así, aunque
nosotros sabemos que Jorgito, el sobrino de Donald, es también un pato, no hemos
facilitado a Prolog conocimiento suficiente como para inferir tal información. Si
preguntamos si Jorgito es un pato

?- esPato(jorgito).

No

Prolog responderá negativamente.

Prolog sólo no es capaz de contestar si alguien en particular (Lucas, Donald, etc.) es o


no un pato; es también capaz de enumerarnos todos los patos que conoce. Para ello,
basta formular la siguiente pregunta

UNHEVAL_ ING. SISTEMAS 13


RESUMEN SILABO

?- esPato(X).

donde X (en mayúscula) es una variable que representa a algún pato por determinar.
La pregunta anterior puede leerse entonces como "dime los valores posibles de X tales
que son patos". Esta pregunta tiene tres respuestas posibles, pues Prolog conoce tres
patos: Lucas, Donald y Gilito. Cuando Prolog reconoce que una pregunta tiene varias
respuestas, se detiene cada vez que muestra una de éstas y espera a que el
programador le indique si desea obtener más respuestas. Por ejemplo, a la pregunta

?- esPato(X).

X = lucas

Prolog responde que conoce al pato Lucas, y se queda a la espera de que el


programador le indique si quiere obtener o no más respuestas. Si pulsamos retorno de
carro, le estaremos indicando a Prolog que nos damos satisfechos con la respuesta
obtenida hasta el momento. Por el contrario, si queremos que Prolog nos muestre más
respuestas, debemos teclear un punto y coma después de cada respuesta

?- esPato(X).

X = lucas;

X = donald;

X = gilito;

No

Ayuda de SWI-Prolog

SWI-Prolog viene equipado con un potente sistema de ayuda. En realidad, todo el


manual del usuario de SWI-Prolog está disponible a través de dos predicados Prolog:
help/1 y apropos/1.

El predicado help/0 muestra un mensaje sobre el funcionamiento del sistema de ayuda


de SWI-Prolog.

El predicado help/1 muestra una descripción detallada acerca de un predicado concreto


o tema concreto

?- help(tema).

Finalmente, el predicado apropos/1 muestra una lista de todos los predicados y


secciones del manual que contienen una palabra en concreto

?- apropos(palabra).

Es decir, apropos/1 genera la entrada del índice de palabras correspondiente a


‘palabra’.

UNHEVAL_ ING. SISTEMAS 14


RESUMEN SILABO

La mejor forma de familiarizarse con el sistema de ayuda de SWI-Prolog es haciendo


uso del mismo.

SEMANA 4

UNHEVAL_ ING. SISTEMAS 15


RESUMEN SILABO

 DESARROLLO DE PROCESOS COGNITIVOS DE


REALIDADES ABSTRACTAS PARA EL DESARROLLO DE
APLICACIONES EXPERTAS:

Definición de problemas de la inteligencia artificial como problema de búsqueda


en un espacio de estado
Muchos de los problemas que pueden ser resueltos aplicando técnicas de inteligencia
artificial se modelan en forma simbólica y discreta definiendo las configuraciones
posibles del universo estudiado. El problema se plantea entonces en términos de
encontrar una configuración objetivo a partir de una configuración inicial dada,
aplicando transformaciones válidas según el modelo del universo. La respuesta es la
secuencia de transformaciones cuya aplicación sucesiva lleva a la configuración
deseada.

Los ejemplos más característicos de esta categoría de problemas son los juegos (son
universos restringidos fáciles de modelar). En un juego, las configuraciones del
universo corresponden directamente a las configuraciones del tablero. Cada
configuración es un estado que puede ser esquematizado gráficamente y representado
en forma simbólica. Las transformaciones permitidas corresponden a las reglas o
movidas del juego, formalizadas como transiciones de estado.

Entonces, para plantear formalmente un problema, se requiere precisar una


representación simbólica de los estados y definir reglas del tipo condición acción para
cada una de las transiciones válidas dentro del universo modelado. La acción de una
regla indica como modificar el estado actual para generar un nuevo estado. La
condición impone restricciones sobre la aplicabilidad de la regla según el estado actual,
el estado generado o la historia completa del proceso de solución.

El espacio de estados de un juego es un grafo cuyos nodos representan las


configuraciones alcanzables (los estados válidos) y cuyos arcos explicitan las movidas
posibles (las transiciones de estado). En principio, se puede construir cualquier espacio
de estados partiendo del estado inicial, aplicando cada una de las reglas para generar
los sucesores inmediatos, y así sucesivamente con cada uno de los nuevos estados
generados (en la práctica, los espacios de estados suelen ser demasiado grandes para
explicitarlos por completo).

Cuando un problema se puede representar mediante un espacio de estados, la solución


computacional corresponde a encontrar un camino desde el estado inicial a un estado
objetivo.

Un problema típico de la Inteligencia Artificial consiste en buscar un estado concreto


entre un conjunto determinado, al que se le llama espacio de estados. Imaginemos, por
ejemplo, una habitación con estantes en la que hay un libro. Un robot se desea

UNHEVAL_ ING. SISTEMAS 16


RESUMEN SILABO

desplazar por la habitación con el fin de llegar a dicho libro. ¿De qué manera lo hará?
En este punto es donde entran en juego las estrategias y los algoritmos de búsqueda.
El primer paso para diseñar un programa que resuelva un problema es crear una
descripción formal y manejable del propio problema. Sería adecuado contar con
programas que produzcan descripciones formales a partir de descripciones informales,
proceso denominado operacionalización. Dado que por ahora no se conoce la forma de
construir estos programas este proceso debe hacerse manualmente. Hay problemas
que por ser artificiales y estructurados son fáciles de especificar (por ej. El ajedrez, el
problema de las jarras de agua, etc.). Otros problemas naturales, como por ej. La
comprensión del lenguaje, no son tan sencillos de especificar.

Para producir una especificación formal de un problema se deben definir:

- espacio de estados;

- estado inicial del problema;

- estado objetivo o final;

- reglas que se pueden aplicar para pasar de un estado a otro

Métodos de búsqueda ciega: amplitud profundidad y no determinista.

METODOS CIEGOS: Sin información

Los métodos ciegos son procedimiento sistemáticos de búsqueda del estado meta en el
árbol de estado. Son llamados de métodos ciegos, porque usan estrategias de
búsqueda que solo consideran la relación de precedencia entre estados. La información
sobre el beneficio, utilidad, lucro de pasar de un estado para otro estado no es
considerado.

Los métodos de búsqueda ciega más conocidos son:

• Búsqueda en amplitud

• Búsqueda en profundidad

• Búsqueda no determinística (aleatorio)

Búsqueda por amplitud:


Inicie en el nodo raíz del árbol de estado con el estado inicial. Si el nodo corresponde al
estado meta entonces termine, caso contrario genere los nodos sucesores no
redundante del presente nivel (use el sistema de producción). Si alguno de los nodos
del primer nivel corresponde al estado meta entonces termine, caso contrario genere
los nodos sucesores no redundante del primer nivel, esto es los nodos del segundo
nivel (use el sistema de producción). El proceso se repite hasta encontrar el estado
meta o cuando no sea posible generar nuevos sucesores.

UNHEVAL_ ING. SISTEMAS 17


RESUMEN SILABO

Iteración 0: Nivel 0

Test: verificar si es estado meta.

Si la rpta es SI  termina, de lo contrario se genera los sucesores no redundantes.

Iteración 1: Nivel 0

Nivel 1

Test: verificar si algún nodo del nivel 1 es estado meta. Si la rpta es SI  termina, de lo
contrario se genera los sucesores no redundantes del nivel 1.

Iteración 2:

Nivel 0

Nivel 1

Nivel 2

Test: verificar si algún estado del nivel 2 es estado meta Si la rpta es SI  termina, de lo
contrario Se genera los sucesores no redundantes del nivel 2.

Busqueda por profundidad:

 Una hoja de un árbol es un nodo del árbol que no tiene sucesores.


 Una rama de un árbol es un camino que inicia en el nodo raíz y termina en un
nodo hoja.

Ejmplo: Determine las ramas del siguiente árbol

Las ramas son: a, b, e a, b, a a, c a, d, g, h a, d, g, i

El método consiste en una búsqueda por las ramas del árbol


de estado. Si en una de las ramas se encuentra el estado
meta entonces el procedimiento termina, de lo contrario se pasa a investigar sobre otra
rama no redundante. El procedimiento se repite hasta encontrar el estado meta (éxito)
o hasta que no existan más ramas a investigar (fracaso).

LE: Lista de nodos en espera de proceso (nodos no comparados con el estado meta) .
LV: Lista de nodos ya procesado (nodos comparados con el estado meta).

UNHEVAL_ ING. SISTEMAS 18


RESUMEN SILABO

Busqueda no determinística:

El estado a ser procesado en ambos métodos es el primero de la lista LE.

• Las listas generadas en los métodos de búsqueda en amplitud y en profundidad son


registradas respectivamente al final e inicio de LE.

En este método, el nodo a procesar es seleccionado aleatoriamente de la lista LE, los


nodos sucesores son colocados al inicio o final de LE.

UNHEVAL_ ING. SISTEMAS 19

You might also like