Sistema de Reglas VERSIÓN 0.3. Dirigido a: Ingeniera luisa Fernanda barrera león. Autor: Katherine Espíndola Buitrago

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Sistema de Reglas VERSIÓN 0.3. Dirigido a: Ingeniera luisa Fernanda barrera león. Autor: Katherine Espíndola Buitrago"

Transcripción

1 Sistema de Reglas VERSIÓN 0.3 Dirigido a: Ingeniera luisa Fernanda barrera león Autor: Katherine Espíndola Buitrago PONTIFICIA UNIVERSIDAD JAVERIANA Departamento de ingeniería de sistemas Bogotá, Colombia Octubre, 2015 Sistema de Reglas 1

2 Historial de cambios VERSIÓN Sistema de Reglas versión 0.1 Sistema de Reglas versión 0.1 Sistema de Reglas versión 0.2 Sistema de Reglas versión 0.2 Sistema de Reglas versión 0.3 FECHA 8 de Octubre de de Octubre de de Octubre de de Octubre de de Noviembre de 2015 SECCIÓN DEL DOCUMENTO Introducción, 1, 2, 3, 4 Cambio Regla Matriz Cambio preferencia_despliegue Adición de descripciones DESCRIPCIÓN DE CAMBIOS Creación estructura del documento. Adición Introducción Adición sección 1 Adición sección 1.1 Adición sección 1.2 Adición sección 1.3 Adición sección 1.4 Adición sección 2 Adición sección 2.1 Adición sección 2.2 Adición sección 2.3 Adición sección 2.4 Adición sección 3 Adición sección 3.1 Adición sección 3.2 Adición sección 4 Adición sección 4.1 Adición sección 4.2 Adición sección 4.3 Adición sección 4.4 Modificación Regla 10 Modificación Regla 11 Modificación Regla 12 Adición Regla 13 Modificación Regla 19 Modificación Regla 21 Modificación Regla 22 Modificación Regla 23 Adición de descripciones a todas las secciones RESPONSABLE Katherine Espíndola Katherine Espíndola Katherine Espíndola Katherine Espíndola Katherine Espíndola Sistema de Reglas 2

3 Tabla de contenido Historial de cambios... 2 Introducción Reglas de Recomendación de Conexiones Recomendación de Estudiante Recomendación de Profesor Recomendación de Egresado Generales Reglas de Recomendación de Ideas Recomendación para Estudiante Recomendación para Profesor Recomendación para Egresado Generales Reglas de Búsqueda Búsqueda de Usuarios Por Habilidad Por Área Por Nombre Búsqueda de Ideas Por Usuario Para Continuar Para Empezar Proyectos Ideas Nuevas Por Tag Reglas de Recomendación Especial Recomendación de Idea Diferente Variante Sistema de Reglas 3

4 4.2. Recomendación de Idea Diferente Variante Recomendación de Usuario Diferente Variante Recomendación de Usuario Diferente Variante Trabajos citados Sistema de Reglas 4

5 Figuras Figura 1: Ejemplo Llenar Matriz con Pesos Figura 2: Ejemplo Regla 12 Sumar Pesos por Filas Figura 3: Ejemplo Regla 13 Normalizar Pesos Reglas Regla 1: Recomendar estudiante... 7 Regla 2: Calcular distancia estudiante estudiante... 8 Regla 3: Calcular distancia profesor estudiante... 8 Regla 4: Calcular distancia egresado estudiante... 8 Regla 5: Recomendar profesor... 9 Regla 6: Calcular distancia profesor profesor... 9 Regla 7: Calcular distancia egresado profesor... 9 Regla 8: Recomendar egresado Regla 9: Calcular distancia estudiante egresado Regla 10: Calcular distancia entre Preferencias Ideas y Tags Regla 11: Llenar matriz con pesos Regla 12: Sumar pesos por filas Regla 13: Normalizar pesos Regla 14: Calcular distancia entre personalidad Regla 15: Calcular distancia entre carreras Regla 16: Calcular distancia Jaccard Regla 17: Normalizar distancia Regla 18: Calcular distancia entre énfasis Regla 19: Recomendar idea a estudiante Regla 20: Calcular distancia entre áreas de conocimiento teniendo en cuenta la experticia Regla 21: Recomendar idea a profesor Regla 22: Recomendar idea a egresado Regla 23: Ordenar ideas para recomendar de acuerdo a la preferencia de visualización Regla 24: Buscar usuario Sistema de Reglas 5

6 Regla 25: Buscar usuario por habilidad Regla 26: Buscar usuario por área de conocimiento Regla 27: Buscar usuario por nombre Regla 28: Buscar idea Regla 29: Buscar idea por usuario Regla 30: Buscar idea para continuar Regla 31: Buscar idea para empezar Regla 32: Buscar proyectos Regla 33: Buscar idea nueva Regla 34: Buscar idea por tag Regla 35: Recomendar idea diferente (variación 1) Regla 36: Recomendar idea diferente (variación 2) Regla 37: Recomendar usuario diferente (variación 1) Regla 38: Buscar usuario diferente (variación 1) Sistema de Reglas 6

