Documentos de Académico
Documentos de Profesional
Documentos de Cultura
UCProg
AGENCIA MATRIMONIAL
Julián Rosero
José Pillajo
Cristian Pujota
2019
1
UCProg Análisis
CARTA DE PRESENTACIÓN
De nuestra consideración:
El proyecto que comenzó a ejecutarse el 20 de mayo del año 2019, propone un trabajo
coordinado de los integrantes del grupo UCProg y el mismo se desarrollara por un tiempo
aproximado de 2 meses, con una visión clara de que el proyecto cumpla con su objetivo
principal de brindar entretenimiento y evidenciar la implementación de los parámetros
establecidos. En consecuencia, queremos dar a Uds. La bienvenida a este proyecto, con la
certeza de que este proyecto cumple con sus objetivos.
2
UCProg Análisis
RESUMEN EJECUTIVO
Este proyecto es una contribución teórica y práctica para implementar el aprendizaje de los
estudiantes universitarios encargados de programar el juego. Básicamente nuestro proyecto
contiene 4 cuatro capítulos a desarrollarse, Cada uno de los capítulos se analiza temas
necesarios para determinar el desarrollo óptimo y ejecutable del proyecto, además de las
condiciones en las que se desarrolla el proyecto se pueda garantizar una buena aceptación
por parte del usuario.
3
UCProg Análisis
ÍNDICE
Contenido
1. INTRODUCCIÓN.................................................................................................................................5
1.1 Objetivos Generales.....................................................................................................................5
1.2 Objetivos Específicos...................................................................................................................5
2. METODOLOGÍA..................................................................................................................................5
3. DESCRIPCIÓN DEL PROBLEMA...........................................................................................................5
3.1 Antecedentes...............................................................................................................................5
3.3 Justificación.................................................................................................................................6
3.4 Beneficios del Sistema.................................................................................................................6
3.4.1 Benéficos tangibles...............................................................................................................6
3.4.2 beneficios intangibles...........................................................................................................6
4. ANÁLISIS............................................................................................................................................7
4.1 Revisión de documentos..............................................................................................................7
4.2 Requerimientos para el sistema..................................................................................................8
5. RECOMENDACIONES.........................................................................................................................9
6. CONCLUSIONES.................................................................................................................................9
4
UCProg Análisis
1. INTRODUCCIÓN
1.1 Objetivos Generales
Desarrollar un programa jugable en JAVA que implemente los conceptos
establecidos y estudiados en clases.
2. METODOLOGÍA
Para el desarrollo del programa se inició con la lectura del problema de los matrimonios
estables, con lo cual se fundamentó el algoritmo para la solución de este problema. Era
importante realizar una revisión al contexto e identificar las mejoras para el diseño del
programa. Para tal fin, se realizó un conversatorio entre los integrantes del grupo para
analizar la mejor forma de plasmar este problema a un entorno de videojuegos, se presentó
la propuesta de realizar un juego de forma colectiva ya que se podría obtener datos de
personas reales y evaluar si sus resultados cumplen con el objetivo. Este conversatorio
también sirvió para evaluar diferentes temas, entre ellos, el entorno visual y su interacción
con el usuario.
Para cumplir con los objetivos del proyecto, se estableció principalmente desarrollar un
algoritmo que solventara el problema mientras que los otros miembros del equipo trabajaran
en el entorno grafico el cual debería corresponder con el contexto de un videojuego y la
implementación de la solución del problema de forma interactiva (jugable). En este informe
se explicarán los objetivos logrados durante los dos meses de trabajo en el proyecto.
A mediados del siglo XIX, en Estados Unidos, los estudiantes de medicina al iniciar sus
pasantías como residentes eran enviados a distintos hospitales de los cuales recibían
ofertas y por miedo a que no pudieran obtener un mejor lugar o el de su preferencia
aceptaban las ofertas que llegaban sin fecha y en distinto orden. Esto causaba muchos
problemas ya que por lo general eran asignados a hospitales en los cuales no estaban
5
UCProg Análisis
interesados, además que los hospitales hacían sus ofertas desde mucho tiempo antes de
que culminaran sus estudios lo cual representaba un problema ya que no aseguraban que
al culminar su carrera cuenten con el perfil que buscan.
La idea de este trabajo surge a raíz de lo anterior, ya que Mullin necesitaba un algoritmo a
la hora de emparejar a los estudiantes con los hospitales. Tras varios años realizando
algoritmos no del todo satisfactorios, en 1951, se diseñó el llamado NRMP (Programa
Nacional de emparejamiento de residentes) que es el encargado de definir los algoritmos
que se siguen utilizando actualmente.
3.3 Justificación
El desarrollo de este programa busca implementar la solución de un problema de la vida
real de una forma interactiva y jugable en la cual se pueda evidenciar los conocimientos
adquiridos en la materia de algoritmos además de establecer e implementar algoritmos
esenciales para el desarrollo de problemas que se presentan en la vida diaria y enfoca al
ejercicio de nuestra carrera en un ámbito profesional.
6
UCProg Análisis
4. ANÁLISIS
4.1 Revisión de documentos
Algoritmo de Gale-Shapley
n ← no de mujeres
k ← no de parejas ya formadas
M ← mujer pretendiente
Ω ← mujer imaginaria
M←k
emparejar M con h
fin si
si M ̸= Ω entonces
fin si
k←k+1
su implementación en java
public class AlgoritmoBasico {
7
UCProg Análisis
h = MM[M][VM[M]];
if ((P[h][M + 1] > P[h][VH[h] + 1])) {
int t = VH[h];
VH[h] = M;
M = t;
}if (M != -1) { VM[M] = VM[M] + 1;
}}
k++; }
return VM; }
return l; }
con este algoritmo se estableció el número de personas con el cual se ejecutaría el juego
que es de 6, 3 mujeres y 3 hombres, con el fin de buscar en base a sus preferencias unos
de otros el mejor emparejamiento posible.
8
UCProg Análisis
El programa está limitado a tan solo un grupo de 6 personas a la vez y pueden existir casos
en los que no exista un emparejamiento optimo que satisfaga a las preferencias ingresadas
en el programa.
5. RECOMENDACIONES
Dado que en si el programa es un juego el cual busca emular el funcionamiento de una
agencia matrimonial, su implementación se hace con fines netamente académicos, por lo
general en las preferencias a la hora de elegir una pareja se consideran aspectos más
importantes no solo basados en características físicas y algunas personales, sino que
conlleva un tiempo considerable para conocer a la otra persona. Se recomienda tomar el
proyecto expuesto en este informe como un ejemplo de la implementación de la
programación para la solución de problemas orientados a la vida real y una muestra de su
potencial como herramienta para el desarrollo de aplicaciones.
6. CONCLUSIONES
El desarrollo de este proyecto resulto en una ardua investigación e implementación de todos los
conocimientos adquiridos en el transcurso de la carrera de ingeniería informática no solo enfocados
en programación sino también en contextos sociales ya que estos casos se pueden evidenciar en
muchos aspectos de la sociedad. Con esto se obtuvo un sistema capaz de desarrollar un algoritmo
que muestra un emparejamiento optimo en la mayoría de los casos de un grupo de personas
conformados por hombres y mujeres equitativamente; y mostrar su resultado de forma gráfica en
un contexto jugable en el cual el usuario, en este caso, grupo de usuarios pueden visualizar y
experimentar como sería la implementación y solución de un problema orientado a la vida real en un
sistema informático, el desarrollo del entorno grafica también resulto desafiante ya que se
implementaron nuevos conceptos en los que se basan los videojuegos actualmente con el fin de que
la experiencia de los usuarios se bastante buena. Para finalizar la realización del proyecto resulto en
una gran experiencia en el diseño y la búsqueda de algoritmos capaces de solucionar problemas
9
UCProg Análisis
cotidianos los cuales pueden continuar desarrollándose y servir de base para sistemas más
elaborados.
10