Modelos de uso y ecomendación social en
en o nos de enseñanza
Ja ie Alonso Ga alón
DIRIGIDO POR: Ped o Pablo Gómez Ma ín
T abajo de Fin de G ado
del g ado en Ingenie ía de So wa e
FACULTAD DE INFORMÁTICA
UNIVERSIDAD COMPLUTENSE DE MADRID
CURSO ACADÉMICO 2015/2016
1
2
3
MODELOS DE USO Y RECOMENDACIÓN
SOCIAL EN ENTORNOS DE ENSEÑANZA
Resumen
El in de es e abajo es el es udio y elabo ación de un sis ema de ecomendación
basado en el compo amien o de usua ios, conc e amen e pa a la página web Acep a
el e o, capaz de adap a se a las capacidades de cada usua io. Es o comp ende la
c eación de un algo i mo pa a la ecomendación de p oblemas y su implan ación en un
se icio web.
En el iempo de desa ollo se ha es udiado la ed o mada po las elaciones en e
usua ios, en base a sus p oblemas con e edic o co ec o. Es e abajo ha se ido
pa a de ini las bases del algo i mo de ecomendación plan eado.
Pa a el despliegue del algo i mo ha sido c eado ambién un se icio web, usando
ecnologías ac uales, pa a demos a su uncionalidad y posible expo ación a la
página web Acep a el e o.
Palab as cla e
Algo i mo, ecomendación, ed social, se icio web y e edic o.
4
USAGE MODELS AND SOCIAL
RECOMMENDATION IN LEARNING
ENVIROMENTS
Abs ac
The pu pose o his wo k is he s udy and deploymen o a ecommenda ion sys em
based in use ´s beha io , speci ically o Acep a el e o web page, able o adap o he
capabili ies o each use . This comp ises he c ea ion o an algo i hm o p oblem
ecommenda ion and he implemen a ion in a web se ice.
In de elopmen ime i was s udied he ela ionship use ´s ne wo k, based on his
p oblems wi h co ec e edic . This wo k has se ed o de ine he p oposed
ecommenda ion algo i hm basis
Fo algo i hm deploymen has been also c ea ed a web se ice, using cu en
echnologies, o demons a e hei unc ionali y and possible expo o Acep a el e o
web page.
Key wo ds
Algo i hm, ecommenda ion, social ne wo k, web se ice y e edic .
5
ÍNDICE DE CONTENIDO
1 In oducción ......................................................................................................... 11
1.1 Mo i ación .................................................................................................... 11
1.2 Obje i os ...................................................................................................... 11
1.3 O ganización del abajo ............................................................................... 12
1.4 Tecnologías usadas ...................................................................................... 13
1.5 O ganización de la Memo ia ......................................................................... 13
2 Es ado del a e .................................................................................................... 14
2.1 Jueces online ................................................................................................ 14
2.1.1 Juez online de la Uni e sidad de Valladolid ........................................... 14
2.1.2 Sphe e Online Judge ............................................................................. 16
2.1.3 U i Online Judge .................................................................................... 16
2.1.4 Ju ge.o g ............................................................................................... 17
2.2 Sis emas de ecomendación ......................................................................... 17
2.3 Análisis de edes sociales ............................................................................. 20
2.3.1 Gephi ..................................................................................................... 21
2.4 Se icio Web ................................................................................................ 21
2.4.1 Ja a Se le ........................................................................................... 22
2.4.2 REST ..................................................................................................... 22
3 Pun o de pa ida: Acep a el e o ........................................................................... 23
3.1 Página web ................................................................................................... 24
3.2 Base de da os de Acep a el e o ................................................................... 27
4 Sis ema de ecomendación de p oblemas ........................................................... 31
4.1 Algo i mo de ecomendación ........................................................................ 31
4.2 Red social de Acep a el e o ......................................................................... 32
4.3 C eación de la ed ........................................................................................ 35
4.3.1 Fo ma o de los iche os a impo a ........................................................ 35
4.3.2 Aplicación pa a c ea los iche os .......................................................... 36
6
4.4 Análisis de la ed .......................................................................................... 36
4.4.1 Impo ación a Gephi .............................................................................. 37
4.4.2 Rep esen ación de la ed ....................................................................... 37
4.4.3 Medidas ob enidas de la ed .................................................................. 40
4.4.4 Aco ación de las a is as de la ed .......................................................... 46
4.4.5 E olución de la ed a a és del iempo ................................................. 49
4.4.6 Conclusiones ob enidas del análisis de la ed........................................ 51
4.5 C eación del algo i mo .................................................................................. 51
4.6 Elabo ación del Se icio Web ....................................................................... 54
5 Validación y p uebas ........................................................................................... 59
6 Conclusiones y líneas u u as .............................................................................. 62
T aducciones .............................................................................................................. 63
7 In oduc ion .......................................................................................................... 63
7.1 Mo i a ion ..................................................................................................... 63
7.2 Goals ............................................................................................................ 63
7.3 Wo k plan ..................................................................................................... 64
7.4 Used echnologies ........................................................................................ 64
7.5 Documen s uc u e ...................................................................................... 65
8 Conclussions and u u e lines .............................................................................. 66
9 Re e encias ......................................................................................................... 67
Anexo A: Manual de “AppAuxilia Gephi” ............................................................... 68
A.1 Diag ama de clases de la aplicación ......................................................... 68
A.2 Ejecución de la aplicación ......................................................................... 69
A.3 Conexión con la BD .................................................................................. 69
A.4 C ea a chi o de odos los nodos .............................................................. 70
A.5 C ea a chi o de odas las a is as ............................................................. 70
A.6 C ea a chi o de a is as has a po cen aje de imeline ............................... 70
A.7 C ea in o me de p uebas del algo i mo .................................................... 70
A.8 Finaliza la ejecución ................................................................................. 71
7
Anexo B: In o mes de p uebas del algo i mo ......................................................... 72
B.1 Tasa de ecomendación en el 60% del imeline ........................................ 72
B.2 Tasa de ecomendación en el 80% del imeline ........................................ 74
8
TABLA DE ILUSTRACIONES
Figu a 2.1: juez online www.u a.onlinejudge.o g ........................................................ 14
Figu a 2.2: juez online www.uhun . elix-halim.ne ....................................................... 15
Figu a 2.3: juez online www.spoj.com ......................................................................... 16
Figu a 2.4: juez online www.u ionlinejudge.com.b ..................................................... 16
Figu a 2.5: juez online www.ju ge.o g ......................................................................... 17
Figu a 3.1: Página p incipal de Acep a el e o. ............................................................ 24
Figu a 3.2: Ejemplo de enunciado de p oblema de Acep a el e o. ............................. 25
Figu a 3.3: Sección de p oblemas clasi icados po ca ego ías de Acep a el e o. ....... 26
Figu a 3.4: Lis a de los úl imos en íos ecibidos de Acep a el e o. ............................ 26
Figu a 3.5: Sección de p egun as ecuen es en documen ación de Acep a el e o .... 27
Figu a 3.6: Esquema del ex ac o usado de la base de da os de Acep a el e o. ........ 28
Figu a 4.1: Opciones omadas pa a la isualización de la ed social de Acep a el e o
en Gephi. .................................................................................................................... 37
Figu a 4.2: Rep esen ación inicial de la ed social de Acep a el e o en Gephi. .......... 38
Figu a 4.3: Rep esen ación de la ed social de Acep a el e o en Gephi. .................... 39
Figu a 4.4: Lis a de medidas ob enidas de la ed social de Acep a el e o. ................. 40
Figu a 4.5: G á ica de la dis ibución de los g ados en la ed social de Acep a el e o. 40
Figu a 4.6: G á ica de la dis ibución de los g ados de en ada en la ed social de
Acep a el e o.............................................................................................................. 41
Figu a 4.7: G á ica de la dis ibución de los g ados de salida en la ed social de Acep a
el e o. ........................................................................................................................ 42
Figu a 4.8: Dis ibución de los g ados con pesos en la ed social de Acep a el e o. .. 43
Figu a 4.9: Dis ibución de los g ados de en ada con pesos en la ed social de Acep a
el e o. ........................................................................................................................ 43
Figu a 4.10: Dis ibución de los g ados de salida con pesos en la ed social de Acep a
el e o. ........................................................................................................................ 44
15
Dicha página iene un enlace a “uHun ”, alojado en www.uhun . elix-halim.ne /, que
p opo ciona un comple o sis ema de es adís icas ecopiladas a pa i de odos los
en íos ealizados al juez online de la UVa (Uni e sidad de Valladolid), además de
es adís icas de usua io ( igu a 2.2). Incluye a ias secciones de in e és, como las
elacionadas con compe iciones de esolución de p oblemas, aunque la más
impo an e pa a es e abajo es la de ecomendación de p oblemas. El sis ema de
ecomendación de p oblemas, basa su uncionamien o en lis a los p oblemas no
esuel os po el usua io que hace la consul a, o denados po el núme o de usua ios
que sí los han esuel o. Es un sis ema mínimamen e adap ado al usua io y no álido
pa a es e abajo, ya que no ecomienda p oblemas adap ados en las capacidades de
cada usua io ni en base a su compo amien o.
Figu a 2.2: juez online www.uhun . elix-halim.ne
16
2.1.2 Sphe e Online Judge
Juez online cuya u a es www.spoj.com, es o o juez online ( igu a 2.3) en e cuyas
ca ac e ís icas se ha encon ado un indicado de di icul ad pa a cada p oblema,
aunque no un ecomendado de p oblemas en sí mismo.
Figu a 2.3: juez online www.spoj.com
2.1.3 U i Online Judge
Juez online disponible en www.u ionlinejudge.com.b , de apa iencia di e en e a los
an e io es ( igu a 2.4), con unciones pa a su uso an o en en o nos académicos como
pu amen e ec ea i os. Tampoco incluye una sección dedicada a ecomenda
p oblemas a los usua ios.
Figu a 2.4: juez online www.u ionlinejudge.com.b
17
2.1.4 Ju ge.o g
Página en ocada al ap endizaje de la p og amación median e la esolución de
p oblemas, con exámenes incluidos y con la exis encia de ins uc o es pa a acili a el
ap endizaje, además de un juez online pa a la cali icación de los p oblemas. Incluye
cu sos y iene una uncionalidad cla amen e académica, además de los oles de
alumno e ins uc o pa a los usua ios es una opción no edosa espec o a o os jueces,
pe o no incluye un se icio de ecomendación de p oblemas pa a los usua ios.
Figu a 2.5: juez online www.ju ge.o g
2.2 Sis emas de ecomendación
El in úl imo de es e abajo es la elabo ación de un sis ema de ecomendación pa a
Acep a el e o y ya que no se ha podido encon a ninguno que se adap e a las
capacidades de los usua ios, se á necesa io mon a lo desde el inicio.
Los sis emas de ecomendación o man pa e de un sis ema de il ado de in o mación,
los cuales p esen an dis in os ipos de emas o í ems de in o mación (películas,
música, lib os, no icias, imágenes, páginas web, e c.) que son del in e és de un
usua io en pa icula (Es.wikipedia.o g, 2016 a).
18
El sis ema de ecomendación exis e den o de un en o no o mado po usua ios y
elemen os con los que in e ac úan esos usua ios. Es os elemen os pueden ene una
pun uación pa a el usua io, dada al in e ac ua con ellos y que puede se pues a de
o ma explíci a o implíci a (calculada po sis ema).
La unción de los sis emas de ecomendación se basa en ecopila da os de los
usua ios y usa los pa a p edeci las pun uaciones de elemen os sob e los que no ha
ac uado el usua io, con eccionando un anking con es as pun uaciones p edichas.
Adap ándolo al con ex o de un juez online, el sis ema a a ía de adi ina las
pun uaciones subje i as que da ía un usua io a los p oblemas que no ha hecho.
La p edicción que hace el sis ema puede se ealizada a pa i de da os ecopilados de
los usua ios de o ma explíci a o implíci a.
• De o ma explíci a, el sis ema solici a al usua io su opinión o se le pide hace
una ponde ación ace ca de un ema, que no sea exac amen e sob e el que se
a a hace la p edicción.
• De o ma implíci a, el sis ema consul a es adís icas o da os de las ac i idades
que ha ealizado el usua io.
La más in e esan e, en elación con es e p oyec o, es la o ma implíci a de
ecomenda , usando da os de los usua ios que si an como indicado de su
compo amien o pe o sin pedí selos de o ma di ec a.
O a clasi icación den o de los sis emas de ecomendación, es en elación al ipo de
da os usados pa a ealiza la ecomendación, ya que se aplica un il o sob e odos los
elemen os que maneja la aplicación pa a selecciona los que si en pa a una
ecomendación. Hay cua o ipos de il ado ( igu a 2.6), es di e en es y uno
combinado:
• Fil ado basado en con enido: la ecomendación se basa en el conocimien o de
los elemen os que ha pun uado el usua io ya, ecomendando o os simila es a
los mejo pun uados.
• Fil ado demog á ico: es e ipo hace ecomendaciones en unción de las
ca ac e ís icas de los usua ios como edad, sexo, si uación geog á ica, e c.
• Fil ado colabo a i o: consis e en busca usua ios simila es al que pide la
ecomendación y de los usua ios elacionados, ex ae los elemen os mejo
pun uados que no haya pun uado el usua io consul o .
19
• Fil ado Hib ido: combinación de los es il os an e io es, pudiendo añadi se
alguna o a écnica.
Figu a 2.6: Diag ama de los di e en es il os pa a sis emas de ecomendación.
(Ja oba, 2013 a)
De los di e en es ipos de sis emas de ecomendación, es e abajo p e ende usa uno
basado en el il ado colabo a i o, debido a que en la misma de inición de es e abajo
ya se indica que se usa á un modelo de ecomendación social, además de que como
se obse a á en el capí ulo 3 (Pun o de pa ida: Acep a el e o) y se explica á en el 4
(Sis ema de ecomendación de p oblemas), los da os p opo cionados hacen que sea
es e el ipo de sis ema de ecomendación más ap opiado.
Den o del sis ema de ecomendación colabo a i o, exis e una clasi icación más:
• Mé odos basados en memo ia: emplean mé icas de simila idad pa a
de e mina el pa ecido en e una pa eja de usua ios. Pa a ello calculan los
elemen os que han sido pun uados po ambos usua ios y compa an dichos
o os pa a calcula la simila idad.
• Mé odos basados en modelos: u ilizan la ma iz de pun uaciones pa a c ea un
modelo a a és del cual es ablece el conjun o de usua ios simila es al usua io
ac i o.
(Ja oba, 2013 b).
El mé odo usado pa a es e abajo se á basado en memo ia. Den o de es e,
menciona que exis e un algo i mo llamado écnica de los K- ecinos, ligada a los
mé odos basados en memo ia, que basa los elemen os ecomendados a un usua io en
20
los que más les han gus ado a o os usua ios con gus os simila es, ecinos del p ime
usua io mencionado.
2.3 Análisis de edes sociales
Pa a pode elabo a es e abajo, se á necesa io conoce las elaciones de usua ios y
p oblemas den o de Acep a el e o, ya que como se ha mencionado en la sección
an e io , es e abajo se basa á en un sis ema de ecomendación colabo a i o.
El análisis de edes sociales a a del es udio de las edes de cualquie ipo de
emá ica, an o social, como de anspo es, de in o mación o In e ne . Su es udio se
ealiza median e la eo ía de g a os y al igual que es os se componen de nodos unidos
en e sí po a is as. En el caso de las edes sociales, es as ienen ca ac e ís icas ales
como que los nodos son pe sonas, g upos o cualquie en idad capaz de p ocesa
in o mación y las a is as son las elaciones en e es as en idades.
En es as edes se es udian ca ac e ís icas como su consis encia y solidez como ed,
así como las comunidades o madas po los nodos, los cuales ep esen an indi iduos
o en idades como an e io men e se ha explicado, in en ando localiza los g upos
(cuyos elemen os pueden compa i cie as ca ac e ís icas) y los hubs o
concen ado es (como elemen os con una impo ancia mayo a la media). De es as
medidas se in en an ex ae conclusiones ex apolando las mé icas omadas a la
ealidad.
Las más in e esan es pa a el p esen e abajo son:
• Núme o de nodos y a is as: pa a conoce el amaño de la ed que se analiza.
• G ado medio: la media de cuan as a is as es án conec adas a cada nodo.
• G ado medio con pesos: igual que el an e io pe o eniendo en cuen a el peso
de las a is as en el cálculo.
• Densidad del g a o: medida de la elación en e nodos omada en el ango de 0
a 1.
• HITS: pe mi e alo a y clasi ica la impo ancia de las a is as. Mues a la
exis encia de hubs o concen ado es: nodos que concen an elaciones de
o ma masi a.
• PageRank: medida c eada po Google pa a asigna ele ancia a las páginas
web (midiendo su impo ancia den o de la ed de In e ne ). De u ilidad simila a
HITS.
21
2.3.1 Gephi
Gephi es una aplicación de código abie o esc i a en Ja a, des inada a la isualización
y análisis de odo ipo de edes y sis emas complejos con g á icos dinámicos y
je á quicos. Fue c eado po es udian es de la Uni e sidad de Tecnología de
Compiègne (F ancia) y ac ualmen e con inúa en desa ollo, siendo la úl ima e sión la
0.9. Po su po encia ha sido usado an o pa a ines académicos como pe iodís icos,
además de pa a cualquie o o ámbi o que equie a del análisis de g a os y la
ep esen ación isual de edes de cualquie ipo (Wikipedia.o g, 2016).
La he amien a pe mi e an o la c eación de g a os de o ma o almen e manual
(añadiendo nodos y a is as), como la impo ación de da os en cie os o ma os pa a
que pueda c ea los elemen os de la ed. A pa i de dicha ed se pueden oma
mé icas pa a su análisis, incluyendo las necesa ias pa a usa en es e abajo.
Además de pode ecopila es adís icas de la ed iene a iadas uncionalidades, como
añadi un imeline a un g á ico, añadiendo a ibu os de iempo a los nodos del g a o y
así pode e su e olución a a és del iempo. Se incluye ambién una ex ensa
uncionalidad en el ámbi o de la isualización de la ed, o eciendo un g an núme o de
opciones di e en es pa a clasi ica los elemen os de la ed, an o en colo como en
amaño, complemen ado po un il o al amen e con igu able. Además exis en
algo i mos pa a la o denación de la ed, al e ando su ep esen ación y acili ando el
análisis isual de és a, ademas de da la posibilidad de con igu a pa áme os de
dichos algo i mos según se busque des aca unos u o os aspec os de la ed.
2.4 Se icio Web
Un se icio web (en inglés, Web Se ice o Web se ices) es una ecnología que u iliza
un conjun o de p o ocolos y es ánda es que si en pa a in e cambia da os en e
aplicaciones (Es.wikipedia.o g, 2016 b).
Los se icios web pe mi en que aplicaciones desa olladas en di e en es lenguajes de
p og amación puedan comunica se en e sí, usando el canal de In e ne . Es o es
conseguido g acias a o ganismos que es ablecen es ánda es, que deben usa es as
aplicaciones pa a comunica se en e sí, siendo es o la causa de su éxi o ac ual y de su
cada ez mayo implan ación y uso po pa e de los usua ios.
O a en aja de los se icios web es la posibilidad de o ece uncionalidades de o ma
ápida a los usua ios, sin muchas más condiciones que el acceso a In e ne . Log ando
po es a una adopción mayo , en de imen o de las aplicaciones esiden es en el
o denado de cada usua io. Además de que las aplicaciones que usan de se icios
22
web ienen una mayo di usión, debido a cada ez mayo acceso a In e ne po pa e
de la población.
Los es ánda es ac ualmen e más empleados son:
• XML (Ex ensible Ma kup Language): Fo ma o es ánda pa a el in e cambio de
da os (en e o os usos), los cuales son almacenados de o ma comp ensible.
• JSON (Ja aSc ip Objec No a ion): Fo ma o pa a el anspo e de da os usado
como al e na i a a XML.
• HTTP (Hype ex T ans e P o ocol): P o ocolo usado pa a la comunicación en
las edes.
• SOAP (Simple Objec Access P o ocol): P o ocolo que hace posible el
es ablecimien o de un in e cambio de da os basado en XML.
• FTP (File T ans e P o ocol): P o ocolo usado pa a el in e cambio de a chi os a
a és de una ed TCP (T ansmission Con ol P o ocol) sencillo y ápido pe o
de escasa segu idad.
• WSDL (Web Se ices Desc ip ion Language): Es el lenguaje de la in e az
pública pa a los se icios Web. Es una desc ipción basada en XML de los
equisi os uncionales necesa ios pa a es ablece una comunicación con los
se icios Web (Es.wikipedia.o g, 2016 b).
• REST (Rep esen a ional S a e T ans e ): a qui ec u a que, haciendo uso del
p o ocolo HTTP, p opo ciona una API (In e az de P og amación de
Aplicaciones o Applica ion P og amming In e ace) que u iliza cada uno de sus
mé odos (GET, POST, PUT, DELETE, e c.) pa a pode ealiza di e en es
ope aciones en e la aplicación que o ece el se icio web y el clien e.
2.4.1 Ja a Se le
El se le es una clase en el lenguaje de p og amación Ja a, u ilizada pa a amplia las
capacidades de un se ido (Es.wikipedia.o g, 2016 c).
Es os se le solo pueden se usados en los se ido es que sopo en su API, siendo el
uso de es a independien e de la pla a o ma usada, siguiendo la misma iloso ía que
Ja a. Son capaces de gene a páginas web dinámicas según las pe iciones que
eciban, usando las en ajas y posibilidades que o ece Ja a como lenguaje de
p og amación.
2.4.2 REST
REST (Rep esen a ional S a e T ans e ), es un es ilo de a qui ec u a de so wa e
di igido a sis emas hipe media dis ibuidos como lo es la WWW, Wo ld Wide Web o
23
ed in o má ica mundial (Es.wikipedia.o g, 2016 d). Es un conjun o de p incipios pa a
la a qui ec u a de se icios web. Aunque ac ualmen e el é mino ambién es usado
pa a nomb a a una in e az que use HTTP pa a la comunicación, sin ene capas
adicionales como SOAP.
Es os sis emas basados en REST, denominados REST ul, ienen que cumpli sus
p incipios de a qui ec u a
• Mensajes clien e-se ido sin es ado: clien e y se ido es án cla amen e
sepa ados y los mensajes que se en ían mu uamen e, encapsulan oda la
in o mación necesa ia pa a que se en iendan mu uamen e. Es o e i a gua da
el es ado de la comunicación en elemen os como caché o cookies. Además de
que aumen a la independencia en e clien e y se ido , que no ienen que
almacena in o mación in e media.
• Ope aciones pa a el manejo de da os: deben es a implemen adas las
ope aciones CRUD (C ea e, Read, Upda e, Dele e), aunque en el caso de
HTTP ya las iene de inidas.
•
In e az Uni e sal: los ecu sos son iden i icados de o ma única, a a és de su
URI (uni o m esou ce iden i ie ).
24
3 Pun o de pa ida: Acep a el e o
A con inuación se ha á una p esen ación de la página pa a la cual se ha á el sis ema
de ecomendación. Es e juez online da la posibilidad de p ac ica con g an a iedad de
p oblemas y almacena da os de los en íos ealizados po los usua ios desde su
despliegue, que pueden se usados en pos e io es análisis.
3.1 Página web
La página web Acep a el e o exis e en la di ección www.acep ael e o.com y ue
c eada como inicia i a de a ios p o eso es de la Facul ad de In o má ica de la
Uni e sidad Complu ense de Mad id y pues a en ma cha en eb e o del 2014, con la
in ención de se i como apoyo a es udian es de p og amación de cualquie ins i ución.
Figu a 3.1: Página p incipal de Acep a el e o.
La página ( igu a 3.1) p opo ciona una se ie de p oblemas de p og amación de dis in a
emá ica, p opone su esolución usando di e en es lenguajes e incluye un juez pa a
de e mina la alidez de dichas esoluciones.
31
4 Sis ema de ecomendación de p oblemas
En es e capí ulo se explica á el p oceso usado pa a c ea el sis ema de
ecomendación de p oblemas. Se ha á una ap oximación a lo que se á la base de es e
sis ema, explicando cómo a pa i de las elaciones en e usua ios se pod án hace
ecomendaciones. Después se ha á en es udio de la ed social c eada a pa i de las
elaciones en e usua ios, con la idea de de ini c i e ios a la ho a de ecomenda . Po
úl imo se explica án los pasos seguidos pa a la c eación del núcleo del sis ema de
ecomendación y pos e io men e la c eación del se icio web que lo albe ga á.
4.1 Algo i mo de ecomendación
El núcleo del sis ema debe á se un algo i mo, que a pa i de la in o mación de la
base de da os, pueda ecomenda p oblemas a los usua ios a endiendo a cie os
c i e ios. És e se á nomb ado como algo i mo de ecomendación y se á el enca gado
de ecomenda p oblemas a los usua ios.
La base pa a el algo i mo de ecomendación buscado, es que a pa i de los
p oblemas esuel os po un usua io, se es ablezcan elaciones con o os usua ios,
siendo los p oblemas que engan en común lo que los elacionen. Es as elaciones
se án omadas como el indicado de que es os usua ios ienen un compo amien o
simila y po an o, ienen simila es gus os y capacidades
Inicialmen e se ba ajó o a al e na i a: elaciona p oblemas a pa i de los usua ios
que los han esuel o. Pe o se desca ó al conside a que elaciona usua ios a pa i de
los p oblemas que han solucionado es más na u al y ácil de comp ende y se es imó
que el esul ado se ía simila .
El p ime c i e io pa a ecomenda p oblemas al usua io que ha á una consul a al
sis ema, es que los usua ios elacionados con él engan más p oblemas esuel os,
pa a así pode ecomenda p oblemas nue os, que el usua io que ha hecho la
consul a no haya hecho.
Pa a encon a o os c i e ios ú iles en una ecomendación, se decidió hace un
es udio de la ed social o mada po odos los usua ios, elacionados median e los
p oblemas que han ealizado. Su unción se ía localiza que ac o es pueden indica
que dos usua ios engan el mismo compo amien o y es ablece lími es pa a decidi
qué elaciones en e usua ios no demues en que ambos engan el mismo
compo amien o y po an o, no sean álidas.
32
4.2 Red social de Acep a el e o
Pa a es udia qué c i e ios usa á el algo i mo de ecomendación a la ho a de elaciona
usua ios, con aquel que hace la consul a y pos e io men e ecomenda le p oblemas a
es e, se decidió c ea un g a o di igido y ponde ado, en base a las siguien es
decisiones.
Den o de las decisiones omadas pa a log a c ea la ed social, el p ime paso ue
desca ga la base de da os de Acep a el e o y es udia las elaciones en e las
dis in as en idades de la base de da os, especialmen e usua ios y p oblemas ya que
e an esenciales pa a la elabo ación del algo i mo. Los da os más ú iles pa a la
c eación de la ed, ue on localizados en las ablas p oblem, submission y ca ego y.
Ya que las elaciones se ían en e usua ios a a és de los p oblemas que hubie an
ealizado, la abla p incipal a u iliza ue submission, que es la que iene los egis os
de los p oblemas en iados y que elaciona es os con los usua ios y an o de p oblems
como ca ego y y use s se pod ían consegui da os adicionales. A pa i de es o, se
pensa on di e en es ipos de elación en e usua ios:
• Po ins i ución y país de los usua ios.
• Po lenguaje usado en los p oblemas.
• Po ca ego ía de los p oblemas en iados.
• Po e edic o de los en íos de p oblemas.
En p ime luga se desca ó usa las elaciones po país e ins i ución de los usua ios,
ya que se conside aba o almen e i ele an e cual e a el o igen de los usua ios
espec o a sus habilidades de p og amación. Es o ambién dio luga a deja de
conside a la abla use s en el abajo pos e io , ya que únicamen e con enía
elaciones con la in o mación an e io men e desca ada y ningún da o ú il adicional.
Poco después ambién se desechó elaciona po lenguaje, ya que aunque los
usua ios dominasen uno u o o lenguaje y con él esol ie an el p oblema, lo que
impo a pa a que un p oblema sea a ac i o a un usua io es su mecánica.
También se dejó de conside a elaciona po ca ego ía del p oblema, debido a que un
p oblema podía pe enece a a ias ca ego ías. Relaciona usua ios po es e ac o ,
da ía luga a un exceso de conexiones, p o ocando esul ados simila es pa a
di e en es usua ios, además de no ecomenda p oblemas conc e os, sino g upos de
p oblemas. Es a azón lle o a desca a ambién la pos e io u ilización de la abla
ca ego ies.
33
Po an o el úl imo ac o de ecomendación conside ado, el de elaciona po e edic o
del en ío, ue el elegido pa a c ea la ed.
Inicialmen e ya se pensó que pa a elaciona dos usua ios con un mismo
compo amien o, se pod ían elaciona po los p oblemas que hubie an esuel o de
o ma co ec a. Exis ió la posibilidad de ambién conside a los e edic os inco ec os,
pe o se desca ó po que había muchos ac o es implicados cuando un usua io esol ía
e óneamen e un p oblema, p ueba de ello son los nume osos e edic os de e o ,
además de que añadi ía una complejidad adicional al algo i mo con la con apa ida de
un esul ado cues ionable.
Teniendo en cuen a lo an e io , las elaciones se c ea on en e usua ios que
compa iesen p oblemas con un e edic o “AC” (solución acep ada). Adicionalmen e se
incluyó pa a la c eación de elaciones el e edic o “PE” (e o de p esen ación), ya que
en esencia es el en ío de un p oblema que es á bien esuel o, pe o que no de uel e el
esul ado en el o ma o indicado en el enunciado de dicho eje cicio.
Se encon ó el p oblema de que, cuando un eje cicio ya ha sido en iado y ha ecibido
un e edic o de esuel o (“AC”), puede ol e a en ia se el mismo p oblema y ecibi
o a ez un e edic o de esuel o, duplicando el egis o de ese p oblema con ese
e edic o (únicamen e di e enciados po la echa del en ío). A o unadamen e enía
ácil solución y es selecciona el p ime egis o de p oblema esuel o y desca a el
es o.
Se pensó que se ía ú il inclui como in o mación en la elación en e dos usua ios, cuál
de ellos end ía más p oblemas que el o o, ya que el que u ie a más p oblemas,
pod ía ecomenda eje cicios que no haya hecho el que iene menos. Es o se pudo
hace g acias a la di eccionalidad de las a is as. Se llegó a sopesa la idea de no
inclui es e ipo de in o mación en el g a o, pe o debido a que la capacidad de
ecomenda es el in buscado po es e es udio, se decidió inclui lo pa a ob ene un
análisis más comple o. Se decidió ambién que en el caso de que dos usua ios
u ie an exac amen e los mismos p oblemas, sin ene uno más que o o, no se c ea a
una elación, ya que aunque eó icamen e exis ie a una elación, ambos usua ios no
pod ían ecomenda se p oblemas en e sí y eniendo en cuen a la na u aleza del
sis ema de ecomendación buscado, es e ipo de elaciones no enía sen ido inclui las.
Se op ó ambién po inclui en los da os usados pa a c ea la ed social, la can idad de
p oblemas hechos que compa en los dos usua ios de una elación, ya que se
conside aba una medida de lo simila es que son sus compo amien os (a más
34
p oblemas esuel os en común, end ían un compo amien o más pa ecido) y se
oma ía como un indicado de lo sólida o ue e que se ía una elación.
El esul ado de es as decisiones ue la c eación del g a o di igido y ponde ado
nomb ado al p incipio de es a sección, elabo ado a pa i de odos los usua ios
elacionados po los p oblemas que hubie an hecho en común. Los elemen os
p incipales de un g a o son los nodos y las a is as. En es e caso conc e o, los nodos
se ían los usua ios y las a is as se ían las elaciones en e es os.
Las a is as conec a án usua ios a endiendo a cie os equisi os:
• Las a is as ep esen a án los p oblemas en común que ienen ambos usua ios,
ya que se conside a que pa a dos usua ios que hayan esuel o los mismos
p oblemas (aquellos con e edic o “AC” o “PE”), hay más posibilidades de que
engan las mismas capacidades, al se es e un indica i o de que ienen el
mismo compo amien o.
• Las a is as end án una componen e de di ección, que indica ía al nodo o igen
de la di ección, que nodos pod ían hace le una ecomendación de p oblemas
(aquellos que son el des ino de la di ección de la a is a).
• La a is a ambién inclui á peso, calculado a pa i de cuan os p oblemas
end ían en común ambos usua ios.
Po an o, se decide c ea un g a o de la comunidad de usua ios y pos e io men e
analiza lo, ya que el sis ema de ecomendación de p oblemas se basa á en encon a
compo amien os simila es en e usua ios. Pos e io men e, se pod án ecomenda
p oblemas en base a esa simili ud, siendo esas simili udes elaciones en e usua ios y
la mejo mane a pa a analiza esas elaciones es a a és de la ed social que o man.
Las elaciones en e dos usua ios end án un ac o de desigualdad en el núme o o al
de p oblemas que hubie a hecho cada usua io, ya que esa desigualdad es la que
pe mi i á que den o de la ed, los usua ios puedan ecomenda se p oblemas en un
u u o. En el caso de que dos usua ios u iesen hechos exac amen e el mismo núme o
de p oblemas, no se c ea ía una elación en e ellos.
El medio usado pa a el es udio de es a ed social ue el p og ama Gephi,
especializado en es e in y que eúne odas las ca ac e ís icas y uncionalidades pa a
ealiza un co ec o análisis.
35
4.3 C eación de la ed
Pa a la c eación de la ed, p ime o se ex ae á la in o mación ya localizada
an e io men e de la base de da os. Después hab á que con e i los da os en o ma de
nodos y a is as y esc ibi los en sendos iche os, en un o ma o que se pueda impo a
a Gephi y po úl imo comp oba la alidez del mismo. Todo es o se á explicado a
con inuación.
4.3.1 Fo ma o de los iche os a impo a
Los nodos se án la ep esen ación en la ed de odos los usua ios que es én
egis ados y las a is as se án los p oblemas que end án en común los nodos que
es as unan. Dichas a is as end án una componen e de di ección, siendo el o igen de
la a is a el usua io con menos p oblemas esuel os de los dos y que pod ía se
ecomendado po el o o usua io de la elación. Po o a pa e, el usua io al que apun a
la a is a end á más p oblemas esuel os y pod ía ecomenda los p oblemas que el
o o usua io no hubie a ealizado.
El o ma o de los iche os a impo a se á CSV ( alo es sepa ados po comas o
comma-sepa a ed alues), el cual iene una cabece a que iden i ica los di e en es
da os que hab á y el es o son los p opios da os.
El iche o que con end á los nodos end á los campos de:
• Id: iden i icado del usua io (el mismo que iene en la base de da os).
• To alAC: o al de en íos co ec os.
• P ime AC: el p ime en ío co ec o.
• Ul imoAC: el úl imo en ío ace ado.
Las a is as po su pa e se án de ipo di igido. Tend án un nodo que se á el o igen de
la a is a y o o nodo que se á el obje i o de la a is a: el nodo o igen es el usua io que
menos p oblemas iene y pod ía ecibi una ecomendación y el nodo obje i o es el
usua io con más p oblemas y que pod ía ecomenda eje cicios nue os al o o usua io.
El iche o de las a is as end á los siguien es campos:
• Id: iden i icado de la a is a.
• Sou ce: iden i icado del nodo que se á el o igen.
• Ta ge : iden i icado del nodo que se á el obje i o.
• Type: ipo de a is a ( odas se án de ipo di igido).
• Weigh : peso de la a is a. Se án los p oblemas en común que end án los
nodos que una.
36
En un p incipio se pensó en inclui el campo de echa de cada en ío pa a pode usa la
unción de imeline que p opo ciona Gephi y g acias a ella e la e olución de la ed de
o ma isual. Pe o se encon ó la imposibilidad de que Gephi sepa a a cada en ío en
di e en es a is as (sólo c eaba a is as con un peso ijo, incapaz de a ia el peso de
esas a is as, que e a lo buscado), po lo que se abandonó la idea de inclui imeline.
Pese a no u iliza la unción del imeline, se pensó que se ía ú il e la e olución de la
ed con el paso del iempo, así se c eó la posibilidad de esc ibi iche os de a is as con
odos los egis os has a un iden i icado de en ío lími e (pun o en el imeline).
4.3.2 Aplicación pa a c ea los iche os
Al ene muchos pasos y pa a simpli ica el p oceso, se hace una aplicación simple en
Ja a, que se pueda maneja desde la consola y que haga odas las a eas has a
ob ene los iche os de nodos y a is as. La aplicación se llama “AppAuxilia Gephi” y
exis e un manual pa a el uso de dicha aplicación en el anexo A.
Es a aplicación Ja a incluye las siguien es unciones:
• Realiza las conexiones con la base de da os.
• Hace una consul a que ex aiga los usua ios y demás da os de los nodos.
• Hace las consul as y las ope aciones necesa ias pa a ob ene los da os de las
a is as.
• Esc ibi los da os en iche os de o ma o CSV.
Pa a el iche o de nodos los da os a apo a son bas an e básicos y pueden se
ex aídos median e una única consul a sob e la abla submission.
En cambio pa a el iche o de a is as, la consul a a ealiza es algo más comple a.
P ime o se ex aen los usua ios que ha án de o igen de la a is a y con el iden i icado
de cada uno de los usua ios se ealiza á o a nue a consul a pa a ex ae los usua ios
obje i os de la abla submission y con los eque imien os an e io men e ci ados en la
sección 4.2 de es e capí ulo.
Pa a la c eación de los iche os de a is as limi ados po pe iodo de iempo, se añadió
la opción de limi a po po cen aje del imeline de odos los egis os, es deci , desde
los egis os iniciales has a el po cen aje indicado de odos los egis os exis en es.
4.4 Análisis de la ed
A con inuación se ealiza á un análisis de los da os ob enidos de la ed social de
Acep a el e o, explicando cómo ue impo ada a Gephi y más adelan e es udiando
37
aquellas ca ac e ís icas conside adas de más in e és pa a es e abajo. La sección
e mina á con las conclusiones p ác icas sacadas del análisis
4.4.1 Impo ación a Gephi
La aplicación Gephi da la opción de impo a iche os de nodos y a is as de o ma o
CSV ( alo es sepa ados po comas o comma-sepa a ed alues) y con cie os campos
eque idos, como en el caso de los nodos, el alo de cada nodo y pa a las a is as el
o igen y des ino de es as.
En el úl imo paso de la impo ación daba la opción de modi ica el o ma o de los da os
de algunas columnas (no odas), así que de las que se pudo, se cambió el o ma o de
ex o a numé ico, pa a que ue a más sencilla la consul a de los da os. Tan o en nodos
como en a is as se c eó un nue o campo label acío de o ma au omá ica, el cual
puede isualiza se en la ep esen ación de la ed, po lo que según con inie a se
pod ían copia los da os de o o campo a ese, ob eniendo una imagen más ica de la
ed.
4.4.2 Rep esen ación de la ed
La ed c eada a pa i de la o alidad de los da os ob enidos de la base de da os,
cons aba de 1489 nodos y 288280 a is as ( igu a 4.4).
Pa a la ep esen ación se eligió una dis ibución Fo ce A las 2, un algo i mo de
dis ibución de nodos con pa áme os modi icables ( igu a 4.1), elegido po que
pe mi i ía e la o mación de comunidades, en el caso de que las hubie a, ealiza esa
dis ibución de o ma ápida y pe mi e pa a su ejecución en el momen o que se
quie a.
Figu a 4.1: Opciones omadas pa a la isualización de la ed social de Acep a el e o
en Gephi.
38
Después se hizo una clasi icación isual de los nodos que pudie an ayuda a saca
conclusiones du an e el análisis. Reco dando que una a is a apun a al nodo que
pod ía ecomenda p oblemas a su o igen, se conside ó da le impo ancia a la medida
de g ado de en ada, ya que ep esen a las eces que un nodo pod ía ecomenda
p oblemas a o os, que además es ponde ada con la solidez de esa elación
( ep esen ada po el peso de la a is a), en el g ado de en ada con peso, siendo es a
úl ima medida la capacidad de ecomenda p oblemas de un nodo con la segu idad de
que ue an de su in e és. Así que los nodos se clasi ica on po amaños según la
medida del g ado de en ada con peso (a mayo amaño, mayo g ado de en ada con
peso).
También se modi icó la apa iencia de los nodos, en conc e o su colo , en base al o al
de en íos co ec os del nodo (campo “To alAC”), siendo colo eado más oscu o
cuan os más p oblemas hubie a esuel o el usua io ep esen ado po el nodo. Fue
conside ando ú il obse a lo jun o al g ado de en ada con peso, ya que inicialmen e
se supuso que un usua io, a mayo núme o de eje cicios esuel os, end ía mayo
capacidad de ecomendación a o os usua ios y se que ía comp oba dicha
suposición.
Con odo es o se ob u o la ep esen ación obse ada en la igu a 4.2.
Figu a 4.2: Rep esen ación inicial de la ed social de Acep a el e o en Gephi.
39
Dado que an o pa a los g ados con pesos como el o al de acie os, no se ha
obse ado que engan una dis ibución lineal, sino que se dis ibuyen en ex emos, se
modi icó la o ma en la que se aplica la clasi icación pa a una mejo isualización. La
opción a modi ica den o de Gephi ue el spline, pa a el cual se eligió una g á ica
cu a en la clasi icación po pesos y colo es. Los c i e ios pa a da peso y colo a los
nodos ue on los mismos que pa a la an e io ep esen ación.
Figu a 4.3: Rep esen ación de la ed social de Acep a el e o en Gephi.
Pese a habe un exceso de a is as, se conside aba que el esul ado ( igu a 4.3) e a
una ep esen ación álida pa a el análisis. En la obse ación inicial de la ed, se
co obo ó isualmen e la suposición de que a mayo núme o de p oblemas esuel os
enga un usua io, end á mayo capacidad de ecomenda p oblemas a o os usua ios.
Es e hallazgo se á analizado más p o undamen e en la sección 4.4.3.2. En el ema de
o mación de comunidades, no se obse ó que hubie a ag upaciones cla amen e
de inidas.
40
4.4.3 Medidas ob enidas de la ed
Se hizo un cálculo de las medidas de la ed a a és de Gephi ( igu a 4.4), con el in de
que ayuda a a c ea el algo i mo de ecomendación.
Figu a 4.4: Lis a de medidas ob enidas de la ed social de Acep a el e o.
4.4.3.1 G ado medio y nodos de mayo g ado
El alo del g ado medio sob e odos los nodos de la ed ue de 193,606. Signi ica que
cada usua io se elaciona de media con casi o os 194 usua ios.
Figu a 4.5: G á ica de la dis ibución de los g ados en la ed social de Acep a el e o.
47
nue a ed il ada, a ía alguna medida de o ma signi ica i a, a ojando nue as
conclusiones.
Fil ando los nodos con g ado meno o igual a 1, quedó una nue a ep esen ación de
la ed con menos uido p o ocado po las a is as ( igu a 4.12), en la cual casi odas las
medidas habían a iado pe o cuyas g á icas conse aban la misma o ma, sólo con la
excepción de los g ados, cuyas g á icas se han mos ado algo más legibles, aunque
a ojando simila es esul ados.
Figu a 4.12: Red de Acep a el e o, il ados nodos meno es o iguales a 1.
En es a nue a ep esen ación se ha educido de o ma isible la can idad de a is as, y
ambién en meno medida, la can idad de nodos exis en es (aquellos con g ado 1 y 0
han sido excluidos).
48
Figu a 4.13: Medidas de la ed Acep a el e o il ando nodos meno es o iguales a 1.
Tal como se e en las mé icas de la igu a 4.13, la densidad de la ed ha pasado de
0,13 a 0,071, siendo es e un descenso a casi la mi ad de la densidad de la p ime a
g á ica y no ándose en la p opia ep esen ación de la g á ica. Es o co obo a que el
il ado de la ed ha sido un éxi o y se ha limpiado el g a o de conexiones inú iles que
solo añadían uido.
Figu a 4.14: G á ica de la dis ibución de los g ados en la ed de Acep a el e o
habiendo il ado los nodos.
49
La dis ibución de g ados de en ada sin peso ( igu a 4.14) es la g á ica que ha
cambiado más, espec o a la de la ed sin il a an e io men e analizada. Mues a una
o ma de cola la ga, a di e encia de la an e io , en la que los nodos se epa ían más
uni o memen e po la g á ica, no compa iendo un g an núme o el mismo g ado de
en ada. En es a g á ica se puede obse a que hay una g an pa e de los nodos que
pod ían hace pocas ecomendaciones de p oblemas. Viendo es os esul ados, se
decidió que se ía necesa io il a esos nodos con un g ado an bajo, ya que se les
conside aba poco iables pa a ecomenda .
Se hizo un es udio de los nodos con meno es g ados de salida y meno es g ados de
en ada, pe o ambos po encima de 1, ya que es os e an los usua ios que se hallaban
el lími e de se ecomendados y ecomenda . La mediana de los nodos con meno
g ado de salida po encima de 1 ue de 2 y la misma medida pa a los de meno g ado
de en ada ue de 4, po lo que 4 y 2 pod ían conside a se como los p oblemas
esuel os mínimos pa a pode ecomenda y se ecomendados espec i amen e.
4.4.5 E olución de la ed a a és del iempo
Se p opuso además, con el in de a ina la mecánica del algo i mo de ecomendación,
obse a la e olución de las a is as de más peso ( elaciones más ue es) a lo la go del
iempo pa a con i ma o desmen i la suposición de que aquellas a is as de más peso
siguen aumen ando ese peso a lo la go del iempo. Signi ica ía que aquellos usua ios
con más elación pueden hace mejo es ecomendaciones, ya que si a lo la go del
iempo aumen an los p oblemas que han esuel o ambos, los usua ios en e los que
hay una elación mínimamen e ue e an a segui o aleciendo esa elación, al
coincidi en gus os. En el caso con a io, las a is as de más peso no aumen a ían o lo
ha ían de o ma muy pob e, en endiendo que las mejo es ecomendaciones se án las
que se hagan en base a odos los usua ios con los que enga elación, aunque es a
sea pequeña, apoyando la p emisa de que la mayo ía no se equi oca.
Pa a obse a la e olución de la ed a a és del iempo, al no pode usa se la unción
del imeline, se ob u ie on los da os pa a es nue as edes. Timeline si e pa a
designa el pe iodo de iempo exis en e desde el p ime p oblema en iado
co ec amen e a Acep a el e o has a el úl imo p oblema ace ado an es de la desca ga
de la base de da os, usada pa a es e abajo. El e e encia un po cen aje del imeline
en un elemen o, signi ica que ese elemen o usa da os desde el inicio del imeline has a
el pun o co espondien e al po cen aje dicho, siendo desca ado el es o. Las edes
c eadas son co espondien es al 40, 60, 80 y 100 po cien o del imeline (la ed
an e io men e es udiada es la que con iene el 100% del imeline).
50
Pa a mos a cla amen e los pesos de las a is as, que es el da o que más in e esa
obse a , se il ó po peso de la a is a mayo que 30, lo que dejó un núme o
su icien emen e educido de a is as pa a acili a la obse ación de cambios, y po
g ado igual o mayo a 1.
Figu a 4.15: Redes o mada al 40, 60, 80 y 100% del imeline de la ed de Acep a el
e o, con las a is as de más peso.
51
Tomando como base los nodos de la ed más p imi i a (la que es á al 40% del
imeline), se obse ó la e olución de los pesos de sus a is as ( igu a 4.15). Y aunque
las imágenes son solo una mues a, se puede ap ecia como las a is as de más peso y
los nodos que conec an, se man ienen a lo la go del iempo, po lo que siguen es ando
en e las de más peso de ed y según lo obse ado en los da os, es e peso
gene almen e ha aumen ado a lo la go del iempo.
Algunas a is as asociadas a algunos nodos como el 517 no siguen al e olución, es o
es debido a que ese usua io en conc e o dejó de hace en íos co ec os hacia la mi ad
del imeline.
Se in e p e a que usua ios con muchos p oblemas en común ienen el mismo
compo amien o, ya que si han esuel o los mismos p oblemas, siguen coincidiendo en
la esolución de o os cuan os.
4.4.6 Conclusiones ob enidas del análisis de la ed
Con odo lo is o an e io men e, se pueden ex ae algunas conclusiones del análisis
de la ed social de Acep a el e o, ú iles pa a implan ación del algo i mo:
• Las elaciones en e usua ios con un solo p oblema en común ca ecen de alo
pa a pode ecomenda .
• Un usua io debe ene hechos un mínimo de dos p oblemas pa a pedi una
ecomendación a los demás usua ios.
• Así mismo, un usua io debe ene como mínimo cua o p oblemas esuel os
pa a pode ecomenda p oblemas a o o usua io.
• Al pedi una ecomendación, aquellos usua ios con mejo elación (más
p oblemas en común con el que hace la pe ición) son los que pueden hace la
mejo ecomendación.
4.5 C eación del algo i mo
A medida que se iban obse ando los esul ados ob enidos del análisis de la ed, se
empezó a c ea el algo i mo y a añadi le c i e ios a la ho a de ecomenda p oblemas.
A pa i de es e p oceso, se desa olló la mecánica de ini i a del algo i mo de
ecomendación.
La lógica del algo i mo es á ín imamen e elacionada con la ed social an e io men e
es udiada, donde el usua io que pide una ecomendación señala con las a is as a los
usua ios elacionados que pueden ecomenda le p oblemas, siendo el peso de las
a is as el g ado de simili ud en e usua ios ( igu a 4.16).
52
Inicialmen e, al algo i mo se le in oduce el usua io consul o , el que desea que se le
ecomienden p oblemas. A con inuación se consul a el núme o de p oblemas que ha
esuel o el usua io y dependiendo de si llega al mínimo indicado en la aplicación o no,
ha á una ejecución u o a.
Si no llega al mínimo de dos p oblemas esuel os exigido po el algo i mo, de uel e
como ecomendación una lis a de los p oblemas con más soluciones co ec as
en iadas, o denada po el núme o de en íos co ec os y se de ol e án al usua io
consul o los p oblemas que es én en las p ime as posiciones de es a lis a. Una
solución omada del ecomendado encon ado en uHun , comen ado en la sección
2.1.1 del capí ulo Es ado del a e.
Figu a 4.16: Diag ama de las elaciones en e nodos en la ed de Acep a el e o.
Si el usua io consul o cumple la condición de ene dos o más p oblemas esuel os, se
u iliza la lógica del diag ama de la igu a 4.16: las a is as que salen del usua io
consul o , le indican los usua ios elacionados que pod ían ecomenda le p oblemas.
Los usua ios elacionados ienen P p oblemas en común con el usua io consul o ,
además de ene más p oblemas esuel os en o al que el consul o y un mínimo de
cua o p oblemas esuel os, como ya se explicó en la sección 4.4.5 del capí ulo
Sis ema de ecomendación de p oblemas. El alo P ambién si e como medida de
pun uación de la o aleza de la elación, midiendo la simili ud del compo amien o
en e el usua io consul o con los usua ios elacionados (cuan a más pun uación, más
simili ud en e ambos usua ios). Con odo lo explicado an e io men e, se c ea una lis a
de la que se seleccionan aquellos usua ios elacionados con más alo de P (aquellos
53
con más p oblemas en común con el usua io consul o y que po lo is o en la sección
4.4.6, son aquellos que pod ían hace le una mejo ecomendación).
Teniendo ya a los usua ios elacionados que pueden hace mejo es ecomendaciones,
se localizan aquellos p oblemas que hayan hecho y que puedan ecomenda al
usua io consul o (desca ando los que es e ya haya hecho), c eando una lis a
p o isional de ecomendación, con los p oblemas que son ecomendados y las eces
que son ecomendados. El núme o de eces que es ecomendado un p oblema, se
conside a como una pun uación de lo ecomendable que es un p oblema (lo adap ado
que es pa a las capacidades del usua io consul o ).
De la lis a p o isional de ecomendación c eada, se selecciona un núme o
de e minado de los p oblemas que engan una mayo pun uación (sean más
ecomendables pa a el usua io consul o ) y se elabo a lo que se á el esul ado de la
ecomendación: un anking de los p oblemas ecomendados al usua io, de más
ecomendable a menos. Po úl imo, es e anking es de uel o al usua io.
Figu a 4.17: Diag ama de ac i idad del algo i mo de ecomendación.
54
4.6 Elabo ación del Se icio Web
Una ez de inido el uncionamien o del algo i mo, se comenzó la elabo ación del
se icio web pa a el sis ema de ecomendación de p oblemas, basado en el
compo amien o de los usua ios. Se pidió consejo al p o eso esponsable de la u o ía
del es e abajo, ya que end ía que se un se icio que se pudie a añadi a la página
de Acep a el e o y al menos end ía que coincidi en el lenguaje usado po es a, que
es Ja a. También se decidió que dicho se icio web ue a lo más sencillo posible, ya
que su uso se ía pa a p oba el algo i mo y su pos e io p esen ación, no pa a su
implan ación inmedia a en Acep a el e o.
Teniendo es o en cuen a, el lenguaje elegido pa a su c eación ue Ja a, se usa on las
lib e ías Je sey po la can idad de documen ación exis en e y su acilidad de uso y se
u ilizó la a qui ec u a REST ambién po la documen ación exis en e y po se la que
es á siendo más usada ac ualmen e. También se decidió c ea el p oyec o sob e la
pla a o ma Ma en, especí ica pa a p oyec os web y con g an capacidad de
escalabilidad. Se op ó po usa es a pla a o ma en úl imo caso ya que, aunque se
desconocía cómo es el desa ollo eal de la página Acep a el Re o, el p oyec o pod ía
se ácilmen e expo able, ya que usa una me odología simila a los amewo ks de
desa ollo web más ex endidos, además de que buena pa e de o os desa ollos
obse ados y omados como guía pa a c ea el del p esen e abajo, es aban ambién
c eados sob e es a pla a o ma.
Pa a la cons ucción del se icio web se ha seguido la me odología p opia de REST y
las buenas p ác icas de p og amación. La es uc u a in e na es la p opo cionada po
de ec o po Ma en, incluyendo las clases Ja a que incluyen el algo i mo de
ecomendación y el p opio se icio que haga las ope aciones de ecepción y en ío de
da os.
Figu a 4.18: Diag ama de uncionamien o del se icio web.
55
El uncionamien o básico del se icio es el de una pe ición GET ( igu a 4.18).
Explicado de o ma especí ica, es que al in oduci el iden i icado del usua io, se hace
una pe ición al se ido de los da os que quie e el usua io (en es e caso una
ecomendación de p oblemas). Es a pe ición se hace median e el mé odo HTTP, GET.
Es usado es e mé odo en conc e o po que es el indicado pa a ob ene in o mación del
se ido pe o sin hace cambios en él. Los da os ob enidos se de uel en al usua io en
o ma o HTML.
La página mos ada inicialmen e po el se icio ( igu a 4.19) con iene un sencillo
o mula io en el cual hay que in oduci el iden i icado del usua io al que se quie e
hace la ecomendación.
Figu a 4.19: F on al del se icio web.
En el campo p opo cionado pa a in oduci el iden i icado , se con ola que el ex o
in oducido solo sea de ipo numé ico y mayo a uno. Dicho con ol se implemen a en
el mismo elemen o HTML, el cual en su e sión 5.0 pe mi e ealiza es os con oles,
indicando que sea un obje o “inpu ” de ipo numé ico (e i ando la in oducción de
ca ac e es no numé icos) y con la p opiedad “min” igualada a uno (e i ando in oduci
iden i icado es nega i os).
El es o del on al se compond ía de la es uc u a p opia de una página HTML: un
í ulo (elemen o “h1”) y un bo ón submi que ha á la pe ición GET, además de un
elemen o “ o m” que con end á el campo dedicado a in oduci el iden i icado .
56
Figu a 4.20: Diag ama de clases del se icio web del ecomendado .
Las clases usadas po el se icio web son las mos adas en el diag ama supe io
( igu a 4.20). La clase “Recomendacion” es la que con iene el mé odo GET, con iene
los da os de la conexión con la base de da os, ejecu a el algo i mo de ecomendación
y de uel e ex o con o ma o HTML, con el anking de p oblemas ecomendados. La
clase “C ea Lis aRecomendación” es la que con iene el algo i mo de ecomendación y
que ecibe el iden i icado del usua io que pide una ecomendación y elabo a el
anking de p oblemas ecomendados pa a él. Es a clase he eda de
“C ea Conexiones”, que con iene los mé odos que manejan la conexión con la base de
da os. La clase “P oblema” si e como DTO (Da a T ans e Objec u obje o de
ans e encia de da os) de los p oblemas ecomendados al inal de la ejecución del
algo i mo, en e la clase “C ea Lis aRecomendación” y “Recomendacion”
El uncionamien o consis e en que la clase “Recomendacion” ecibe la pe ición GET y
la maneja llamando a la clase “C ea Lis aRecomendacion”, que p epa a el obje o que
ealiza á la ecomendación de p oblemas. Es a clase he eda la clase
“C ea Conexiones”, que con iene mé odos pa a c ea la conexión con la base de
63
T aducciones
A con inuación es án las aducciones de los capí ulos de In oducción y Conclusiones
y líneas u u as.
7 In oduc ion
This pape deals wi h he c ea ion o a social ecommenda ion model in a web eaching
en i onmen , speci ically o Acep a el e o websi e. The pu pose o his wo k is he
de elopmen o an exe cise ecommenda ion algo i hm based on use ’s beha io and
i s implemen a ion in a web se ice ha can be used by his websi e.
7.1 Mo i a ion
I has been chosen his opic o he exis ing p oblem in hose who decide o sol e
exe cises olun a ily o implemen hei skills, in pa icula h ough an online judge: a
web sys em o es p og amming code, which is also used in p og amming exe cises
p ac ice, and i is issuing e dic s on he submi ed solu ions.
Because he e a e a la ge numbe o possible p oblems o sol e, i is easy o hose
who decide o p ac ice exe cises, all in o indecision o a bad choice, as a p oblem oo
di icul o hei abili ies o unin e es ing and end up lea ing.
Speci ically, his case can be ound on Acep a el e o websi e, which houses an
ex ensi e collec ion o p og amming p oblems and an online judge passing e dic s on
he collec ion o sen solu ions. On ha page use s can choose o sol e any p oblem,
bu his choice may lead o cases in which an inexpe ienced use choose a p oblem
ha ini ially seems in e es ing bu oo di icul o him, abandoning he websi e and
possibly new a emp s o p ac ice exe cises olun a ily. O he wise i could happen ha
an expe ienced use chooses an ex emely easy p oblem o sol e, wi h simila esul .
7.2 Goals
Wo k goals a e:
• Sea ch in pages ha con ains an online judge dedica ed and a collec ion o
p og amming exe cises, i he e is a p oblem e e al se ice.
• Use social ne wo k analysis me hods o ind ou how o ecommend p oblems o
use s.
• C ea e a p oblem ecommenda ion algo i hm o use s o Acep a el e o
websi e, only wi h he in o ma ion p o ided by his da abase.
• Valida e pe o mance o his algo i hm.
64
• Implemen his algo i hm in a web se ice o y and show how i can be added
o Acep a el e o websi e.
7.3 Wo k plan
Ini ially he wo king eam o his s udy was wo people, bu one o he membe s le he
p ojec be o e s a ing i s de elopmen pa o i , so in p ac ice he p ojec was ca ied
ou by a single membe .
Be o e he p e iously commen ed abandonmen , i decided coo dina ion eam, op ing
o a Sc um ype me hodology because many changes we e expec ed om he o iginal
idea and i could be adap ed well o his p ojec . This agile me hodology was made o
ha e pa ial deli e ies in egula pe iods (de ined in wo weeks) o gi e a ision o
de elopmen and could be used o imp o e aspec s o inal deli e y, besides ha
con inually ha e o modi y he algo i hm o imp o e e iciency. Ini ially o membe ’s
communica ion, online messaging sys em was adop ed, apa om scheduled
mee ings.
Howe e , a e he abandonmen named abo e, he me hodology de ined abo e
became useless, al hough i was adap ed by conduc ing egula e iews, also e e y
wo weeks, o all wo k done, o while going w i ing wha would be his pape .
To de elopmen , a eposi o y on Google D i e was enabled, consis ing o
documen a ion olde s, code and a ious elemen s ha migh be use ul. Was adop ed a
modi ica ion da e model o e sioning.
To p epa e he p ojec and he d a ing o he pape , i has been used mainly In e ne
documen a ion, bo h explana o y documen s on used echnologies as ools echnical
documen a ion necessa y o make his wo k.
7.4 Used echnologies
Used machine o de elop, was a PC wi h an In el i5 p ocesso a 2.8GHz wi h 12GB o
RAM and using Windows 7 ope a ing sys em as a de elopmen pla o m.
Code w i ing language was Ja a in e sion 1.8, using Eclipse IDE and Ne Beans, in
addi ion o he lib a ies p o ided by de aul , Je sey lib a ies we e used o he
de elopmen o web se ices and MySql lib a ies o da abase connec ion. The
da abase managemen sys em was MySql and he da abase managemen applica ion
was MySQL Wo kbench. The Web se ice p ojec was made on Ma en, using o
es ing Fi e ox web b owse .
65
7.5 Documen s uc u e
The cu en pape is in ended o be an explana ion o he wo k pe o med, exposing he
aken s eps since i s incep ion o comple ion, commen ing en i e p ocess.
I has an in oduc ion whe e he mo i a ions and goals o he wo k a e explained, as
well as he me hodology used in i s p epa a ion.
A e , S a e o he a sec ion is exposed, whe e knowledge used in job c ea ion a e
explained and used o a be e unde s anding o i .
The ollowing desc ibes Acep a el e o websi e, he beginning o his wo k and i s base.
Nex chap e is he explana ion o he ecommenda ion sys em. Includes p ocessing,
wi h a s udy o he c ea ed social ne wo k, pe o med o de e mine he ecommenda ion
algo i hm s uc u e, he algo i hm c ea ion and he web se ice ha houses i .
The nex chap e de ails he es ing and alida ion o he c ea ed ecommenda ion
algo i hm.
Finally he conclusions ha ha e been eached and u u e lines o his wo k a e
discussed.
66
8 Conclussions and u u e lines
A he end o his wo k we can say ha hey ha e me all objec i es, as i has c ea ed
an algo i hm able o ecommend p oblems based on solid c i e ia and has been
success ully implemen ed in a web se ice demons a ing hei capabili ies.
Tes s show ha he algo i hm hi some use s’ beha io and i is conside ed ha he
algo i hm wo ks, di ining use ’s beha io , making ailo ed ecommenda ions o each.
Besides ha also been shown ha i can be expo ed o a web se ice.
Among possible u u e de elopmen s based on his wo k i is mainly hei in eg a ion
in o Acep a el e o web page, becoming a use ul ool o a ouse in e es among use s o
his page.
A possible de elopmen wi hin algo i hm mechanics would be a e ecommended
p oblems ela ed om he P sco e ha hose use s ha e o o ecommend (Figu e
4.16), as i could imp o e he hi a e o algo i hm use s.
In he de elopmen o he in eg a ed Acep a el e o web se ice, i could imp o e
pe o mance o cu en se ice c ea ed, keeping in cache ela ionships map be ween
use s (social ne wo k desc ibed in Chap e 4) and upda ing i as p oblems sol ed
co ec ly shipmen s a e made. This would a oid doing hea y que ies o da abase each
ime a use wan s o make a se ice eques .
Ano he possible p ojec based on he cu en , could be a use ma ching sys em o a
po en ial ou namen opponen s sea ch because he basis o he algo i hm is based on
he sea ch o ma ches be ween use s based on hei beha io and would be sui able
o his pu pose, in addi ion o he u he de elopmen o he applica ion would be
minimal.
Finally i sel s udy based on he use s beha io ela ionship and he p ocess ollowed,
can be used as a basis o u u e wo k, bo h in educa ion and in o he en i onmen s.
67
9 Re e encias
• Wikipedia. (2016). Gephi. [en línea] Disponible:
h ps://en.wikipedia.o g/wiki/Gephi [Acceso Ago. 2016].
• Es.wikipedia.o g. (2016) a. Sis ema de ecomendación. [en línea] Disponible:
h ps://es.wikipedia.o g/wiki/Sis ema_de_ ecomendación [Acceso Ago. 2016].
• Ja oba. (2013) a. ¿Qué son los Sis emas de Recomendación? - Ja oba. [en
línea] Disponible: h p://ja oba.com/que-son-los-sis emas-de- ecomendacion/
[Acceso Ago. 2016].
• Ja oba. (2013) b. Sis emas de Recomendación basados en Fil ado
Colabo a i o (K-Vecinos) - Ja oba. [en línea] Disponible: h p://ja oba.com/
sis emas-de- ecomendacion-basados-en- il ado-colabo a i o-k- ecinos/
[Acceso Ago. 2016].
• Es.wikipedia.o g. (2016) b. Se icio web. [en línea] Disponible:
h ps://es.wikipedia.o g/wiki/Se icio_web [Acceso Ago. 2016].
• Es.wikipedia.o g. (2016) c. Ja a Se le . [en línea] Disponible:
h ps://es.wikipedia.o g/wiki/Ja a_Se le [Acceso Ago. 2016].
• Es.wikipedia.o g. (2016) d. Rep esen a ional S a e T ans e . [en línea]
Disponible: h ps://es.wikipedia.o g/wiki/Rep esen a ional_S a e_T ans e
[Acceso Ago. 2016].
• Docs.o acle.com. (2016). Ja a Pla o m SE 8. [en línea] Disponible:
h ps://docs.o acle.com/ja ase/8/docs/api/ [Acceso Ago. 2016].
• Je sey.ja a.ne . (2016). Je sey 2.23.2 Use Guide. [en línea] Disponible:
h ps://je sey.ja a.ne /documen a ion/la es / [Acceso Ago. 2016].
• Redmond, J. (2016). Ma en – Ma en Documen a ion. [en línea]
Ma en.apache.o g. Disponible: h ps://ma en.apache.o g/guides/ [Acceso Ago.
2016].
• Gephi.o g. (2016). Lea n how o use Gephi. [en línea] Disponible:
h ps://gephi.o g/use s/ [Acceso Ago. 2016].
• Jiménez Díaz, Guille mo y Díaz, Albe o (2016). Apun es de Análisis de Redes
Sociales. P o eso es. Uni e sidad Complu ense de Mad id.
• Jiménez Díaz, G., Gómez Ma ín, P., Gómez Ma ín, M. y Sánchez Ruiz-
G anados, A. (2016). Simila i y Me ics om Social Ne wo k Analysis o
Con en Recommende Sys ems. Uni e sidad Complu ense de Mad id.
68
Anexo A: Manual de “AppAuxilia Gephi”
Es e apa ado a a de la aplicación auxilia que gene a los a chi os que se án
expo ados a Gephi pa a el es udio de las edes y de gene a los in o mes de p uebas
del algo i mo de ecomendación.
La aplicación es en egada en o ma o JAR con las lib e ías MySql pa a la conexión
con la base de da os, además de en ega se el código uen e.
A.1 Diag ama de clases de la aplicación
A con inuación se mues a el diag ama de clases de la aplicación “AppAuxilia Gephi”.
Figu a A.1: Diag ama de clases de “AppAuxilia Gephi”, aplicación auxilia .
69
La clase “Main” es la que con iene los da os de conexión con la base de da os y
mues a el menú con las opciones de ejecución, además de di igi la ejecución de la
aplicación, llamando al es o de clases.
La clase “C ea Conexiones” es la enca gada de c ea la conexión con la base de da os
y el es o de clases he edan sus mé odos pa a dicha conexión.
La clase “NodosUsua ios” es la enca gada de busca los usua ios que han esuel o
p oblemas en Acep a el e o y c ea el a chi o de nodos pa a la ed social. La unción
de “A is asUsua ios” es simila sólo que c ea el a chi o de las a is as, pudiendo
c ea se las a is as exis en es has a cie o pun o del imeline.
La clase “IdLimi eSegunTimeline” iene la única unción de de ol e el iden i icado de
usua io lími e pa a el pun o del imeline que se le indique.
Po úl imo, la clase “TasasRecomendacion” es la que con iene una implan ación del
algo i mo de ecomendación y di ige la ejecución de p uebas sob e es e, c eando los
in o mes de p uebas exis en es en el anexo B.
A.2 Ejecución de la aplicación
Es a aplicación es á comp imida en un a chi o de o ma o JAR y unciona sob e
consola, po lo que en Windows se á necesa io ejecu a lo desde Símbolo del Sis ema
o cmd.
Una ez abie o el cmd, apun a al di ec o io donde se encuen a
“AppAuxilia Gephi.ja ” y esc ibi en la línea de comandos:
C: Di ec o io>ja a -ja AppAuxilia Gephi.ja
Una ez ejecu ada mos a á una se ie de opciones con las uncionalidades de la
aplicación. Hay que in oduci el núme o de la opción que se desea ejecu a pa a que
la aplicación la ponga en uncionamien o. Al in oduci el núme o de la opción,
apa ece á la ase “p ocesando…”, que indica que se es á ejecu ando la ope ación
indicada an e io men e Una ez e minada la ejecución de la opción elegida, apa ece á
la palab a “ e minado” y ol e á a apa ece el mismo menú.
A.3 Conexión con la BD
Es a aplicación debe pode conec a se con una base de da os MySql que con enga la
es uc u a de la base de da os de Acep a el e o. En caso de usa la aplicación
con enida en el a chi o “ja ”, pa a que la conexión sea co ec a la base de da os debe
es a en el se ido local (localhos ) y el esquema donde es é llama se “ g”, pa a así
70
coincidi con la u a usada po la aplicación: “127.0.0.1:3306/ g“, así mismo el usua io
u ilizado es “ oo ” y la con aseña “1234”.
En el caso de que la base de da os enga de inida o a con igu ación, se debe á
cambia el código uen e, conc e amen e la clase “Main” y compila de nue a la
aplicación.
A.4 C ea a chi o de odos los nodos
Pa a c ea el a chi o de nodos, de las opciones p opo cionadas po la aplicación, hay
que elegi : “0 C ea los nodos de los usua ios”. Al e mina de ejecu a se en el
di ec o io donde es á la aplicación, se hab á c eado el a chi o “NodosUsua ios.cs ”
que con iene los da os de los nodos de odos los usua ios, lis os pa a se impo ados a
Gephi.
A.5 C ea a chi o de odas las a is as
Pa a c ea el a chi o de odas las a is as ( odas las elaciones en e usua ios
exis en es en la base de da os), hay que elegi la opción: “1 A is as de usua ios
elacionados po los p oblemas en iados y de e edic o AC”. Al e mina de ejecu a se
en el di ec o io donde es á la aplicación, se hab á c eado el a chi o
“A is asUsua iosTodas.cs ” que con iene los da os de los nodos de odos los usua ios,
lis os pa a se impo ados a Gephi.
A.6 C ea a chi o de a is as has a po cen aje de imeline
Pa a c ea el a chi o de odas las a is as has a cie o po cen aje del imeline o al, hay
que elegi la opción: “2 A is as de usua ios elacionados limi ado po imeline” y se
mos a á: “In oduzca el po cen aje del imeline a calcula :” eniendo que in oduci a
con inuación has a que po cen aje de imeline se quie en calcula las a is as. Al
e mina de ejecu a se en el di ec o io donde es á la aplicación, se hab á c eado el
a chi o “A is asUsua iosXX%Timeline.cs ”, donde XX es el po cen aje in oducido de
imeline. Dicho a chi o es á lis o pa a impo a se a Gephi.
A.7 C ea in o me de p uebas del algo i mo
Pa a c ea el in o me de p uebas ealizadas sob e el algo i mo, hay que elegi la
opción: “3 Comp obacion de esul ados po usua ios y po cen aje de imeline”,
mos ándose a con inuación: “In oduzca en qué po cen aje de imeline ealiza la
consul a”, dejando al usua io in oduci el momen o, en po cen aje del imeline, en el
que ealiza la consul a. Una ez in oducido mos a á a modo in o ma i o: “Se usa an
da os has a id de en io =XX” donde XX es el iden i icado lími e has a donde oma á
da os. Jus o después mues a: “A con inuacion in oduzca los id de los usua ios a
71
consul a . Pa a e mina esc iba ' in'”, eniendo después que esc ibi los iden i icado es
de usua io en los que hace la consul a, esc ibiendo uno po línea (y sal ando en e
líneas con En e ) y al e mina de in oduci iden i icado es, en una úl ima línea esc ibi
“ in” pa a e mina la in oducción de da os. Después de es o apa ece á la ase
“p ocesando…” y po úl imo, al e mina la c eación del in o me, “ e minado”. El a chi o
o iginado, como a chi o de ex o sin o ma o, se encon a á en el mismo di ec o io
donde es u ie e la aplicación, con el nomb e “TasasRecomendacionXX% imeline. ”,
donde XX es el po cen aje de imeline in oducido an e io men e.
A.8 Finaliza la ejecución
Pa a e mina la ejecución, se debe elegi la opción: “9 Sali ”, esc ibiendo la ci a 9.
72
Anexo B: In o mes de p uebas del algo i mo
Una de las opciones de la aplicación auxilia es la de gene a in o mes con las p uebas
de compo amien o del algo i mo, omando como pun o de pa ida un po cen aje del
imeline o al de los da os y gene ando en ese pun o una ecomendación a un usua io.
Después compa a la ecomendación hecho con el compo amien o que ha seguido el
usua io en el es o del imeline y mos ando en el in o me, po cada usua io:
• Iden i icado el usua io.
• P oblemas ecomendados.
• Tasa de acie os como p oblemas ace ados / p oblemas ecomendados.
• P oblemas esuel os es ando los con ados como ace ados po la
ecomendación.
Al p incipio de cada in o me apa ece un pequeño ex o explica i o de lo que incluye.
B.1 Tasa de ecomendación en el 60% del imeline
A con inuacion apa ecen los usua ios que ealiza on una
consul a en el pun o indicado del imeline y los p oblemas
ace ados a pa i de esa ecomendacion como asa de acie os
sob e ecomendaciones y aquellos que hicie on ue a de la
ecomendacion
Usua io: 840
P oblemas ecomendados: 134 136 159 109 183 33 139 191 13 29
Tasa de acie os: 2/10 | P oblemas esuel os es an es: 31
Usua io: 935
P oblemas ecomendados: 4 15 19 23 29 35 39 49 53 78
Tasa de acie os: 1/10 | P oblemas esuel os es an es: 129
Usua io: 1504
P oblemas ecomendados: 39 13 44 6 29 62 105 49 51 4
Tasa de acie os: 5/10 | P oblemas esuel os es an es: 14
Usua io: 62
P oblemas ecomendados: 8 10 17 27 57 65 76 86 93 114
Tasa de acie os: 8/10 | P oblemas esuel os es an es: 148
Usua io: 206
P oblemas ecomendados: 6 73 90 147 162 178 8 10 17 27
Tasa de acie os: 3/10 | P oblemas esuel os es an es: 150
Usua io: 511
P oblemas ecomendados: 39 62 105 109 15 29 44 100 254 259
Tasa de acie os: 0/10 | P oblemas esuel os es an es: 10
Usua io: 33
P oblemas ecomendados: 13 33 134 109 29 62 139 159 187 203
Tasa de acie os: 1/10 | P oblemas esuel os es an es: 9