You are on page 1of 7

1

Red Bayesiana para estimar la aprobacion del


decimo semestre de la CIS en la UNL
J. Males, F. Loayza, B. Lima, Tutor: H. Paz
ResumenMuchos problemas relacionados con estimacio-
nes, analisis o evaluacion de abilidad de situaciones que se
presentan en el diario convivir, se basan en valores proba-
bilsticos e inciertos, y a modo de soluci on se han venido
utilizando diferentes metodos y tecnicas estadsticas y so-
bre todo la teora de la probabilidad.
Actualmente existen otros metodos de solucion a estos tipos
de problemas, las denominadas Redes Bayesianas, que son
modelos gracos y que combinan la teora de la probabilidad
con la teora de grafos.
Index TermsRedes Bayesianas, inferencia, nodo.
I. Introduccion
E
L presente artculo esta enfocado a las Redes Bayesia-
nas, las cuales se encargan de organizar ciertos casos
de problemas aplicando un conjunto de variables y las re-
laciones de dependencia que existen entre ellas. En base
a este modelo es posible realizar inferencias bayesianas, lo
cual signica, que se va a realizar una estimacion de la pro-
babilidad de las variables que no se conocen, partiendo de
las que si se conocen.
La utilidad de aplicar Redes Bayesianas radica en la optima
informacion que nos brindan sobre la solucion a problemas,
sean estos: de diagnostico, clasicacion o decisi on y que se
las podra interpretar como relaciones de causa - efecto.
II. Redes Bayesianas
Una Red Bayesiana representa un modelo probabilstico
que relaciona un conjunto de variables aleatorias mediante
un grafo dirigido, son redes gracas sin ciclos en el
que se representan variables aleatorias y las relaciones
de probabilidad que existan entre ellas que permiten
conseguir soluciones a problemas de decision en casos de
incertidumbre. Ademas una red bayesiana consiste en una
representacion ilustrada de dependencias para razona-
miento probabilstico, en la cual los nodos representan
variables aleatorias y los arcos simbolizan relaciones de
dependencia probabilstica directa entre las variables [1] .
Un criterio que se ha utilizado para describir la estruc-
tura de una red bayesiana atiende al grado en que sus
elementos son visibles para el usuario (Edwards, 1998;
Edwards y Fasolo, 2001).
En este sentido una red bayesiana sera una estructura
compuesta por cuatro niveles. En el nivel superior, una
J. Males, Universidad Nacional de Loja, Loja-Ecuador, jama-
lesc@unl.edu.ec
F. Loayza, Universidad Nacional de Loja, Loja-Ecuador,
fploayzaa@unl.edu.ec
B. Lima, Universidad Nacional de Loja, Loja-Ecuador,
bvlimar@unl.edu.ec
H. Paz,Universidad Nacional de Loja, Loja-
Ecuador,hpaz@unl.edu.ec
red bayesiana sera un conjunto de variables representadas
por nodos y un conjunto de echas que relacionan estas
variables en terminos de inuencia. En un nivel inferior
estaran los niveles o estados, tambien conocidos como
espacio de estados (Nadkarni y Shenoy, 2001, 2004), que
pueden asumir cada una de las variables del modelo.
En tercer lugar, tendramos un conjunto de funciones
de probabilidad condicional, una para cada nodo, donde
se representara la probabilidad de ocurrencia de cada
estado de la variable condicionado a los posibles valores
de las variables que determinan el valor de la variable. Por
ultimo, en el nivel mas subordinado estaran un conjunto
de algoritmos que permitiran que la red re-calcule las
probabilidades asignadas a cada uno de sus niveles cuando
conocemos alguna evidencia sobre el modelo. Sin embargo,
la descripcion mas frecuente de una red bayesiana se
basa en dos elementos, una dimension cualitativa y otra
cuantitativa, se sustentan en dos grandes pilares de la
modelizacion matematica, la teora de grafos y la teora
de la probabilidad [2] .
A. Dimension Cualitativa
El soporte teorico de la dimension cualitativa en las re-
des bayesianas lo aporta la teora de grafos. La teora de
grafos trata de crear modelos gracos (grafos) que repre-
senten los elementos del problema en un sentido holista y
fue introducida por Euler para dar solucion al problema de
los puentes de Konigsberg (Harary, 1969; Ros, 1995).
Una red bayesiana es un grafo, podemos denirla como
un par G = (V, E), donde V es un conjunto nito de verti-
ces, nodos o variables y E es un subconjunto del conjunto
V x V de pares ordenados de vertices llamados enlaces o
aristas. Ademas, una red bayesiana es un tipo particular
de graco que se denomina grafo dirigido acclico. Dirigido
hace referencia a que los enlaces entre los vertices del grafo
estan orientados.
En una red bayesiana pueden existir tres tipos de cone-
xiones basicas (seriales, convergentes y divergentes), cada
una con propiedades cualitativas diferentes y que favorecen
la propagacion de probabilidades ante una nueva evidencia
sobre el modelo [2]. Desde el punto de vista del analisis de
datos, las redes bayesianas son una potente herramienta
por varios motivos [3]:
No suponen un determinado modelo subyacente.
Son facilmente interpretables.
Son adaptables y permiten la incorporacion de cono-
cimiento a priori de forma cualitativa.
2
B. Dimension Cuantitativa
Hay tres elementos esenciales que caracterizan la dimen-
sion cuantitativa de una red bayesiana: el concepto de pro-
babilidad como un grado de creencia subjetiva relativa
a la ocurrencia de un evento, el teorema de Bayes como
heurstico actualizador de creencias y un conjunto de fun-
ciones de probabilidad condicionada.
Existen, al menos, cuatro formas de entender la probabi-
lidad: la clasica, emprica, axiomatica y la subjetiva. Desde
la concepcion clasica, introducida por Laplace, la probabi-
lidad de que ocurra un evento de un espacio muestral viene
dado por la razon que se establece entre el n umero de casos
favorables asociados al suceso y el n umero de casos posibles
[2].
III. Modelos basados en Redes Bayesianas
Una red bayesiana representa una distribuci on de pro-
babilidad multivariante, de manera que las relaciones de
independencia entre las variables que la forman quedan
identicadas de forma graca mediante el concepto de d-
separacion [3].
Dos variables A y B en una red bayesiana se dice que
estan d-separadas si todos los caminos entre A y B son
como los que aparecen en la fgura 1. Se dice ademas que
C d-separa a A y B.
El concepto de d-separacion se corresponde con el de
independencia condicional, de manera que dos variables
(o conjuntos de variables) X e Y seran condicionalmente
independientes dada una tercera variable (o conjunto de
variables ) Z si y solo si Z d-separa a X e Y [3].
Figura 1
Caracterizaci on gr afica del concepto de d-separaci on [3].
IV. Inferencia Bayesiana
Dentro de los metodos de razonamiento se encuentran los
Modelos Bayesianos, que simulan diferentes condiciones de
incertidumbre cuando no se conoce si es verdadera o falsa
la hipotesis enunciada en un rango de variacion [4].
Todos los modelos bayesianos tienen en com un la asig-
nacion de la probabilidad como medida de creencia de una
hip otesis, as es que, la inferencia es un proceso de reajuste
de medidas de creencia al conocerse nuevos axiomas.
Cuando se utilizan evidencias y observaciones para esta-
blecer que una suposicion sea cierta, es lo que se denomina
como Inferencia Bayesiana. La inferencia bayesiana obser-
va la evidencia y calcula un valor estimado seg un el grado
de creencia planteado en la hipotesis. Esto implica que al
tener mayor cantidad de datos disponibles se podra obte-
ner resultados mas satisfactorios.
La ventaja fundamental del uso de la inferencia baye-
siana radica en la utilidad que se le da para la toma de
decisiones, actualmente su uso es frecuente porque se obtie-
nen resultados mas acertados en el contexto de parametros
desconocidos [5].
Aplicando la inferencia Bayesiana es posible identicar
distintos tipos de patrones de transicion como estados de
ganancias discretas en un gran conjunto de datos adminis-
trativos. Ademas, se puede investigar acerca de los efectos
y las condiciones del mercado por medio de la estimacion
de un modelo probabilstico.
El mecanismo de inferencia sobre redes bayesianas per-
mite utilizarlas para construir clasicadores. Para que esto
se debe crear una red bayesiana en la que las variables se
interrelacionen en el grafo. La clase pertenecera a la varia-
ble desconocida, objetivo de la inferencia. Proporcionada
una instancia cualquiera para la que se conozcan todos sus
atributos, la clasicacion se vericara inriendo sobre el
grafo la probabilidad posterior de cada uno de los valo-
res de la clase, y eligiendo aquel valor que maximize dicha
probabilidad.
V. Tipos de Redes Bayesianas
El problema Principal en el momento de construir una
red Bayesiana consiste en el tratamiento de variables dis-
cretas y continuas de forma simultanea en la practica, debi-
do a las restricciones del modelo condicional que conlleva al
proceso de discretizacion. Las redes bayesianas se pueden
clasicar seg un en funcion del tipo de variables utilizadas.
A. Redes Bayesianas Continuas
Las redes bayesianas continuas son aquellas que tienen
un n umero innito de posibles valores. En este tipo de re-
des resulta complicado determinar explcitamente las pro-
babilidades condicionadas para cada valor de las variables,
as que las probabilidades condicionadas se representan me-
diante una funcion de probabilidad.
La mayora de las variables reales son de caracter conti-
nuo como por ejemplo la variacion de la temperatura. Una
red Bayesiana cuyas variables sean todas continuas y estan
todas representadas mediante funciones normales lineales,
tiene una distribucion normal multivariada. Este tipo de
variables debe ser manejada mediante el proceso de dis-
cretizacion debido a la gran cantidad de datos que deben
ser modelados por medio de seleccion de rangos y de este
modo hacer mas sencillo el proceso de discretizacion [4].
B. Redes Bayesianas Dinamicas
Las redes Bayesianas dinamicas consienten en la expo-
sicion de procesos que contienen una variable aleatoria en
cada intervalo de tiempo. El proceso que se esta estudiando
puede entenderse como una serie de procesos en un instante
de tiempo.
RED BAYESIANA PARA ESTIMAR LA APROBACI

