Вы находитесь на странице: 1из 29

EE81 – Tópicos en Sistemas Expertos e Inteligencia

Artificial UNI-FIEE

Tarea 1

Alumno: Daniel Díaz Ataucuri


1. Todos los años se otorga el premio Loebner al
programa con el mejor desempeño en una prueba de
Turing concreta. Investigue y haga un informe sobre
el último ganador del premio Loebner. ¿Qué técnica
utiliza? ¿Cómo ha hecho que progrese la
investigación en el campo de la IA?
Pruebas de Turing

El matemático Alan Turing, en 1950, publicó el artículo “Computing Machinery and


Intelligence”[1] donde propuso la pregunta: “¿Pueden pensar las máquinas?”; en vez de
intentar una definición así, propuso reemplazar esa pregunta por otra en términos de un juego
denominado “el juego de la imitación”. Se juega con 3 personas, un hombre (A), una mujer
(B), y un interrogador (C) de cualquier sexo. El interrogador se encuentra en una habitación
distinta a la de los otros dos participantes. El objetivo del juego para el interrogador es
determinar cuál de los participantes es el hombre y cuál es la mujer. Para que los tonos de
voz no ayuden al interrogador, las respuestas deben ser escritas, o mejor aún, tecleadas.

Es aquí donde Turing se replantea la pregunta: “¿qué pasaría si una máquina asume el rol de
A en este juego?” ¿Discriminaría equivocadamente el interrogador con la misma frecuencia
con la que lo hace cuando el juego se juega con un hombre y una mujer? Estas preguntas
reemplazan la pregunta original “¿pueden las máquinas pensar?”. En resumen, la prueba de
Turing nos permite decidir si una máquina es o no es inteligente. Pero hoy en día todavía no
existe ninguna máquina que haya conseguido pasar esta prueba.

“Existirá Inteligencia Artificial cuando no seamos capaces de distinguir entre un ser humano y un
programa de computadora en una conversación a ciegas”.

Premio Loebner

En 1990, Hugh Loebner estuvo de acuerdo con The Cambridge Center for Behavioral Studies
para suscribir un concurso diseñado para implementar la Prueba de Turing. El Dr. Loebner
prometió un Gran Premio de $ 100,000 y una Medalla de Oro para la primera computadora
cuyas respuestas fueron indistinguibles de las de un ser humano. Tal computadora se puede
decir "piensa". Cada año se otorga un premio en efectivo anual y una medalla de bronce a la
computadora más humana [2].
En la competición del presente año 2017 se recibió 16 programas y el proceso consideró 20
preguntas. La tabla con los puntajes se muestra a continuación [3], siendo ganador Mitsuku
desarrollado por el británico Steve Worswick.

Rank Name Score


1 Mitsuku 27
2 Rose 23
3 Uberbot 21
4 Midge 20
5 Tutor 18
5 Colombina 18
5 Arckon 18
8 Johnny & co 16
8 Aidan 16
10 Alt Inc 15
11 Talk2me 13
11 Izar 13
13 Simplex 12
13 Alice 12
15 Momo 8
16 P.A.M. 2

¿Cómo ha hecho que progrese la investigación en el campo de la IA?

Desde 1990, en que se implantó el premio Loebner, ha venido impulsando el desarrollo de la


Inteligencia Artificial incentivando la mejora de algoritmos para que las plataformas puedan
anualmente la prueba de Turing. Hoy en día, cada vez estas plataformas se acercan al ser
humano y ofrecen incluso sugerencias, distracción, conocimiento, entre otros a los usuarios
de estas plataformas.

Está impulsando el uso de la IA en diversas áreas: robótica, medicina y en la educación, entre


otros. IA va de la mano con Machine Learning o Aprendizaje Automático y Big Data, con el
objetivo que las computadoras obtengan una inteligencia igual o superior al del ser humano.
2. Busque una aplicación en el mundo real que haga uso
de la Inteligencia Artificial. Describa el problema que
trata y explique en detalle cómo se resuelve
especificando que metodología y en qué área de la IA se
ubica la solución. Justifique porque la solución con IA
es la mejor
Inteligencia Artificial en la Educación

