SlideShare una empresa de Scribd logo
INSTITUTO POLITÉCNICO NACIONAL
    ESCUELA SUPERIOR DE CÓMPUTO



        Artificial Inteligence




            Tarea No. 2


               Prolog

      Profesor: Hernández Cruz Macario




          Manzano León Jansel




                   3CM4




             Fecha de entrega:
             15-Octubre-2012
Introducción
Desarrollo

       I.      Introducción a Prolog – Hechos y Reglas
Ejercicio 1.1
Considerando la lámina anexa (tomada de la serie de televisión “Los Simpsons”),
represente en lenguaje Prolog las características de los objetos y las relaciones entre ellos.

Asimismo, basadas en las relaciones “progenitor” y el género de las personas (si es
hombre o mujer), establecer las reglas para:

abuelo(X,Y):-
abuela(X,Y):-
tio(X,Y):-
tia(X,Y):-
hermano(X,Y):-
hermana(X,Y):-
Solución (1.1)

macho(homero).
macho(bart).
macho(abraham).
macho(mr_burns).
macho(clancy).
macho(seymour_skinner).
macho(milhouse).

hembra(jacqueline).
hembra(edna).
hembra(mona).
hembra(marge).
hembra(paty).
hembra(selma).
hembra(maggie).
hembra(lisa).

animal(snowball).

alien(kang).
macho(kang).

progenitor(homero,bart).
progenitor(marge,bart).

progenitor(homero,lisa).
progenitor(marge,lisa).

progenitor(kang,maggie).
progenitor(marge,maggie).

progenitor(abraham,homero).
progenitor(mona,homero).

progenitor(clancy,marge).
progenitor(jacqueline,marge).

progenitor(clancy,selma).
progenitor(jacqueline,selma).

progenitor(clancy,paty).
progenitor(jacqueline,paty).

conyuge(homero,marge).

abuelo(X,Y):-progenitor(M,Y),progenitor(X,M),macho(X).
abuela(X,Y):-progenitor(M,Y),progenitor(X,M),hembra(X).

hermano(X,Y):-progenitor(M,Y),progenitor(M,X),macho(X).
hermana(X,Y):-progenitor(M,Y),progenitor(M,X),hembra(X).

tio(X,Y):-progenitor(M,Y),hermano(M,X).
tia(X,Y):-progenitor(M,Y),hermana(M,X).
II.    Aritmética y recursividad en Prolog
Ejercicio 2.1
Considere la definición de la sucesión de Fibonacci.
        fib(n) = n si n < = 1
        fib(n) = fib(n-1) + fib(n-2) si n > 1

De tal forma que los primeros términos de la sucesión son:
0,1,1,2,3,5,8,13,21…...
Desarrolle un conjunto de reglas para calcular el término n-esimo de la sucesión.

?- fibonacci(0,F).
F = 0
?- fibonacci(1,F).
F = 1
?- fibonacci(2,F).
F = 1
?- fibonacci(3,F).
F = 2
?- fibonacci(4,F).
F = 3

Solución (2.1)

       fibonacci(0,0).
       fibonacci(1,1).
       fibonacci(N,F):-       N1 is N-1,N2 is N1-1,
                              fibonacci(N1,A),
                              fibonacci(N2,B),
                              F is A+B.




       III.      Listas
Ejercicio 3.1

Escriba la(s) regla(s) necesaria(s) para imprimir una lista de la siguiente forma.
?- imprime([a, b, c, d]).
a
b
c
d
true
Solución (3.1)

       imprime([]).
       imprime([H|T]):-       write_ln(H),
                              imprime(T).




Ejercicio 3.2
Escriba la(s) regla(s) necesaria(s) para agregar un elemento al principio de una lista.

?- agregar(gato,[zorro, zopilote, puerco],L).
L = [gato, zorro, zopilote, puerco]
true

Solución (3.2)
       agregar(E,L,[E|L]).
       agregar(E,[X|Y],[X|Z]):-agregar(E,Y,Z).




Ejercicio 3.3
Escriba la(s) regla(s) necesaria(s) para agregar un elemento al final de una lista.

?- agregar_final([agua, tierra, viento], fuego, L).
L = [agua, tierra, viento, fuego]
true
Solución (3.3)
       agregar_final([],X,[X|[]]).
       agregar_final([H1|T1],X,[H1|T]):-agregar_final(T1,X,T).