ON DEL D

ECIMO SEMESTRE DE LA CIS EN LA UNL 3


El estado de las variables se representa en un lapso de
tiempo para poder representar los procesos dinamicos co-
nocidos dentro de la red bayesiana. Las probabilidades con-
dicionales de este modelo no cambian con el tiempo. Es
decir, se repite las etapas temporales y las relaciones entre
dichas etapas.
La inferencia en una red bayesiana dinamica es la mis-
ma que para una red bayesiana, y por esto se emplean los
mismos metodos. Esta inferencia resulta mediante la re-
produccion de los intervalos de tiempo, hasta que la red
sea lo suciente larga para captar todas las observaciones
[6].
VI. Teorema de Bayes
Sean A y B dos sucesos aleatorios cuyas probabilidades
se denotan por P(A) y P(B) respectivamente, vericandose
que P(B)> 0. Conocidas las probabilidades a priori de los
sucesos A y B, es decir, P(A) y P(B), as como la proba-
bilidad de que se de B dado el suceso A, es decir P(B|A).
La probabilidad a posteriori de que se de A dado el suceso
B, es decir P(A|B)[7].
El teorema de Bayes, parte de un error:P(A|B)=P(B|A)
P(AB)=P(BA) A continuacion presentamos la estruc-
Figura 2
F ormula de Bayes
tura basica de una Red Bayesiana:
Figura 3
Red Bayesiana b asica
Donde: X, U1, U2, U3, Un representan cada una
de las variables pertenecientes a la Red Bayesiana, y
especcamente X representa al nodo padre y U1, U2,
U3, Un los nodos hijos.
VII. Usos de las Redes Bayesianas
La utilizacion de las redes bayesianas ha sido muy di-
fundida en diferentes campos como en la manipulacion de
sistemas expertos en la medicina, en la depuracion de pro-
gramas de inteligencia articial, en la genetica, en proce-
sos de produccion; todos estos enfocados a la solucion de
problemas y en la identicacion de probabilidades que dis-
minuyan riesgo, como es el uso primordial que se le da en
la rama nanciera.
El uso de las redes bayesiana en el estudio y tratamiento
de datos, consiste basicamente con mejorar el esquema de
prevencion de riesgo operacional; tal que sirva como siste-
ma de ayuda a la toma de decisiones en una situacion de
emergencia y realizar mejoras en las estrategias de opera-
cionales.
Las redes bayesianas como herramienta de gestion de
riesgo son de suma importancia para el gremio nanciero
debido a sus grandes aportes en la denicion de condicio-
nes probabilsticas de inferencia, con un amplio manejo de
variables[4].
VIII. Ejemplo Practico
Luego de haber realizado un analisis de los conceptos
basicos sobre las Redes Bayesianas y el Teorema de Ba-
yes, vamos a centrarnos en el ejemplo practico, el cual
consiste en desarrollar una Red Bayesiana para conocer
la probabilidad que tiene un estudiante en aprobar el deci-
mo semestre, en la carrera de Ingeniera en Sistemas del

