Monografias.com > Sin categoría
Descargar Imprimir Comentar Ver trabajos relacionados

Sistema para la clasificación de la actividad física (página 2)



Partes: 1, 2

  1. METODOLOGÍA

El desarrollo de esta
aplicación se inicia con la consulta de los diferentes
grados de clasificación de actitud física y generando los respectivos
predicados.

Modelo Conceptual:

El modelo conceptual indica la
relación de variables o atributos
predictivos que adopta el modelador. La figura No. 1, ilustra el
modelo conceptual adoptado por los autores, con base en la
literatura consultada:

Figura No. 1: Modelo
Conceptual para la Clasificación de la Actividad
Física

Este modelo indica que la hipótesis de relaciones
de dependencia para el problema que los autores adoptaron es que
los atributos que determinan la clase de actividad física
son: Realización de actividad física, días a la
semana en los que se practica esta actividad física y el
Número Promedio de minutos que se dedican a esta actividad
los días en los que se realiza.

A cada uno de estos atributos se han asociado
categorías de respuestas y preguntas, a través de las
cuales se interactuará con los usuarios para obtener la
información necesaria para
hacer la clasificación, tal como se presenta en la tabla No.
1

ATRIBUTO

PREGUNTA A LA QUE
CORRESPONDE

CATEGORÍAS DE LAS
RESPUESTAS

DESCRIPCIÓN

Actividad Física

¿Realiza Actividad Física de forma
Regular?

Si

La persona realiza
actividades físicas regularmente.

No

La persona realiza actividades físicas
regularmente.

Dias/semana

¿Cuántos Días por Semana realiza la
actividad física?

1

Realiza actividades físicas 1 día a la
semana

2

Realiza actividades físicas 2 día a la
semana

3

Realiza actividades físicas 3 día a la
semana

4

Realiza actividades físicas 4 día a la
semana

5

Realiza actividades físicas 5 día a la
semana

6

Realiza actividades físicas 6 día a la
semana

T

Realiza actividades físicas todos los
días de la semana

Minutos/día/día

¿Los días que realiza actividad
física cuántos minutos dedica en
promedio?

Men10

La persona practica menos de 10 minutos al
día, las veces que lo hace

Men30

La persona practica mas de 10 y menos de 30
minutos al día, las veces que lo hace

Mas30

La persona practica mas de 30 minutos al día,
las veces que lo hace

Intensidad

Tabla No. 1: Atributos, Preguntas y
Respuestas para determinar la clasificación de la Actividad
Física de una persona

La clasificación de la actividad física
también se ha discretizado de acuerdo al nivel de actividad
física que realice el individuo, de la siguiente
forma:

Clase 1: Sedentario.

Clase 2: Suficientemente activo

Clase 3: Insuficientemente activo

También se investigó acerca de la
clasificación del comportamiento de las personas
frente a la actividad física, encontrándose los
siguientes tipos de comportamiento:

TIPO DE COMPORTAMIENTO

DESCRIPCIÓN

EVIDENCIA

Precomtemplación

No activo y no tiene intención de ser
activo

La persona no hace actividad física, no le
interesa y piensa que no lo necesita.

Contemplación

No activo, pero intenta hacerlo

El individuo no hace actividad física, pero
le interesa y quiere hacerla

Preparación:

Tratando, pero todavía no activo
regularmente

La persona hace actividad física y le
interesa mantenerla.

Acción:

Regularmente Activo

El individuo hace actividad física y le
interesa aumentarla.

Tabla No. 2:
Clasificación del comportamiento o actitud de los individuos
frente a la actividad física

La tabla No. 3 que se presenta a continuación,
resume la información que se recabó acerca de la
clasificación de la actividad física:

Actividad
Física

Dias/semana

minutos/día

Intensidad de actividad
física

clasificación

no

sedentario

si

1

men10

moderada

sedentario

si

2

men10

moderada

sedentario

si

3

men10

moderada

sedentario

si

4

men10

moderada

sedentario

si

5

men10

moderada

sedentario

si

6

men10

moderada

sedentario

si

T

men10

moderada

sedentario

si

1

men10

vigorosa

sedentario

si

2

men10

vigorosa

sedentario

si

3

men10

vigorosa

sedentario

si

4

men10

vigorosa

sedentario

si

5

men10

vigorosa

sedentario

si

6

men10

vigorosa

sedentario

si

T

men10

vigorosa

sedentario

si

5

men30

moderada

Suficientemente Activo

si

6

men30

moderada

Suficientemente Activo

si

T

men30

moderada

Suficientemente Activo

si

3

men30

vigorosa

Suficientemente Activo

si

4

men30

vigorosa

Suficientemente Activo

si

5

men30

vigorosa

Suficientemente Activo

si

6

men30

vigorosa

Suficientemente Activo

si

T

men30

vigorosa

Suficientemente Activo

si

1

mas30

moderada

Suficientemente Activo

si

2

mas30

moderada

Suficientemente Activo

si

3

mas30

moderada

Suficientemente Activo

si

4

mas30

moderada

Suficientemente Activo

si

5

mas30

moderada

Suficientemente Activo

si

6

mas30

moderada

Suficientemente Activo

si

T

mas30

moderada

Suficientemente Activo

si

1

mas30

vigorosa

Suficientemente Activo

si

2

mas30

vigorosa

Suficientemente Activo

si

3

mas30

vigorosa

Suficientemente Activo

si

4

mas30

vigorosa

Suficientemente Activo

si

5

mas30

vigorosa

Suficientemente Activo

si

6

mas30

vigorosa

Suficientemente Activo

si

T

mas30

vigorosa

Suficientemente Activo

si

1

men30

moderada

Insuficientemente Activo

si

2

men30

moderada

Insuficientemente Activo

si

3

men30

moderada

Insuficientemente Activo

si

4

men30

moderada

Insuficientemente Activo

si

1

men30

vigorosa

Insuficientemente Activo

si

2

men30

vigorosa

Insuficientemente Activo

Tabla No. 3:
Información Acopiada sobre la clasificación de la
actividad física

Los datos contenidos en las tablas
No. 2 y 3, permiten definir de manera natural la base de conocimiento del sistema, la cual se
implementó utilizando el lenguaje de programación
lógica Prolog,
específicamente, WinProlog Versión 4.2. La base de
conocimiento se muestra a
continuación.

Base de conocimiento relacionada con la
clasificación de la actividad física:

clasificacion(sedentario):-p1(no).