Ejercicio 3.4.
Escriba la(s) regla(s) necesaria(s) para invertir los elementos de una lista.

?- de_reversa([angel, beto, sandra, zoyla],L).
L = [zoyla, sandra, beto, angel]
true

Solución (3.4)
       de_reversa([],_).
       de_reversa([H1|T1],L):-        agregar_final(M,H1,L),
                                      de_reversa(T1,M).




Ejercicio 3.5.
Escriba la(s) regla(s) necesaria(s) para obtener el último elemento de una lista.

?- ultimo([piolin, silvestre, bugss_bunny, porky],X).
X = porky
true

Solución (3.5)
       ultimo(X,[X]).
       ultimo(X,[_|T]):-ultimo(X,T).
Ejercicio 3.6.
Escriba la(s) regla(s) necesaria(s) para obtener las permutaciones de una lista.
?- permutacion([bart,lisa,maggie],L).
L = [bart, lisa, maggie] ;
L = [bart, maggie, lisa] ;
L = [lisa, bart, maggie] ;
L = [lisa, maggie, bart] ;
L = [maggie, bart, lisa] ;
L = [maggie, lisa, bart] ;

Solución (3.6)
       permutacion([],[]).
       permutacion([X|Y],Z):-        permutacion(Y,L),
                                     agregar(X,L,Z).
Ejercicio 3.7.
Escriba la(s) regla(s) necesaria(s) para verificar si una lista esta ordenada.

?- ordenada([agua, fuego, tierra, viento]).
true
?- ordenada([agua, tierra, viento, fuego]).
false

Solución (3.7)
       primero([H|_],H).
       ordenada([]).
       ordenada([_]).
       ordenada([H|T]):-       primero(T,X),
                               (H @< X),
                               ordenada(T).




Ejercicio 3.8.
Escriba la(s) regla(s) necesaria(s) para ordenar los elementos de una lista.

?- ordenar([stan, cartman, kyle, kenny], L).
L = [cartman, kenny, kyle, stan] ;

Solución (3.8)
       ordenar([],_).
       ordenar(L,Z):-          permutacion(L,Z),
                               ordenada(Z).
Conclusiones
Por la realización de este trabajo, se puede establecer que el lenguaje Prolog está
orientado a la Inteligencia Artificial, usando la programación lógica. Gracias a su facilidad
de programar y su sencilla sintaxis gramatical y numérica, se pueden escribir rápidamente
y con pocos errores programas claramente leíbles, además cualquier usuario puede
acceder a él si lo desea y sin problemas de entendimiento.
También utiliza pocos comandos en comparación con otros lenguajes de programación.
Por otra parte en este lenguaje al igual que otros, hay que tener en cuenta la asociatividad
de los operadores antes de trabajar con él.
Las listas son la única estructura disponible en Prolog y el uso de estas para una
programación de complejidad moderada, es de fundamental importancia. Para esto hay
que tener en cuenta la naturaleza recurrente tanto de las llamadas como de las listas en
este lenguaje.
Además Prolog se puede trabajar en diferentes sistemas operativos, tales como UNIX,
WINDOWS, MAC-OS, entre otros.

Referencias
http://www.gedlc.ulpgc.es/docencia/lp/documentacion/GB_Prolog.pdf

http://blog.utp.edu.co/alejandropinto/files/2012/04/Pr%C3%A1cticas-de-Prolog-
%E2%80%93-Departamento-de-Ciencia-de-La-Computaci%C3%B3n-e-
Inteligencia-Artificial-%E2%80%93-Universidad-de-Alicante.pdf

http://larmor.nuigalway.ie/~detinko/prolog_manual.pdf

http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/1.html

Más contenido relacionado

La actualidad más candente

diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemaUniversidad Tecnológica
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
basilioj
 
metodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialmetodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificial
NoraVelasquez4
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
NANO-06
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
Sergio Sanchez
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
Juan Astudillo
 
Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1
Jesús Gómez Ávila
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
Fundación Universitaria Konrad Lorenz
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
Vannesa Salazar
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
Fernando Solis
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normal
ITCV
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
Rolf Pinto
 
Ejemplo Desarrollo Factibilidad Operativa
Ejemplo Desarrollo Factibilidad OperativaEjemplo Desarrollo Factibilidad Operativa
Ejemplo Desarrollo Factibilidad Operativa
tutor03770
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
Luis Eduardo Aponte
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
Carlos Alberto Cuervo Cardenas
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
COMPUTO1ISTENE
 