Area de la Energa, las Industrias y los Recursos Naturales


no Renovables de la Universidad Nacional de Loja. Para
el desarrollo de la Red Bayesiana utilizamos la aplicacion
Elvira, lo cual es el resultado de un proyecto de investi-
gacion nanciado por la CICYT (Centro de Investigacion
Cientca y Tecnologica) en conjunto con el Ministerio de
Ciencia y Tecnologa, en el que participaron investigado-
res de varias universidades espa nolas y de otros centros.
Elvira esta escrito y compilado en en el Lenguaje de Pro-
gramacion Java, lo cual lo hace multiplataforma, es decir,
permite su ejecucion en varios Sistemas Operativos como
MS-DOS/Windows, Linux, Solaris. Como requisito, para
que el programa Elvira pueda ejecutarse es necesario tener
preinstalado Java.
Figura 4
Ventana principal de Elvira
4
Bueno, luego de que hayamos conocido de manera ligera
sobre el software que nos permitira dise nar Redes Bayesia-
nas vamos a mostrar como quedo nuestra red:
Figura 5
Red Bayesiana del ejemplo
Las consideraciones a tener para el desarrollo de nuestra
Red Bayesiana fueron cada una de las seis materias: Siste-
mas Expertos, Simulacion, Anteproyectos, Control Auto-
matizado, Inteligencia Articial,