Si bien es cierto la Inteligencia Artificial-IA tiene amplia aplicación, uno de los campos que
particularmente me ha interesado es su uso en la educación: Inteligencia Artificial en la
Educación. El desarrollo de aplicaciones de la IA en la educación necesita del trabajo
multidisciplinar de investigadores de diversos campos: pedagogía, psicología, ciencias
cognitivas, inteligencia artificial, telecomunicaciones, multimedia e informática. Con un
objetivo común, desarrollar sistemas de enseñanza inteligentes; es decir que se adapte a las
características de cada alumno, retroalimentando con sugerencias para ir mejorando su
rendimiento.

Tratando de sintetizar las soluciones donde la Inteligencia Artificial puede aportar en la


enseñanza, podemos indicar: Sistemas Tutoriales Inteligentes que es un software que usando
técnicas de IA representa el conocimiento para su enseñanza, de tal manera que tenga un
comportamiento similar a un instructor y esté constantemente adaptándose a las necesidades
de los estudiantes. Estos sistemas tutoriales inteligentes facilitarán que los alumnos
seleccionen la más adecuada técnica de enseñanza que se adapte a sus necesidades
personales. Simulación, viene a ser un programa computacional donde se representa o
modela algún aspecto del mundo real o del conocimiento; que cambiando algunos parámetros
se obtiene diversos comportamiento o resultados de lo modelado. IA tiene su aplicación en
la simulación cuando este programa retroalimente al estudiante indicando si está realizando
el proceso correctamente y en caso de errores como mejorarlo. Gracias a la IA los
simuladores podrán supervisar a los alumnos sobre el proceso de simulación que esté
realizando en el mismo instante que lo realiza, es decir en tiempo real. Sistemas
Colaborativos es una plataforma computacional que permite la interacción de dos o más
personal involucradas en el proceso aprendizaje educativo. El uso de IA permitirá a los
sistemas colaborativos ofrecer sugerencias y consejos con el fin de lograr mejores resultados
cognitivos durante el aprendizaje grupal u fomentar la compartición de experiencia y
conocimientos entre los estudiantes del grupo.

“La Inteligencia Artificial es el intento de hacer que un dispositivo o una aplicación sean
tan o más inteligente que un hombre”

Área de la IA del software educativo

A la fecha se ha identificados cinco (05) áreas [4]: el lenguaje natural, la robótica, las
interfaces de comunicación, la programación automática y los sistemas expertos. El
desarrollo de software educativo encaja dentro de los sistemas expertos. Un sistema experto
intenta simular la conducta y razonamiento de un experto humano relacionado en una
determinada área del conocimiento. Para ilustrar mejor la idea de un sistema experto,
podemos considera como ejemplo un programa que enseñe redes de datos; el computador no
solamente deberá almacenar todo el conocimiento que tiene un experto en redes de datos,
sino que además deberá contener los razonamientos que el experto realiza para resolver algún
problema.

Puntualizando aún más, las aplicaciones educativas utilizando IA pueden estar dirigidas a los
alumnos, facilitando el aprendizaje mediante proceso de descubrimiento (denominado
micromundos) o mediante procesos repetitivos (denominados tutores inteligentes) o dirigidos
a los profesores para ayudar a la planificación, diseño y organización de las clases.

Machine Learning

Machine Learning o Aprendizaje Automático es una disciplina científica de la Inteligencia


Artificial que crea sistemas que aprenden automáticamente; esto es la capacidad de las
máquinas para aprender no solo contenidos, sino también comportamientos, un elemento
clave en la implantación de sistemas de Inteligencia Artificial en Educación. Aprender en
este contexto quiere decir identificar patrones complejos en millones de datos, es la
aplicación de big data en el aprendizaje; para ello se usa algoritmos que analizan los datos y
predicen comportamientos futuros. sin intervención humana. “Es, por lo tanto, un proceso
de inducción del conocimiento, es decir, un método que permite obtener por generalización
un enunciado general a partir de enunciados que describen casos particulares” [5].

Una plataforma es Eduband donde se registra las reacciones de un usuario que está tomando,
por ejemplo, un curso de entrenamiento. Luego, desarrollan un algoritmo que analiza todos
los datos y que formula recomendaciones para facilitar el proceso de aprendizaje. “La
plataforma automáticamente sugerirá ejercicios para enfocarse en temas que el estudiante
aún no ha entendido y tratará con mayor rapidez los puntos que el alumno ya domina”, Otra
plataforma educativa es la plataforma LEGO Mindstorms NXT[6].

Justificación porque la solución con IA es la mejor

