Diseño de un algoritmo basado en técnicas de minería de datos para el eficiente abastecimiento del inventario en las MYPES
Texto completo
(2) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. DEDICATORIA. A Dios:. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. SI C. A. S. A Dios, quien me dio la fe, la fortaleza, la salud y la esperanza para terminar este trabajo. A mis Padres:. Quienes me enseñaron desde pequeño a luchar para alcanzar mis metas. Mi triunfo es el de ustedes, ¡los amo!. A mis familiares:. Araceli. B. IB. LI O. TE. A los que nunca dudaron que lograría este triunfo: mis hermanos, mi hija y demás familiares.. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(3) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. A Dios:. SI C. A. S. Quien me dio la fe, la fuerza para poder seguir adelante, la salud y la voluntad de terminar este proyecto.. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. A mis Padres:. Pilares fundamentales en mi vida, con mucho amor y cariño, les dedico todo mi esfuerzo, en reconocimiento a todo el sacrificio puesto para que yo pueda estudiar.. A mis familiares:. Joshua Luis. B. IB. LI O. TE. Que me apoyaron para seguir adelante. A mi hermana por ser de gran apoyo en la culminación de este proyecto.. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(4) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. AGRADECIMIENTO. A la Universidad Nacional de Trujillo y a la Escuela Académico Profesional de Informática, por todo lo aprendido hasta el momento a través de su plana docente. A los directivos de las MYPES, por la confianza brindada en cuanto al progresivo cumplimento. A. S. de los objetivos trazados en el desarrollo de la presente tesis.. presente tesis.. SI C. Al Mg. Ing. Christian Araujo González, por su valiosa asesoría brindada en el desarrollo de la. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. A los docentes de la Escuela Profesional de Informática, que con sus sabias enseñanzas apoyaron el éxito de nuestra formación profesional.. A nuestros Amigos, por acompañarnos en todos los momentos importantes de nuestra vida universitaria.. B. IB. LI O. TE. Los Autores. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(5) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. PRESENTACIÓN. Señores Miembros del Jurado: De conformidad con lo establecido en el Reglamento de Grados y Títulos de la Universidad. S. Nacional de Trujillo, para obtener el Título de Ingeniero Informático, ponemos a vuestro. A. criterio de evaluación la tesis titulada:. SI C. “Diseño de un Algoritmo basado en Técnicas de Minería de Datos para el Eficiente Abastecimiento del Inventario en las MYPES”,. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. Esta tesis ha sido realizada con el fin de abastecer eficientemente el Inventario en las Micro y Pequeñas Empresas y, de esta manera se tendrá una mejor planificación logística de la misma. La realización del Diseño de un Algoritmo basado en Técnicas de Minería de Datos, no sólo ayudará al personal administrativo de las MYPES, sino mejorará de forma significativa la. TE. relación con los proveedores y por ende la imagen institucional.. Bach. Joshua Luis Figueroa Gutiérrez. B. IB. LI O. Bach. Araceli H. Azabache Santa María. Julio del 2015.. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(6) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. RESUMEN. En la actualidad, la facilidad para almacenar información en las empresas está produciendo un fenómeno que puede resultar contradictorio. Lo ideal y deseable sería que el crecimiento del volumen de datos almacenados conllevara a un aumento proporcional del conocimiento que. S. se pueda obtener a partir de ello; pero esto no siempre es así por varias razones. Una de ellas,. SI C. A. en la que se centra esta investigación, es la existencia de información oculta entre los datos, en este caso, de las ventas históricas utilizando la técnica de regresión lineal de la minería de datos para descubrir patrones de las ventas futuras y poder así determinar el abastecimiento. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. del inventario que no se puede obtener con métodos clásicos planteados solamente o por la teoría de inventarios o la logística y los pronósticos para planificar sus operaciones. Para resolver este problema se planteó un objetivo general de diseñar un algoritmo basado en técnicas de minería de datos y, para su cumplimiento se estableció el estudio de las fases que comprenden el proceso de minería, el análisis de la técnica de minería de datos regresión lineal aplicada a los pronósticos de ventas para planificar el abastecimiento del inventario en MYPES, el análisis y determinación de una técnica de diseño de algoritmo, que permita. B. IB. LI O. TE. obtener un algoritmo de pronóstico soportado en minería de datos.. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(7) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. ABSTRACT. At present, the facility for storing information in the companies is producing a phenomenon which may be contradictory. Ideally it would be desirable and that the growth of stored data volume entailed to a proportional increase of knowledge that can be derived from it; but this is. S. not always the case for several reasons. One of them, on which this research focuses is the. SI C. A. existence of hidden information in the data, in this case, of historical sales using the linear regression technique of data mining to discover patterns of future sales and save determine the supply of inventory that cannot be obtained with only posed the theory or inventory or. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. logistics and forecasts classical methods to plan their operations.. To solve this problem a general aim of designing a system based on data mining techniques and algorithm was proposed for the study of compliance phases that comprise the process of mining, the analysis of the data mining technique was established linear regression applied to sales forecasts to plan MYPES supply inventory, analysis and determination of an algorithm. B. IB. LI O. TE. design technique for obtaining a prediction algorithm supported in data mining.. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(8) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Índice general INTRODUCCION ...................................................................................................................... 14 Capítulo I: Planteamiento del Estudio...................................................................................... 15 Realidad Problemática ............................................................................................. 15. 1.2.. Formulación del Problema ....................................................................................... 15. 1.4.. Objetivos.................................................................................................................. 15. A. S. 1.1.. General ............................................................................................................ 15. 1.4.2.. Específicos ....................................................................................................... 16. SI C. 1.4.1.. Justificación del Problema ........................................................................................ 16. 1.6.. Limitaciones del Estudio ........................................................................................... 16. 1.7.. Síntesis Organizativa del Informe ............................................................................. 17. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. 1.5.. Capítulo II: Marco Teórico ....................................................................................................... 18 2.1.. Diseño de algoritmos ............................................................................................... 18. 2.1.1. 2.1.2. 2.1.3. 2.2.. 2.2.2. 2.2.3. 2.2.4.. El Proceso de Descubrimiento de Conocimiento en Bases de Datos (KDD) ........ 32 Fase de Minería de Datos ................................................................................. 34 Técnicas de Minería de Datos ........................................................................... 36. Metodología para proyectos de Minería de Datos ............................................ 41 Comparación de Metodologías para Proyectos de Minería de Datos ................ 50. LI O. Empresa: Micro y Pequeña Empresa (Mype) ............................................................ 52. 2.3.1.. IB. Técnicas del Diseño de Algoritmo ..................................................................... 26. TE. 2.2.5.. B. Proceso de Diseño de Algoritmo ...................................................................... 23. Minería de Datos...................................................................................................... 32. 2.2.1.. 2.3.. Algoritmos ....................................................................................................... 18. Definición de Empresa ..................................................................................... 52. 2.3.2.. Clasificación de las Empresas ........................................................................... 53. 2.3.3.. Micro y pequeña empresa en el Perú ............................................................... 54. 2.4.. Abastecimiento e Inventario .................................................................................... 55. 2.4.1.. Abastecimiento y la Logística en la Empresa Comercial .................................... 55. 2.4.2.. Inventario y La Teoría de Inventarios................................................................ 56. 2.4.3.. Modelos Matemáticos de Inventario ................................................................ 61. 2.4.4.. Sistemas de Control de Inventario: Clasificación de Materiales ........................ 61. 2.5.. Pronósticos .............................................................................................................. 62. 2.5.1.. Clasificación de pronósticos ............................................................................. 64. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(9) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Capítulo III: Materiales y Métodos .......................................................................................... 68 3.1.. Diseño de la Investigación ........................................................................................ 68. 3.1.. Indicadores .............................................................................................................. 68. 3.2.. Hipótesis .................................................................................................................. 69. 3.3.. Métodos y Técnicas ................................................................................................. 69. Análisis de las técnicas de diseño de Algoritmos ....................................................... 70 Divide y Vencerás............................................................................................. 72. 4.1.2.. Algoritmos Ávidos ............................................................................................ 72. 4.1.3.. Programación dinámica.................................................................................... 73. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. 4.1.5.. SI C. 4.1.1.. 4.1.4.. Vuelta atrás (Back tracking) .............................................................................. 74 Ramificación y poda ......................................................................................... 75. 4.2.. Análisis comparativo de las técnicas de diseño de algoritmos ................................... 75. 4.3.. Análisis de técnicas de minería de datos ................................................................... 77. 4.3.1. 4.3.2. 4.3.3.. Regresión ......................................................................................................... 79. Redes Neuronales ............................................................................................ 80 Arboles de decisión .......................................................................................... 81. 4.4.. Análisis comparativo de técnicas de minería de datos .............................................. 82. 4.5.. Análisis de técnicas de representación de algoritmos ............................................... 83. 4.5.1. 4.5.2.. 4.6.. IB. Nassi-Scheneiderman....................................................................................... 85 Pseudocódigo .................................................................................................. 85. Análisis comparativo de las técnicas de representación de algoritmos...................... 86 Diseño de un algoritmo basado en técnicas de minería de datos para el eficiente abastecimiento del inventario en las Mypes ............................................................. 87. LI O. 4.7.. Diagrama de Flujo ............................................................................................ 84. TE. 4.5.3.. B. A. 4.1.. S. Capítulo IV: Resultados ........................................................................................................... 70. 4.7.1.. Enfoque de Diseño ........................................................................................... 87. 4.7.2.. Esquema del Diseño de Algoritmo basado en técnicas de minería de datos ...... 88. 4.7.3.. Descripción del Diseño de Algoritmo basado en técnicas de minería de datos .. 91. 4.8.. Aplicación del diseño de algoritmo basado en técnicas de Minería de datos en una Mype ..................................................................................................................... 113. Capítulo V: Discusión ............................................................................................................ 147 Capítulo VI: Conclusiones, Recomendaciones y Trabajos Futuros .......................................... 154 6.1.. Conclusiones .......................................................................................................... 154. 6.2.. Recomendaciones .................................................................................................. 155. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 9. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(10) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 6.3.. Trabajos Futuros .................................................................................................... 155. Referencias Bibliográficas ..................................................................................................... 156. B. IB. LI O. TE. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. SI C. A. S. Anexos .................................................................................................................................. 159. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 10. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(11) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Índice de Tablas. B. IB. LI O. TE. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. SI C. A. S. Tabla 1: Cuadro comparativo de las Metodologías de Proyectos de Minería de Datos (Linares, 2011) ...................................................................................................................................... 50 Tabla 2: Cuadro comparativo de las técnicas de diseño de algoritmos (Elaboración Propia)..... 77 Tabla 3: Cuadro comparativo de las técnicas de minería de datos predictivas (Elaboración Propia) .................................................................................................................................... 83 Tabla 4: Cuadro comparativo de las técnicas de representación de algoritmos (Elaboración Propia) .................................................................................................................................... 86 Tabla 5: Descripción de las técnicas de transformación de datos (Elaboración Propia) .......... 103 Tabla 6: Error de estimación según tamaño de muestra (Pita Fernandez, 2010) .................... 106 Tabla 7: Ecuaciones para evaluar un modelo de regresión (Hernandez Orallo, 2004) ............. 111 Tabla 8: Entregables de cada proceso del Proyecto (Elaboración propia) ............................... 116 Tabla 9: Recursos de Software para el proyecto (Elaboración propia) .................................... 117 Tabla 10: Recursos de Hardware para el proyecto (Elaboración Propia)................................. 118 Tabla 11: Recursos de Fuente de Datos (Elaboración propia) ................................................. 118 Tabla 12: Recursos humanos necesarios para realizar el proyecto (Elaboración Propia)......... 119 Tabla 13: Riesgos del Proyecto (Elaboración Propia) .............................................................. 121 Tabla 14: Cronograma del Proyecto de Minería (Elaboración Propia) .................................... 121 Tabla 15: Variables identificadas (Elaboración Propia) ........................................................... 123 Tabla 16: Tabla detalle_venta - Base de Datos de MerPlaza (Elaboración Propia) .................. 124 Tabla 17: Tabla venta - Base de Datos de MerPlaza (Elaboración Propia) ............................... 124 Tabla 18: Tabla producto - Base de Datos de Merplaza (Elaboración Propia) ......................... 125 Tabla 19: Variables Identificadas en Base de Datos de MerPlaza (Elaboración Propia) ........... 125 Tabla 20: Tabla de clases y frecuencias del atributo "cantidad" - Tabla "detalle_venta" (Elaboración Propia).............................................................................................................. 126 Tabla 21: Tabla de clases y frecuencias del atributo "precio_venta" - Tabla "detalle_venta" (Elaboración Propia).............................................................................................................. 127 Tabla 22: Descripción de los atributos de la tabla de datos principal para el proyecto de minería de datos (Elaboración Propia) ............................................................................................... 133 Tabla 23: Matriz de correlación de los atributos cantidad, precio_venta, día (Elaboración Propia) .................................................................................................................................. 134 Tabla 24: Vista Minable para poder modelar con técnica de regresión lineal múltiple (Elaboración Propia).............................................................................................................. 135 Tabla 25: Tabla de variables entradas/eliminadas por método "Intro"(Resultado de SPSS) .... 136 Tabla 26: Tabla de variables entradas/eliminadas por método “Por pasos”.(Resultado de SPSS) ............................................................................................................................................. 137 Tabla 27: Tabla Resumen del modelo aplicando el método "Intro" de introducción de variables (Resultado de SPSS) .............................................................................................................. 137 Tabla 28: Tabla Resumen del modelo aplicado el método "Por pasos" de introducción de variables (Resultado de SPSS)................................................................................................ 138 Tabla 29: Tabla ANOVA de introducción de variables por método "Intro" (Resultado de SPSS) ............................................................................................................................................. 139 Tabla 30: Tabla ANOVA de introducción de datos por método "Por pasos" (Resultado de SPSS) ............................................................................................................................................. 139. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 11. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(12) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. B. IB. LI O. TE. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. SI C. A. S. Tabla 31: Tabla Coeficientes de Introducción de datos por método "Intro" (Resultado de SPSS) ............................................................................................................................................. 140 Tabla 32: Tabla de coeficientes de introducción de datos por método "Por pasos" (Resultado de SPSS) ................................................................................................................................ 141 Tabla 33: Tabla de variables excluidas por introducción de variables método "Por pasos" (Resultado de SPSS) .............................................................................................................. 142 Tabla 34: Tabla estadísticos sobre los residuos (Resultado de SPSS) ...................................... 143 Tabla 35: Tabla de eficacia obtenida aplicado Pronóstico con algoritmo y Pronóstico sin algoritmo (Elaboración Propia).............................................................................................. 148 Tabla 36: Tabla de costo-espacio de Forma tradicional y Valor pronosticado por algoritmo .. 150 Tabla 37: Tabla de eficiencia de acuerdo a costo-espacio y pérdida de ventas agrupado (Elaboración propia).............................................................................................................. 151 Tabla 38: Tabla de las variables estadísticas obtenidas (Elaboración Propia) .......................... 152 Tabla 39: Valores obtenidos de la distribución "t-Student" .................................................... 153. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 12. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(13) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Índice Figuras. B. IB. LI O. TE. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. SI C. A. S. Figura 1: Fases de resolución e implementación (Gallardo, 2010) ............................................ 19 Figura 2: Solución de un problema computacional (Gallardo, 2010) ........................................ 20 Figura 3: Símbolos para los Diagramas de Flujo (Gallardo, 2010) ............................................. 22 Figura 4: Fases de resolución del problema (Gallardo, 2010) ................................................... 23 Figura 5: Fases del proceso de descubrimiento de conocimiento en base de datos (Hernández Orallo, y otros, 2004) .............................................................................................................. 34 Figura 6: Fases del proceso de Minería de Datos (Pérez, 2007) ................................................ 36 Figura 7: Clasificación de técnicas de minería de datos (Pérez, 2007) ...................................... 37 Figura 8: Niveles de descomposición de la metodología CRISP-DMI (Chapman, 2000) ............. 42 Figura 9: Fases del método CRISP-DM (Linares, 2011) ............................................................. 43 Figura 10: Esquema de SEMMA (Linares, 2011) ....................................................................... 48 Figura 11: Modelos de CommonKADS (Linares, 2011) ............................................................. 49 Figura 12: Clasificación de las Empresas (Mercado, 2011) ....................................................... 53 Figura 13: Enfoque del algoritmo basado en técnicas de Minería de datos para el eficiente abastecimiento del inventario en Mypes (Elaboración Propia) ................................................ 87 Figura 14: Diseño de un algoritmo basado en técnicas de Minería de Datos para el eficiente abastecimiento del inventario en Mype (elaboración Propia) .................................................. 90 Figura 15: Parte de la Base de Datos de Ventas de Merplaza (Elaboración Propia)................. 123 Figura 16: Histograma del atributo "cantidad" - Tabla “detalle_venta” (Elaboración Propia) . 126 Figura 17: Histograma del atributo "precio_venta" - Tabla detalle_venta (Elaboración Propia) ............................................................................................................................................. 127 Figura 18: Histograma de regresión de residuo estandarizado (Resultado SPSS) .................... 144 Figura 19: Grafica de regresión residuo estandarizado (Resultado de SPSS) ........................... 145 Figura 20: Grafico de ecuación de regresión lineal múltiple (Resultado de SPSS) ................... 146 Figura 21: Regiones de Aceptación y Rechazo (Elaboración Propia) ....................................... 153. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 13. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(14) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. INTRODUCCION La cantidad de datos con las que cuentan las empresas se ha visto incrementada en los últimos años, Micro y Pequeñas empresas actualmente cuentan con medios para poder almacenar datos de sus transacciones anuales, mensuales, semanales incluso diarias. En estos volúmenes. S. de datos existe una gran cantidad de información oculta, de gran importancia estratégica, a la. SI C. A. que no se puede acceder por las técnicas clásicas de recuperación de la información. El. descubrimiento de esta información oculta es posible gracias a la Minería de Datos la cual nos permite explotar los datos, encontrar patrones y relaciones dentro de los datos. En una. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. empresa la Minería de datos brinda soporte a la toma de decisiones (decisiones que dependen de algún pronóstico) incrementando sus ganancias, maximizando la eficiencia operativa, reduciendo costos y mejorando la satisfacción del cliente.. El pronóstico tiene el poder de añadir más valor en la empresa, ayudando a los que toman decisiones a hacer los mejores juicios posibles acerca de los eventos futuros. En el mundo de los negocios actual, que cambia con rapidez, estos juicios pueden ser la diferencia entre el éxito y el fracaso. Ya no es razonable depender sólo de la intuición o la "percepción de la situación" personal al proyectar las ventas futuras, de las necesidades del inventario, o de los requerimientos de personal y otras variables importantes de la economía o de los negocios. Se ha demostrado que los métodos cuantitativos son útiles para hacer mejores pronósticos acerca del rumbo futuro de los eventos por lo que hemos querido realizar esta investigación acerca de este tema.. TE. Si las empresas dispusiesen del pronóstico correcto tendrían el potencial para que todo. LI O. funcione bien en la cadena de abastecimiento, especialmente en el abastecimiento del inventario, minimizando la inversión, monitoreando continuamente, para saber el nivel exacto. IB. en cada momento básicamente de artículos de importancia estratégica para la empresa o. B. artículos de alta rotación. Es posible para ello poder plantear el diseño de un algoritmo el cual nos permita un eficiente abastecimiento basándonos en las técnicas de minería de datos ya que estas ofrecen un nivel de predicción alto.. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 14. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(15) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Capítulo I: Planteamiento del Estudio 1.1. Realidad Problemática En el Perú, la Mype representan un sector económico muy importante, cerca del 98% del total de Empresas Peruanas, y crean empleo alrededor del 65% de la PEA (ENAHO,. S. 2011), generando riqueza en más del 40% del PBI. Un problema frecuente en la Mype es. A. el abastecimiento de los productos, no pueden tomar una decisión adecuada acerca de. SI C. la cantidad de productos o de la familia de productos que necesitan para la venta en determinado momento, el abastecimiento de productos innecesarios trae consigo una. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. serie de costos, como costo de espacio, de mano de obra para recibir, guardar, empacar, responsabilizarse de los productos guardados y la falta de ellos imposibilita dar el servicio comercial que el mercado requiere. El abastecimiento acertado del inventario en los momentos y cantidad adecuados ayuda a disminuir los gastos en la empresa así como pérdidas en las ventas (Muller, 2004).. Esto nos lleva a las siguientes características problemáticas:. Abastecimiento innecesario de productos, que no van a ser vendidos a corto tiempo. Las Mype no cuentan con los productos necesarios en el momento justo, originando pérdidas de ventas.. Falta de un modelo de inventario integrado con los procesos de ventas y compras. Costos elevados de los inventarios.. TE. Indecisión por la compra de productos.. LI O. 1.2. Formulación del Problema. ¿Cómo abastecer eficientemente el inventario en Mypes?. B. IB. 1.3.. Hipótesis Diseño de un algoritmo basado en técnicas de minería de datos permite abastecer eficientemente el inventario en Mypes.. 1.4. Objetivos 1.4.1. General Diseñar un Algoritmo basado en Técnicas de Minería de Datos para el eficiente abastecimiento del Inventario en las Mype. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 15. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(16) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 1.4.2. Específicos Realizar investigación bibliográfica para determinar enfoques y conceptos que permitan el diseño del algoritmo basado en técnicas de minería de datos. Analizar las técnicas de diseño de algoritmo y de minería de datos para el eficiente abastecimiento del Inventario en Mype.. S. Elaborar el diseño de un algoritmo basado en técnicas de minería de datos para. A. abastecer eficientemente el inventario en las Mype.. SI C. Verificar la validez del diseño del algoritmo y obtener resultados acerca de este.. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. 1.5. Justificación del Problema. Desde el punto de Vista Organizacional. El diseño de un algoritmo para abastecer el inventario asegurará cuánto comprar, beneficiando a la organización, al predecir oportunamente la adquisición de productos en cantidades adecuadas para su venta que permitan ahorrar entre otros costos, los de costos de espacio, de personal que supervisa, protege el inventario o impuestos basados en el valor del inventario y la posibilidad de atender el grado de servicio y disponibilidad requerido por los clientes.. Desde el punto de vista de Ciencias de la Computación. El análisis y aplicación práctica de las técnicas de minería de datos permiten la. TE. extracción de patrones, probando que el diseño de un algoritmo basado en técnicas de minería de datos, se puede aplicar al abastecimiento de un inventario en Mype. LI O. pudiendo utilizarse como un modelo aplicativo en futuros problemas.. B. IB. 1.6. Limitaciones del Estudio El diseño del algoritmo está dirigido a Mype comercializadoras de productos acabados. Mype en el rubro de comercialización de víveres de primera necesidad (abarrotes). La Mype deben contar con al menos un repositorio informático de datos en el cual incluyan el historial de ventas lo suficientemente grande como para poder aplicar Minería de Datos.. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 16. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(17) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. La predicción para el abastecimiento del inventario se da a corto plazo. El abastecimiento está dirigido a la cantidad de productos que la Mype debe obtener para el periodo de tiempo estimado, en este caso será para un producto específico.. A. En el presente trabajo consta de seis capítulos, organizados de la siguiente manera:. S. 1.7. Síntesis Organizativa del Informe. SI C. En el primer capítulo se trata el planteamiento del estudio, donde se muestra la realidad problemática, formulación el problema, objetivos generales y específicos, justificación y. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. limitaciones del estudio.. En el segundo capítulo, se presenta el marco teórico, donde se incluyen conceptos y teorías necesarios para el entendimiento y desarrollo del presente trabajo como técnicas de diseño de algoritmos, el proceso de extracción de conocimiento, minería de datos, pronósticos y temas relacionados al abastecimiento del inventario en Mype.. En el tercer capítulo, se detalla los métodos y técnicas utilizados en esta investigación.. En el cuarto capítulo se presentan los resultados obtenidos, donde primero se muestra el resultado del análisis de conceptos estudiados en el marco teórico; para luego plantear el. TE. diseño del algoritmo propuesto y su representación en pseudocódigo.. En el quinto capítulo se realiza la discusión de los resultados obtenidos en el presente trabajo,. LI O. con el fin de constatar el logro del objetivo general.. IB. Y en el sexto capítulo tenemos las conclusiones finales, algunas recomendaciones de mejora. B. para el trabajo realizado y posibles trabajos futuros.. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 17. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(18) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Capítulo II: Marco Teórico 2.1. Diseño de algoritmos 2.1.1. Algoritmos La principal razón por la que las personas aprenden a programar es para utilizar la. S. computadora como una herramienta para la resolución de problemas.. A. Ayudado por la computadora, la obtención de la solución de un problema puede. SI C. realizarse con una secuencia de siete pasos (Nakamura Corona, 2011) que a su vez. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. pueden agruparse en dos fases como se muestran en la Figura 1.. A. Fase de resolución del problema.. El resultado de esta primera fase es el diseño de un algoritmo, que no es más que un secuencia de pasos que conduce a la solución de un problema concreto, sin ambigüedad alguna, en un tiempo finito.. a) Definición del problema. Es casi la mitad del trabajo. Debe ser clara y precisa.. b) Análisis del problema. Es analizar que requeriríamos para realizar la tarea: datos de entrada,. TE. información a producir o salida y métodos y/o fórmulas para procesar los. c) Diseño del algoritmo. El cual detallaremos en la sección 2.1.3.. B. IB. LI O. datos.. B. Fase de implementación en la computadora. Se pasa a esta segunda fase sólo cuando dicho algoritmo haya sido probado y validado, se deberá entrar en detalles de implementación en un determinado lenguaje de programación; al algoritmo así expresado se denomina programa. Los algoritmos son independientes del lenguaje de programación y de la computadora que se vaya a emplear para ejecutarlo. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 18. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(19) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. d) Codificación e) Prueba y depuración f) Documentación g) Mantenimiento. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. SI C. A. S. Figura 1: Fases de resolución e implementación (Gallardo, 2010). 2.1.1.1. Definición de Algoritmo. En matemáticas, ciencias de la computación y disciplinas relacionadas, un algoritmo (del griego y latín, dixit algorithmus y éste a su vez del matemático árabe AlKhowarismi, que enuncio reglas paso a paso para sumar, restar, multiplicar y dividir números decimales) es un conjunto pre-escrito de instrucciones o reglas bien definidas, ordenadas y finitas que permite realizar. TE. una actividad (o solucionar un problema específico) mediante pasos sucesivos. B. IB. LI O. que no generen dudas a quien deba realizar dicha actividad. Dado un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia. (Melquiades, 2011) Un algoritmo es una secuencia de pasos que transforman los datos de entrada en datos de salida a través de un procesamiento o cálculos necesarios para encontrar la solución a un problema computacional bien especificado, como se muestra en la Figura 2.. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 19. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(20) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. SI C. A. S. Figura 2: Solución de un problema computacional (Gallardo, 2010). El enunciado del problema especifica en términos generales, la entrada deseada. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. y la salida relacionada. El algoritmo describe un procedimiento específico de cálculo para lograr la relación entrada / salida. (Cormen, y otros, 1990). 2.1.1.2. Representaciones de Algoritmos. Durante el proceso de diseño del algoritmo es preciso disponer de alguna herramienta para describirlo, se necesita disponer de un lenguaje algorítmico con el que reflejar las sucesivas acciones que resuelven el problema y que, además soporte lo mejor posible el acceso sucesivo de refinamiento en subproblemas. Una primera aproximación consistirá en utilizar para describir el algoritmo el lenguaje natural, pero debido a los innumerables problemas que plantea como la imprecisión o la ambigüedad, se ha optado por utilizar otras herramientas algorítmicas que describan con mayor exactitud la secuencia de. TE. acciones y el orden en el que han de ejecutarse.. B. IB. LI O. La característica común de cualquier lenguaje algorítmico es que debe ser independiente del lenguaje de programación a utilizar en la codificación. Un factor importante es que permita una traducción clara del algoritmo al programa. La decisión final del lenguaje depende de otras consideraciones y cualquier algoritmo debe de poder implementarse en cualquier lenguaje de programación. Las herramientas de programación utilizadas como lenguajes algorítmicos son no gráficos como el pseudocódigo y gráficos como los diagramas de flujo, diagramas estructurados Nassi-Schneiderman, Notación Backus-Naur. Con cualquiera de estas herramientas debe quedar bien reflejado el flujo de control. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 20. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(21) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. del algoritmo, que es el orden temporal en el cual se ejecutan los pasos individuales del algoritmo. El flujo normal de un algoritmo es el flujo lineal o secuencial de los pasos (uno a continuación de otro). Para apartarse del flujo normal lineal están las estructuras de control, que son construcciones algorítmicas que afectan directamente al flujo de control de un algoritmo. Una. S. permite repetir automáticamente un grupo de pasos (repetición). Otra permite. SI C. cuenta determinadas condiciones (selección).. A. seleccionar una acción de entre un par de alternativas específicas, teniendo en. A continuación detallaremos las principales técnicas de representación de. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. algoritmos:. a. Diagramas de flujo (DF). Con frecuencia es más sencillo expresar ideas gráficamente que mediante texto, un intento de proporcionar una visión grafica de la descripción de algoritmos son los diagramas de flujo. Estos son una herramienta grafica para la descripción de algoritmos que consta de una serie de símbolos estándar, que representa las distintas acciones del algoritmo, conectados mediante líneas que indican el orden en el cual deben realizarse las operaciones. Un DF muestra la lógica del algoritmo, acentuando los pasos individuales y sus interconexiones. Un DF debe reflejar:. El comienzo del programa. o. Las operaciones que el programa realiza. o. El orden en que se realizan. o. El final del programa. B. IB. LI O. TE. o. Algunos de los símbolos que se utilizan en los DF han sido normalizados por las organizaciones ANSI (American National Standard Institute) y por ISO (International Standard Organization) y son los mostrados en la Figura 3.. En la representación es conveniente seguir las siguientes reglas: El comienzo del programa (inicio) figurará en la parte superior del diagrama. Los símbolos de inicio y fin deberán aparecer una única vez. El flujo de las operaciones será de arriba abajo y de izquierda a derecha. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 21. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(22) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Se debe guardar cierta simetría en la representación de bifurcaciones y bucles. Se evitaran los cruces de líneas de flujo utilizando conectores.. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. SI C. A. S. Figura 3: Símbolos para los Diagramas de Flujo (Gallardo, 2010). Los DF han sido la herramienta de programación clásica por excelencia y la más usada. Tienen la ventaja de que muestran el flujo lógico de una manera clara, pero tienen varias limitaciones como que su complejidad aumenta con la complejidad del problema, son difíciles de actualizar y oscurecen la estructura. LI O. TE. del algoritmo que han hecho usarlos cada vez menos.. B. IB. b. Pseudocódigos. Los programas deben ser escritos en un lenguaje que pueda entender el ordenador, pero no olvidemos que nuestra forma normal de expresar algo es en lenguaje natural. De la aproximación entre ambos surge una herramienta para la descripción de algoritmos: el pseudocódigo. Es por tanto un lenguaje algorítmico que permite representar las construcciones básicas de los lenguajes de programación, pero a su vez, manteniéndose próximo al lenguaje natural.. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 22. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(23) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. A pesar de su flexibilidad el pseudocódigo tiene que atenerse a una serie de normas para que los algoritmos construidos resulten legibles, claros y fácilmente codificables, con este fin se le imponen algunas restricciones tales como: Los identificadores usados han de tener un significado de acuerdo a su contenido.. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. SI C. Contener un conjunto de palabras reservadas.. A. especificar cualquier tarea a realizar con suficiente detalle.. S. El conjunto de sentencias debe ser completo, en el sentido de permitir. Las principales ventajas del pseudocódigo son:. Podemos centrarnos sobre la lógica del problema olvidándonos de la sintaxis de un lenguaje concreto.. Es fácil modificar el algoritmo descrito.. Es fácil traducir directamente a cualquier lenguaje de programación el algoritmo obtenido.. 2.1.2. Proceso de Diseño de Algoritmo. Los pasos a seguir en la fase de resolución del problema de la cual se obtiene el diseño del algoritmo son los que mostramos en la Figura 4.. Análisis del problema. Diseño del algoritmo. B. IB. LI O. TE. Figura 4: Fases de resolución del problema (Gallardo, 2010). Verificación del algoritmo. Análisis del Algoritmo. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 23. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(24) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.1.2.1. El análisis del problema El análisis del problema es el primer paso para encontrar una solución computacional a un problema dado y requiere el máximo de creatividad por parte del analizador. El primer objetivo que nos debemos plantear es obtener una correcta comprensión de la naturaleza del problema. Este paso exige una. S. primera lectura del problema a fin de obtener una idea general de lo que se. ¿Qué información debe proporcionar la resolución del problema?. -. ¿Qué datos se necesitan para resolver el problema?. SI C. -. A. solicita. Una segunda lectura deberá servir para responder a las preguntas:. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. La respuesta a la primera pregunta indicará resultados deseados o salida del programa. La respuesta a la segunda pregunta indicará qué datos se deben proporcionar o las entradas del problema.. Un ordenador no tiene la capacidad de pensar y resolver el problema por sí mismo; una vez que el problema ha quedado bien definido debemos plantearnos buscar una secuencia de pasos que lo resuelvan e indiquen al ordenador las instrucciones a ejecutar, es decir, hemos de encontrar un buen algoritmo.. 2.1.2.2. El diseño del algoritmo. En ingeniería del software, el diseño de algoritmos es un método específico para poder crear un modelo matemático en base a un problema y poder resolverlo.. TE. Aunque en la solución de problemas sencillos parezca evidente la codificación en. B. IB. LI O. un lenguaje de programación concreto, es aconsejable el uso de algoritmos, a partir de los cuales se pasa al programa simplemente conociendo las reglas de sintaxis del lenguaje de programación a utilizar. Sin embargo, la solución a problemas más complejos pueden requerir muchos más pasos. Las estrategias seguidas usualmente a la hora de encontrar algoritmos para problemas complejos son las técnicas que describiremos más adelante en la sección 2.1.3.. 2.1.2.3. Verificación del algoritmo Una vez que se ha descrito el algoritmo utilizando una herramienta adecuada, es necesario comprobar que realiza las tareas para las que fue diseñado y produce los resultados correctos y esperados a partir de la información de entrada. Este. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 24. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(25) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. proceso de verificación del algoritmo también se conoce como prueba del algoritmo y consiste básicamente en recorrer todos los caminos posibles del algoritmo comprobando en cada caso que se obtienen los resultados esperados. Para lo cual realizaremos una ejecución manual del algoritmo con los datos significativos que abarquen todo el posible rango de valores y comprobaremos. S. que la salida coincide con la esperada en cada caso. La aparición de errores. A. puede conducir a tener que rediseñar determinadas partes del algoritmo que no. SI C. funcionaban bien y al aplicar de nuevo el proceso de localización de errores, definiendo nuevos casos de prueba y recorriendo de nuevo el algoritmo con. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. dichos datos. (Gallardo, 2010). 2.1.2.4. El análisis del algoritmo. El análisis de un algoritmo ha llegado a significar la predicción de los recursos. que requiere el algoritmo. En ocasiones son de interés primordial, los recursos como la memoria, ancho de banda de comunicación, o puertas lógicas, pero frecuentemente es el tiempo de cálculo lo que se desea medir. Por lo general, mediante el análisis de varios algoritmos candidatos a un problema puede ser fácilmente identificado el más eficiente. Tal análisis puede indicar más de un candidato viable, pero varios algoritmos inferiores suelen ser descartados en el proceso. Para poder analizar un algoritmo, debemos tener un modelo de la tecnología que se utilizará, incluyendo un modelo para los recursos y sus costos.. TE. Podemos asumir el uso de un procesador de acceso aleatorio, la máquina RAM. B. IB. LI O. donde se llevaran a cabo los programas informáticos; en este modelo de memoria RAM, las instrucciones se ejecutan una tras otra, sin operaciones simultáneas. El análisis de un algoritmo simple podría llegar a ser un desafío, las herramientas matemáticas necesarias podrían requerir la combinatoria discreta, teoría de la probabilidad elemental, la destreza algebraica, y la capacidad de identificar los términos más importantes en una fórmula. Debido a que el comportamiento de un algoritmo puede ser diferente para cada entrada posible, necesitamos un medio para resumir el comportamiento de las fórmulas simples, fácilmente comprensibles. (Cormen, y otros, 1990). Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 25. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(26) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.1.3. Técnicas del Diseño de Algoritmo Diseñar algoritmos, en algún sentido, es todo acerca de la teoría matemática detrás del diseño de buenos programas. (Melquiades, 2011) A través de los años, los científicos de la computación han identificado diversas técnicas generales que a menudo producen algoritmos eficientes para la resolución. S. de muchas clases de problemas. Aquí presentamos algunas de las técnicas más. y programación dinámica que permiten. SI C. de retroceso, ramificación y poda. A. importantes como son: dividir para conquistar, técnicas ávidas o voraces, el método. desarrollar la solución al problema planteado, algunas de ellas son: (Guerequeta,. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. 2000). 2.1.3.1. Algoritmos voraces. Es una técnica de diseño de algoritmos que se basa principalmente en usar la mejor opción para un momento dado, para obtener la mejor solución general.. El funcionamiento de esta técnica sigue los siguientes pasos:. o Para cada paso en el algoritmo se elige la mejor opción, que se tiene disponible.. o Se comprueba si la opción elegida podría llevar a la solución del problema. o Si esa opción se puede llevar a la solución se elige, sino se elige la siguiente mejor opción.. TE. o Si el conjunto de “mejores opciones” escogidas es solución, e termina el. B. IB. LI O. algoritmo, sino se continúa.. Esta técnica nos brinda muchas ventajas, las soluciones “ávidas” son muy fáciles de implementar, por lo tanto fáciles de depurar, la velocidad de ejecución es muy rápida además de usar muy poca memoria. Aunque pareciera que esta es la mejor forma de solucionar un problema, existe una desventaja muy importante, no todos los problemas se pueden resolver con esta técnica, ya que darían la solución apropiada para el mismo. También hay que tomar en cuenta que existen muchos algoritmos conocidos que utilizan esta técnica como son: Algoritmo de Kruskal, Algoritmo de Prim,. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 26. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(27) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Algoritmo de Dijkstra. Los dos primeros, son algoritmos para encontrar el árbol de expansión mínimo de un grafo, y el tercero sirve para encontrar la ruta mínima entre un par de nodos de un grafo. En los 3 casos, los algoritmos dan una solución óptima y correcta. Por lo tanto, si existe una solución voraz. A. S. correcta para el problema, es una solución que proporciona grandes ventajas.. SI C. 2.1.3.2. Divide y vencerás. Dividen el problema en subconjuntos disjuntos obteniendo una solución de cada uno de ellos para después unirlas, logrando así la solución al problema. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. completo. Esta técnica se basa en la idea “entre más simple mejor”.. En general, la técnica de divide y vencerás consta de 3 pasos, los cuales son los siguientes:. o Dividir: Divide el problema en problemas más pequeños (similares o iguales al problema original).. o Conquistar: Resolver los sub-problemas, usualmente de forma recursiva, hasta que los sub-problemas sean tan pequeños como para poder resolverlos directamente.. o Combinar: Unir las soluciones obtenidas en los sub-problemas para obtener la solución del problema original.. TE. Esta técnica tiene muchas ventajas, la primera es que después de dividir el. B. IB. LI O. problema en sub-problemas parecidos (que sería la parte complicada) su diseño e implementación son sencillos, otra ventaja es que provee una forma fácil y directa de solucionar problemas complejos, además de proporcionar una forma natural de adaptación a su ejecución en entornos multiprocesador. Una de sus desventajas es el gasto producido por usar recursión, y es por esa misma razón, la cantidad de datos a manejar es limitada y no es conveniente solucionar problemas con una cantidad de entradas recursivas extremadamente grandes.. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 27. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(28) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Algo importante que hay que tener en cuenta con esta técnica, es que muchos algoritmos eficientes usan este paradigma del diseño de algoritmos, algunos de los cuales son: Quick Sort, Merge Sort, BinarySearch (búsqueda binaria).. 2.1.3.3. Programación dinámica. A. S. Es una técnica usada para optimizar algoritmos mediante la utilización de “sub-. SI C. problemas superpuestos” y “subestructuras óptimas”. Esta estrategia, cuando existen subestructuras óptimas usa el principio de Bellman “en una secuencia de. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. decisiones óptimas toda sub-secuencia debe ser óptima”.. Para lograr la solución cuando existen subestructuras óptimas, se pueden seguir los siguientes pasos:. o Dividir el problema en sub-problemas más pequeños.. o Resolver estos problemas de manera óptima usando el mismo proceso (actual) recursivamente.. o Usar las soluciones óptimas obtenidas para construir la solución del problema original.. Cuando un problema se dice que tiene problemas superpuestos es que un mismo problema es usado para solucionar problemas mayores, cuando esto existe, con una mala implementación estos problemas son calculados muchas. TE. veces, para este caso, se usa una técnica de programación dinámica conocida. B. IB. LI O. como memorización, la cual almacena las soluciones calculadas, para evitar hacer de nuevo los mismo cálculos.. Para solucionar un problema con programación dinámica se pueden usar 2 enfoques. o Top – Down: Es una combinación de recursión y memorización, ya que el cálculo se realiza recursivamente y solamente se almacenan las soluciones para no calcularlas de nuevo en alguna entrada recursiva. o Bottom-up: Todos los sub problemas que se requieran para un problema general se calculan previamente, para así poder calcular soluciones mayores.. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 28. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(29) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Una forma general para abordar la programación dinámica se puede dividir en 4 pasos: o Definir la estructura de una solución óptima. o Definir recursivamente el valor de una solución óptima. o Calcular el valor de una solución óptima con un enfoque bottom-up.. SI C. A. S. o Construir la solución óptima con la información calculada.. Las ventajas de la programación dinámica son muy importantes, ya que de conseguir una solución correcta por esta técnica, la cantidad de cálculos y el uso. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. de memoria se reducen mucho. Con esto se logra que en problemas que calculados recursivamente o por medio de back tracking, se reduzca su orden de complejidad de una forma considerable.. De las desventajas más importantes de esta técnica, es que no es fácil solucionar problemas con programación dinámica, requiere de un análisis profundo, así como experiencia.. Además de que es dependiente del problema. En cuanto a la facilidad de implementación depende de tan complicada haya sido la solución encontrada. Unos de los grandes algoritmos de programación dinámica más importante es el de Floyd-Warshall, el cual nos permite calcular la ruta más corta entre todo par de nodos de un grafo. Además algunos problemas que se pueden resolver con esta técnica: Edit Distance, Matrix – Chain Multiplication, Longest Common. TE. Subsequence.. B. IB. LI O. 2.1.3.4. Ramificación y poda. Se basa en la construcción de las soluciones al problema mediante un árbol implícito que se recorre de forma controlada encontrando las mejores soluciones. Es una técnica parecida a la vuelta atrás con la única diferencia que se agregan ciertas condiciones para evitar hacer cálculos que no son necesarios. Si tomamos en cuenta que al usar la vuelta atrás se crea un árbol de recursión, lo que se hace con esta técnica, es quitar las ramas de ese árbol que no lleguen a la solución deseada.. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 29. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(30) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. Para lograr esto su funcionamiento se podría plantear los siguientes pasos: o Tomar un nodo (que se supone no ha recibido podas) dependiendo de la estrategia a seguir. o Ramificar este nodo (es decir, generar todos los posibles nodos hijos del nodo actual).. S. o Podar: de los nodos ramificados eliminar los que no lleven a la solución.. A. Esta técnica de solución tiene grandes ventajas, ya que toma los puntos fuertes. SI C. del back tracking, quitando algunas de sus desventajas, ya que eligiendo una buena estrategia se puede eliminar el cálculo de duplicados, así como hacer que. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. la convergencia a la solución sea mucho más rápida.. La desventaja más fuerte de esta técnica, es que depende mucho del problema. Después de analizar el problema, se puede obtener una estrategia adecuada para la convergencia del problema, y si las estrategias son complicadas implica una mayor dificultad al implementar, además de que si la estrategia elegida es incorrecta puede arrojar soluciones también incorrectas.. Los problemas que se pueden solucionar con esta técnica son muy variados, ya que a la mayoría de problemas que se resuelven por back tracking se les puedan agregar estrategias para acelerar su convergencia.. 2.1.3.5. Vuelta Atrás (Back tracking). TE. Se construye el espacio de soluciones del problema en un árbol que se examina. B. IB. LI O. completamente, almacenando las soluciones menos costosas.. Esta técnica también se le llama retroceso, es un método sistemático para iterar a través de todas las posibles configuraciones de un espacio de búsqueda, se puede decir que es una técnica o algoritmo general que puede ser adaptado para diferentes aplicaciones. Es un método de solución completo que revisara todas las posibles soluciones, es comúnmente implementado de forma recursiva.. La forma en que funciona se puede resumir en dos pasos: o Si el actual conjunto S es una solución al problema, de ser así procesarla (esto depende específicamente del problema).. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 30. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(31) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. o En otro caso, construir extensiones para el conjunto S e invocar el algoritmo con este nuevo conjunto.. Esta técnica tiene varias ventajas, una es la facilidad en la implementación, ya que con un poco de experiencia con recursividad implementar un back tracking. A. S. es relativamente sencillo, además este método se adapta fácilmente a muchos. SI C. problemas.. Una de las desventajas que tiene esta técnica, es que no se puede trabajar con. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. espacios de búsqueda muy grandes, además de que la implementación recursiva requiere de ciertos gastos de memoria extra, también hay que tener en cuenta que posiblemente se haga el cálculo de alguna solución que ya fue probada, en otro momento.. Las soluciones a algunos problemas comunes son implementadas por medio de back tracking, por ejemplo el problema de las 8 reinas, el recorrido del caballo o atravesar un laberinto. Aunque no es la solución más eficiente es la más directa para implementar.. A partir de un problema podemos encontrar diversos algoritmos candidatos diseñados con las técnicas arriba mencionadas, así también dependiendo del problema, podremos encontrar un algoritmo o solución más recomendada por ser la más fácil de desarrollar, entender y verificar. El análisis de un algoritmo nos. TE. permite predecir los recursos que este requiere, recursos como tiempo, memoria,. LI O. comunicación y así decidir, de los algoritmos propuestos o candidatos, el más. B. IB. eficiente.. Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 31. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
(32) Biblioteca Digital - Dirección de Sistemas de Informática y Comunicación - UNT. 2.2. Minería de Datos 2.2.1. El Proceso de Descubrimiento de Conocimiento en Bases de Datos (KDD) KDD se define como el proceso no trivial de identificar patrones válidos, novedosos, potencialmente útiles y, en última instancia, comprensibles a partir de los datos. En esta definición se resumen cuáles deben ser las propiedades deseables del. S. conocimiento extraído:. A. Válido, hace referencia a que los patrones deben seguir siendo precisos para datos. SI C. nuevos (con un cierto grado de certidumbre), y no solo para aquellos que han sido usados en su obtención.. C Y A M DE A TE C I M EN Á C TI IA C S A S FÍ. Novedoso, que aporte algo desconocido tanto para el sistema y preferiblemente para el usuario.. Potencialmente útil, la información debe conducir a acciones que reporten algún tipo de beneficio para el usuario.. Comprensible, la extracción de patrones no comprensibles dificulta o imposibilita su interpretación, revisión, validación y uso en la toma de decisiones. De hecho, una información incomprensible no proporciona conocimiento (al menos desde el punto de vista de su utilidad).. Como se deduce de la anterior definición, el KDD es un proceso complejo que incluye no solo la obtención de los modelos o patrones (el objetivo de la minería de datos), sino también la evaluación y posible interpretación de los mismos.. TE. (Hernández Orallo, y otros, 2004). Fases. LI O. KDD es un proceso iterativo e interactivo. Es iterativo ya que la salida de alguna de. B. IB. las fases puede hacer volver a pasos anteriores y porque a menudo son necesarias varias iteraciones para extraer conocimiento de alta calidad. Es interactivo porque el usuario, o más generalmente un experto en el dominio del problema, debe ayudar en la preparación de los datos, validación del conocimiento extraído, etc.. El proceso del KDD se organiza en torno a cinco fases (Hernández Orallo, y otros, 2004) como se ilustra en Figura 5. En la fase de integración y recopilación de datos se determinan las fuentes de información que pueden ser útiles y donde conseguirlas. A continuación, se Azabache Santa María, Araceli H.. Figueroa Gutiérrez, Joshua L. 32. Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajola misma licencia 2.5 Perú. Para ver una copia de dicha licencia, visite http://creativecommons.org/licences/by-nc-sa/2.5/pe/.
Outline
Documento similar
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comecial-Compartir bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia,
Esta obra ha sido publicada bajo la licencia Creative Commons. Compartir bajo la misma licencia versión Internacional. Para ver una copia de dicha licencia,
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.. Esta obra ha sido publicada bajo la
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú. Para ver una copia de dicha licencia,
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.. INDICE
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5 Perú.. ii
Esta obra ha sido publicada bajo la licencia Creative Commons Reconocimiento-No Comercial-Compartir bajo la misma licencia 2.5