Inteligencia Artifical
Actividad 4
MSc Mario Angel Rico Mendez
Inteligencia Artifical Asignación de Tarea
13 de octubre de 2023
Inteligencia Artifical
Índice
1. Actividad 4: REPRESENTACIÓN DEL CONOCIMIENTO 2
1.1. Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
1.2. Manipulando las expresiones . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
2. Desarrollo. 4
3. Ejercicios 5
3.1. Aclaraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
4. Rúbrica 7
MSc Mario Angel Rico Mendez 1 Inteligencia Artifical
Inteligencia Artifical
1. Actividad 4: REPRESENTACIÓN DEL CONOCI-
MIENTO
1.1. Objetivo
El objetivo de esta actividad es implementar un programa de PROLOG que calcule la
derivada de una expresión simple.
Con expresión simple, nos referimos a una expresión que conste de los siguientes elemen-
tos:
1. 1. Constantes (números);
2. 2. Variables;
3. 3. Las operaciones aritméticas básicas (+, −, · y /);
4. 4. Exponenciales simples (solo constantes).
Representando expresiones
Para representar una expresión algebraica simple en PROLOG podemos usar los predi-
cados.
sum, sub, mul, div y exp.
Por ejemplo, la expresión:
𝑥+1
la podemos representar en PROLOG como:
sum(x + 1)
Una expresión más compleja:
𝑥2 + 1
𝑦2 + 𝑦
puede representarse como:
div(sum(exp(x,2),1) , sub(exp(y,2),y))
hay que tomar en cuenta que 2x es en realidad 2 · x, y que también podemos poner
algunos paréntesis sin afectar el significado de la expresión:
𝑥 2 + 2𝑥 + 1 = 𝑥 2 + ((2 ⋅ 𝑥) + 1)
por lo que en PROLOG, podemos representarlo así:
sum(exp(x,2), sum(mul(2,x),1))
Entonces, si seguimos las reglas de precedencia y distribución de los operadores, podemos
representar cualquier expresión como un predicado en PROLOG.
MSc Mario Angel Rico Mendez 2 Inteligencia Artifical
Inteligencia Artifical
1.2. Manipulando las expresiones
Una vez que encontramos una representación adecuada para las expresiones, podemos
manipularlas fácilmente.
El objetivo es escribir una serie de cláusulas que nos calculen la derivada de una expre-
sión algebraica. En un principio, parece un problema difícil, pero no es así. Hay que recordar
que las reglas (fórmulas) para derivar son simbólicas, y PROLOG es un lenguaje muy bueno
para resolver problemas simbólicos.
Por ejemplo, recordemos que la regla para calcular la derivada de una constante:
𝑑
𝑐=0
𝑑𝑥
puede leerse como: “La derivada de una constante c con respecto a x es igual a cero”.
También, recordemos la regla:
𝑑
𝑥=1
𝑑𝑥
que puede leerse como: “La derivada de una variable x con respecto a x es igual a uno”.
Las reglas anteriores son simbólicas, pues tratan con c y x sin importar que número es
exactamente c, o que nombre de variable es x.
Estas reglas también pueden expresarse de forma directa como cláusulas de PROLOG.
Por ejemplo, la regla para constantes puede escribirse como:
derivada(C,X,0) :- number(C), atom(X).
En la cláusula anterior nos dice que “Cero es la derivada de C con respecto a X, si C es
un número (constante) y X es un átomo (variable del cálculo diferencial)”.
Con esta cláusula, podemos hacerle preguntas al intérprete como:
?- derivada(1.5 , x ,D)
D = 0
Y dejar que el PROLOG nos calcule el valor D requerido.
Para la regla de variables tenemos:
derivada(X , X ,1):- atom(X)
Esta regla nos dice “La derivada de X con respecto a X es igual 1, si X es un ´átomo.
MSc Mario Angel Rico Mendez 3 Inteligencia Artifical
Inteligencia Artifical
Estas reglas son las más simples (casos base), con ellas podemos definir las otras reglas
más complejas. Por ejemplo, la regla para la suma:
𝑑 𝑑 𝑑
(𝑓 + 𝑔) = 𝑓+ 𝑔
𝑑𝑥 𝑑𝑥 𝑑𝑥
La podemos escribir en PROLOG como:
derivada(sum(F,G),X,sum(D1,D2) ):- derivada(F,X,D1),derivada(G,X,D2)
Entonces, podemos preguntarle a PROLOG cuál es la derivada de x + 3:
?- derivada(sum(x,3),x,D)
D = sum(1,0)
En resumen, tenemos el siguiente programa:
derivada(C , X ,0):- atom(X), number(C)
derivada(X , X ,1):- atom(X)
derivada(sum(F,G),X,sum(D1,D2) ):- derivada(F,X,D1),derivada(G,X,D2)
2. Desarrollo.
Realice las siguientes reglas de derivación como sentencias de PROLOG usando lo des-
crito anteriormente para deducir o crear sus funciones:
1. Resta
𝑑 𝑑 𝑑
(𝑓 − 𝑔) = 𝑓− 𝑔
𝑑𝑥 𝑑𝑥 𝑑𝑥
2. Multiplicación por constante:
𝑑 𝑑
(𝑐 ⋅ 𝑓 ) = 𝑐 ⋅ 𝑓
𝑑𝑥 𝑑𝑥
3. División:
𝑑 𝑓 ( 𝑑 𝑓) ⋅ 𝑔 − 𝑓 ⋅ ( 𝑑𝑥
𝑑
𝑔)
( ) = 𝑑𝑥
𝑑𝑥 𝑔 𝑔 2
4. Multiplicación:
𝑑 𝑑 𝑑
(𝑓 ⋅ 𝑔) = ( 𝑓) ⋅ 𝑔 + 𝑓 ⋅ ( 𝑔)
𝑑𝑥 𝑑𝑥 𝑑𝑥
5. Exponenciación:
𝑑 𝑛
𝑥 = 𝑛 ⋅ 𝑥 𝑛−1
𝑑𝑥
Ejemplo:
MSc Mario Angel Rico Mendez 4 Inteligencia Artifical
Inteligencia Artifical
Figura 1: Ejemplo 1.
3. Ejercicios
Realice las funciones faltantes 2,3,4,5 anteriores en el lenguaje ya explicado y obtenga
las siguientes derivadas en PROLOG en su forma de sentencias lógicas (60 % ):
a)
𝑑 5 0 ⋅ 𝑥 2 − 5(2𝑥 2−1 )
( 2) =
𝑑𝑥 𝑥 (3 𝑥 2 )2
b)
𝑑
((4𝑥 2 + 𝑥)(3𝑥 3 )) = (4 ⋅ 2𝑥 2−1 + 1)(3𝑥 2 ) + (4𝑥 2 + 𝑥)(3 ⋅ 3𝑥 3−1 )
𝑑𝑥
c)
𝑑
(8𝑦3 ) = 8 ⋅ 3𝑦3−1
𝑑𝑥
d)
𝑑 𝑥 (1)(𝑥 3 ) − (𝑥)(5𝑥 3−1 )
( 3) =
𝑑𝑥 𝑥 (𝑥 5 )2
En el siguiente inciso debe obtener cero una expresión expresada que obtenga como
resultado cero ej, mul(2,0). No debe marcar error o false en PROLOG, ya que las variables
son diferentes con respecto a su derivada, por lo que se toman como constantes, y debe dar
la solución para cualquier ecuación de este tipo, no solo la descrita a continuación (40 %).
e)
𝑑
((12𝑟 3 − 2023)) = [12 ⋅ 0 − 0]
𝑑𝑥
MSc Mario Angel Rico Mendez 5 Inteligencia Artifical
Inteligencia Artifical
3.1. Aclaraciones
La plantilla para realizar la actividad está adjunta en la actividad en MS-Teams. Realice
la síntesis según los criterios de evaluación descritos en la rúbrica al final del archivo.
La actividad se debe realizar mediante la plantilla asignada en Latex (Over-
leaf) llamada 𝐴𝑐𝑡𝑖𝑣𝑖𝑑𝑎𝑑𝑒𝑠_𝑎2023 adjunta, entregar el PDF creado en el área de tareas de
Ms Teams. Solo se entrega el PDF, no Word, cualquier trabajo entregado o realizado en
Word no se revisará.
Todo trabajo presentado por un alumno para los efectos de la evaluación de un curso
debe ser realizado individualmente por el alumno. En caso de que exista colaboración per-
mitida con otros estudiantes, el trabajo deberá referenciar y atribuir correctamente dicha
contribución a quien corresponda. Por “trabajo” se entiende en general las interrogaciones
escritas, las tareas de programación u otras, los trabajos de laboratorio, los proyectos, el
examen, entre otros. En particular, se espera que mantengan altos estándares de honestidad
académica. Cualquier acto deshonesto o fraude académico está prohibido. En particular, si
un alumno copia un trabajo, o si a un alumno se le prueba que compró o intentó comprar
un trabajo, obtendrá un cero como calificación.
MSc Mario Angel Rico Mendez 6 Inteligencia Artifical
Inteligencia Artifical
4. Rúbrica
Excelente 100 % Bien 75 % Regular 25 % Insuficiente 0 %
Contiene el
nombre comple-
to del alumno, Falta alguno de
No tiene porta-
matricula, nom- los criterios del
Falta alguno de da. No lo reali-
bre completo del punto anterior o
Portada 10 % los criterios del zo en la plan-
profesor, grupo, falta la fotogra-
punto anterior. tilla asignada
salón, unidad fía tipo identifi-
(NRP)
de aprendizaje, cación.
fotografía (tipo
identificación).
DSíntesis de
la historia del
lenguaje Pro-
log, definición
de prolog y 3 Solo define lo
Introducción Falta alguno de No tiene in-
ejemplos de que es logica.
10 % los criterios del troducción.
enunciados ló- Menos de una
punto anterior. (NRP)
gicos mediante cuartilla
prolog. Mínimo
1 ½ cuartillas.
Tamaño de letra
12 máximo.
Las capturas del
Las capturas
algoritmo reali-
del algoritmo
zado en Prolog LLas capturas
realizado en
tiene orden y del algoritmo
Prolog tiene or- No se observa
claridad. El al- realizado en
Orden y organi- den y claridad, seguimiento en
goritmo diseña- Prolog es des-
zación de la ac- sin embargo, las capturas del
do y los resul- ordenada y
tividad 25 % no es clara la algoritmo reali-
tados de cada confusa. No ex-
secuencia de los zado en Prolog.
una de las ope- plica cada una
ejercicios. Ex- (NRP)
raciones. Expli- de las capturas
plica cada una
ca cada una de de pantalla.
de las capturas
las capturas de
de pantalla.
pantalla.
El 30 % o más
Solución de los De 90 a 100 % de Hasta el 80 % los Se presenta 25 %
de los pasos y/o
ejercicios de las los pasos y resul- pasos y resul- de errores ma-
resultados tiene
derivadas en el tados no tienen tados no tienen temáticos en los
errores matemá-
anexo. 40 % errores matemá- errores matemá- pasos y resulta-
ticos. (NRP)
ticos. ticos. dos.
Cuadro 1: Rubrica.
MSc Mario Angel Rico Mendez 7 Inteligencia Artifical
Inteligencia Artifical
Excelente 100 % Bien 75 % Regular 25 % Insuficiente 0 %
Las conclusio-
Las conclusiones Las conclusiones
nes están poco
Las conclu- no responden son confusas, es-
fundamentadas
siones están cabalmente a tán mal o po-
en el análisis
fundamentadas los objetivos. co fundamenta-
y responde a
en el análisis Están poco fun- dos en el análisis
Redacción de re- los objetivos. A
y responde a damentados en y no responden
sultados y Con- partir del análi-
los objetivos. el análisis. En a los objetivos.
clusiones 10 % sis y valoración
Redacta argu- la redacción de Las conclusiones
de los resultados
mentaciones de las conclusiones no se correspon-
obtenidos, re-
manera sintéti- no analiza ni den con los re-
dacta en forma
ca y valora los toma en cuenta sultados obteni-
de resumen las
resultados. los resultados dos. NRP
conclusiones del
obtenidos.
trabajo.
No cita fuentes
Cita por lo me- Cita por lo me- Cita por lo me-
bibliográficas o
Bibliografía nos 3 fuentes bi- nos 2 fuentes bi- nos 1 fuentes bi-
están mal escri-
consultada 5 % bliográficas (for- bliográficas (for- bliográficas (for-
tas (otro forma-
mato APA). mato APA). mato APA).
to). NRP
Cuadro 2: Rubrica.
MSc Mario Angel Rico Mendez 8 Inteligencia Artifical