Actualmente la búsqueda de una educación con calidad es un reto cada vez más necesario
para impulsar un desarrollo sostenido de la sociedad; bajo este contexto, el uso de IA en la
educación será en el futuro un medio para lograr la anhelada educación con calidad. Sobre
los próximos quince años [7] se pronostica el uso de la ciencia de la Inteligencia Artificial en
la Educación de manera intensa; siendo un complemento en la forma tradicional de la
educación presencial.

Se espera que plataformas educativas con IA permitirá una formación personalizada con el
objetivo de adaptar a los alumnos hacia un sistema educativo común y de calidad. Algo muy
importante el uso de nuevas tecnologías en la educación, como la IA, impulsará el acceso
universal al conocimiento y cambiando los procesos de irá adaptando el proceso de
aprendizaje a los alumnos.

Finalmente, en [6] se presenta un estudio de la importancia de la alfabetización IA e


informática (que es tan importante como la alfabetización clásica de lectura/escritura). El
concepto comprende módulos para diferentes grupos de edad en diferentes niveles
educativos. Los temas de AI/ciencias de la computación abordados en cada módulo son, entre
otros, resolución de problemas mediante búsqueda, clasificación, gráficos y estructuras de
datos.
3. Usando el árbol familiar de la familia real británica de
Windsor, construya una serie de hechos que defina las
siguientes relaciones:
a. hombre = { los hombres en el árbol Windsor }
b. mujer = { las mujeres en el árbol Windsor }
c. casado = { los pares (x,y) donde x está casado con y en el árbol
Windsor }
d. progenitor = { los pares (x,y) donde x es el ancestro de y en el
árbol Windsor }
A continuación, defina los siguientes predicados
basados en los hechos precedentes:
padre, madre, hijo, hija,
abuelo, abuela,
nieto, nieta
tio, tia, primo, prima,
ancestro
Defina también un predicado:
ancestro_comun(a,b,c) que retorna TRUE si c es un
ancestro común de a y b
a. hombre = { los hombres en el árbol Windsor }

b. mujer = { las mujeres en el árbol Windsor }

c. casado = { los pares (x,y) donde x está casado con y en el árbol Windsor }
Ejemplo: casado(felipe,isabel) es verdadero
casado(carlos,zara) es falso

d. progenitor = { los pares (x,y) donde x es el ancestro de y en el árbol Windsor }

Ejemplo: progenitor(felipe,eduardo) es correcto


progenitor(isabel,eugenia) es falso
Se a continuación se construye una serie de hechos en PROLOG:
A continuación, se realiza las primeras verificaciones en PROLOG:

PREDICADOS
Ahora continuemos obteniendo los predicados según el problema:

padre.- obligatoriamente tiene que corresponder a progenitor y obviamente es hombre. Es


decir, bajo la sintaxis: padre(nombre_del_padre,nombre_hijo_o_hija)

padre(X,Y):-
progenitor(X,Y),
hombre(X).
madre.- obligatoriamente tiene que corresponder a progenitor y obviamente es mujer. Es
decir: bajo la sintaxis: madre(nombre_de_la_madre,nombre_hijo_o_hija)

madre(X,Y):-
progenitor(X,Y),
mujer(X).

verificando lo realizado:

hijo.- obviamente un hijo corresponder a un padre y madre y debe ser hombre. Es decir:
hijo(nombre_del_Hijo, nombre_del_Progenitor)

hijo(H,P):-
hombre(H),
progenitor(P,H).

hija.- obviamente un hijo corresponder a un padre y madre y debe ser hombre. Es decir:
hijo(nombre_de_la_Hija, nombre_del_Progenitor)

hija(H,P):-
mujer(H),
progenitor(P,H).
verificando lo realizado:

abuelo.- Todo abuelo es padre de los padres (padre y madre) del nieto o nieta

abuelo(nombre_del_Abuelo,nombre_del_Nieto_o_Nieta)

abuelo(A,N):-
padre(A,H),
(padre(H,N);madre(H,N)).

abuela.- Toda abuela es madre de los padres (padre y madre) del nieto o nieta

abuela(nombre_de_la_Abuela,nombre_del_Nieto_o_Nieta)

abuela(A,N):-
madre(A,H),
(padre(H,N);madre(H,N)).
verificando lo realizado:

nieto.- Todo nieto N tiene como abuelo A y abuela B

nieto(nombre_del_Nieto,nombre_del_Abuelo,nombre_de_la_Abuela)