7 Introducción La generación de los servicios personalizados que ofrece Know&Share es posible gracias a las reglas diseñadas en este documento, que tienen el fin asegurar la relevancia de Know&Share. Las reglas están clasificadas de acuerdo a su propósito desarrolladas en cada una de las siguientes secciones. Adicionalmente, estas reglas ayudan a solucionar uno de los problemas de los sistemas de recomendación: el problema del nuevo usuario [1] [2]. 1. Reglas de Recomendación de Conexiones Esta sección presenta las reglas de recomendación de conexiones le permiten a Know&Share recomendar posibles conexiones a sus usuarios de tal forma que puedan expandir su red de conocimiento personal Recomendación de Estudiante usuario1(this) := usuario al que se le realiza la recomendación est := u todos_los_usuarios donde u es estudiante u usuario1.conexiones recomendarestudiante(est){ if(this es Estudiante){ d = calculardistanciaentreestudiantes(this,est) else if (this es Profesor){ d = calculardistanciaprofesorestudiante(this, est) else if (this es Egresado){ d = calculardistanciaegresadoestudiante(this, est) if (d <=0.5) { return deconfianza else if (d<=0.9){ return relevante else{ usurariosparanorecomendar.add(est) return norecomendar Regla 1: Recomendar estudiante Sistema de Reglas 7

8 calculardistanciaentreestudiantes(est1, est2){ distancia = 0.0 distancia += calculardistanciapersonalidad(est1.perfil.personalidad.tipo, est2.perfil.personalidad.tipo) distancia += calculardistanciacarreras(est1.perfil.carreras, est2.perfil.carreras) distancia += calculardistanciajaccard(est1.perfil.gustos, est2.perfil.gustos) distancia = normalizardistancia(distancia, 3) return distancia Regla 2: Calcular distancia estudiante estudiante calculardistanciaprofesorestudiante(prof, est){ distancia = 0.0 distancia += calculardistanciapersonalidad(prof.perfil.personalidad.tipo, est.perfil.personalidad.tipo) distancia += calculardistanciacarreras(prof.perfil.carreras, est.perfil.carreras) distancia += calculardistanciajaccard(prof.perfil.cualidades.profesionales, est.perfil.habilidades.profesionales) distancia = normalizardistancia(distancia, 3) return distancia Regla 3: Calcular distancia profesor estudiante calculardistanciaegresadoestudiante(egr, est){ distancia = 0.0 distancia += calculardistanciapersonalidad(egr.perfil.personalidad.tipo, est.perfil.personalidad.tipo) distancia += calculardistanciacarreras(egr.perfil.carreras, est.perfil.carreras) distancia += calculardistanciaenfasis (egr.perfil.intereses.varios_enfasis, est.perfil.intereses.varios_enfasis) distancia = normalizardistancia(distancia, 3) return distancia Regla 4: Calcular distancia egresado estudiante Sistema de Reglas 8

9 1.2. Recomendación de Profesor usuario1(this) := usuario al que se le realiza la recomendación prof := u todos_los_usuarios donde u es profesor u usuario1.conexiones recomendarprofesor(prof){ if(this es Estudiante){ d = calculardistanciaprofesorestudiante(prof,this) else if (this es Profesor){ d = calculardistanciaentreprofesores(this, prof) else if (this es Egresado){ d = calculardistanciaegresadoprofesor(this, prof) if (d <=0.5) { return deconfianza else if (d<=0.9){ return relevante else{ usurariosparanorecomendar.add(prof) return norecomendar Regla 5: Recomendar profesor calculardistanciaentreprofesores(prof1, prof2){ distancia = 0.0 distancia += calculardistanciapersonalidad(prof1.perfil.personalidad.tipo, prof2.perfil.personalidad.tipo) distancia += calculardistanciacarreras(prof1.perfil.carreras, prof2.perfil.carreras) distancia += calculardistanciajaccard(prof1.perfil.intereses.areas_conocimiento, prof2.perfil.intereses.areas_conocimiento) distancia = normalizardistancia(distancia, 3) return distancia Regla 6: Calcular distancia profesor profesor calculardistanciaegresadoprofesor(egr, prof){ distancia = 0.0 distancia += calculardistanciapersonalidad(egr.perfil.personalidad.tipo, prof.perfil.personalidad.tipo) distancia += calculardistanciacarreras(egr.perfil.carreras, prof.perfil.carreras) distancia += calculardistanciaenfasis(egr.perfil.intereses.varios_enfasis, prof.perfil.intereses.varios_enfasis) distancia = normalizardistancia(distancia, 3) return distancia Regla 7: Calcular distancia egresado profesor Sistema de Reglas 9

10 1.3. Recomendación de Egresado usuario1(this) := usuario al que se le realiza la recomendación egr := u todos_los_usuarios donde u es egresado u usuario1.conexiones recomendaregresado(egr){ if(this es Estudiante){ d = calculardistanciaestudianteegresado(this, egr) else if (this es Profesor){ d = calculardistanciaegresadoprofesor(egr, this) else if (this es Egresado){ d = calculardistanciaentreestudiantes(this, egr) if (d <=0.5) { return deconfianza else if (d<=0.9){ return relevante else{ usurariosparanorecomendar.add(egr) return norecomendar Regla 8: Recomendar egresado calculardistanciaestudianteegresado(est, egr){ distancia = 0.0 distancia += calculardistanciapersonalidad(est.perfil.personalidad.tipo, egr.perfil.personalidad.tipo) distancia += calculardistanciacarreras(est.perfil.carreras, egr.perfil.carreras) distancia += calculardistanciaprefideatags(est.perfil.preferencias_ideas, egr.tg.tags) distancia = normalizardistancia(distancia, 3) return distancia Regla 9: Calcular distancia estudiante egresado La Regla 10, Regla 11, Regla 12 y Regla 13 se utiliza para calcular la distancia entre las preferencias de ideas de un usuario y las tags que el trabajo de grado del egresado. Primero se crea una matriz de forma dinámica la cual contiene la representación de los números binarios del 0 al 2 número de preferencias 1. Luego, teniendo en cuenta que cada columna representa una preferencia, la matriz es multiplicada por cada uno de sus pesos correspondientes (ver Regla 9), obteniendo una matriz con pesos como lo muestra la Figura 1, donde el peso de Personalización es 3, de CompuMovil es 4 y de DataBases es 2. Sistema de Reglas 10

11 Figura 1: Ejemplo Llenar Matriz con Pesos matrizbinaria[2 ^ preferencias_ideas +1][ preferencias_ideas ]:= matriz que tiene los numeros binarios de 0 a (2 ^ preferencias_ideas ) - 1 calculardistanciaprefideatags(preferencias_ideas, tags){ sum = 0 pesototal = 0 tagsrelacionadas = preferencias_ideas tags if( tagsrelacionadas == 0){ return 1 else{ numcol = preferencias_ideas matrizbinaria = llenarmatrizconpesos(matrizbinaria, preferencias_ideas, numcol) vectorpesos[2 ^ numcol] = sumarpesosporfilas(matrizbinaria, numcol) cuantospesosunicos = obtenernumerosunicos(vectorpesos) tuplanormalizada[cuantospesosunicos][2] = normalizarpesos(vectorpesos, cuantospesosunicos) foreach (tag tagsrelacionadas){ preferencia = buscarpreferencia(tag) pesototal += preferencia.peso pesototal = pesototal * tagsrelacionadas for(contfila = 0; contfila < cuantospesosunicos; contfila++){ if(tuplanormalizada [contfila][0] == pesototal){ return tuplanormalizada[contfila][1] Regla 10: Calcular distancia entre Preferencias Ideas y Tags llenarmatrizconpesos(matrizbinaria, atributoconpeso, numcol){ for(contfila = 0; contfila < 2 ^ numcol ; contfila++){ for(contcol = 0; contcol < numcol ; contcol++){ matrizbinaria[contfila][contcol] = matrizbinaria[contfila][contcol] * atributoconpeso[contcol].peso return matrizbinaria Regla 11: Llenar matriz con pesos Sistema de Reglas 11

12 Luego de obtener la matriz con pesos, se crea un vector con la suma de los pesos (ver Regla 12), es decir, se suma el valor de cada una de las filas y se multiplica por la cantidad de unos de cada fila, esto se ilustra en la Figura 2. Figura 2: Ejemplo Regla 12 Sumar Pesos por Filas sumarpesosporfilas(matrizbinaria, numcol){ sum = 0 contunos = 0 for(contfila = 0; contfila < 2 ^ numcol ; contfila++){ for(contcol = 0; contcol < numcol ; contcol++){ if(matrizbinaria[contfila][contcol]!= 0){ contunos++ sum += matrizbinaria[contfila][contcol] vectorpesos[contfila] = sum * contunos sum = 0 contunos = 0 return vectorpesos Regla 12: Sumar pesos por filas Luego es necesario saber cuántos pesos diferentes existen en el vector, para crear una tupla normalizada que tendrá los pesos y su normalización (ver Regla 13). Para esto se ordenan los pesos de mayor a menor, dado que el mayor representa la distancia más cercana (0), y la menor la distancia más lejana (1). La Figura 3 muestra cómo se construye la tupla normalizada. Sistema de Reglas 12

13 Figura 3: Ejemplo Regla 13 Normalizar Pesos normalizarpesos(vectorpesos, cuantospesosunicos){ tuplanormalizada[cuantospesosunicos] = elimiarpesosrepetidos(vectorpesos) tuplanormalizada= ordenarmayoramenor(tuplanormalizada) normalizacion = 1/(cuantosPesosUnicos-1) aumento = 1/(cuantosPesosUnicos-1) for(contfila = 0; contfila < cuantospesosunicos; contfila++){ if(primera iteracion){ tuplanormalizada[contfila][1] = 0 else if (ultima iteracion){ tuplanormalizada[contfila][1] = 1 else{ tuplanormalizada[contfila][1] = normalizacion normalizacion += aumento return tuplanormalizada Regla 13: Normalizar pesos Por último, se suma el peso de cada una de las tags de las ideas del egresado que son iguales a las preferencias de ideas del estudiante, y se busca ese peso total en la tupla normalizada para retornar la distancia. Sistema de Reglas 13

14 1.4. Generales Esta sección presenta algunas reglas comunes utilizadas en las secciones anteriores por otras reglas calculardistanciapersonalidad(tipo1, tipo2){ relacion = tiporelacion(tipo1, tipo2) switch (relacion){ case 'Espiritu Afin': return 0.25 case 'Diferencias Intrigantes': return 0.50 case 'Complementos Potenciales': return 0.75 case 'Opuestos Desafiantes': return 1 default: return 0; Regla 14: Calcular distancia entre personalidad calculardistanciacarreras(carreras1, carreras2){ if(carreras1.principal == carreras2.principal){ return 0 else if(carreras2.principal (carreras1 carreras2)){ return 0.5 else{ carrerasafines = carrera1.afines if( (carreras2 carrerasafines)){ return 0.5 else{ return 1 Regla 15: Calcular distancia entre carreras La distancia Jaccard compara los datos de presencia o ausencia para encontrar la similitud [3] [4] [5], es decir, tiene en cuenta los elementos que no están en ambos conjunto, por esto es más preciso saber la intersección entre ambos puntos [6]. Esta distancia está dada por: S j = M 10 + M 01 M 10 + M 01 + M 11 M 11 representa el total de atributos que están en A y en B. M 01 representa el total de atributos que no están en A pero que están B. M 10 representa el total de atributos que están en A y pero no están en B. Sistema de Reglas 14

15 calculardistanciajaccard(conj1, conj2){ return ( conj1 conj2 - conj1 conj2 )/ conj1 conj2 Regla 16: Calcular distancia Jaccard normalizardistancia(distancia, max){ min = 0 newmax = 1 newmin = 0 return ((distancia - min) * (newmax - newmin)/(max - min) + newmin) Regla 17: Normalizar distancia calculardistanciaenfasis(varios_enfasis1, varios_enfasis2){ if(varios_enfasis1.principal == varios_enfasis2.principal){ return 0 else if(varios_enfasis2.principal (varios_enfasis1 varios_enfasis2)){ return 0.5 else{ return 1 Regla 18: Calcular distancia entre énfasis Sistema de Reglas 15

16 2. Reglas de Recomendación de Ideas Esta sección presenta las reglas que permiten recomendarle ideas a los usuarios de Know&Share Recomendación para Estudiante usuario1(this) := usuario que visualiza ideas idea := i u.ideas donde u usuario1.conexiones recomendarideaaestudiante(usuario){ ideas = usuario.ideas relevancia = 0 foreach (idea ideas){ if(usuario es Estudiante){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciaenfasis ( this.perfil.intereses.varios_enfasis, usuario.perfil.intereses.varios_enfasis) relevancia = normalizardistancia(relevancia, 2) else if (usuario es Profesor){ if(idea es Para Continuar idea es Para Empezar){ if(idea es Para Continuar){ tags = idea.tags else if (idea es Para Empezar){ tags = idea.tags idea.tg.tags relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, tags) relevancia += calculardistanciaareasexperticia( this.perfil.intereses.areas_conocimiento, usuario.perfil.intereses.areas_conocimiento) relevancia = normalizardistancia(relevancia, 2) else{ relevancia = -1 else if (usuario es Egresado){ if(idea es Para Continuar){ tags = idea.tags idea.tg.tags relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, tags) if (relevancia >=0 relevancia <=0.5) { ideaspararecomendar.add(idea) else if (relevancia>0.5){ ideasparanorecomendar.add(idea) return ordenar(this.preferencia_despliegue, ideaspararecomendar) Regla 19: Recomendar idea a estudiante Sistema de Reglas 16

17 matrizbinaria[2 ^ areas_conocimientop +1][ areas_conocimientop ]:= matriz que tiene los numeros binarios de 0 a (2 ^ areas_conocimientop ) - 1 calculardistanciaareasexperticia(areas_conocimientoe, areas_conocimientop){ sum = 0 pesototal = 0 areasrelacionadas = areas_conocimientoe areas_conocimientop if( areasrelacionadas == 0){ return 1 else{ numcol = areas_conocimientop matrizbinaria = llenarmatrizconpesos(matrizbinaria, areas_conocimientop, numcol) vectorpesos[2 ^ numcol] = sumarpesosporfilas(matrizbinaria, numcol) cuantospesosunicos = obtenernumerosunicos(vectorpesos) tuplanormalizada[cuantospesosunicos][2] = normalizarpesos(vectorpesos, cuantospesosunicos) foreach (areaconocimiento areasrelacionadas){ pesototal += areaconocimiento.experticia pesototal = pesototal * areasrelacionadas for(contfila = 0; contfila < 2 ^ numcol ; contfila++){ if(tuplanormalizada[contfila][0] == pesototal){ return tuplanormalizada[contfila][1] Regla 20: Calcular distancia entre áreas de conocimiento teniendo en cuenta la experticia Sistema de Reglas 17

18 2.2. Recomendación para Profesor recomendarideaaprofesor(usuario){ ideas = usuario.ideas relevancia = 0 foreach (idea ideas){ if(usuario es Estudiante){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciajaccard( this.perfil.cualidades.profesionales, usuario.perfil.habilidades.profesionales) relevancia = normalizardistancia(relevancia, 2) else if (usuario es Profesor){ if (idea es Para Empezar idea es Proyecto){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciajaccard( this.perfil.areas_conocimiento, usuario.perfil.areas_conocimiento) relevancia = normalizardistancia(relevancia, 2) else{ relevancia = -1 else if (usuario es Egresado){ if(idea es Nueva){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciajaccard( this.perfil.cualidades.profesionales, usuario.perfil.habilidades.profesionales) relevancia = normalizardistancia(relevancia, 2) else{ relevancia = -1 if (relevancia >=0 relevancia <=0.5) { ideaspararecomendar.add(idea) else if (relevancia>0.5){ ideasparanorecomendar.add(idea) return ordenar(this.preferencia_despliegue, ideaspararecomendar) Regla 21: Recomendar idea a profesor Sistema de Reglas 18

19 2.3. Recomendación para Egresado recomendarideaaegresado(usuario){ ideas = usuario.ideas relevancia = 0 foreach (idea ideas){ if(usuario es Estudiante){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciajaccard( this.perfil.habilidades.profesionales, usuario.perfil.habilidades.profesionales) relevancia = normalizardistancia(relevancia, 2) else if (usuario es Profesor){ if (idea es Proyecto){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) else{ relevancia = -1 else if (usuario es Egresado){ if(idea es Nueva){ relevancia += calculardistanciaprefideatags( this.perfil.preferencias_ideas, idea.tags) relevancia += calculardistanciajaccard( this.perfil.habilidades.profesionales, usuario.perfil.habilidades.profesionales) relevancia = normalizardistancia(relevancia, 2) else{ relevancia = -1 if (relevancia >=0 relevancia <=0.5) { ideaspararecomendar.add(idea) else if (relevancia>0.5){ ideasparanorecomendar.add(idea) return ordenar(this.preferencia_despliegue, ideaspararecomendar) Regla 22: Recomendar idea a egresado Sistema de Reglas 19

20 2.4. Generales ordenar (preferencia_despliegue, ideaspararecomendar){ if(preferencia_ despliegue== 'Por relevancia'){ return organizarideasporrelevancia(ideaspararecomendar) //Organiza las ideas por el tipo de Usuario: Primero deconfianza, //luego de Relevancia //Tambien tiene en cuenta el número de lights else{ return organizarideasporfecha(ideaspararecomendar) //Organiza las ideas por fecha Regla 23: Ordenar ideas para recomendar de acuerdo a la preferencia de visualización 3. Reglas de Búsqueda Las reglas de búsqueda le permiten a los usuarios de Know&Share buscar ideas y usuarios para que se puedan conectar o buscar ideas de su interés Búsqueda de Usuarios buscarusuario(filtro, parametro){ switch (filtro){ case 'por Habilidad': return buscarporhabilidad(this, parametro) case 'por Area Conocimiento': return buscarporarea(this, parametro) default: return buscarpornombre(this, parametro) Regla 24: Buscar usuario Sistema de Reglas 20

21 Por Habilidad buscarporhabilidad(usuario, parametro){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ if(parametro u.perfil.habilidades){ usuarioscercanos.add(u) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ if(parametro u.perfil.habilidades){ otrosusuarios.add(u) usuarioscercanos = ordenarporaval(usuarioscercanos) otrosusuarios = ordenarporaval(otrosusuarios) return usuarioscercanos otrosusuarios Por Área Regla 25: Buscar usuario por habilidad buscarporarea(usuario, parametro){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ if(parametro u.perfil.intereses.areas_conocimiento){ usuarioscercanos.add(u) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ if(parametro u.perfil.intereses.areas_conocimiento){ otrosusuarios.add(u) usuarioscercanos = ordenarporexperticia(usuarioscercanos) otrosusuarios = ordenarporexperticia(otrosusuarios) return usuarioscercanos otrosusuarios Regla 26: Buscar usuario por área de conocimiento Sistema de Reglas 21

22 Por Nombre buscarpornombre(usuario, parametro){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ if(parametro u.nombre){ usuarioscercanos.add(u) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ if(parametro u.nombre){ otrosusuarios.add(u) usuarioscercanos = ordenarporrelacion(usuarioscercanos) //Primero De Confianza luego Relevancia return usuarioscercanos otrosusuarios 3.2. Búsqueda de Ideas Regla 27: Buscar usuario por nombre buscaridea(filtro, parametro){ switch (filtro){ case 'por Usuario': return buscarideasporusuario(this, parametro) case 'para Continuar': return buscarideasparacontinuar(this) case 'para Empezar': return buscarideasparaempezar(this) case 'Proyecto': //Solo profesores y egresados return buscarproyectos(this) case 'Nueva': return buscarideasnuevas(this) default: return buscarideasportag(this, parametro) Regla 28: Buscar idea Sistema de Reglas 22

23 Por Usuario buscarideasporusuario(usuario, parametro){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ if(parametro u.nombre){ ideas.add(u.ideas) if(ideas es ){ //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ if(parametro u.nombre){ ideas.add(u.ideas) ideas = ordenarporlights(ideas) return ideas Para Continuar Regla 29: Buscar idea por usuario buscarideasparacontinuar(usuario){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones donde u es Profesor u es Egresado){ foreach(idea u.conexiones){ if(idea es Para Continuar){ ideascercanas.add(idea) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes donde u es Profesor u es Egresado){ foreach(idea u.conexiones){ if(idea es Para Continuar){ ideaslejanas.add(idea) ideascercanas = ordenarporlights(ideascercanas) ideaslejanas = ordenarporlights(ideaslejanas) return ideascercanas ideaslejanas Regla 30: Buscar idea para continuar Sistema de Reglas 23

24 Para Empezar buscarideasparaempezar(usuario){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones donde u es Profesor){ foreach(idea u.conexiones){ if(idea es Para Empezar ){ d = calculardistanciapersonalidad(usuario.perfil.personalidad.tipo, u.perfil.personalidad.tipo) if(d <= 0.50){ ideascercanas.add(idea) else{ ideaslejanas.add(idea) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes donde u es Profesor){ foreach(idea u.conexiones){ if(idea es Para Empezar){ d = calculardistanciapersonalidad(usuario.perfil.personalidad.tipo, u.perfil.personalidad.tipo) if(d <= 0.50){ ideaslejanas.add(idea) else{ ideasmuylejanas.add(idea) ideascercanas = ordenarporlights(ideascercanas) ideaslejanas = ordenarporlights(ideaslejanas) ideasmuylejanas = ordenarporlights(ideasmuylejanas) return ideascercanas ideaslejanas ideasmuylejanas Regla 31: Buscar idea para empezar Sistema de Reglas 24

25 Proyectos buscarproyectos(usuario){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones donde u es Profesor){ foreach(idea u.conexiones){ if(idea es Proyecto){ d = calculardistanciajaccard( usuario.perfil.intereses.areas_conocimiento, u.perfil.intereses.areas_conocimiento) if(d <= 0.50){ ideascercanas.add(idea) else{ ideaslejanas.add(idea) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes donde u es Profesor){ foreach(idea u.conexiones){ if(idea es Para Continuar){ d = calculardistanciajaccard( usuario.perfil.intereses.areas_conocimiento, u.perfil.intereses.areas_conocimiento) if(d <= 0.50){ ideaslejanas.add(idea) else{ ideasmuylejanas.add(idea) ideascercanas = ordenarporlights(ideascercanas) ideaslejanas = ordenarporlights(ideaslejanas) ideasmuylejanas = ordenarporlights(ideasmuylejanas) return ideascercanas ideaslejanas ideasmuylejanas Regla 32: Buscar proyectos Sistema de Reglas 25

26 Ideas Nuevas buscarideasnuevas(usuario){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ foreach(idea u.conexiones){ if(idea es Nueva){ ideascercanas.add(idea) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ foreach(idea u.conexiones){ if(idea es Nueva){ ideaslejanas.add(idea) ideascercanas = ordenarporlights(ideascercanas) ideaslejanas = ordenarporlights(ideaslejanas) return ideascercanas ideaslejanas Por Tag Regla 33: Buscar idea nueva buscarportag(usuario, parametro){ //buscar en la red de conocimiento personal foreach(u usuario.conexiones){ foreach(idea u.ideas){ if(parametro idea.tags){ ideascercanas.add(u.ideas) //buscar en Know&Share usuariosfaltantes = todos_los_usuarios - usuario.conexiones foreach(u usuariosfaltantes){ foreach(idea u.ideas){ if(parametro idea.tags){ ideaslejanas.add(u.ideas) ideascercanas = ordenarporpreferenciaidea(ideascercanas, usuario.perfil.preferencias_ideas) ideaslejanas = ordenarporlights(ideaslejanas) return ideascercanas ideaslejanas Regla 34: Buscar idea por tag Sistema de Reglas 26

27 4. Reglas de Recomendación Especial Las reglas de recomendación especial le ofrecen la posibilidad de visualizar usuarios o ideas que no se recomendarían, pero que podrían ayudarle a crear valor en su red de conocimiento personal Recomendación de Idea Diferente Variante 1 recomendarideadiferente1(usuario){ ideas = usuario.ideasparanorecomendar if(ideas no esta ){ ideasdiferentes = ordenarporlights(ideas) return ideasdiferentes.get(0) return null Regla 35: Recomendar idea diferente (variación 1) 4.2. Recomendación de Idea Diferente Variante 2 recomendarideadiferente2(usuario){ ideas = usuario.ideasparanorecomendar if(ideas no esta ){ ideasdiferentes = ordenarporpreferenciaidea(ideas, usuario.perfil.preferencias_ideas) return ideasdiferentes.get(0) return null Regla 36: Recomendar idea diferente (variación 2) 4.3. Recomendación de Usuario Diferente Variante 1 recomendarusuariodiferente(usuario){ usuarios = usuario.usuariosparanorecomendar if(usuarios no esta ){ usuariosdiferentes = ordenarporpersonalidad(usuarios, usuario.perfil.personalidad.tipo) return usuariosdiferentes.get(0) return null Regla 37: Recomendar usuario diferente (variación 1) Sistema de Reglas 27

28 4.4. Recomendación de Usuario Diferente Variante 2 recomendarusuariodiferente(usuario){ usuarios = usuario.usuariosparanorecomendar if(usuarios no esta ){ usuariosdiferentes = ordenarporcarrera(usuarios, usuario.perfil.carrera) return usuariosdiferentes.get(0) return null Regla 38: Buscar usuario diferente (variación 1) Trabajos citados [1] G. Adomavicius and A. Tuzhilin, "Toward the Next Generation of Recommender Systems: A Survey of the State-of-the-Art and Possible Extensions," IEEE Transactions on Knowledge and Data Engineering, vol. 17, no. 6, pp , [2] S. Chen, S. Owusu and L. Zhou, "Social Network Based Recommendation Systems: A Short Survey," Social Computing (SocialCom), 2013 International Conference on, pp , [3] L. Candillier, F. Meyer and F. Fessant, "Designing Specific Weighted Similarity Measures to Improve Collaborative Filtering Systems," in Advances in Data Mining: Medical Applications, E-Commerce, Marketing, and Theoretical Aspects, Berlin, Heidelberg, Springer-Verlag, [4] A. Gardner, J. Kanno, C. Duncan and R. Selmic, "Measuring Distance between Unordered Sets of Different Sizes," in Computer Vision and Pattern Recognition (CVPR), Columbus, OH, [5] K. J. Horadam and M. A. Nyblom, "Distances between sets based on set commonality," Discrete Applied Mathematics, vol. 167, no. April, pp , [6] Á. C. Carrillo Ramos, M. Y. Uribe Ríos, M. I. Brijaldo Rodríguez, L. F. Barrera León, M. L. Sabogal Modera, N. A. Mejía, J. Pavlich-Mariscal, A. Pomares Quimbaya and J. E. Carreño Vargas, ASHYI: Plataforma Basada en Agentes para la Planificación Dinámica, Inteligente y Adaptativa de Actividades Aplicada a la Educación Personalizada, Bogotá: Pontificia Universidad Javeriana: Colciencias, Sistema de Reglas 28

29 Sistema de Reglas 29

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores Sistemas Recomendadores Híbridos IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 33 Memo del Semestre Tarea 1: Deadline el Jueves 17 de Septiembre. Lecturas

Más detalles

IIC 3633 - Sistemas Recomendadores

IIC 3633 - Sistemas Recomendadores Ranking & UB-CF IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 19 TOC En esta clase 1. Definición y un poco de Historia 2. Ranking No Personalizado 3. User-Based

Más detalles

Protocolo de Pruebas

Protocolo de Pruebas Protocolo de Pruebas VERSIÓN 0.3 Dirigido a: Ingeniera luisa Fernanda barrera león Autor: Katherine Espíndola Buitrago PONTIFICIA UNIVERSIDAD JAVERIANA Departamento de ingeniería de sistemas Bogotá, Colombia

Más detalles

Cualidades como profesor

Cualidades como profesor Cualidades como profesor VERSIÓN 0.1 Dirigido a: Ingeniera luisa Fernanda barrera león Autor: Katherine Espíndola Buitrago PONTIFICIA UNIVERSIDAD JAVERIANA Departamento de ingeniería de sistemas Bogotá,

Más detalles

Explotación del B2B y segmentación de la clientela

Explotación del B2B y segmentación de la clientela Explotación del B2B y segmentación de la clientela Algoritmos de recomendación en R Sesión 4. 24/10/2018 A.M.Mayoral (asun.mayoral@umh.es), J.Morales (j.morales@umh.es) Explotación del B2B y segmentación

Más detalles

Obteniendo valoraciones de ítems desde opiniones de usuarios para resolver el problema de Cold Start en sistemas recomendadores

Obteniendo valoraciones de ítems desde opiniones de usuarios para resolver el problema de Cold Start en sistemas recomendadores Obteniendo valoraciones de ítems desde opiniones de usuarios para resolver el problema de Cold Start en sistemas recomendadores Silvana Aciar 1, Gabriela Aciar 1, Nestor Duque 2 1 Instituto de Informática

Más detalles

Vizier: un framework para recomendar productos/servicios de manera genérica y multidimensional

Vizier: un framework para recomendar productos/servicios de manera genérica y multidimensional 1 Vizier: un framework para recomendar productos/servicios de manera genérica y multidimensional Andrea Barraza-Urbina Pontificia Universidad Javeriana abarraza@javeriana.edu.co Resumen Angela Carrillo-Ramos

Más detalles

Sistemas Híbridos de Recomendación. IIC3633 RecSys 2do semestre 2014 23 de Sep=embre Denis Parra

Sistemas Híbridos de Recomendación. IIC3633 RecSys 2do semestre 2014 23 de Sep=embre Denis Parra Sistemas Híbridos de Recomendación IIC3633 RecSys 2do semestre 2014 23 de Sep=embre Denis Parra Resumen Mo=vacion Clasificación General Modelos de Hibridización Ejemplos Mo=vación Diferentes métodos =enen

Más detalles

DISEÑO ARQUITECTURA DEL SOFTWARE

DISEÑO ARQUITECTURA DEL SOFTWARE DISEÑO ARQUITECTURA DEL SOFTWARE [ZUGYM] v2.0 DIRIGIDO A: Ingeniera Alexandra Méndez Lindo AUTORA: Luisa Fernanda Barrera León PONTIFICIA UNIVERSIDAD JAVERIANA Departamento de Ingeniería de Sistemas BOGOTÁ,

Más detalles

Modelo de Recomendación Basado en Conocimiento y Números SVN. Modelo de Recomendación Basado en Conocimiento y Números SVN

Modelo de Recomendación Basado en Conocimiento y Números SVN. Modelo de Recomendación Basado en Conocimiento y Números SVN 29 Neutrosophic Computing and Machine Learning, Vol. 1, 2018 University of New Mexico Modelo de Recomendación Basado en Conocimiento y Números SVN Modelo de Recomendación Basado en Conocimiento y Números

Más detalles

Instituto Tecnológico de Lázaro Cárdenas Ingeniería Electrónica. Programa en MATLAB

Instituto Tecnológico de Lázaro Cárdenas Ingeniería Electrónica. Programa en MATLAB Instituto Tecnológico de Lázaro Cárdenas Ingeniería Electrónica Programa en MATLAB Asignatura: Análisis Numérico Docente: M.C. Julio César Gallo Sanchez Alumno: José Armando Lara Ramos 4 o Semestre Febrero

Más detalles

Aplicaciones. Inteligencia Computacional Carrera de Ingeniería Informática

Aplicaciones. Inteligencia Computacional Carrera de Ingeniería Informática Aplicaciones Inteligencia Computacional Carrera de Ingeniería Informática Aplicaciones de IC Unidad VIII: Configuración del problema y aplicación de las técnicas de inteligencia computacional en: clasificación

Más detalles

Maribel Martínez y Ginés Ciudad-Real Fichas para mejorar la atención MATRIZ DE LETRAS

Maribel Martínez y Ginés Ciudad-Real Fichas para mejorar la atención MATRIZ DE LETRAS MATRIZ DE LETRAS p q d b p p b n g b n w n w n n w b p q d b p q d n w n g b n p q p q p q d b p n g n g n g b n w n d b d b b p q d b b n b n n w n g b n p q p q p q d b p n g n g n g b n w n d b d b

Más detalles

Control con Lógica Difusa

Control con Lógica Difusa Control con Lógica Difusa Dr. Fernando Ornelas Tellez Universidad Michoacana de San Nicolás de Hidalgo Facultad de Ingeniería Eléctrica Morelia, Michoacan Dr. Fernando Ornelas Tellez UMSNH-FIE División

Más detalles

Recomendación Musical

Recomendación Musical Recomendación Musical IIC3633 PROFESOR: D ENIS PARRA ALUMNO: MIGUEL FADIĆ 1 Papers McFee, B., Barrington, L., & Lanckriet, G. (2012). Learning content similarity for music recommendation. Audio, Speech,

Más detalles

GUIA DE EJERCICIOS N 1 LENGUAJE C# Página 1 de 5. Instructor: Ing. Néstor Raúl Suarez Perpiñan

GUIA DE EJERCICIOS N 1 LENGUAJE C# Página 1 de 5. Instructor: Ing. Néstor Raúl Suarez Perpiñan Página 1 de 5 GUIA DE EJERCICIOS N 1 LENGUAJE C# Realizar para cada ejercicio un programa tipo consola en lenguaje C# que satisfaga con los requerimientos propuestos: PARTE I. EJERCICIOS BASICOS 1. Programa

Más detalles

TEST DE DETERMINANTES

TEST DE DETERMINANTES Página 1 de 7 TEST DE DETERMINANTES 1 Si A es una matriz cuadrada de orden 3 con A = -2, a qué es igual -A? A -2 B 2 C 0 D -6 2 A -144 B 44 C 88 D -31 3 Indicar qué igualdad es falsa: A B C D 4 A -54 B

Más detalles

Sustento numérico del Software Superdecisions en el análisis multicriterio del tipo AHP/ANP

Sustento numérico del Software Superdecisions en el análisis multicriterio del tipo AHP/ANP Sustento numérico del Software Superdecisions en el análisis multicriterio del tipo AHP/ANP Agosto 2014 1. Introducción... 1 2. Estructura de un problema de multicriterio en jerarquías... 1 3. Escala de

Más detalles

Análisis de propiedades de medidas de similitud con atributos binarios

Análisis de propiedades de medidas de similitud con atributos binarios Análisis de propiedades de medidas de similitud con atributos binarios Iván Ramírez, Ildar Batyrshin Instituto Politécnico Nacional, Centro de Investigación en Computación, Ciudad de México, D.F. {ramirez.alvarez.ipn,

Más detalles

Ingeniería de Aplicaciones Web

Ingeniería de Aplicaciones Web Ingeniería de Aplicaciones Web Carrera: Ingeniería en Computación Profesor Responsable: Rossi, Gustavo Héctor Año: Optativa Duración: Semestral Carga Horaria Semanal: 6hs Carga Horaria Total: 96hs OBJETIVOS

Más detalles

Para cada problema realizar: Análisis Diseño Diagramas de Flujo

Para cada problema realizar: Análisis Diseño Diagramas de Flujo Para cada problema realizar: Análisis Diseño Diagramas de Flujo 1. Llenar la 1ra columna de una matriz A de dimensión N*M y aplicar la rotación por columnas M-1 veces para llenar el resto de la matriz.

Más detalles

Introducción a la programación en PHP

Introducción a la programación en PHP Introducción a la programación en PHP Qué es PHP? Hypertext Pre-processoes (PHP) es un lenguaje de "código abierto" interpretado, de alto nivel, embebido en páginas HTML y ejecutado en un servidor. Qué

Más detalles

Cátedra I Informática Autor I Carlos Bartó

Cátedra I Informática Autor I Carlos Bartó FCEFyN Departamento de Computación Informática Examen - 07-07-2008 Apellido y Nombres: Matrícula: Carrera: PROBLEMAS: 1) Especifique en el lenguaje C++ una función denominada calc_fecha() que tenga como

Más detalles

Una pregunta pendiente

Una pregunta pendiente Una pregunta pendiente Cómo podemos construir un generador (casi) uniforme para una relación? Recuerde el problema KS definido en la sección anterior y la relación: R KS = {((~a, b), ~x) ~a 2 N n y ~x

Más detalles

Gestor de bases de datos MicroSoft Access (4 de 4)

Gestor de bases de datos MicroSoft Access (4 de 4) Gestor de bases de datos MicroSoft Access (4 de 4) Departament d Informàtica de Sistemes i Computadors 1 Contenido Diseño de informes Ejemplos: NEPTUNO 2 Introducción a la Informática - Gestión de Bases

Más detalles

Calidad de Sistemas de Información Tercer Ciclo Para el Curso académico 2004/2005 Ciudad Real, marzo de 2005

Calidad de Sistemas de Información Tercer Ciclo Para el Curso académico 2004/2005 Ciudad Real, marzo de 2005 Universidad de Castilla-La Mancha Escuela Superior de Informática Calidad de Sistemas de Información Tercer Ciclo Para el Curso académico 2004/2005 Ciudad Real, marzo de 2005 Este documento contiene la

Más detalles

Cátedra I Informática Autor I Carlos Bartó

Cátedra I Informática Autor I Carlos Bartó Cátedra I Informática Autor I Carlos Bartó FCEFyN Departamento de Computación Informática Examen - 11-02-2008 Apellido y Nombres: Matrícula: Carrera: ESPECIFICACION: Desarrollar un programa en lenguaje

Más detalles

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores Filtrado Basado en Contenido IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 28 Lo que Queda del Semestre Tarea 1: Deadline el Lunes 5 de Septiembre. 2/28 Page

Más detalles

ESPECIFICACIÓN DE REQUERIMIENTOS

ESPECIFICACIÓN DE REQUERIMIENTOS ESPECIFICACIÓN DE REQUERIMIENTOS [ZUGYM] v2.0 DIRIGIDO A: Ingeniera Alexandra Méndez Lindo AUTORA: Luisa Fernanda Barrera León PONTIFICIA UNIVERSIDAD JAVERIANA Departamento de Ingeniería de Sistemas BOGOTÁ,

Más detalles

,..., a 1n. ) y B. , a 12. A B a 11 b 11 a 12 b 21 a 1n b n1

,..., a 1n. ) y B. , a 12. A B a 11 b 11 a 12 b 21 a 1n b n1 93 Operaciones matriciales 373 El producto interno Definición: Producto interno Suponga que (a 11, a 1,, a 1n ) y expresado como, es b 11 b 1 b n1 ; entonces el producto interno, a 11 b 11 a 1 b 1 a 1n

Más detalles

Introducción a la Programación

Introducción a la Programación Grupo H Semana 8 Pontificia Universidad Javeriana Cali 6 y 8 de Septiembre de 2011 Recorderis Ciclos Expresiones que se repiten hasta que una determinada condición es encontrada en el sistema. Recorderis

Más detalles

Universitas Scientiarum ISSN: Pontificia Universidad Javeriana Colombia

Universitas Scientiarum ISSN: Pontificia Universidad Javeriana Colombia Universitas Scientiarum ISSN: 0122-7483 revistascientificasjaveriana@gmail.com Pontificia Universidad Javeriana Colombia Castro Chadid, Iván PROGRAMACIÓN AVANZADA CON DERIVE. APLICACIONES AL ALGEBRA LINEAL

Más detalles

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores Filtrado Basado en Contenido IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 27 Lo que Queda del Semestre Tarea 1: Deadline el Jueves 17 de Septiembre. Lecturas

Más detalles

Conceptos Preliminares

Conceptos Preliminares Conceptos Preliminares Igualdad de matrices Definición: Dos matrices son iguales cuando tienen la misma dimensión y los elementos que ocupan la misma posición en ambas son iguales. Estas matrices cumplen

Más detalles

Uso de Modelos de Markov para Recomendación de Actividades en la Hipermedia Adaptativa

Uso de Modelos de Markov para Recomendación de Actividades en la Hipermedia Adaptativa Uso de Modelos de Markov para Recomendación de Actividades en la Hipermedia Adaptativa Estefanía Martín 1 1 Lenguajes y Sistemas Informáticos I Universidad Rey Juan Carlos c/tulipán s/n, Móstoles, Madrid,

Más detalles

Fundamentos de Programación Entera. A. Revisión. Carlos Testuri Germán Ferrari

Fundamentos de Programación Entera. A. Revisión. Carlos Testuri Germán Ferrari Fundamentos de Programación Entera A. Revisión Carlos Testuri Germán Ferrari Departamento de Investigación Operativa Instituto de Computación Facultad de Ingeniería Universidad de la República 2012-2018

Más detalles

Optimización global en espacios restringidos mediante el sistema inmune artificial.

Optimización global en espacios restringidos mediante el sistema inmune artificial. Optimización global en espacios restringidos mediante el sistema inmune artificial. Tesista: Daniel Trejo Pérez dtrejo@computacion.cs.cinvestav.mx Director de tesis: Dr. Carlos Artemio Coello Coello CINVESTAV-IPN

Más detalles

PROGRAMA DE CURSO. Herramientas Computacionales para Ingeniería y Ciencias. SCT Auxiliar. Personal Obligatorio (Requisito de FI1002)

PROGRAMA DE CURSO. Herramientas Computacionales para Ingeniería y Ciencias. SCT Auxiliar. Personal Obligatorio (Requisito de FI1002) PROGRAMA DE CURSO Código CC1000 Nombre Herramientas Computacionales para Ingeniería y Ciencias Nombre en Inglés Computer Tools for Engineering and Sciences es Horas de Horas Docencia Horas de Trabajo SCT

Más detalles

Semana 2 [1/29] Matrices. 31 de julio de Matrices

Semana 2 [1/29] Matrices. 31 de julio de Matrices Semana 2 [1/29] 31 de julio de 2007 elementales Semana 2 [2/29] Matriz de permutación Matriz de permutación Una matriz elemental de permutación tiene la siguiente estructura: 1 0 0 1 0 1 fila p 1 I pq

Más detalles

Práctica 2 - Manejo de estructuras de datos y punteros

Práctica 2 - Manejo de estructuras de datos y punteros Práctica 2 - Manejo de estructuras de datos y punteros Organización del Computador 2 1er Cuatrimestre 2017 1. Estructuras estáticas: Vectores y Matrices Ejercicio 1 Para cada uno de los siguientes ítems,

Más detalles

INF Investigación de Operaciones

INF Investigación de Operaciones INF 3144 - Investigación de Operaciones Rodrigo Olivares Mg. en Ingeniería Informática rodrigo.olivares@uv.cl 26 de mayo de 2017 Rodrigo Olivares (PUCV) INF 3144 - Investigación de Operaciones 26 de mayo

Más detalles

IIC Sistemas Recomendadores

IIC Sistemas Recomendadores Filtrado Basado en Contenido II IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile Page 1 of 22 TOC En esta clase 1. Representación y Aprendizaje del Modelo de Usuario 1.

Más detalles

INGENIERIA DE APLICACIONES WEB. Año 2017 UNIVERSIDAD NACIONAL DE LA PLATA FACULTAD DE INFORMÁTICA FUNDAMENTACIÓN

INGENIERIA DE APLICACIONES WEB. Año 2017 UNIVERSIDAD NACIONAL DE LA PLATA FACULTAD DE INFORMÁTICA FUNDAMENTACIÓN INGENIERIA DE APLICACIONES WEB Año 2017 Carrera/Plan: Licenciatura en Informática Plan 2003-07/ Plan 2012 Licenciatura en Sistemas Plan 2003-07/ Plan 2012 Año: 4º o 5º año Régimen de Cursada: Semestral

Más detalles

Qué es una RNA? Cómo surgieron y para qué? Aplicaciones? Lic. Leticia Seijas SdC Departamento de Computación - FCEyN - UBA

Qué es una RNA? Cómo surgieron y para qué? Aplicaciones? Lic. Leticia Seijas SdC Departamento de Computación - FCEyN - UBA Para qué sirven las Redes Neuronales? SdC 2010 Departamento de Computación Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Qué es una RNA? Cómo surgieron y para qué? Aplicaciones?

Más detalles

Programación Orientada Objetos. Estructuras de control if, If else, switch

Programación Orientada Objetos. Estructuras de control if, If else, switch Programación Orientada Objetos Estructuras de control if, If else, switch Estructuras de control Las estructuras condicionales controlan si una sentencia o bloque de sentencias se ejecutan, en función

Más detalles

Seminario 55. Excel Experto

Seminario 55. Excel Experto Seminario 55. Excel Experto Contenidos 1. Introducción 2. Funciones lógicas 3. Funciones estadísticas 4. Funciones de búsqueda y referencia 5. Filtros básicos y filtros avanzados 6. Tablas dinámicas 7.

Más detalles

Técnicas Avanzadas de Visión por Computador

Técnicas Avanzadas de Visión por Computador Técnicas Avanzadas de Visión por Computador Sistemas Informáticos Avanzados Índice Introducción. Registrado basado en grises. Funciones criterio. Métodos de minimización. Registrado multimodal. Registrado

Más detalles

Predictor Basado en Prototipos Difusos y Clasificación Nosupervisada

Predictor Basado en Prototipos Difusos y Clasificación Nosupervisada Predictor Basado en Prototipos Difusos y Clasificación Nosupervisada JIISIC-CEIS'2015 Aníbal Vásquez, Enrique Peláez y Xavier Ochoa anibal.vasquez @cti.espol.edu.ec, epelaez@cti.espol.edu.ec, xavier@cti.espol.edu.ec

Más detalles

PROGRAMA DE CURSO. Personal CC3301 Programación de Software de Sistemas Resultados de Aprendizaje

PROGRAMA DE CURSO. Personal CC3301 Programación de Software de Sistemas Resultados de Aprendizaje PROGRAMA DE CURSO Código Nombre CC5204 Búsqueda y Análisis de Imágenes y Videos Nombre en Inglés Image and Video Retrieval SCT Unidades Horas de Horas Docencia Horas de Trabajo Docentes Cátedra Auxiliar

Más detalles

IIC3633 Sistemas Recomendadores Functional Matrix Factorizations for Cold-Start Recommendation. Juan Navarro

IIC3633 Sistemas Recomendadores Functional Matrix Factorizations for Cold-Start Recommendation. Juan Navarro IIC3633 Sistemas Recomendadores Functional Matrix Factorizations for Cold-Start Recommendation Juan Navarro Referencia Zhou, K., Yang, S., and Zha, H. Functional matrix factorizations for cold-start recommendation.

Más detalles

Técnicas de Predicción para la Eficiencia Energética en Smart Cities

Técnicas de Predicción para la Eficiencia Energética en Smart Cities Técnicas de Predicción para la Eficiencia Energética en Smart Cities Fernando J. Isorna 1, Alicia Troncoso 1 1 Departamento de Ingeniería Informática, Universidad Pablo de Olavide fjisoret@alumno.upo.es,

Más detalles

Introducción a Matlab

Introducción a Matlab Universidad de Chile Facultad de Cs. Físicas y Matemáticas Departameto de Ciencias de la Computación CC3501 - Computación Gráfica, Visualización y Modelación para Ingenieros Prof. María Cecilia Rivara

Más detalles

UE#04 PROBLEMAS DE ANÁLISIS DE CASOS CONTROL DE ALTERNATIVAS

UE#04 PROBLEMAS DE ANÁLISIS DE CASOS CONTROL DE ALTERNATIVAS UE#04 PROBLEMAS DE ANÁLISIS DE CASOS CONTROL DE ALTERNATIVAS Índice Ruptura de control. Sentencia if y sus variantes. Sentencia switch Usos y estilo RUPTURA DE CONTROL En un bloque, la ejecución es secuencial:

Más detalles

Sobre Carga de Operadores

Sobre Carga de Operadores Programación Orientada o Objetos Univesidad de Los Andes - Facultad de Ingeniería Escuela de Sistemas Programación Digital II Profesor: Gilberto Diaz gilberto@ula.ve Las operaciones tradicionales que se

Más detalles

SEMINARIO DE DQL CON PHP Y MYSQL

SEMINARIO DE DQL CON PHP Y MYSQL SEMINARIO DE DQL CON PHP Y MYSQL Índice del Seminario Instalación del paquete XAMPP en Windows Instalación de directorios virtuales. Creación y ejecución de la primera pagina PHP. Fundamentos de PHP Estructura

Más detalles

Manual de Usuario. OCLING - Organic Chemistry Learning Aplicación Para Apoyar La Enseñanza De Química Orgánica En Universidades

Manual de Usuario. OCLING - Organic Chemistry Learning Aplicación Para Apoyar La Enseñanza De Química Orgánica En Universidades Manual de Usuario OCLING - Organic Chemistry Learning Aplicación Para Apoyar La Enseñanza De Química Orgánica En Universidades FACULTAD DE INGENIERIA CARRERA DE INGENIERIA DE SISTEMAS BOGOTÁ, D.C. 2016

Más detalles

Capítulo 2: Introducción al lenguaje.

Capítulo 2: Introducción al lenguaje. Capítulo 2: Introducción al lenguaje. PHP es un lenguaje no posicional, por lo que no importa la columna en la cual se comience a escribir el código. Tampoco influye sobre el código la cantidad de saltos

Más detalles

Predicción de una serie de tiempo caótica

Predicción de una serie de tiempo caótica Predicción de una serie de tiempo caótica P techniques LUIS FERNANDO PEDRAZA MARTÍNEZ Ingeniero Electrónico de la Universidad Distrital Francisco José de Caldas, magister en Ciencias de la Información

Más detalles

Mostrar los valores en las filas de la matriz. Informes: Novedades de la última versión de. Analítica:

Mostrar los valores en las filas de la matriz. Informes: Novedades de la última versión de. Analítica: Novedades de la última versión de Power BI La aplicación de análisis de negocios Power BI, ha añadido nuevas caracterís cas a la matriz visual, incluyendo una opción de formato para mostrar los valores

Más detalles

Análisis de técnicas caligráficas para la mejora del reconocimiento automático de firma

Análisis de técnicas caligráficas para la mejora del reconocimiento automático de firma Universidad Autónoma de Madrid Escuela Politécnica Superior Anteproyecto Análisis de técnicas caligráficas para la mejora del reconocimiento automático de firma Ingeniería de Telecomunicación Autor: Francisco

Más detalles

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática

Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso º Grado en Informática Relación de prácticas de la asignatura METODOLOGÍA DE LA PROGRAMACIÓN Segundo Cuatrimestre Curso 2016-2017 1º Grado en Informática Práctica 3: Recursividad, Ficheros y Argumentos en Línea de órdenes Objetivos

Más detalles

Introducción a C# y la plataforma.net

Introducción a C# y la plataforma.net Introducción a y la plataforma.net Matías Malbergier 2013 Plataforma.NET.NET provee un set de herramientas (Framework) el cual permite desarrollar programas apuntando a múltiples plataformas y utilizando

Más detalles

Cátedra de Base de Datos

Cátedra de Base de Datos Cátedra de Base de Datos Facultad de Ciencias Exactas y Tecnología Universidad Nacional de Tucumán Ciclo Lectivo 2018 Programa Analítico de la Materia Unidad 4: Álgebra relacional Álgebra relacional. Sintaxis

Más detalles

Nombre de la Unidad de Aprendizaje. Clave de la UA Modalidad de la UA Tipo de UA Valor de créditos Área de formación

Nombre de la Unidad de Aprendizaje. Clave de la UA Modalidad de la UA Tipo de UA Valor de créditos Área de formación Misión del Centro Universitario Somos un centro que forma parte de la Red Universitaria de la Universidad de Guadalajara. Como institución de educación superior pública asumimos el compromiso social de

Más detalles

GUÍA DOCENTE HERRAMIENTAS DE PRODUCTIVIDAD PERSONAL Julio 2017

GUÍA DOCENTE HERRAMIENTAS DE PRODUCTIVIDAD PERSONAL Julio 2017 Julio 2017 DATOS GENERALES Nombre del curso: Código: 801119 (ADE) 801903 (MKCD) Curso: 2016-17 Titulación: Grado en Administración y Dirección de Empresas Grado en Marketing y Comunicación Digital Nº de

Más detalles

UNA SELECCIÓN DE CANALES DE DISTRIBUCIÓN A TRAVÉS DE RELACIONES BORROSAS

UNA SELECCIÓN DE CANALES DE DISTRIBUCIÓN A TRAVÉS DE RELACIONES BORROSAS UNA SELECCIÓN DE CANALES DE DISTRIBUCIÓN A TRAVÉS DE RELACIONES BORROSAS Carrizo, M.A., Casparri, M.T. y Taboada, E. En el presente trabajo nos ocupamos de uno de los aspectos relevantes de la logística.

Más detalles

Manual del Usuario para el programa de reconocimiento de caracteres.

Manual del Usuario para el programa de reconocimiento de caracteres. Manual del Usuario para el programa de reconocimiento de caracteres. Instalación. El software no tiene programa de instalación, solo es necesario copiar el ejecutable al directorio donde usted desee. Y

Más detalles

Normalización Clase Práctica SPI y SPDF

Normalización Clase Práctica SPI y SPDF Normalización Clase Práctica Departamento de Computación - Facultad de Ciencias Exactas y Naturales Universidad de Buenos Aires Base de Datos 2do. Cuatrimestre 2015 Esquema General 1 Introducción 2 Sin

Más detalles

RECTIFICACIÓN DE DOCUMENTOS USANDO CONJUNTOS FUZZY Y OPERACIONES MORFOLÓGICAS.

RECTIFICACIÓN DE DOCUMENTOS USANDO CONJUNTOS FUZZY Y OPERACIONES MORFOLÓGICAS. RECTIFICACIÓN DE DOCUMENTOS USANDO CONJUNTOS FUZZY Y OPERACIONES MORFOLÓGICAS. Procesamiento Imágenes Digitales Grupo 1 Autores: María José Casuso Segovia José María Marquez Toro Víctor Zamora Roldán 1.

Más detalles

Viabilidad de la aplicación de Sistemas de Recomendación a entornos de e-learning

Viabilidad de la aplicación de Sistemas de Recomendación a entornos de e-learning Viabilidad de la aplicación de Sistemas de Recomendación a entornos de e-learning Oscar Sanjuán Martínez 1, Enrique Torres Franco 2, Hector Castán Rodriguez 2, Rubén Gonzalez Crespo 2, B. Cristina Pelayo

Más detalles

IIC Sistemas Recomendadores. Denis Parra Profesor Asistente, DCC, PUC CHile

IIC Sistemas Recomendadores. Denis Parra Profesor Asistente, DCC, PUC CHile Recomendador Slope One IIC 3633 - Sistemas Recomendadores Denis Parra Profesor Asistente, DCC, PUC CHile TOC En esta clase 1. Resumen últimas clases 2. Recomendador Slope One 3. Ejemplo pequeño 2/14 Resumen

Más detalles

EJERCICIOS RESUELTOS DE DETERMINANTES

EJERCICIOS RESUELTOS DE DETERMINANTES EJERCICIOS RESUELTOS DE DETERMINANTES 1. Calcular los siguientes determinantes: a) - 13 b) 4-3 8 1 0 3-1 -1 1 3-4 a) - 13 = (-)(-3) 4.13 = 1 2 = -37 4-3 b) 8 1 0 3-1 -1 1 3-4 = 8(-1)(-4) + 1(-1)1 + 0 0

Más detalles

Optimización por Enjambre de Partículas para resolver el problema de control óptimo inverso en Seguimiento de Trayectorias

Optimización por Enjambre de Partículas para resolver el problema de control óptimo inverso en Seguimiento de Trayectorias Memorias del XVI Congreso Latinoamericano de Control Automático, CLCA 2014 Optimización por Enjambre de Partículas para resolver el problema de control óptimo inverso en Seguimiento de Trayectorias E.

Más detalles

UNIVERSIDAD TECNICA LUIS VARGAS TORRES Esmeraldas - Ecuador MATRICES Y VECTORES

UNIVERSIDAD TECNICA LUIS VARGAS TORRES Esmeraldas - Ecuador MATRICES Y VECTORES UNIVERSIDAD TECNICA LUIS VARGAS TORRES Esmeraldas - Ecuador MATRICES Y VECTORES Facultad de Ingenierías y Tecnologías Ing. Paúl Viscaino Valencia DOCENTE OBJETIVO Interpretar y resolver los problemas básicos

Más detalles

Universidad Nacional Santiago Antúnez de Mayolo

Universidad Nacional Santiago Antúnez de Mayolo Universidad Nacional Santiago Antúnez de Mayolo Generación de Math Apps en Sistemas Dinámicos para Ingenieria con Maplesoft 1 1 Universidad César Vallejo Escuela de Ingeniería Civil 1 physicsleninac@hotmail.com

Más detalles

PROGRAMA DE DOCTORADO

PROGRAMA DE DOCTORADO PROGRAMA DE DOCTORADO Desarrollo de familias de productos de software desde un enfoque generativo DPTO. DE INGENIERÍA DE SOFTWARE Y SISTEMAS INFORMÁTICOS Tema 1 Introducción Autor: Rubén Heradio Gil Índice

Más detalles

23/10/14. Algebra Matricial $ $ ' ' ' $ & & & # # I 3 I 2 = 1 0 $ DEFINICION DE MATRIZ 2.1 CONCEPTOS DE MATRICES CONCEPTOS DE MATRICES. $ n. ! a.

23/10/14. Algebra Matricial $ $ ' ' ' $ & & & # # I 3 I 2 = 1 0 $ DEFINICION DE MATRIZ 2.1 CONCEPTOS DE MATRICES CONCEPTOS DE MATRICES. $ n. ! a. /0/ Algebra Matricial. OPERACIONES DE DEFINICION DE MATRIZ Si A es una matriz de m x n (esto es una matriz con m filas y n columnas) la entrada escalar en la i-ésima fila y la j-ésima columna de A se denota

Más detalles

Algoritmos y Protocolos Criptográficos con Curvas Eĺıpticas

Algoritmos y Protocolos Criptográficos con Curvas Eĺıpticas Algoritmos y Protocolos Criptográficos con Curvas Eĺıpticas Josep M. Miret Escola Politècnica Superior Departament de Matemàtica Universitat de Lleida e-mail: miret@eps.udl.es Murcia, 24-25 de Noviembre

Más detalles

IDENTIFICACIÓN DE SISTEMAS MÉTODOS POR SUB-ESPACIOS

IDENTIFICACIÓN DE SISTEMAS MÉTODOS POR SUB-ESPACIOS IDENTIFICACIÓN DE SISTEMAS MÉTODOS POR SUB-ESPACIOS Ing. Fredy Ruiz Ph.D. ruizf@javeriana.edu.co Maestría en Ingeniería Electrónica Pontificia Universidad Javeriana 2013 Introduccion La teoría de sistemas

Más detalles

4- Introducción a PHP

4- Introducción a PHP 4- Introducción a PHP Curso: Desarrollo de aplicaciones web Cris*na Puente, Rafael Palacios 2010- 1 Introducción a PHP Qué es PHP? Lenguaje de alto nivel que se ejecuta en el servidor Al ejecutarse en

Más detalles

SENA SERVICIO NACIONAL DE APRENDIZAJE

SENA SERVICIO NACIONAL DE APRENDIZAJE PRACTICA 1 1- Crea la siguiente hoja de cálculo. 2- Calcula todos los totales; utilizando en las filas el método manual y en las columnas la función Autosuma. 3- Modifica el ancho de las columnas para

Más detalles

TEST DE MATRICES. Dadas A = (-3 4 1/2) y B = (1/3 0-2), cuál es el resultado de multiplicar la matriz A por la traspuesta de B?

TEST DE MATRICES. Dadas A = (-3 4 1/2) y B = (1/3 0-2), cuál es el resultado de multiplicar la matriz A por la traspuesta de B? file://:\mis documentos\u6mattest\u6mattesttodo.htm Página 1 de 7 TEST E MTRIES 1 eterminar la matriz opuesta de la siguiente matriz: 2 Si y son dos matrices de orden 3x2, de qué orden es la matriz resultante

Más detalles

CURRÍCULO INVESTIGADOR

CURRÍCULO INVESTIGADOR 1. DATOS DEL * RAMON ENRIQUE PEREZ PINEDA Cédula 0959948290 Género Masculino Nacionalidad Venezolana Email rperezp@ups.edu.ec Email institucional rperezp@ups.edu.ec Organización Palabra primaria Ingeniería

Más detalles

Métricas para la validación de Clustering

Métricas para la validación de Clustering Métricas para la validación de Clustering MINERIA DE DATOS Elizabeth León Guzmán, Profesor Asociado Universidad Nacional de Colombia Ingeniería de Sistemas y Computación Contenido Introducción Tipos de

Más detalles

Reconocimiento de rostros con Redes Neuronales Convolucionales

Reconocimiento de rostros con Redes Neuronales Convolucionales Reconocimiento de rostros con Redes Neuronales Convolucionales Redes Neuronales (66.63) FIUBA Mario Azcueta Reconocimiento de rostros DETECTAR un rostro en una escena IDENTIFICAR un rostro en particular

Más detalles

MATRICES. Se denomina matriz de dimensión m n a todo conjunto cuyos elementos están dispuestos en m filas y n columnas. o simplemente A = (a.

MATRICES. Se denomina matriz de dimensión m n a todo conjunto cuyos elementos están dispuestos en m filas y n columnas. o simplemente A = (a. MATRICES Se denomina matriz de dimensión m n a todo conjunto cuyos elementos están dispuestos en m filas y n columnas A= 2 1 5 0 3 8 A es de dimensión 2 3. a a a En general una matriz de dimensión 2 3

Más detalles

Matemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Ejemplo:

Matemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Matemáticas 2.º Bachillerato. Ejemplo: Mapa conceptual Determinante de segundo orden Dada una matriz cuadrada de segundo orden: a a 11 12 A = a a 21 22 se llama determinante de A al número real: det (A)= A = a11 a 12 = a a a a a21 a22 11 22

Más detalles

Selección de atributos

Selección de atributos Selección de atributos Series Temporales Máster en Computación Universitat Politècnica de Catalunya Dra. Alicia Troncoso Lora 1 Contenido Introducción Clasificación de las técnicas Esquema General Evaluadores

Más detalles

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT

Introducción 1 Recuperación de Datos mediante la Sentencia SQL SELECT Introducción Objetivos I-2 Objetivos del Curso I-3 Oracle11g - 12cI-5 Oracle Database 11g - 12cI-6 Oracle Application Server 11g - 12cI-7 Oracle Enterprise Manager 11g - 12cGrid Control I-8 Sistema de

Más detalles

INSTITUTO LA PAZ. Tutorial Paso a Paso Tablas Dinámicas

INSTITUTO LA PAZ. Tutorial Paso a Paso Tablas Dinámicas INSTITUTO LA PAZ Tutorial Paso a Paso Tablas Dinámicas Las tablas dinámicas es una de las funciones interactivas más útiles y tecnológicamente avanzadas que nos ofrece Microsoft Excel, abriendo a todos

Más detalles

adaptable al contexto

adaptable al contexto Aproximación metodológica a la integración de procesos de negocio, en la industria del Café, sensible y adaptable al contexto Jorge E. Giraldo, Ph.D(c) Demetrio A. Ovalle, Ph.D Universidad Nacional de

Más detalles

Reglas de Asociación Difusas para la Detección

Reglas de Asociación Difusas para la Detección Reglas de Asociación Difusas para la Detección de Anomaĺıas M.D. Ruiz, D. Sánchez, M.J. Martin-Bautista, M.A. Vila, M. Delgado 6 de Febrero de 2014 2 Motivación Las Reglas de Asociación permiten identificar

Más detalles

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México

Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Universidad Autónoma del Estado de México 2016, Año del 60 Aniversario de la Universidad Autónoma del Estado de México Unidad Académica Profesional Tianguistenco Ingeniería de Software Estructura de Datos

Más detalles

contar con una herramienta de este tipo, cuando se trata de efectuar estudios sobre calidad de potencia.

contar con una herramienta de este tipo, cuando se trata de efectuar estudios sobre calidad de potencia. PROGRAMA EN MATLAB PARA ANALISIS Y SIMULACION DE ARMONICOS Luis Hernando Correa Salazar Grupo de investigación en calidad de la potencia eléctrica - Universidad de La Salle Resumen: En este artículo se

Más detalles

Desarrollo de un sistema para medir similitud entre clases

Desarrollo de un sistema para medir similitud entre clases Desarrollo de un sistema para medir similitud entre clases R. Guzmán-Cabrera, J.C. Ruiz, M. Torres-Cisneros University of Guanajuato, Engineering Division, Irapuato-Salamanca, Guanajuato, México guzmanc@ugto.mx

Más detalles

Sumar números rápidamente

Sumar números rápidamente Sumar números rápidamente Excel proporciona varias maneras rápidas de sumar números. Por ejemplo, si no necesita mostrar el total en la hoja, puede obtener un total rápido en la barra de estado para todas

Más detalles

VÍCTOR HUGO VELA PINZÓN DIRECTORA: ING. LUISA FERNANDA BARRERA LEÓN MODALIDAD: APLICACIÓN PRÁCTICA SUSTENTACIÓN TRABAJO DE GRADO

VÍCTOR HUGO VELA PINZÓN DIRECTORA: ING. LUISA FERNANDA BARRERA LEÓN MODALIDAD: APLICACIÓN PRÁCTICA SUSTENTACIÓN TRABAJO DE GRADO MV LIFE GYM MOBILE VÍCTOR HUGO VELA PINZÓN DIRECTORA: ING. LUISA FERNANDA BARRERA LEÓN MODALIDAD: APLICACIÓN PRÁCTICA SUSTENTACIÓN TRABAJO DE GRADO FACULTAD DE INGENIERIA INGENIERÍA DE SISTEMAS 2014-3

Más detalles