Requerimientos de un sistema de información
Requerimientos de un sistema de informaciónRequerimientos de un sistema de información
Requerimientos de un sistema de informacióncamilo_flores
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
José Antonio Sandoval Acosta
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Jsrfs Montemayor
 

La actualidad más candente (20)

diagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistemadiagrama de casos de uso del negocio y del sistema
diagrama de casos de uso del negocio y del sistema
 
Tipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relacionesTipos de atributos y tipos de relaciones
Tipos de atributos y tipos de relaciones
 
metodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificialmetodos de busqueda en inteligencia artificial
metodos de busqueda en inteligencia artificial
 
Pilas como estructura de datos..
Pilas como estructura de datos..Pilas como estructura de datos..
Pilas como estructura de datos..
 
Unidad 3 Modelo De Negocio
Unidad 3 Modelo De NegocioUnidad 3 Modelo De Negocio
Unidad 3 Modelo De Negocio
 
Estructura datos pilas y colas
Estructura datos pilas y colasEstructura datos pilas y colas
Estructura datos pilas y colas
 
Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)Java pilas (Stacks) y colas (Queues)
Java pilas (Stacks) y colas (Queues)
 
Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1Estructura de datos presentacion y sesion 1
Estructura de datos presentacion y sesion 1
 
Estimación Software por Puntos de Función
Estimación Software por Puntos de FunciónEstimación Software por Puntos de Función
Estimación Software por Puntos de Función
 
Normalización de Base de Datos
Normalización de Base de DatosNormalización de Base de Datos
Normalización de Base de Datos
 
Implementación de clases
Implementación de clasesImplementación de clases
Implementación de clases
 
Segunda forma normal
Segunda forma normalSegunda forma normal
Segunda forma normal
 
Teoría De La Complejidad Algoritmica
Teoría De La Complejidad AlgoritmicaTeoría De La Complejidad Algoritmica
Teoría De La Complejidad Algoritmica
 
Ejemplo Desarrollo Factibilidad Operativa
Ejemplo Desarrollo Factibilidad OperativaEjemplo Desarrollo Factibilidad Operativa
Ejemplo Desarrollo Factibilidad Operativa
 
Metodologia orientada a objeto
Metodologia orientada a objetoMetodologia orientada a objeto
Metodologia orientada a objeto
 
Tipos de listas en estructura de datos
Tipos de listas en estructura de datosTipos de listas en estructura de datos
Tipos de listas en estructura de datos
 
Diagrama de contexto
Diagrama de contextoDiagrama de contexto
Diagrama de contexto
 
Requerimientos de un sistema de información
Requerimientos de un sistema de informaciónRequerimientos de un sistema de información
Requerimientos de un sistema de información
 
Estructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busquedaEstructura de Datos - Unidad 6 Metodos de busqueda
Estructura de Datos - Unidad 6 Metodos de busqueda
 
Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)Ejercicio sql tienda informatica (1)
Ejercicio sql tienda informatica (1)
 

Similar a Prolog ejercicios resueltos

Practica i prolog
Practica i prologPractica i prolog
Practica i prolog
KerenSnchez2
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
Esteban Andres Diaz Mina
 
Prolog
Prolog Prolog
Lab 03 - Análisis de Señales - UNTECS
Lab 03 - Análisis de Señales - UNTECSLab 03 - Análisis de Señales - UNTECS
Lab 03 - Análisis de Señales - UNTECS
Ing. Electrónica xD
 
Recursividad
RecursividadRecursividad
Ejercicios prolog
Ejercicios prologEjercicios prolog
Ejercicios prolog
Jose Mejia Viteri
 
Entrega 8 arreglos - controles - gráficos
Entrega 8   arreglos - controles - gráficosEntrega 8   arreglos - controles - gráficos
Entrega 8 arreglos - controles - gráficosguest266cf96
 
El algoritmo EM
El algoritmo EMEl algoritmo EM
Algoritmo EM
Algoritmo EMAlgoritmo EM
Algoritmo EM
Luis Bautista
 
Newton And Neville Interpolation
Newton And Neville InterpolationNewton And Neville Interpolation
Newton And Neville Interpolation
Cristobal Lopez
 
Diapo funciones
Diapo funcionesDiapo funciones
Diapo funciones
melpod
 