nieto(N,A,B):- %define si N es nieto (hombre) del abuelo A y abuela B


abuelo(A,N),
abuela(B,N),
hombre(N).

nieta.- Toda nieta N tiene como abuelo A y abuela B

nieto(nombre_de_la_Nieta,nombre_del_Abuelo,nombre_de_la_Abuela)

nieta(N,A,B):- %define si N es nieta (mujer) del abuelo A y abuela B


abuelo(A,N),
abuela(B,N),
mujer(N).
Verificando

tío.- Todo sobrino S tiene un progenitor (padre o madre) P que es hermano o hermana de su
tío T.

Por otro lado, dos personas son hermanos cuando tienen los mismos progenitores.

tio(nombre_del_Tio, nombre_del_Sobrino)

Primero definamos hermano y luego tio.

hermano(H,P):- %define si H es hermano con P


progenitor(X,H),progenitor(X,P),H\=P. %uno no es hermano de sí mismo

tio(T,S):- %define que T es tio de S


progenitor(P,S),hermano(T,P),hombre(T).
%P es el progenitor (padre o madre) del sobrino S. Tio T es hombre
tía.- Todo sobrino S tiene un progenitor (padre o madre) P que es hermano o hermana de su
tía T.

Por otro lado, dos personas son hermanos cuando tienen los mismos progenitores.

tio(nombre_de_la_Tia, nombre_del_Sobrino)

Debemos considerar lo definido anteriormente hermano para aplicar tio.

hermano(H,P):- %define si H es hermano con P


progenitor(X,H),progenitor(X,P),H\=P. %uno no es hermano de sí mismo

tia(T,S):- %define que T es tia de S


progenitor(P,S),hermano(T,P),mujer(T).
%P es el progenitor (padre o madre) del sobrino S. Tia T es mujer

primo.- Los primos tienen los mismos abuelos y los padres de los primos no son hermanos;
es decir, si se considera al abuelo y su hijo como primogénito (padres de los
sobrinos), estos deben ser diferentes. El primo es hombre.

primo(nombre_H_del_primo, nombre_del_otro_priMo)

primo(H,M):- %H es primo1 (HOMBRE) y M es primo2 (HOMBRE O MUJER)


progenitor(P,H),progenitor(A,P), %A es abuelo de H
progenitor(Q,M),progenitor(A,Q), %A es abuelo de M
P\=Q, %Los progenitores de H y M deben ser diferentes
hombre(H).

prima.- Los primos tienen los mismos abuelos y los padres de los primos no son hermanos;
es decir, si se considera al abuelo y su hijo como primogénito (padres de los
sobrinos), estos deben ser diferentes. La prima es hombre.

prima(nombre_H_de_la_prima, nombre_del_otro_priMo)
prima(H,M):- %H es prima1 (MUJER) y M es primo2 (HOMBRE O MUJER)
progenitor(P,H),progenitor(A,P), %A es abuelo de H
progenitor(Q,M),progenitor(A,Q), %A es abuelo de M
P\=Q, %Los progenitores de H y M deben ser diferentes
mujer(H).

Verificando:

ancestro.- La relación a nivel de abuelos con nietos; existe dos niveles de primogenitor.

ancestro(nombre_del_ancestro_ANC, nombre_del_Nieto)

ancestro(ANC,N):- %Defino ancestro ANC entre abuelos y nietos N


(progenitor(P,N),progenitor(ANC,P)).

Verificando todas las posibilidades:


ancestro_comun.- La sintaxis es:

ancestro_comun(X,Y,Z)

ancestro_comun(A,B,C):-
ancestro(A,C),
ancestro(B,C).
4. Se tiene el siguiente conocimiento directo:
a. Pedro padece gripe
b. Pedro padece hepatitis
c. Juan padece hepatitis
d. María padece gripe
e. Carlos padece intoxicación
f. La fiebre es síntoma de gripe
g. El cansancio es síntoma de hepatitis
h. La diarrea es síntoma de intoxicación
i. El cansancio es síntoma de gripe
j. La aspirina suprime la fiebre
k. El Lomotil suprime la diarrea

Además, podemos aportar el siguiente conocimiento inferido:


 Un fármaco alivia una enfermedad si la enfermedad tiene
un síntoma que sea suprimido por el fármaco
 Una persona debería tomar un fármaco si padece una
