Documentos de Académico
Documentos de Profesional
Documentos de Cultura
1. Proponer un dominio y un uso inteligente que se le daría al sistema basado en reglas propuesto (brevemente
el objetivo, alcance y límites, no más de media página).
En el desarrollo ágil de software es habitual emplear un popular marco de trabajo denominado Scrum. En Scrum, el
trabajo se organiza en Sprints (unidades de tiempo de una a cuatro semanas) y, por lo general, se escriben los
requisitos con el formato de Historia de Usuario (en este contexto, un requisito equivale a una Historia de Usuario). Es
habitual que a mitad del desarrollo de un Sprint haya cambios de prioridad en el trabajo que debe ser realizado y se
solicite añadir alguna nueva Historia. Cuando esto ocurre, el equipo de desarrollo al completo debe reunirse y decidir
si la Historia puede o no ser incluida en el Sprint. Incluir una Historia no prevista puede hacer peligrar el Sprint, dado
que en Scrum se considera que es responsabilidad del equipo entregar todo el trabajo comprometido. Por tanto, los
desarrolladores suelen tomar dos criterios principales para decidir si una Historia puede o no entrar en el Sprint: su
tamaño (el tiempo que llevará realizarla, normalmente medido en tallas de camiseta como XS, S, M y L) y su grado de
definición (idealmente todas las Historias deberían tener un alto nivel de definición, pero en la práctica esto se
incumple a menudo).
Así pues, se desea desarrollar un sistema de ayuda a la decisión que esté libre de algunos sesgos característicos de los
seres humanos, tales como ceder ante la presión de un superior o infravalorar el riesgo inherente a los cambios de
planes.
Naturalmente, el conjunto de reglas necesarias para llevar a cabo a esta tarea podría llegar a ser específico para cada
equipo de desarrollo y para cada proyecto, pero, en ese caso, sería equivalente a la opinión de un profesional
experimentado. Este sistema plantea un enfoque genérico, por lo que no debe confundirse con un oráculo, sino que
debe tratarse como un punto de referencia adicional que los equipos de desarrollo pueden tomar en aquellos casos
en los que ellos mismos se encuentren dubitativos y no sean capaces de decantarse por una opción.
2. Ejemplificar en torno a 5 reglas imprecisas sobre ese dominio, del estilo a las que vemos en el curso y que
permitan hacer “razonamiento hacia delante”.
3. Poner un ejemplo (análogo a los estudiados en clase) de razonamiento aproximado (inferencia borrosa) con
dichas reglas, basado en representación no continua de los conjuntos borrosos y usando relaciones borrosas
y Modus Ponens Generalizado, eligiendo los parámetros más adecuados (función de implicación, t-
normas…).
Definamos los siguientes conjuntos borrosos (recordemos que el tamaño de las Historias de Usuario se mide como
tallas de camiseta XS, S, M y L):
• Historia grande: {0.2 / XS, 0.3 / S, 0.5 / M, 0.8 / L} (Universo: XS, S, M, L)
• Historia definida regular: {0.8 / poco, 0.9 / regular, 0.15 / bien} (Universo: poco, regular, bien)
• El sprint peligra algo: {0.3 / muy poco, 0.5 / poco, 0.8 / algo, 0.7 / mucho} (Universo: muy poco, poco, algo,
mucho)
Supongamos que tenemos en nuestra base de hechos que:
• La nueva Historia de Usuario no es grande.
• La nueva Historia de Usuario está definida regular.
Emplearemos el mínimo como T-norma, el máximo como T - conorma, la negación clásica (complemento) y la
implicación de Reichenbach I(a, b) = 1 – a + a * b .
“Si la nueva Historia es grande y está definida regular, entonces el Sprint peligra algo.”
(0.2 / XS, 0.3 / S, 0.5 / M, 0.8 / L) ∧ (0.8 / poco, 0.9 / regular, 0.15 / bien)
⇒ (0.3 / muy poco, 0.5 / poco, 0.8 / algo, 0.7 / mucho)
0.86 0.9 0.96 0.94
0.86 0.9 0.96 0.94
0.895 0.925 0.97 0.955
0.79 0.85 0.94 0.91
0.2 0.2 0.15 0.79 0.85 0.94 0.91
0.3 0.3 0.15 0.895 0.925 0.97 0.955
( ) ⇒ (0.3 0.5 0.8 0.7) =
0.5 0.5 0.15 0.65 0.75 0.9 0.85
0.8 0.8 0.15 0.65 0.75 0.9 0.85
0.895 0.925 0.97 0.955
0.44 0.6 0.84 0.76
0.44 0.6 0.84 0.76
(0.895 0.925 0.97 0.955)
Hechos
0.8 0.8 0.15
0.7 0.7 0.15
(0.8 / XS, 0.7 / S, 0.5 / M, 0.2 / L) ∧ (0.8 / poco, 0.9 / regular, 0.15 / bien) = ( )
0.5 0.5 0.15
0.2 0.2 0.15
H = (0.8 0.8 0.15 0.7 0.7 0.15 0.5 0.5 0.15 0.2 0.2 0.15)
4. Proponer un ejemplo (análogo a los estudiados en clase) de razonamiento aproximado (inferencia borrosa)
con dichas reglas, pero ahora usando números borrosos para representar los universos de las variables de
entrada y de salida, y usando un mecanismo de inferencia tipo Mamdani.
XS S M L
0,6
XS
0,4 S
M
0,2 L
0
0 1 2 3 4 5 6
1
Grado de definición de una Historia de Usuario
0,8
0,6
Poco
0,4
Regular
0,2
Bien
0
0 1 2 3 4 5 6
1
Grado de peligro del Sprint
0,8
0,6
Muy poco
Poco
0,4
Algo
0,2 Mucho
0
0 1 2 3 4 5 6
Supongamos que queremos añadir una Historia cuyo tamaño hemos categorizado como 3.25 y su grado de definición
como 1.25.
R7
5. Implementar las reglas en CLIPS/FUZZY CLIPS y poner un ejemplo de inferencia TIPO MAMDANI (anexando
a la documentación los archivos de BH y BC).