Similar a Prolog ejercicios resueltos (20)

Practica i prolog
Practica i prologPractica i prolog
Practica i prolog
 
Aqi
AqiAqi
Aqi
 
Programacion logica
Programacion logicaProgramacion logica
Programacion logica
 
Logaritmos
LogaritmosLogaritmos
Logaritmos
 
Informe
InformeInforme
Informe
 
Analisis Algoritmo
Analisis AlgoritmoAnalisis Algoritmo
Analisis Algoritmo
 
Prolog
Prolog Prolog
Prolog
 
Lab 03 - Análisis de Señales - UNTECS
Lab 03 - Análisis de Señales - UNTECSLab 03 - Análisis de Señales - UNTECS
Lab 03 - Análisis de Señales - UNTECS
 
Recursividad
RecursividadRecursividad
Recursividad
 
Ejercicios prolog
Ejercicios prologEjercicios prolog
Ejercicios prolog
 
Ejercicios prolog
Ejercicios prologEjercicios prolog
Ejercicios prolog
 
Matavmatlab
MatavmatlabMatavmatlab
Matavmatlab
 
Entrega 8 arreglos - controles - gráficos
Entrega 8   arreglos - controles - gráficosEntrega 8   arreglos - controles - gráficos
Entrega 8 arreglos - controles - gráficos
 
El algoritmo EM
El algoritmo EMEl algoritmo EM
El algoritmo EM
 
Algoritmo EM
Algoritmo EMAlgoritmo EM
Algoritmo EM
 
SSLL-TE-2014-1S
SSLL-TE-2014-1SSSLL-TE-2014-1S
SSLL-TE-2014-1S
 
Newton And Neville Interpolation
Newton And Neville InterpolationNewton And Neville Interpolation
Newton And Neville Interpolation
 
Diapo funciones
Diapo funcionesDiapo funciones
Diapo funciones
 
Transparencias3
Transparencias3Transparencias3
Transparencias3
 
Funciones
FuncionesFunciones
Funciones
 

Último

UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
EdwardYumbato1
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
auxsoporte
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
sandradianelly
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
Alejandrogarciapanta
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
HuallpaSamaniegoSeba
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
LorenaCovarrubias12
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
Ruben53283
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Monseespinoza6
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
Distea V región
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
MauricioSnchez83
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Txema Gs
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
DIANADIAZSILVA1
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
ClaudiaAlcondeViadez
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
LilianaRivera778668
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
El Fortí
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
BetzabePecheSalcedo1
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
rosannatasaycoyactay
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Demetrio Ccesa Rayme
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
YasneidyGonzalez
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
arleyo2006
 

Último (20)

UNIDAD DE APRENDIZAJE DEL MES Junio 2024
UNIDAD DE APRENDIZAJE DEL MES  Junio 2024UNIDAD DE APRENDIZAJE DEL MES  Junio 2024
UNIDAD DE APRENDIZAJE DEL MES Junio 2024
 
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24CALENDARIZACION DEL MES DE JUNIO - JULIO 24
CALENDARIZACION DEL MES DE JUNIO - JULIO 24
 
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdfUn libro sin recetas, para la maestra y el maestro Fase 3.pdf
Un libro sin recetas, para la maestra y el maestro Fase 3.pdf
 
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdfINFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
INFORME MINEDU DEL PRIMER SIMULACRO 2024.pdf
 
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
Varón de 30 años acude a consulta por presentar hipertensión arterial de reci...
 
Semana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptxSemana #10-PM3 del 27 al 31 de mayo.pptx
Semana #10-PM3 del 27 al 31 de mayo.pptx
 
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernándezPRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
PRÁCTICAS PEDAGOGÍA.pdf_Educación Y Sociedad_AnaFernández
 
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
Productos contestatos de la Séptima sesión ordinaria de CTE y TIFC para Docen...
 
El lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libroEl lugar mas bonito del mundo resumen del libro
El lugar mas bonito del mundo resumen del libro
 
Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1Mauricio-Presentación-Vacacional- 2024-1
Mauricio-Presentación-Vacacional- 2024-1
 
Testimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdfTestimonio Paco Z PATRONATO_Valencia_24.pdf
Testimonio Paco Z PATRONATO_Valencia_24.pdf
 
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdfHABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
HABILIDADES MOTRICES BASICAS Y ESPECIFICAS.pdf
 
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdfTexto_de_Aprendizaje-1ro_secundaria-2024.pdf
Texto_de_Aprendizaje-1ro_secundaria-2024.pdf
 
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptxCLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
CLASE N.1 ANÁLISIS ADMINISTRATIVO EMPRESARIAL presentación.pptx
 
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdfFORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
FORTI-JUNIO 2024. CIENCIA, EDUCACION, CULTURA,pdf
 
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIACONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
CONCLUSIONES-DESCRIPTIVAS NIVEL PRIMARIA
 
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
3° UNIDAD 3 CUIDAMOS EL AMBIENTE RECICLANDO EN FAMILIA 933623393 PROF YESSENI...
 
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdfAsistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
Asistencia Tecnica Cartilla Pedagogica DUA Ccesa007.pdf
 
Fase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcionalFase 1, Lenguaje algebraico y pensamiento funcional
Fase 1, Lenguaje algebraico y pensamiento funcional
 
Introducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BIIntroducción a la ciencia de datos con power BI
Introducción a la ciencia de datos con power BI
 