enfermedad que sea aliviada por el fármaco
Construir un programa que refleje dicho conocimiento y
permita resolver las siguientes preguntas:
a. ¿Podemos conocer qué dolencia tiene Pedro? ¿Y María?
b. ¿Quién padece gripe?
c. ¿Qué síntomas tiene Pedro?
d. ¿Quién padece diarrea?
e. ¿Y quién está cansado?
f. ¿Hay algún fármaco que alivie a Pedro?
g. ¿Hay algún síntoma que compartan Juan y María?
Según el enunciado del problema se construye la serie de hechos; y se define los predicados
farmacoaliviaenfermedad(FARMACO,ENFERMEDAD) y
pacientetomafarmaco(PACIENTE,FARMACO), como se ilustra a continuación:

Todas las posibilidades se visualizan a continuación:


Construir un programa que refleje dicho conocimiento y permita resolver
las siguientes preguntas:
a. ¿Podemos conocer qué dolencia tiene Pedro? ¿Y María?

El programa será, utilizando el hecho: padece(PACIENTE,ENFERMEDAD):

?- padece(pedro,X).
X = gripe ;
X = hepatitis.

?- padece(maria,X).
X = gripe.

?-
b. ¿Quién padece gripe?

El programará será:

?- padece(X,gripe).
X = pedro ;
X = maria.

c. ¿Qué síntomas tiene Pedro?

Predicado. -

sintomapaciente(PACIENTE,SINTOMA):-
padece(PACIENTE,X),sintoma(SINTOMA,X).

El programará será:

?- sintomapaciente(pedro,SINTOMA).
SINTOMA = fiebre ;
SINTOMA = cansancio .

d. ¿Quién padece diarrea?

Predicado. -

ingresesintoma(SINTOMA,PACIENTE):-
sintoma(SINTOMA,ENFERMEDAD),padece(PACIENTE,ENFERMEDAD).

El programará será:

?- ingresesintoma(diarrea,PACIENTE).
PACIENTE = carlos.

?-
e. ¿Y quién está cansado?

El programará será:

?- ingresesintoma(cansancio,PACIENTE).
PACIENTE = pedro ;
PACIENTE = juan ;
PACIENTE = pedro ;
PACIENTE = maria.

f. ¿Hay algún fármaco que alivie a Pedro?

Predicado. -

aliviopaciente(PACIENTE,FARMACO):-
padece(PACIENTE,ENFERMEDAD),
sintoma(SINTOMA,ENFERMEDAD),
suprime(FARMACO,SINTOMA).

El programará será:

?- aliviopaciente(pedro,FARMACO).
FARMACO = aspirina .

?-

g. ¿Hay algún síntoma que compartan Juan y María?

Predicado. -

sintomacomun(PACIENTE1,PACIENTE2,SINTOMA1):-
padece(PACIENTE1,ENFERMEDAD1),padece(PACIENTE2,ENFERMEDAD2),
sintoma(SINTOMA1,ENFERMEDAD1),sintoma(SINTOMA2,ENFERMEDAD2),
SINTOMA1==SINTOMA2.

El programa será:

?- sintomacomun(juan,maria,SINTOMA).
SINTOMA = cansancio.
?-
BIBLIOGRAFÍA

[1] Alan Turing, “Computing Machinery and Intelligence”, 1950. Computing machinery
and intelligence. Mind, 59, 433-460. 1950

[2] http://www.loebner.net/Prizef/loebner-prize.html.

[3] AISB Loebner Prize 2017 Finalist Selection Transcripts. August 15, 2017.
http://www.aomartin.co.uk/uploads/loebner_2017_finalist_selection_transcripts.pdf

[4] Begoña Gross, “La Inteligencia Artificial y su aplicación en la enseñanza”,

[5] Fernando Sancho Caparrini, “Introducción al Aprendizaje Automático”,


http://www.cs.us.es/~fsancho/?e=75

[6] Martin Kandlhofer, Gerald Steinbauer, Sabine Hirschmugl-Gaisch, “Artificial


Intelligence and Computer Science in Education- Form Kindergarten to University”,
Graz University of Technology, Institute for Software Technology, Austria, Published
in: Frontiers in Education Conference (FIE), 2016 IEEE.

[7] “Artificial Intelligence and Life in 2030”, One Hundred Year Study on Artificial
Intelligence: Report of the 2015-2016 Study Panel, Stanford University, Stanford,
CA, September 2016.