Etica Profesional, y para
cada una de ellas estimamos estadsticamente los prome-
dios de las lecciones, los talleres, los deberes y sobre todo
las evaluaciones. Cabe recalcar que para obtener mejores
resultados es necesario considerar muchos factores, para lo
cual tambien tuvimos en cuenta las asistencias, que cons-
tituyen un factor muy importante en el proceso de acredi-
tacion.
Examenes Lecciones Talleres Deberes Asistencias
70% 10% 10% 10% 80%
Tabla 1. Tabla de valores a considerar para construir la
Red Bayesiana.
Por ejemplo la conguracion que se realizo en el nodo
prom evaluaciones 1 fue la siguiente:
Figura 6
Configuraci on de valores en el nodo prom evaluaciones 1
Los valores iniciales del nodo semiestado son una com-
binacion de los posibles valores de los nodos anteriores:
Figura 7
Valores iniciales del nodo semiestado
Los valores iniciales del nodo estado nal son una
combinacion de los posibles valores de los nodos anteriores,
incluido el estado semiestado:
Figura 8
Valores iniciales del nodo estado nal
En la Figura 9 podemos apreciar como quedo la Red Ba-
yesiana, luego de aplicar las consideraciones establecidas en
los 33 nodos y asumiendo los valores objetivos correspon-
dientes a cada una de las variables:
RED BAYESIANA PARA ESTIMAR LA APROBACI

ON DEL D

ECIMO SEMESTRE DE LA CIS EN LA UNL 5


