Nombre de la materia
Inteligencia Artificial
Nombre de la Licenciatura
Ingeniería en Sistemas Computacionales
Nombre del alumno
Luis Gerardo Jaquez Magallanes
Matrícula
010206667
Nombre de la Tarea
Tarea 4 Listas
Unidad 3
Solución de problemas y búsqueda.
Nombre del Profesor
Javier Alvarado Camas
Fecha
Jueves 01 de Abril de 2021
1
Unidad 3: Solución de problemas y búsqueda.
Inteligencia Artificial
ÍNDICE
Actividad 4....................................................................................................................................................3
Tarea 4:....................................................................................................................................................3
Introducción.................................................................................................................................................4
¿De qué manera la inteligencia artificial nos permite solucionar problemas?.........................................4
Desarrollo de la Actividad.............................................................................................................................5
Conclusión:...................................................................................................................................................8
Fuentes de Información...............................................................................................................................8
2
Unidad 3: Solución de problemas y búsqueda.
Inteligencia Artificial
Actividad 4
Tarea 4:
Tarea
Es momento de que realices el Ejercicio: Mejorando mi programa y lo envíes a tu profesor
para obtener su retroalimentación.
Tarea:
1. Revisa con atención el video Introducción a las Listas (myCyberAcademy, 2013).
2. Revisa con atención el video Progenitores con Listas (myCyberAcademy, 2013).
3. Realiza un programa en Prolog con la información que desees.
4. Genera un reporte donde incluyas: Impresiones de pantalla paso por paso para la
realización de tu programa; diferencia con tu primer programa. Explica como se planea el
uso de listas para resolver el programa e investiga si este algoritmo se puede hacer en un
lenguaje orientado a objetos.
Integra un documento que incluya una breve introducción, el desarrollo de los puntos
solicitados, un apartado de conclusiones y las referencias bibliográficas.
3
Unidad 3: Solución de problemas y búsqueda.
Inteligencia Artificial
Introducción
¿De qué manera la inteligencia artificial nos permite solucionar problemas?
La resolución de problemas es fundamental para la
mayoría de las aplicaciones de Inteligencia Artificial
(IA). De hecho, la capacidad de resolver problemas
suele usarse como una medida de la inteligencia tanto
para el ser humano como para la computadora. Hay
principalmente dos clases de problemas.
Una primera clase puede ser resuelta usando algún tipo de procedimiento determinista cuyo
éxito esté garantizado. A este procedimiento se le llama de computación. No obstante, a pesar
de que pocos problemas reales se prestan a soluciones computables, deben ser situados en la
segunda categoría, que consiste en problemas que se resuelven con la búsqueda de una
solución. Este es el método de resolución de problemas del que se preocupa la IA.
Prolog
El lenguaje Prolog, principal representante del paradigma, se basa en un subconjunto de la
lógica de primer orden (restricción de la forma clausal de la lógica denominada cláusulas de
Horn). Philippe Roussel y Alain Colmerauer (Universidad de
AixMarseille) lo crearon en 1972, y su base teórica se debe en
gran parte a Kowalski.
Estructuras básicas
Prolog cuenta con dos tipos de estructuras: términos y
sentencias. Los términos
pueden ser constantes, variables o functores:
Las constantes, representadas por una cadena de
caracteres, pueden ser números o cualquier cadena que comience en minúscula.
Las variables son cadenas que comienzan con una letra mayúscula.
4
Unidad 3: Solución de problemas y búsqueda.
Inteligencia Artificial
Desarrollo de la Actividad
1. Empecé con el encabezado de la base de conocimiento con comentario, además mi
programa va a estar basado en listas de Asistencia de diferentes Materias.
5
Unidad 3: Solución de problemas y búsqueda.
Inteligencia Artificial
2. Cree una lista con las materias de una escuela y los nombres de los alumnos.
3. A continuación, esto se imprimió con lo que llevamos, esta mostrando en pantalla los
alumnos que asistieron de cada materia por medio de una lista.
4. Empecé a crear una regla para poder saber cuales alumnos pertenecen a cada materia,
o crear una lista de asistencia.
6
Unidad 3: Solución de problemas y búsqueda.
Inteligencia Artificial
5. La asistencia está basada en Materia y Estudiante, para esto cada alumno tienes u
materia y necesitamos la lista de alumnos de cada materia, entonces en Materia se
almacena la materia y en Estudiantes se almacena el nombre del estudiante, después
se buscan los Estudiantes comparándolo con Estudiante y si se cumple es verdadero.
Ahora si lo compara y está vacío deja de buscar y lo declara fail.
Si no lo encuentra lo compara con toda la lista y si lo encuentra es verdadero.
6. Ahora una prueba de que funciona y demuestra que José asistió a clase de geografía,
así como también demuestra que Pepe no fue a la clase de la misma materia.
7
Unidad 3: Solución de problemas y búsqueda.
Inteligencia Artificial
¿Este algoritmo se puede hacer en un lenguaje orientado a objetos?
La POO es un leguaje en el cual se puede manejar listas y poder manipularlas fácilmente con
implementación de nodos:
Conclusión:
En esta actividad se pudo conocer el uso de listas dentro del programa lógico en el cual yo
utilice con formato de cabeza y cola al agregar una lista de alumnos con las materias y las
asistencias con nombres de cada alumno, el programa funcionó correctamente al preguntarle
por los alumnos y asimismo se implementó un a regla para lograr detectar que alumno es
asistió a cuál materia, ejemplo: ¿Juan asistió a la clase de Matemáticas? Y de esta forma saber
quien asistió y quien no, y aplica para las cuatro materias.
SE ADJUNTARÁ EL DOCUMENTO .pl DEL ARCHIVO DE PROLOG.
Fuentes de Información
Programación lógica (Rossel, G., 2004).
MyCyberAcademy (19 de mayo de 2013) Introducción a las Listas. YouTube.
MyCyberAcademy (25 de junio de 2013) Progenitores con Listas. YouTube.
Unidad III. Solución de problemas por búsqueda (García López, D. A., 2009).
Algoritmo de BM (Zuppa, 2014).