clasificacion(sedentario):-p1(si),p2(1),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(2),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(3),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(4),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(5),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(6),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(t),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(1),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(2),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(3),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(4),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(5),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(6),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(t),p3(men10),p4(vigorosa).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(1),p3(men30),p4(moderada).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(2),p3(men30),p4(moderada).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(3),p3(men30),p4(moderada).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(4),p3(men30),p4(moderada).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(1),p3(men30),p4(vigorosa).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(2),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(5),p3(men30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(6),p3(men30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(t),p3(men30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(3),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(4),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(5),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(6),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(t),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(1),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(2),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(3),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(4),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(5),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(6),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(t),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(1),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(2),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(3),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(4),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(5),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(6),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(t),p3(mas30),p4(vigorosa).

Donde p1, p2, p3 y p4, son las preguntas asociadas a los
atributos "Actividad Física", "Días/semana",
"minutos/dia" y "tipo de actividad física"
respectivamente.

Por ejemplo, la última regla se
leería:

La clasificación es "Suficientemente Activo" si
"Actividad Física" ="si", y Días/semana="t", y
"minutos/dia"="mas30", e "intensidad"="vigorosa".

En lenguaje natural se
diría: El tipo de actividad física es Suficientemente
activo, si la persona practica actividad física y lo hace
todos los días, más de 30 minutos y la intensidad de la
actividad que realiza es vigorosa.

En total se tienen 40 reglas para la clasificación
de la actividad física.

Base de conocimiento relacionada con la
clasificación de la actitud o comportamiento frente a la
actividad física:

comportamental('Precomtemplacion: No activo y no
tiene intención de ser activo')-p5(1).

comportamental('Contemplacion: No activo,
pero_intenta_hacerlo'):-p5(2).

comportamental('Preparacion: Tratando, pero
todavía no activo regularmente'):-p5(3).

comportamental('Accion: Regularmente
Activo'):-p5(4).

En total se tienen 4 reglas para clasificar el
comportamiento o actitud de las personas frente a la actividad
física.

Para realizar la captura de los datos el programa realizará una serie
de preguntas y con base en las respuestas del usuario,
buscará en la base de conocimiento y clasificará al
individuo.

A continuación se describe la implementación
de las preguntas en Prolog:

Se define un predicado que se encargue de presentar
el programa.

presentacion:-write('EL SIGUIENTE PROGRAMA LE
INDICARÁ SU ESTADO ACTUAL DE ACTIVIDAD
FÍSICA, LUEGO DE QUE

USTED RESPONDA UNAS POCAS PREGUNTAS'),nl,nl.

El predicado siguiente se encarga que indagar si la
persona realiza actividad física o no:

pregunta1:- write(' Realiza Actividad Fisica de forma
Regular?:'),nl,nl,

write(' 1. SI.'),nl,

write(' 2. NO.'),nl,

read(N),

grupo(N).

grupo(1):-assert(p1(si)),!. %se escribe en la base de
conocimiento p1(si)

grupo(2):-assert(p1(no)),!.

grupo(_):-pregunta1,!.

El predicado siguiente se encarga que indagar
cuántos días a la semana, la persona realiza actividad
física:

pregunta2:- write(' Cuantos Dias por Semana?
:'),nl,nl,

write(' 1. Uno.'),nl,

write(' 2. Dos.'),nl,

write(' 3. Tres.'),nl,

write(' 4. Cuatro.'),nl,

write(' 5. Cinco.'),nl,

write(' 6. Seis.'),nl,

write(' 7. Todos.'),nl,

read(N2),

dias(N2).

dias(1):-assert(p2(1)),!.

dias(2):-assert(p2(2)),!.

dias(3):-assert(p2(3)),!.

dias(4):-assert(p2(4)),!.

dias(5):-assert(p2(5)),!.

dias(6):-assert(p2(6)),!.

dias(7):-assert(p2(t)),!.

dias(_):-pregunta2,!.

El conjunto de predicados siguientes se encargan de
indagar cuántos minutos por día, la persona realiza
actividad física, en los días en que
practica:

pregunta3:- write(' Cuantos Minutos Cada
Dia?:'),nl,nl,

write(' 1. Menos de 10 Minutos.'),nl,

write(' 2. Menos de 30 Minutos.'),nl,

write(' 3. Mas de 30 Minutos.'),nl,

read(N3),

minuto(N3).

minuto(1):-assert(p3(men10)),!.

minuto(2):-assert(p3(men30)),!.

minuto(3):-assert(p3(mas30)),!.

minuto(_):-pregunta3,!.

El conjunto de predicados siguientes se encargan de
indagar la intensidad de la actividad física que realiza la
persona:

pregunta4:- write(' De Que Tipo es la Actividad
Fisica?:'),nl,nl,

write(' 1. Moderada.'),nl,

write(' 2. Vigorosa.'),nl,

read(N4),

tipoact(N4).

tipoact(1):-assert(p4(moderada)),!.

tipoact(2):-assert(p4(vigorosa)),!.

tipoact(_):-pregunta4,!.

El conjunto de predicados que sigue a
continuación se encarga de determinar el tipo de actitud que
tiene el individuo frente a las actividades
físicas.

pregunta5:- write(' Cual de las siguientes frases
identifica su estado actual con la Actividad
Fisica?:'),nl,nl,

write(' 1. No hago actividad fisica, no me interesa, no
necesito.'),nl,

write(' 2. No hago actividad fisica, pero me interesa y
quiero hacerla.'),nl,

write(' 3. Hago actividad fisica y me interesa
mantenerla.'),nl,

write(' 4. Hago actividad fisica y me interesa
aumentarla.'),nl,

read(N5),

tipoacua(N5).

tipoacua(1):-assert(p5(1)),!.

tipoacua(2):-assert(p5(2)),!.

tipoacua(3):-assert(p5(3)),!.

tipoacua(4):-assert(p5(4)),!.

tipoacua(_):-pregunta5,!.

El siguiente predicado, tiene el propósito de
limpiar de la base de conocimiento la información
introducida por el usuario en tiempo de corrida a
través del predicado assert()

purgar:-retract(p1(_)),

retract(p2(_)),

retract(p3(_)),

retract(p4(_)),

retract(p5(_)),!.

El siguiente predicado determina la clase de
actividad física y el comportamiento frente a la actividad
física, con base en la información ingresada por el
usuario.

unir:-
clasificacion(M),comportamental(C),

write('Su Clasificacion de Actitud Fisica puede ser :
'),nl,

write(M),nl,nl,

write('Su estado comportamental puede ser :
'),nl,

write(C),nl,nl,

purgar,

pregunta.

Los siguientes predicados permiten la posibilidad de
volver a empezar de nuevo el programa:

continue('s'):-continue('S').

continue('S'):-start(2),!.

continue('n'):-continue('N').

continue('N'):-write(' FUE UN PLACER
AYUDARTE'),nl,

write('…………HASTA
PRONTO…………').

pregunta:-nl,nl,

write('Desea continuar s/n : '),

read(X),

continue(X).

Se define le predicado que inicia la corrida del
programa:

inicio:-presentacion,start.

El programa completo quedaría, de la siguiente
forma:

clasificacion(sedentario):-p1(no).

clasificacion(sedentario):-p1(si),p2(1),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(2),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(3),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(4),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(5),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(6),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(t),p3(men10),p4(moderada).

clasificacion(sedentario):-p1(si),p2(1),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(2),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(3),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(4),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(5),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(6),p3(men10),p4(vigorosa).

clasificacion(sedentario):-p1(si),p2(t),p3(men10),p4(vigorosa).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(1),p3(men30),p4(moderada).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(2),p3(men30),p4(moderada).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(3),p3(men30),p4(moderada).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(4),p3(men30),p4(moderada).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(1),p3(men30),p4(vigorosa).

clasificacion('Insuficientemente
Activo'):-p1(si),p2(2),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(5),p3(men30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(6),p3(men30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(t),p3(men30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(3),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(4),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(5),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(6),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(t),p3(men30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(1),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(2),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(3),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(4),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(5),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(6),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(t),p3(mas30),p4(moderada).

clasificacion('Suficientemente
Activo'):-p1(si),p2(1),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(2),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(3),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(4),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(5),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(6),p3(mas30),p4(vigorosa).

clasificacion('Suficientemente
Activo'):-p1(si),p2(t),p3(mas30),p4(vigorosa).

comportamental('Precomtemplacion: No activo y no tiene
intención de ser activo')-p5(1).

comportamental('Contemplacion: No activo,
pero_intenta_hacerlo'):-p5(2).

comportamental('Preparacion: Tratando, pero todavía
no activo regularmente'):-p5(3).

comportamental('Accion: Regularmente
Activo'):-p5(4).

inicio:-presentacion,start.

start:- pregunta1,

pregunta2,

pregunta3,

pregunta4,

pregunta5,

unir,!.

presentacion:-write('EL SIGUIENTE PROGRAMA LE
INDICARÁ SU ESTADO ACTUAL DE ACTIVIDAD FÍSICA, LUEGO DE
QUE

USTED RESPONDA UNAS POCAS PREGUNTAS'),nl,nl.

pregunta1:- write(' Realiza Actividad Fisica de forma
Regular?:'),nl,nl,

write(' 1. SI.'),nl,

write(' 2. NO.'),nl,

read(N),

grupo(N).

grupo(1):-assert(p1(si)),!.

grupo(2):-assert(p1(no)),!.

grupo(_):-pregunta1,!.

pregunta2:- write(' Cuantos Dias por Semana?
:'),nl,nl,

write(' 1. Uno.'),nl,

write(' 2. Dos.'),nl,

write(' 3. Tres.'),nl,

write(' 4. Cuatro.'),nl,

write(' 5. Cinco.'),nl,

write(' 6. Seis.'),nl,

write(' 7. Todos.'),nl,

read(N2),

dias(N2).

dias(1):-assert(p2(1)),!.

dias(2):-assert(p2(2)),!.

dias(3):-assert(p2(3)),!.

dias(4):-assert(p2(4)),!.

dias(5):-assert(p2(5)),!.

dias(6):-assert(p2(6)),!.

dias(7):-assert(p2(t)),!.

dias(_):-pregunta2,!.

pregunta3:- write(' Cuantos Minutos Cada
Dia?:'),nl,nl,

write(' 1. Menos de 10 Minutos.'),nl,

write(' 2. Menos de 30 Minutos.'),nl,

write(' 3. Mas de 30 Minutos.'),nl,

read(N3),

minuto(N3).

minuto(1):-assert(p3(men10)),!.

minuto(2):-assert(p3(men30)),!.

minuto(3):-assert(p3(mas30)),!.

minuto(_):-pregunta3,!.

pregunta4:- write(' De Que Tipo es la Actividad
Fisica?:'),nl,nl,

write(' 1. Moderada.'),nl,

write(' 2. Vigoroza.'),nl,

read(N4),

tipoact(N4).

tipoact(1):-assert(p4(moderada)),!.

tipoact(2):-assert(p4(vigorosa)),!.

tipoact(_):-pregunta4,!.

pregunta5:- write(' Cual de las siguientes frases
identifica su estado actual con la Actividad
Fisica?:'),nl,nl,

write(' 1. No hago actividad fisica, no me interesa, no
necesito.'),nl,

write(' 2. No hago actividad fisica, pero me interesa y
quiero hacerla.'),nl,

write(' 3. Hago actividad fisica y me interesa
mantenerla.'),nl,

write(' 4. Hago actividad fisica y me interesa
aumentarla.'),nl,

read(N5),

tipoacua(N5).

tipoacua(1):-assert(p5(1)),!.

tipoacua(2):-assert(p5(2)),!.

tipoacua(3):-assert(p5(3)),!.

tipoacua(4):-assert(p5(4)),!.

tipoacua(_):-pregunta5,!.

purgar:-retract(p1(_)),

retract(p2(_)),

retract(p3(_)),

retract(p4(_)),

retract(p5(_)),!.

continue('s'):-continue('S').

continue('S'):-start,!.

continue('n'):-continue('N').

continue('N'):-write(' FUE UN PLACER
AYUDARTE'),nl,

write('…………HASTA
PRONTO…………').

unir:- clasificacion(M),comportamental(C),

write('Su Clasificacion de Actitud Fisica puede ser :
'),nl,

write(M),nl,nl,

write('Su estado comportamental puede ser :
'),nl,

write(C),nl,nl,

purgar,

pregunta.

pregunta:-nl,nl,

write('Desea continuar s/n : '),

read(X),

continue(X).

Para correr este programa abra WinProlog, presione en
file->new. Luego se abrirá una ventana con un editor de
texto, copie y pegue este
código allí y en
file->save, guarde el archivo con algún nombre,
luego vaya a run->compile, esto compilará el programa,
que ya estará listo para ser corrido. A continuación en
la ventana de consola, luego del símbolo "| ?-", escriba el
predicado principal, "inicio".

Figura No. 2 Vista principal
del WinProlog 4.2

Figura No. 3:
File->New

 

Figura No. 4: Apariencia luego
de hacer clic en file-new. En esta ventana debe pegar el
código del programa

Figura No. 5: Apariencia luego
de pegar el código del programa

 

Figura No. 6: Apariencia e la
consola, luego de haber compilado.

Figura No. 7: En la consola se
escribe inicio.(toda instrucción en prolog, finaliza
con punto) y se inicia la corrida del
programa.

Figura No. 8: Sigue la segunda
pregunta.

Figura No. 9 : Sigue la tercera
pregunta.

Figura No. 10: Sigue la cuarta
pregunta.

Figura No. 12: Se genera el
resultado, con base en la información ingresada por el
usuario.

TRATAMIENTO DE LOS DATOS CON
ÁRBOLES DE DECISIÓN.

Si se observa detenidamente los datos de la tabla No. 3,
se puede apreciar que en ellos hay ciertas regularidades es decir
patrones subyacentes que podrían permitir simplificar los
datos. El proceso de hallar patrones
relevantes y útiles en un conjunto de datos se denomina
Minería de Datos, la cual
comprende una gran cantidad de técnicas estadística y de inteligencia computacional, en
particular del aprendizaje de
máquina(Machine learning). Dentro de estas técnicas,
resaltan las redes neuronales, los algoritmos inmunológicos,
los algoritmos genéticos, la programación genética, la lógica
difusa, los métodos para hallar reglas
de asociación y los árboles de decisión
entre muchísimas otras. Específicamente para datos
discretos como los que se tienen para este trabajo son aconsejables sobre
todo los árboles de decisión y las reglas de
asociación, aunque podría optarse por una
aproximación desde la lógica difusa. En cuanto a las
reglas de asociación, existe muchas referencias a
métodos como el algoritmo a priori y sus
derivados que pueden ser consultados por el lector interesado en
[ 2,3,5,8,14,16,17]

Los árboles de decisión se pueden considerar
como un método para aproximar una
función objetivo de valores discretos, que es
resistente al ruido en los datos y que es
capaz de hallar o aprender una disyunción de expresiones. El
resultado puede, de esta manera, expresarse como un conjunto de
reglas Si-entonces. Por otra parte, los árboles de
decisión pueden entenderse como una representación de
los procesos involucrados en las
tareas de clasificación.

Están formados por:

  • Nodos: nombres o identificadores de los
    atributos.
  • Ramas: posibles valores del atributo asociado
    al nodo.
  • Hojas: conjuntos ya clasificados de
    ejemplos y etiquetados con el nombre de una clase.

Desde el punto de vista del aprendizaje de máquina,
se puede ver el proceso de creación de un árbol de
decisión, como una búsqueda de un árbol que
clasifique correctamente los datos del problema en cuestión.
Visto de esta forma, en los árboles de decisión se
pueden identificar los siguientes elementos:

  1. Espacio de hipótesis: Todos los posibles
    árboles de decisión.
  2. Método: Escalada (hill-climbing),
    empezando por el árbol vacío, aunque podrían ser
    un método, como por ejemplo, el basado en
    programación genética, en donde se hace la
    búsqueda sobre árboles completos, los cuales son
    transformados mediante operaciones evolutivos(cruce.
    Mutación, reproducción), y se
    evalúan a la luz de su desempeño en
    relación con los datos del problema, ver por ejemplo [7,
    9]
  3. Heurística que guía la búsqueda:
    Ganancia de información.

La representación del conocimiento en forma de
árbol resulta relativamente simple y es una de las causas
por la que los procedimientos utilizados en su
aprendizaje sean más sencillos que los sistemas que utilizan lenguajes
de representación mas potentes, como redes semánticas, representaciones en
lógica de predicados, etc. Sin embargo, esto deriva en que
la potencia expresiva de los
árboles de decisión sea menor que la de esos otros
sistemas.

En 1979 Quinlan, desarrolla el sistema ID3[13], como una
herramienta experimental, que es un método incremental en el
cual, la expansión de los nodos se basa en una función
que utiliza la medida de información de Shannon. La
versión definitiva, presentada por su autor Quinlan como una
método de aprendizaje, es el sistema C4.5 que expone con
cierto detalle en la obra C4.5: Programs for machine learning[6];
incluye el código fuente que también está
disponible por Internet en su versión mas actual. La
evolución comercial de
este sistema se denomina C5, del cual se puede obtener una
versión de demostración restringida en cuanto a
capacidades; por ejemplo, el número máximo de ejemplos
de entrenamiento.

  1. ID3 UN SISTEMA BASICO EN
    EL APRENDIZAJE DE
    ÁRBOLES
  • El esquema principal del algoritmo

En el proceso de construcción del
árbol de decisión, además de etiquetar los arcos y
las hojas como ya se indicó, se etiquetan los nodos con un
subconjunto de ejemplos de entrenamiento. Las operaciones
básicas del proceso esquematizado a muy bajo nivel
serán:

  • Todo nodo esta etiquetado con un subconjunto de
    ejemplos de los de entrenamiento.
  • La raíz estará siempre etiquetada con el
    conjunto total de ejemplos de entrenamiento.
  • Todo nodo que no constituya una hoja se
    expande.
  • El proceso se detendrá cuando haya alcanzado
    hojas por todos los caminos.

El principio sobre el que se basa la expansión de
los nodos del árbol que se trata de aprender o construir a
partir del conjunto de entrenamiento es maquiavélico: divide
y vencerás [12].

Todo algoritmo debe tener un sesgo que para el caso del
ID3, éste se define, de manera general, como la mínima
información adicional que hay que suministrar para que un
algoritmo clasifique correctamente los nuevos ejemplos que se le
presenten. En el caso del ID3, la necesidad del sesgo inductivo
surge debido a que dado un conjunto de entrenamiento, en general,
existen muchos árboles de decisión consistentes con los
ejemplos. Este sesgo conlleva a que se prefieran los árboles
cortos a los largos, es decir, si se buscara en anchura dentro
del espacio de hipótesis, empezando por el árbol
vacío, se iría recorriendo todos los árboles de
profundidad 1, después los de profundidad 2, etc., hasta
encontrar un árbol que fuera consistente con el conjunto de
entrenamiento. La justificación para preferir hipótesis
cortas, es en esencia simple y proviene de una meta
heurística general de las ciencias, que se tiene su
origen en la llamada "Ley de Parsimonia" o "Navaja de
Occam" (enunciada por William de Occam en 1320, según parece
mientras se afeitaba), según la cual se debe elegir
siempre la hipótesis más simple o parsimoniosa de entre
las que resuelvan el problema
.(La hipótesis mas probable
es la hipótesis mas corta consistente con los ejemplos de
entrenamiento). Sin embargo, ID3 no siempre devuelve el
árbol más corto, ya que el procedimiento utilizado es
similar a una búsqueda primero el mejor, y además no se
hace una búsqueda explícita sobre hipótesis
completas del espacio de búsqueda.

Entropía y Ganancia de
Información

La entropía es un concepto central en el algoritmo
ID3 y está muy relacionado con la medida de la
información introducida por Shannon en 1948. A
continuación se desarrollan los elementos básicos de
esta teoría de la medida de la
información necesarios para una comprensión completa de
ID3. Shannon definió una medida para la información
basada en el concepto de probabilidad.

Sea T un suceso que pueda ocurrir con probabilidad p(T).
Cuando T ocurre, se dice que se ha recibido
I(T)=loga(1/p(T)) unidades de información.
Conforme a sea el número e, 10 o
2, la unidad recibe, respectivamente, el nombre de Nat,
Hartley( en honor a Hartley que fue el primero en sugerir una
medida para la información en 1928) o bit.

Si se trabaja en base 2 y p(E)= 1/2 entonces I(E)=1 bit;
lo que permite definir el bit como la cantidad de
información proporcionada por la especificación de uno
de los dos sucesos equiprobales, es decir la respuesta a una
pregunta de tipo Si-No.

El concepto de información se generaliza para un
mecanismo generador de información denominado fuente de
información de memoria nula.

Sea S ={ s1, s2, s3,
…, sn } un alfabeto finito y fijo que se
utilizará para transmitir la información proporcionada
por un dispositivo generador denominado fuente. Si los símbolos, o elementos de
S, son transmitidos sucesivamente de acuerdo a una distribución de probabilidad
fija: p(s1), p(s2),…, p(sn), entonces se denomina fuente de
información de memoria nula. Por abuso del lenguaje se suele
identificar la fuente con el propio alfabeto S.

En una fuente de información de memoria nula la
emisión de un símbolo es independiente de los
símbolos emitidos anteriormente; de ahí que se denomine
de memoria nula.

Sea S={s1, s2, s3, … , sn } el alfabeto de una fuente
de información de memoria nula. La cantidad media de
información por símbolo del alfabeto S se denomina
entropía de S, se representa por H(S), y tiene la siguiente
expresión:

Otra forma de interpretar la entropía de una fuente
de información de memoria nula es apelando al concepto
intuitivo de incertidumbre. H(S) puede interpretarse como el
valor medio de la
incertidumbre de un observador antes de conocer una salida de la
fuente. Cualquiera de las dos interpretaciones puede utilizarse
según lo aconseje la situación.

El algoritmo ID3 adopta la entropía como concepto
clave, en términos del cual se define el concepto de
Ganancia de Información del sistema dado que se conoce el
valor de un atributo, la cual es definida como la reducción
promedio de la entropía del sistema o subsistema debido al
conocimiento del valor del atributo.

Donde:

H(S)= entropía de S

: es el valor esperado de la entropía de S,
luego de conocer el valor del atributo A

G(S,A): Es la ganancia de información en el sistema
S por el conocimiento del valor del
atributo A, es decir la reducción de la incertidumbre
inicial o entropía en el sistema.

El algoritmo ID3, inicia el proceso de construcción
del árbol de forma progresiva, iniciando con el nodo
raíz, el cual corresponderá al atributo que más
información provea sobre la clasificación de los
ejemplos. Esto es, el atributo, cuyo conocimiento proporcione la
mayor ganancia de información.

El atributo ganador ocupa el nodo raíz y las ramas
del árbol corresponden a los valores del mismo. El
proceso de construcción del árbol continua
preguntándose, cuál es el atributo de los que quedan
que proporciona mayor información para cada una de esas
ramas. Este procedimiento se repite recursivamente hasta se
hallan alcanzado hojas(decisiones o clasificaciones) en todos las
ramas del árbol.

A continuación se muestra el esbozo del algoritmo
general:

Algoritmo ID3 (X: Ejemplos, C: Clasificacion, A:
Atributos)

Si todos los ejemplos son de la misma clase retorna
árbol de la clase

si no

Calcular la función de cantidad de
información de los ejemplos (I)

Para cada atributo en A

Calcular la función de entropía (E) y la
ganancia de información (G)

Escoger el atributo que maximice G (sea
a)

Eliminar a de la lista de atributos
(A)

Para cada partición generada por los valores del
atributo a

Arboli=ID3(ejemplos de X con a=vi , Clasificacion de
los ejemplos,

Atributos restantes)

Generar arbol con a=vi y Arboli

Retornar la union de todos los arboles

fin Algoritmo

Aplicación de la técnica de árboles de
decisión al problema de este trabajo.

Existen muchas herramientas computacionales
apropiadas para la inducción o el
aprendizaje de árboles de decisión a partir de un
conjunto adecuado de datos, tales como WEKA, sin embargo para
este trabajo se decidió utilizar un applet llamado "Decision
Tree Version 4.1.3", elaborado por AIspace, que se encuentra
disponible en línea o para descarga

Mediante este applet se ingresaron los datos de la tabla
No. 3, y se obtuvo el siguiente árbol de
decisión:

Figura No. 13: Arbol
de Decisión para el problema de clasificación de la
actividad física

El número de reglas implícitas en la estructura del árbol
corresponde al número de hojas (cuadro de borde verde), es
decir, que el árbol ha representado a los datos de la tabla
utilizando 12 reglas, las cuales se listan a
continuación:

  1. Si actividad física=no, entonces,
    clasificación=sedentario
  2. Si actividad física=si y minutos/dia=mas30,
    entonces clasificación=Suficientemente
    Activo
  3. Si actividad física=si y minutos/dia=men10,
    entonces clasificación=Sedentario
  4. Si actividad física=si y minutos/dia=men30 y
    días/semana=5, entonces clasificación=
    Suficientemente Activo
  5. Si actividad física=si y minutos/dia=men30 y
    días/semana=6 entonces clasificación= Suficientemente
    Activo
  6. Si actividad física=si y minutos/dia=men30 y
    días/semana=t, entonces clasificación=
    Suficientemente Activo
  7. Si actividad física=si y minutos/dia=men30 y
    días/semana=1, entonces clasificación=
    Insuficientemente Activo
  8. Si actividad física=si y minutos/dia=men30 y
    días/semana=2, entonces clasificación=
    Insuficientemente Activo
  9. Si actividad física=si y minutos/dia=men30 y
    días/semana=3 e Intensidad de actividad
    física=vigorosa, entonces clasificación=
    Suficientemente Activo
  10. Si actividad física=si y minutos/dia=men30 y
    días/semana=3 e Intensidad de actividad
    física=moderada, entonces clasificación=
    Insuficientemente Activo
  11. Si actividad física=si y minutos/dia=men30 y
    días/semana=4 e Intensidad de actividad
    física=vigorosa, entonces clasificación=
    Suficientemente Activo
  12. Si actividad física=si y minutos/dia=men30 y
    días/semana=4 e Intensidad de actividad
    física=moderada, entonces clasificación=
    Insuficientemente Activo

Esto indica que los 40 ejemplos o patrones (filas)
contenidos en la tabla No. 3, se han representado con 12 reglas,
lo cual indica una compresión en la representación de
los datos de 40/12, es decir un factor de compresión de
3:1.

Observando los resultados se puede evidenciar que no el
atributo que más proporciona información acerca de la
clasificación de la actividad física es el "Actividad
Física", luego seguiría "minutos/día". Note que el
número de minutos al día, proporciona más
información que el número de días a la semana.
Adicionalmente, se puede ver que en muchos casos no es necesario
conocer el valor de todos los atributos para determinar la
clasificación de la actividad física. Con estas reglas
se reduce ampliamente la base de conocimiento y se sintetiza y
modela mejor el conocimiento contenido en los datos.

Con respecto a la clasificación de la actitud
frente a la actividad física, no fue necesario aplicarle
árboles de decisión, debido a que es muy simple y la
clasificación es directa.

La implementación que se muestra a
continuación corresponde a la estructura clásica de los
programas en programación
lógica, en la cual se presenta la base de conocimiento
independiente de los predicados de control y manipulación de
esa base, similar a lo que ocurre en un sistema de gestión de base de datos.

A continuación se presenta el código
obtenido:

clasificacion(sedentario):-p1(no),!.

clasificacion('Suficientemente
Activo'):-p1(si),p3(mas30),!.

clasificacion(sedentario):-p1(si),p3(men10),!.

clasificacion('Suficientemente
Activo'):-p1(si),p3(men30),p2(5),!.

clasificacion('Suficientemente
Activo'):-p1(si),p3(men30),p2(6),!.

clasificacion('Suficientemente
Activo'):-p1(si),p3(men30),p2(t),!.

clasificacion('Insuficientemente
Activo'):-p1(si),p3(men30),p2(1),!.

clasificacion('Insuficientemente
Activo'):-p1(si),p3(men30),p2(2),!.

clasificacion('Suficientemente
Activo'):-p1(si),p3(men30),p2(3),p4(vigorosa),!.

clasificacion('Insuficientemente
Activo'):-p1(si),p3(men30),p2(3),p4(moderada),!.

clasificacion('Suficientemente
Activo'):-p1(si),p3(men30),p2(4),p4(vigorosa),!.

clasificacion('Insuficientemente
Activo'):-p1(si),p3(men30),p2(4),p4(moderada),!.

comportamental('Precomtemplacion: No activo y no tiene
intención de ser activo')-p5(1).

comportamental('Contemplacion: No activo,
pero_intenta_hacerlo'):-p5(2).

comportamental('Preparacion: Tratando, pero todavía
no activo regularmente'):-p5(3).

comportamental('Accion: Regularmente
Activo'):-p5(4).

inicio:-presentacion,start.

start :-pregunta1,

pregunta2,

pregunta3,

pregunta4,

pregunta5,

unir,!.

presentacion:-write('EL SIGUIENTE PROGRAMA LE
INDICARÁ SU ESTADO ACTUAL DE ACTIVIDAD FÍSICA, LUEGO DE
QUE

USTED RESPONDA UNAS POCAS PREGUNTAS'),nl,nl.

pregunta1:-write(' Realiza Actividad Fisica de forma
Regular?:'),nl,nl,

write(' 1. SI.'),nl,

write(' 2. NO.'),nl,

read(N),

grupo(N).

grupo(1):-assert(p1(si)),!.

grupo(2):-assert(p1(no)),!.

grupo(_):-pregunta1,!.

pregunta2:-

write(' Cuantos Dias por Semana? :'),nl,nl,

write(' 1. Uno.'),nl,

write(' 2. Dos.'),nl,

write(' 3. Tres.'),nl,

write(' 4. Cuatro.'),nl,

write(' 5. Cinco.'),nl,

write(' 6. Seis.'),nl,

write(' 7. Todos.'),nl,

read(N2),

dias(N2).

dias(1):-assert(p2(1)),!.

dias(2):-assert(p2(2)),!.

dias(3):-assert(p2(3)),!.

dias(4):-assert(p2(4)),!.

dias(5):-assert(p2(5)),!.

dias(6):-assert(p2(6)),!.

dias(7):-assert(p2(t)),!.

dias(_):-pregunta2,!.

pregunta3:-

write(' Cuantos Minutos Cada Dia?:'),nl,nl,

write(' 1. Menos de 10 Minutos.'),nl,

write(' 2. Menos de 30 Minutos.'),nl,

write(' 3. Mas de 30 Minutos.'),nl,

read(N3),

minuto(N3).

minuto(1):-assert(p3(men10)),!.

minuto(2):-assert(p3(men30)),!.

minuto(3):-assert(p3(mas30)),!.

minuto(_):-pregunta3,!.

pregunta4:-

write(' De Que Tipo es la Actividad
Fisica?:'),nl,nl,

write(' 1. Moderada.'),nl,

write(' 2. Vigorosa.'),nl,

read(N4),

tipoact(N4).

tipoact(1):-assert(p4(moderada)),!.

tipoact(2):-assert(p4(vigorosa)),!.

tipoact(_):-pregunta4,!.

pregunta5:-write(' Cual de las siguientes frases
identifica su estado actual con la Actividad
Fisica?:'),nl,nl,

write(' 1. No hago actividad fisica, no me interesa, no
necesito.'),nl,

write(' 2. No hago actividad fisica, pero me interesa y
quiero hacerla.'),nl,

write(' 3. Hago actividad fisica y me interesa
mantenerla.'),nl,

write(' 4. Hago actividad fisica y me interesa
aumentarla.'),nl,

read(N5),

tipoacua(N5).

tipoacua(1):-assert(p5(1)),!.

tipoacua(2):-assert(p5(2)),!.

tipoacua(3):-assert(p5(3)),!.

tipoacua(4):-assert(p5(4)),!.

tipoacua(_):-pregunta5,!.

purgar:-retract(p1(_)),

retract(p2(_)),

retract(p3(_)),

retract(p4(_)),

retract(p5(_)),!.

continue('s'):-continue('S').

continue('S'):-start,!.

continue('n'):-continue('N').

continue('N'):-write(' FUE UN PLACER
AYUDARTE'),nl,

write('…………HASTA
PRONTO…………').

unir:- clasificacion(M),comportamental(C),

write('Su Clasificacion de Actitud Fisica puede ser :
'),nl,

write(M),nl,nl,

write('Su estado comportamental puede ser :
'),nl,

write(C),nl,nl,

purgar,

pregunta.

pregunta:-nl,nl,

write('Desea continuar s/n : '),

read(X),

continue(X).

Sin embargo, la aproximación anterior no aprovecha
toda la información contenida en el árbol, ya que hace
todas las preguntas para todos los casos, sin tener en cuenta
que, según el árbol de decisión, algunas
clasificaciones se pueden determinar sin el conocimiento de todos
los atributos, como es el caso en que se responda "no" a la
pregunta 1.

A continuación se hace otra aproximación que
tiene en cuenta, la observación anterior, sin
embargo se desvía un poco del sentido de la
programación lógica, y se acerca más a una
programación procedimental:

pregunta(1, Respuesta):-write(' Realiza Actividad Fisica
de forma Regular?:'),nl,nl,

write(' 1. SI.'),nl,

write(' 2. NO.'),nl,

read(Respuesta),!.

pregunta(2, Respuesta):-write(' Cuantos Dias por Semana?
:'),nl,nl,

write(' 1. Uno.'),nl,

write('2. Dos.'),nl,

write('3. Tres.'),nl,

write('4. Cuatro.'),nl,

write('5. Cinco.'),nl,

write('6. Seis.'),nl,

write('7. Todos.'),nl,

read(Respuesta).

pregunta(3, Respuesta):-write(' Cuantos Minutos Cada
Dia?:'),nl,nl,

write(' 1. Menos de 10 Minutos.'),nl,

write(' 2. Menos de 30 Minutos.'),nl,

write(' 3. Mas de 30 Minutos.'),nl,

read(Respuesta).

pregunta(4,Respuesta):-write(' De Que Tipo es la
Actividad Fisica?:'),nl,nl,

write(' 1. Moderada.'),nl,

write(' 2. Vigorosa.'),nl,

read(Respuesta).

pregunta(5,Respuesta):- write(' Cual de las siguientes
frases identifica su estado actual con la Actividad
Fisica?:'),nl,nl,

write(' 1. No hago actividad fisica, no me interesa, no
necesito.'),nl,

write(' 2. No hago actividad fisica, pero me interesa y
quiero hacerla.'),nl,

write(' 3. Hago actividad fisica y me interesa
mantenerla.'),nl,

write(' 4. Hago actividad fisica y me interesa
aumentarla.'),nl,

read(Respuesta).

clasificacion(Clase):-write('Su Clasificacion de Actitud
Fisica es : '),nl,

(Clase=1->write(sedentario);

Clase=2->write('Suficientemente Activo');

Clase=3->write('Insuficientemente
Activo')),nl.

clasificacion_comportamiento(Clase):-write('Su
Comportamiento frente a la actividad deportiva
es:'),nl,

(Clase=1->write('Precomtemplacion: No activo y no
tiene intención de ser activo');

Clase=2->write('Contemplacion: No activo,
pero_intenta_hacerlo');

Clase=3->write('Preparacion: Tratando, pero
todavía no activo regularmente');

Clase=4->write('Accion: Regularmente
Activo')),nl.

presentacion:-write('EL SIGUIENTE PROGRAMA LE
INDICARÁ SU ESTADO ACTUAL DE ACTIVIDAD FÍSICA, LUEGO DE
QUE

USTED RESPONDA UNAS POCAS PREGUNTAS'),nl,nl.

empezar:-presentacion,inicio.

inicio:- pregunta(1, Respuesta ),

(Respuesta=1->proceso('1a');

Respuesta=2 ->proceso_final(1);inicio).

proceso('1a'):-pregunta(3, Respuesta ),

(Respuesta=1 ->proceso_final(1);

Respuesta= 2 ->proceso('2ab');

Respuesta= 3
->proceso_final(2);proceso('1a')).

proceso('2ab'):-pregunta(2, Respuesta),

(Respuesta=1->proceso_final(3);

Respuesta=2->proceso_final(3);

Respuesta=3->proceso('3acc');

Respuesta=4->proceso('3acd');

Respuesta=5->proceso_final(2);

Respuesta=6->proceso_final(2);

Respuesta=7->proceso_final(2);proceso('2ab')).

proceso('3acc'):-pregunta(4, Respuesta ),

(Respuesta=1->proceso_final(3);

Respuesta=2->proceso_final(3);proceso('3acc')).

proceso('3acd'):-pregunta(4, Respuesta ),

(Respuesta=1->proceso_final(3);

Respuesta=2->proceso_final(3);proceso('3acd')).

proceso_final(Clase):-pregunta(5,Respuesta),

clasificacion(Clase),

clasificacion_comportamiento(Respuesta),

continuar.

continuar:-nl,nl,

write('Desea continuar s/n : '),

read(X),

continue(X).

continue('s'):-continue('S').

continue('S'):-inicio,!.

continue('n'):-continue('N').

continue('N'):-write(' FUE UN PLACER
AYUDARTE'),nl,

write('…………HASTA
PRONTO…………').

Para ejecutar este programa, ejecute el predicado
"empezar" en la consola.

CONCLUSIONES

Con esta propuesta se pretendió generar un programa
en Prolog que permita demostrar los conocimientos adquiridos en
la clase de sistemas basados en el conocimiento por medio del
módulo virtual de diagnóstico, que se basa
en la información consultada en la exploración
bibliográfica.

Este trabajo, aunque no es el único existente,
permite de una manera básica, determinar un diagnóstico
muy acertado acerca de la actividad física del usuario y su
actitud frente a la misma.

  1. BIBLIOGRAFÍA
  1. A. Freitas, Understanding the crucial differences
    between classification and discovery of association rules
    – A position paper, SIGKDD Explorations, 2, 1, 1-5,
    2000.
  2. Agrawal, Rakesh & Psaila, Guiseppe. Active data
    mining. IBM Almaden research center, 1995, consultado en
    octubre de 2006 en
  3. Agrawal, Rakesh & Srikant, Ramakrishnan. Fast
    Algorithm for Mining association rules, IBM Almaden research
    center, 1994. Consultado en octubre de 2006 en
    http://citeseer.ist.psu.edu/rd/0%2C55671%2C1%2C0.25%2CDownload/http://citeseer.ist.psu.edu/cache/papers/cs/1451/http:zSzzSzwww.almaden.ibm.comzSzcszSzpeoplezSzragrawalzSzpaperszSzvldb94_rj.pdf/agrawal94fast.pdf
  4. American Heart Association. Risk factors for heart
    disease. Agosto. 1995.
  5. Cheung, David W. & Han, Jiawei & Ng, Vincent
    T. & Wong C.Y. Maintenance of Discovered Association Rules
    in Large Databases: An Incremental Updating Technique.
    Consultado el mes de octubre de 2006 en
    http://citeseer.ist.psu.edu/rd/0%2C574496%2C1%2C0.25%2CDownload/http://citeseer.ist.psu.edu/cache/papers/cs/27046/http:zSzzSzwww-faculty.cs.uiuc.eduzSz%7EhanjzSzpdfzSzicde96.pdf/cheung96maintenance.pdf
  6. Instituto Distrital Recreación y Deporte. Guía de actividad
    Física. 2004
  7. Jiménez, M. Leonardo. Un Modelo Conceptual para
    el Desarrollo de Árboles de Decisión con
    Programación Genética. Trabajo Presentado como
    prerrequisito para optar al título de Especialista en
    Informática y Ciencias
    de la Computación,
    Fundación Universitaria Konrad Lorenz, Bogotá,
    2007.
  8. Kavsek, N.Lavrac, V. Jovanoski, Apriori-sd: Adapting
    association rule learning to subgroup discovery, Proceedings of
    the 5th International Symposium on Intelligent Data Analysis,
    Springer, 230 -241, 2003.
  9. Koza, John R. Genetic Programming: On the Programming
    of Computers by Means of Natural. NetLibrary Inc.,
    1992.
  10. Mitchel, T., Machine Learning , McGraw Hill,
    1997
  11. OMS, 50 AÑO, No. 3 MAYO-JUNIO de
    1997.
  12. Quinlan, J. R. C4.5: Programs for Machine Learning.
    Morgan Kaufmann Publishers, 1993.
  13. Quinlan, J.R. (1979). "Discovering rules by induction
    from large collections of examples", en Michie, D. (Ed.):
    Expert systems in the microelectronic age, Edimburgh University
    Press, Edimburgh.
  14. Reyes Saldaña, José Fernando &
    García Flores, Rodolfo. El proceso de descubrimiento de
    conocimiento en bases de datos, consultado el
    mes de octubre de 2006 en http://ingenierias.uanl.mx/26/pdfs/26_el_proceso.pdf
  15. Savasere, Ashok; Omiccinski, Edward & Navathe,
    Shamkant. An efficent Algorithm for mining Association Rules in
    Large dataBase, , College of computing, Giorgia Institute of
    technology, Technical report No. GIT-CC-95-04, 1995. Consultado
    en noviembre de 2006 en
    http://citeseer.ist.psu.edu/rd/0%2C53440%2C1%2C0.25%2CDownload/http://citeseer.ist.psu.edu/cache/papers/cs/5021/http:zSzzSzwww.neovista.comzSzResourceszSz..zSzKnowledgeDiscoveryzSzGIT-CC-95-04.pdf/sarasere95efficient.pdf
  16. Webb ,Geoffrey I., Efficient search for association
    rules, School of Computing and Mathematics Deakin University,
    Geelong, Vic. 3217, Australia,KDD-2000, Boston, MA, agosto
    2000. Consultado en noviembre de 2006 en
    http://citeseer.ist.psu.edu/rd/0%2C388271%2C1%2C0.25%2CDownload/http://citeseer.ist.psu.edu/cache/papers/cs/18878/http:zSzzSzwww.cm.deakin.edu.auzSzwebbzSzPaperszSzassocrulesearch.pdf/webb00efficient.pdf
  17. Webb, Geoffrey I. Discovering associations with
    numeric variables. School of Computing and Mathematics Deakin
    University, Australia,KDD 2001, San Francisco CA agosto 200.
    Consultado en Octubre de 2006 en
    http://citeseer.ist.psu.edu/rd/0%2C599110%2C1%2C0.25%2CDownload/http://citeseer.ist.psu.edu/cache/papers/cs/28810/http:zSzzSzwww.cm.deakin.edu.auzSzwebbzSzPaperszSzImpactRules.pdf/rey01discovering.pdf

 

 

 

Autor:

Jeison Antonio Murillo Cruz

Jorge Ernesto Roa Torres

Estudiantes del curso de Sistemas Basados en el
Conocimiento I, del programa de Ingeniería de Sistemas de
la Fundación Universitaria Konrad Lorenz.

Director del Trabajo:

Ing. Pervys Rengifo Rengifo.

Docente e investigador en el área de Inteligencia
Computacional, del programa de Ingeniería de Sistemas de
la Fundación Universitaria Konrad Lorenz.

Ciudad y Fecha de Elaboración: Bogotá,
noviembre de 2007.

Partes: 1, 2
 Página anterior Volver al principio del trabajoPágina siguiente 

Nota al lector: es posible que esta página no contenga todos los componentes del trabajo original (pies de página, avanzadas formulas matemáticas, esquemas o tablas complejas, etc.). Recuerde que para ver el trabajo en su versión original completa, puede descargarlo desde el menú superior.

Todos los documentos disponibles en este sitio expresan los puntos de vista de sus respectivos autores y no de Monografias.com. El objetivo de Monografias.com es poner el conocimiento a disposición de toda su comunidad. Queda bajo la responsabilidad de cada lector el eventual uso que se le de a esta información. Asimismo, es obligatoria la cita del autor del contenido y de Monografias.com como fuentes de información.

Categorias
Newsletter