Figura 9
Red Bayesiana aplicando inferencia
Como es evidente luego de aplicar la inferencia a nues-
tra Red Bayesiana podemos observar que en cada nodo, las
variables nos muestran valores estadsticos de los cuales de-
pendera la salida, o mejor dicho la probabilidad de que un
estudiante de la Carrera de Ingeniera en Sistemas aprue-
be el modulo. Si deseamos obtener una explicaci on en cada
nodo, unicamente hacemos click derecho y seleccionamos
la opcion Explicar nodo y obtendremos una explicacion
sobre la razon de probabilidad:
Figura 10
Explicaci on de un nodo de la Red Bayesiana
Pero tal y como nos muestra la informacion nuestra Red
Bayesiana no es de gran utilidad y para lo cual es necesario
utilizar el archivo que contiene nuestra red e integrarlo en
un proyecto hecho en el Lenguaje de Programacion Java
y poder tener un mejor entendimiento sobre el problema
que estamos tratando de solucionar mediante la aplicacion
de Redes Bayesianas.
Para el desarrollo de nuestro programa utilizamos el
Entorno de Desarrollo (IDE) Netbeans y para facilitar-
nos la utilizacion de la amplia gama de metodos que
nos proporciona Elvira y hacerlo de una manera mas
sencilla utilizamos el software OpenMarkov (.jar), que es
similar a Elvira, practicamente hace lo mismo. Entonces
una vez que hayamos creado nuestro proyecto en Java
utilizando Netbeans, lo que debemos hacer es a nadir la li-
brera OpenMarkov.jar y hacer uso de los metodos que nos
proporciona el mismo y que mas adelante seran detallados.
Para vericar que el software OpenMarkov hace lo mis-
mo que Elvira, abrimos OpenMarkov y buscamos el archivo
.elv hecho en Elvira y nos aparecera lo siguiente:
Figura 11
Red Bayesiana en OpenMarkov
Como podemos ver en la Figura 11 se muestra una
Red Bayesiana con el software OpenMarkov igual a la de
la Figura 5 con el software Elvira y deducimos que los
dos softwares nos permiten hacer lo mismo, lo unico que
cambian son sus metodos, y para hacerlo mas corto y
sencillo de programar y obtener los resultados deseados es
recomendable utilizar OpenMarkov.
Ahora debemos guardar este archivo con el formato de
OpenMarkov (.pgmx). Es recomendable almacenar este ar-
chivo en el directorio donde se halla nuestro proyecto hecho
en Java para luego en el codigo fuente indicar la ruta de
este archivo, tal y como se muestra en la siguiente gura:
Figura 12
C odigo fuente donde se muestra la ruta del archivo
exameprobar2.pgmx
En la Figura 13 podemos ver la ejecucion de nuestro pro-
grama, pero ya utilizando una Interfaz Graca de Usuario
(GUI):
6
Figura 13
Ejecuci on del programa
Finalmente vamos a detallar algunos de los metodos
que se utilizaron para el desarrollo del presente programa
mediante la utilizacion de Redes Bayesianas en la solucion
del problema de estimar la probabilidad que tiene un
estudiante de la carrera de Ingeniera en Sistemas de la
UNL en aprobar el decimo modulo.
Los metodos pertenecen a la librera
org.openmarkov.core.model.network:
public boolean isParent(ProbNode node)
Verdadero si el nodo es el padre de este nodo.
getApproximateMaximumUtilityFunction Se
aproxima al maximo de la funcion de utilidad de la
ProbNode. Se calcula de forma recursiva mediante el
uso de la funcion de utilidad de los nodos primarios.
Para un calculo exacto del maximo de la funcion de
utilidad entonces se requiere para utilizar el metodo
getUtilityFunction y calcula el maximo sobre el
potencial resultante.
getApproximateMinimumUtilityFunction Se
aproxima al mnimo de la funcion de utilidad de la
ProbNode. Se calcula de forma recursiva mediante el
uso de la funcion de utilidad de los nodos primarios.
Para un calculo exacto del maximo de la funcion de
utilidad entonces se requiere para utilizar el metodo
getUtilityFunction y calcula el maximo sobre el
potencial resultante.
getUtilityFunction La funcion de utilidad de una
variable de utilidad. Si se trata de un nodo de
super-valor, entonces opera las funciones de utilidad
de sus padres de forma recursiva.
isSuperValueNode Verdadero si la variable es un
nodo de valor s uper. Falso si no lo hace.
public List<ProbNode> getUtilityParents()
Una lista con los padres de utilidad.
public boolean checkOnlyUtilityparents()
Cierto si un nodo tiene solo los padres de utilidad.
public boolean removePotential(Potential
potential) Cierto si el potencial de lista contiene el
elemento especicado; false en caso contrario.
public List<Potential> getPotentials(Variable
variable) Potenciales asociados a este ProbNode que
contiene la variable recibida. ArrayList de potente.
public Map<String,String> additionalProper-
ties Este objeto contiene toda la informacion que el
analizador lee desde el disco que no tiene una cone-
xion directa con los atributos almacenados en el objeto
ProbNode.
IX. Conclusiones
Luego de haber realizado la Red Bayesiana utilizando el
Lenguaje de Programacion Java, mediante la utilizacion
de las libreras (.jar) Elvira y OpenMarkov llegamos a las
siguientes conclusiones:
Luego de entender la teora de las redes bayesianas
es importante su utilizacion de para la clasicacion o
decisiones, los cuales se conoce la causa y el efecto.
Es muy importante tener en cuenta que cuando
desarrollamos una Red Bayesiana y estimamos los
valores que creemos convenientes aplicarlos en cada
uno de los nodos, sean estos padres o hijos, debemos
tener la cantidad maxima de datos para obtener
mejores resultados.
Las Redes Bayesianas son de gran importancia para
determinar las probabilidades con mayor certeza,
as mismo OpenMarkov es una librera de gran ayuda
que nos permite realizar la comunicacion con java
para realizar la manipulacion de los datos obtenidos
del archivo creado por la libreria OpenMarkov.
Para poder obtener el codigo fuente y la documentacion
favor de dirigirse al siguiente enlace: https : / / github .
com / byrvin17 / redes _ bayesianas . git
Referencias
[1] Daniel Rodrguez, Javier Dolado Redes Bayesianas en la Inge-
niera de Software,Universidad de Alcala,Universidad del Pas
Basco, Disponible en: http : / / www . cc . uah . es / drg / b /
RodriguezDolado . BBN . 2007 . pdf
[2] Lopez Puga, Jorge Las redes bayesianas como herramientas de
modelado en psicologa (Espa na), 2007, Disponible en: http :
/ / digitum . um . es / xmlui / handle / 10201 / 8128
[3] Cespedes, Antonio J, Analisis del sector agrario del poniente
almeriense mediante redes bayesianas(Espa na), 2003 Disponible
en: http : //repositorio.ual.es : 8080/jspui/handle/10835/
1541 # .U454C _ l5O3s
[4] Rivera L, Miller, El papel de las redes bayesianas en la
toma de decisiones. (Colombia),2011, Disponible en: http :
RED BAYESIANA PARA ESTIMAR LA APROBACI