Prolog ejercicios resueltos

  • 1. INSTITUTO POLITÉCNICO NACIONAL ESCUELA SUPERIOR DE CÓMPUTO Artificial Inteligence Tarea No. 2 Prolog Profesor: Hernández Cruz Macario Manzano León Jansel 3CM4 Fecha de entrega: 15-Octubre-2012
  • 3. Desarrollo I. Introducción a Prolog – Hechos y Reglas Ejercicio 1.1 Considerando la lámina anexa (tomada de la serie de televisión “Los Simpsons”), represente en lenguaje Prolog las características de los objetos y las relaciones entre ellos. Asimismo, basadas en las relaciones “progenitor” y el género de las personas (si es hombre o mujer), establecer las reglas para: abuelo(X,Y):- abuela(X,Y):- tio(X,Y):- tia(X,Y):- hermano(X,Y):- hermana(X,Y):-
  • 4. Solución (1.1) macho(homero). macho(bart). macho(abraham). macho(mr_burns). macho(clancy). macho(seymour_skinner). macho(milhouse). hembra(jacqueline). hembra(edna). hembra(mona). hembra(marge). hembra(paty). hembra(selma). hembra(maggie). hembra(lisa). animal(snowball). alien(kang). macho(kang). progenitor(homero,bart). progenitor(marge,bart). progenitor(homero,lisa). progenitor(marge,lisa). progenitor(kang,maggie). progenitor(marge,maggie). progenitor(abraham,homero). progenitor(mona,homero). progenitor(clancy,marge). progenitor(jacqueline,marge). progenitor(clancy,selma). progenitor(jacqueline,selma). progenitor(clancy,paty). progenitor(jacqueline,paty). conyuge(homero,marge). abuelo(X,Y):-progenitor(M,Y),progenitor(X,M),macho(X). abuela(X,Y):-progenitor(M,Y),progenitor(X,M),hembra(X). hermano(X,Y):-progenitor(M,Y),progenitor(M,X),macho(X). hermana(X,Y):-progenitor(M,Y),progenitor(M,X),hembra(X). tio(X,Y):-progenitor(M,Y),hermano(M,X). tia(X,Y):-progenitor(M,Y),hermana(M,X).
  • 5. II. Aritmética y recursividad en Prolog Ejercicio 2.1 Considere la definición de la sucesión de Fibonacci. fib(n) = n si n < = 1 fib(n) = fib(n-1) + fib(n-2) si n > 1 De tal forma que los primeros términos de la sucesión son: 0,1,1,2,3,5,8,13,21…... Desarrolle un conjunto de reglas para calcular el término n-esimo de la sucesión. ?- fibonacci(0,F). F = 0 ?- fibonacci(1,F). F = 1 ?- fibonacci(2,F).
  • 6. F = 1 ?- fibonacci(3,F). F = 2 ?- fibonacci(4,F). F = 3 Solución (2.1) fibonacci(0,0). fibonacci(1,1). fibonacci(N,F):- N1 is N-1,N2 is N1-1, fibonacci(N1,A), fibonacci(N2,B), F is A+B. III. Listas Ejercicio 3.1 Escriba la(s) regla(s) necesaria(s) para imprimir una lista de la siguiente forma. ?- imprime([a, b, c, d]). a b c d true
  • 7. Solución (3.1) imprime([]). imprime([H|T]):- write_ln(H), imprime(T). Ejercicio 3.2 Escriba la(s) regla(s) necesaria(s) para agregar un elemento al principio de una lista. ?- agregar(gato,[zorro, zopilote, puerco],L). L = [gato, zorro, zopilote, puerco] true Solución (3.2) agregar(E,L,[E|L]). agregar(E,[X|Y],[X|Z]):-agregar(E,Y,Z). Ejercicio 3.3 Escriba la(s) regla(s) necesaria(s) para agregar un elemento al final de una lista. ?- agregar_final([agua, tierra, viento], fuego, L). L = [agua, tierra, viento, fuego] true
  • 8. Solución (3.3) agregar_final([],X,[X|[]]). agregar_final([H1|T1],X,[H1|T]):-agregar_final(T1,X,T). Ejercicio 3.4. Escriba la(s) regla(s) necesaria(s) para invertir los elementos de una lista. ?- de_reversa([angel, beto, sandra, zoyla],L). L = [zoyla, sandra, beto, angel] true Solución (3.4) de_reversa([],_). de_reversa([H1|T1],L):- agregar_final(M,H1,L), de_reversa(T1,M). Ejercicio 3.5. Escriba la(s) regla(s) necesaria(s) para obtener el último elemento de una lista. ?- ultimo([piolin, silvestre, bugss_bunny, porky],X). X = porky true Solución (3.5) ultimo(X,[X]). ultimo(X,[_|T]):-ultimo(X,T).
  • 9. Ejercicio 3.6. Escriba la(s) regla(s) necesaria(s) para obtener las permutaciones de una lista. ?- permutacion([bart,lisa,maggie],L). L = [bart, lisa, maggie] ; L = [bart, maggie, lisa] ; L = [lisa, bart, maggie] ; L = [lisa, maggie, bart] ; L = [maggie, bart, lisa] ; L = [maggie, lisa, bart] ; Solución (3.6) permutacion([],[]). permutacion([X|Y],Z):- permutacion(Y,L), agregar(X,L,Z).
  • 10. Ejercicio 3.7. Escriba la(s) regla(s) necesaria(s) para verificar si una lista esta ordenada. ?- ordenada([agua, fuego, tierra, viento]). true ?- ordenada([agua, tierra, viento, fuego]). false Solución (3.7) primero([H|_],H). ordenada([]). ordenada([_]). ordenada([H|T]):- primero(T,X), (H @< X), ordenada(T). Ejercicio 3.8. Escriba la(s) regla(s) necesaria(s) para ordenar los elementos de una lista. ?- ordenar([stan, cartman, kyle, kenny], L). L = [cartman, kenny, kyle, stan] ; Solución (3.8) ordenar([],_). ordenar(L,Z):- permutacion(L,Z), ordenada(Z).
  • 11. Conclusiones Por la realización de este trabajo, se puede establecer que el lenguaje Prolog está orientado a la Inteligencia Artificial, usando la programación lógica. Gracias a su facilidad de programar y su sencilla sintaxis gramatical y numérica, se pueden escribir rápidamente y con pocos errores programas claramente leíbles, además cualquier usuario puede acceder a él si lo desea y sin problemas de entendimiento. También utiliza pocos comandos en comparación con otros lenguajes de programación. Por otra parte en este lenguaje al igual que otros, hay que tener en cuenta la asociatividad de los operadores antes de trabajar con él. Las listas son la única estructura disponible en Prolog y el uso de estas para una programación de complejidad moderada, es de fundamental importancia. Para esto hay que tener en cuenta la naturaleza recurrente tanto de las llamadas como de las listas en este lenguaje. Además Prolog se puede trabajar en diferentes sistemas operativos, tales como UNIX, WINDOWS, MAC-OS, entre otros. Referencias http://www.gedlc.ulpgc.es/docencia/lp/documentacion/GB_Prolog.pdf http://blog.utp.edu.co/alejandropinto/files/2012/04/Pr%C3%A1cticas-de-Prolog- %E2%80%93-Departamento-de-Ciencia-de-La-Computaci%C3%B3n-e- Inteligencia-Artificial-%E2%80%93-Universidad-de-Alicante.pdf http://larmor.nuigalway.ie/~detinko/prolog_manual.pdf http://www.csupomona.edu/~jrfisher/www/prolog_tutorial/1.html