ON DEL D

ECIMO SEMESTRE DE LA CIS EN LA UNL 7


/ / www . urosario . edu . co / Administracion / documentos /
investigacion / laboratorio / miller _ 2 _ 3 . pdf
[5] Zellner, A, Introduccion a la inferencia bayesiana en Econometra,
1987
[6] Chow, C. and Liu, C Approximating discrete probability distribu-
tions with dependence trees, 1968, IEEE Trans, on Info, Theory,
[7] Lic. Enrique Jose Fernandez An alisis de Clasicadores Baye-
sianos, Disponible en: http : / / www2 . itba . edu . ar / nuevo /
archivos/secciones/fernadez-trabajofinaldeespecialidad.
pdf
[8] Jorge Valverde Rebaza, pedro Shiguihara Juarez Red Baye-
siana con Inferencia por Eliminaci on de Variables, Universidad
Nacional de Trujillo, Disponible en: http : //joshi.ueuo.com/
laboratorio . php ? &idart = 29
Jorge Anibal Males Chalan
Nacio en Quito el 25 de febrero de 1991. Sus
estudios primarios los realizo en la escuela
Jose Toro y Guzman de la provincia de Lo-
ja, canton Saraguro y sus estudios secundarios
los cumplio en el Instituto Tecnologico Superior
C elina Vivar Espinosadel mismo canton.
Actualmente se encuentra cursando el decimo
semestre de la carrera de ingeniera en Sistemas
de la Universidad Nacional de Loja.
Ha participado en proyectos de modulo, refe-
rentes a BPMs, Aplicaciones con Java, Matlab.
Byron Lima
Actualmente se encuentra cursando el decimo
semestre de la carrera de ingeniera en Sistemas
de la Universidad Nacional de Loja.
Ha realizado proyectos de desarrollo de softwa-
re, relacionados con los lenguajes de programa-
cion Java, Python, Matlab, Aplicaciones para
dispositivos moviles. Ademas es conocer de Re-
des de computadoras y Analista de Sistemas.
Freddy Loayza
Actualmente se encuentra cursando el decimo
semestre de la carrera de ingeniera en Sistemas
de la Universidad Nacional de Loja.
Ha realizado proyectos de desarrollo de software,
relacionados con los lenguajes de programacion
Java, Matlab, Actualmente se encuentra desa-
rrollando un proyecto para dispositivos moviles.

You might also like