viernes, 31 de enero de 2020
Tipos de Algoritmos - Investigación
¿Qué es un algoritmo?
Se denomina algoritmo a una combinación de pasos lógicos dispuestos de forma organizada para resolver un problema. Los algoritmos ayudan a ordenar el trabajo en numerosas disciplinas. En informática se utilizan para expresar las ‘instrucciones’ con las que se realizan las funciones, y se suele expresar mediante diferentes tipos de diagrama. El esquema más conocido es el diagrama de flujo, que muestra paso por paso como se debe proseguir, y principalmente, las preguntas que el operador se debe hacer para proseguir con el siguiente paso y así llegar al final del proceso. Si algún paso falla, el algoritmo permite “retroceder ordenadamente” la cantidad de pasos que sean necesarios para corregir el error.Clasificación y Tipos de algoritmos
Se ha clasificado a los algoritmos de diversas formas, de acuerdo con algunos de sus atributos. Por ejemplo:A) Según el sistema de signos con el que describen los pasos a seguir, se reconocen:
- Algoritmos cualitativos: cuando se hace a través de palabras, es decir, las instrucciones son verbales. Sucede, por ejemplo, con recetas de cocina.
- Algoritmos cuantitativos: cuando se hace a través de cálculos numéricos. Se puede hacer un algoritmo, por ejemplo, para obtener la raíz cuadrada de un número.
B) Según su función, los algoritmos pueden ser:
- Algoritmos de ordenamiento: secuencian los elementos que ingresan a partir de un cierto orden, en general, según un orden numérico o léxico.
- Algoritmos de búsqueda: al contrario de realizar operaciones o secuenciar elementos, se dedica a encontrar dentro de una lista que ingresa, uno o varios elementos en particular que cumplan con el conjunto de condiciones dadas.
- Algoritmos de encaminamiento: deciden de qué modo se deberá transmitir algo que llega, y cómo seguirá un conjunto de pasos encadenados. Se dividen fundamentalmente entre adaptativos y estáticos, los primeros con cierta capacidad de aprendizaje y ajuste a la circunstancia, mientras que los segundos funcionan mecánicamente, siempre del mismo modo. Es importante decir que los algoritmos de encaminamiento cuentan con una propia subdivisión, según el camino que se toma para que la transmisión llegue de manera efectiva (ejemplos de estos tipos son: por el camino más corto, de manera óptima, basado en el flujo, etc.).
C) También los algoritmos han sido clasificados según la estrategia que se utiliza para llegar al resultado. Veamos algunos ejemplos:
- Algoritmos probabilísticos: no se puede estar seguro de la exactitud de la respuesta que darán. Se agrupan en distintos subtipos, pero con esa premisa: o bien presentan soluciones aproximadas del problema, o bien presentan soluciones que pueden ser correctas pero también erróneas.
- Algoritmo cotidiano: es el que se da en la vida común de las personas, no se aplica en sistemas informáticos ni en nada ajeno al día a día. Muchas de las decisiones que se toman desde que uno se despierta por la mañana pertenecen a este grupo.
- Algoritmo heurístico: abandona alguno de los objetivos como recurso para terminar llegando a la solución. En general, son utilizados cuando no existe una solución mediante las vías tradicionales.
- Algoritmo de escalada: se comienza con una solución insatisfactoria (que no cumple la entrada y la salida), y se la va modificando aproximándose a lo que se busca. En algún momento, estaremos cerca de (o llegaremos a) la solución correcta.
- Algoritmo voraz: Con la idea de llegar a una solución óptima definitiva, elige analizar cada paso como único y elegir la solución óptima para ese paso.
- Algoritmo determinista: es completamente lineal (cada paso tiene un paso sucesor y un paso predecesor) y por lo tanto predictivo, si se conocen sus entradas y su forma de proceder. El algoritmo de Euclides, que permite averiguar el máximo común divisor entre dos números, responde a este tipo. Se distinguen de los no deterministas, donde el algoritmo tiene un comportamiento en forma de árbol.
jueves, 30 de enero de 2020
miércoles, 29 de enero de 2020
martes, 28 de enero de 2020
Metodologia de una simulación - Investigación
Definición del Sistema
Para tener una definición exacta del sistema que se desea
simular, es necesario realizar un análisis preliminar de este, con el fin de
determinar:
- La interacción que tiene con otros sistemas.
- Las restricciones del sistema.
- La frontera del sistema y el alcance.
- Las variables que actúan dentro del sistema y sus interrelaciones.
- Y los resultados que se espera obtener del estudio.
Además hay que planificar el estudio en términos de
personal, costo y tiempo.
Formulación del modelo
En esta fase se define y construye el modelo preliminar
con el cual se obtendrán los resultados deseados. En la formulación del modelo
es importante definir todas las variables que forman parte del sistema, sus relaciones
lógicas y los diagramas de flujo que describan en forma completa al modelo.
Colección de datos
Es posible que la obtención de datos sea fácil de
conseguir y en otros casos sea un poco dificultoso; esto puede influenciar en
el desarrollo y formulación del modelo. Por consiguiente, en esta etapa es muy importante
que se definan con claridad y exactitud los datos que el modelo va a necesitar
para producir los resultados esperados. Además, se debe seleccionar la información
útil para determinación de las distribuciones de probabilidad asociadas a cada
una de las variables aleatorias necesarias para la simulación [Eduardo García].
Aunque en algunos casos la información requerida se suele obtener de registros contables,
órdenes de trabajo, órdenes de compra, opiniones de expertos y si no hay otro
medio se hace por experimentación.
Construcción del programa que representa el modelo
La construcción del programa que represente al modelo se
encuentra mucho más clara, ya que en el modelo matemático se determina y/o
clarifica las entidades, atributos, variables, entre otras. Pero, por la
mayoría de las veces, la construcción del programa que represente al modelo, no
es una tarea fácil de lograr, ya que en esta fase, además de modelar, se tiene
que especificar partes del programa en su ejecución, cosa que no se puede hacer
mención en el paso anterior.
Una de las ventajas de este paso es que en este nivel ya
debemos pensar en cómo funcionaría nuestra simulación y de acuerdo a esta idea
lo plasmaríamos en nuestra construcción. En esta fase es donde empieza a actuar
el programador de la simulación Por la mayoría de las veces la fase de formulación
del modelo matemático y la fase de construcción del programa que represente el
modelo van siempre desarrollados paralelamente, ya que ambas se basan entre sí.
Validación
Teniendo en cuenta la definición presentado en el
apartado anterior. Ahora llevando a nuestro tema podríamos decir que la
validación del modelo, es la fase que en la que se lleva a cabo las pruebas
necesarias para ver el comportamiento que tiene esta, si es perjudicial o no
con su entorno.
A pesar de que se haga varias pruebas para la validación
del modelo, hay ciertas dificultades o desventajas que se tiene, tales como:
- No existe validación general , ya que cada modelo se valida con respecto a sus objetivos.
- Otra idea que se tiene con respecto a esto es que la idea de simulación es construir modelos sencillos y para objetivos específicos y concretos, y esto es una definición muy lejana a la validación general
- Puede no existir un mundo real con el cual comparar, ya que la mayoría de las veces se tiene, al momento de simular, un lugar de donde podemos apoyarnos. Ahora en el caso que nos pidan desarrollar una nueva funcionalidad de un sistema o servicio, ya no tendríamos en que apoyarnos.
- A veces los datos obtenidos del mundo real no son precisos, La validación supone comparar los datos obtenidos de la simulación con los obtenidos en un caso del mundo real, pero hay veces en que en el mundo real hay, pequeños o grandes, márgenes de error. En este caso no existirían garantías de que la simulación logre resultados agradables.
En esta etapa el validador debe tener un excelente juicio
y saber el entorno en el cual se está desarrollando esta simulación. Es en esta
etapa donde se valora las diferencias entre el funcionamiento del simulador y el
sistema real. Según la gran enciclopedia Wikipedia, dice que existen 5 formas
más comunes de validar un modelo, las cuales son:
- La opinión de expertos sobre los resultados de la simulación.
- La exactitud con que se predicen datos históricos.
- La exactitud en la predicción del futuro.
- La comprobación de falla del modelo de simulación al utilizar datos que hacen fallar al sistema real.
- La aceptación y confianza en el modelo de la persona que hará uso de los resultados que arroje el experimento de simulación.
Experimentación
Básicamente los experimentos de simulación buscan
respuestas a casuísticas que puedan suceder o afectar el programa. Responden a
la pregunta ¿Qué pasaría si? Claro está que este tipo de pregunta se puede experimentar
en cualquier parte del ciclo de vida del programa de simulación, pero en
cualquier parte significaría solucionar diferentes alternativas de solución
ante un determinado problema y/o mejora que pueda existir en el desarrollo o
diseño del programa.
Este método ha sido reconocido oficialmente como uno de
los pasos a seguir dentro del desarrollo de un programa de simulación, pero
rara vez aplicada.
En la monografía hecha para el General Ricardo Torrón
Durán, dice que:
En general las respuestas que buscamos mediante los
experimentos servirán de soporte a una decisión racional sobre el sistema.
En general las respuestas que buscamos mediante los
experimentos servirán de soporte a una decisión racional sobre el sistema. El
ing. Efrain Muretti plantea tres formas de análisis más comunes en el
desarrollo del experimento, las cuales son:
- Comparación de las medias y varianzas de las alternativas analizadas: Se le denomina mayormente como diseño de experimentos de un factor simple. Para poder cumplir con este tipo de análisis, es necesario tener el tamaño de la muestra y las condiciones iniciales.
- Determinación de la importancia y el efecto de diferentes variables en los resultados de la simulación: Toma como base el análisis de la varianza y técnicas de regresión como medios para así poder encontrar y evaluar la importancia y/o el efecto de varias variables en los resultados.
- Búsqueda de los valores óptimos de un conjunto de variables: Se utiliza algoritmos heurísticos de búsquedas
Interpretación
En esta etapa del estudio, se interpretan el resultado
que se obtienen de la simulación y en base a esto se toma una decisión. Sin
duda los resultados que arroja la simulación ayudan a soportar decisiones del
tipo semi-estructurado, es decir, la computadora por sí sola no toma una decisión,
sino que la información que proporciona ayuda a tomar mejores decisiones y por
consiguiente obtener mejores resultados.
Documentación
En esta fase final son requeridos dos tipos de
documentación para hacer un mejor uso del modelo de simulación. La primera se
refiere a la documentación de tipo técnico, es decir, este documento permitirá
el uso del modelo generado en caso de que se requieran ajustes futuros. En ella
se deben incluir los supuestos del modelo, las distribuciones asociadas a sus
variables, todos sus alcances y limitaciones. La segunda se refiere al manual
del usuario, con el cual se facilita la interacción y el uso del modelo
desarrollado a través de una terminal de computadora.
Pasos para realizar una simulacion - Investigación
COMO
HACER UNA SIMULACIÓN
En un proyecto de simulación
la construcción del modelo ocupa como máximo la quinta parte del tiempo total
del estudio. Esto quiere decir que la construcción de un modelo es solo el paso
final en un estudio para hacer una simulación.
Para nuestros días la aparición
de computadores con altas capacidades de procesamiento nos ha entregado una
solución de tipo práctico cuando deseamos organizar situaciones complejas, con
comportamientos aleatorios en su interior y con intrincadas relaciones entre
los elementos que conforman dicho sistema. La simulación es una animación
mediante programas para computador, de situaciones reales, con el objetivo de
analizar su estructura o forma física y encontrar soluciones que conlleven a
mejores características de las mismas desde el punto de vista productivo o del
orden.
Es importante que se sigan
ciertos pasos para hacer la simulación, que es un problema considerable que
requiere que alguien lo organice para resolverlo.
Cuando se desea hacer una
simulación las personas deben preguntarse qué es lo que se desea simular y de
cuánto tiempo se dispone para hacer este trabajo. El primer aspecto está relacionado
con el planteamiento de un objetivo y el segundo, con la determinación de la
utilidad del mismo, porque el comienzo y el fin de un proyecto de simulación
han de estar enmarcados en una cantidad finita de tiempo que permitirá
implementar prontamente los resultados del análisis realizado mediante el
proyecto de simulación.
PASO
1: ELABORAR UN PLAN DE ESTUDIO.
En este paso se desarrollaran
cuatro fases que son: Definir objetivos, Identificar limitaciones y
restricciones, conocer las especificaciones, desarrollar planeación y definir
resultados. En cada una de las fases se guiará al simulador mediante el
cuestionamiento, es posible que algunas preguntas no tengan lugar; sin embargo
la fase ha de quedar completamente clara.
Definir Objetivos: Este paso
es muy importante, sin la claridad absoluta no tiene sentido ningún esfuerzo
para lograr una simulación, no es raro encontrar proyectos de simulación en
donde no se sabe a dónde se quiere llegar, un modelo construido sin norte es un
proyecto sin frutos apreciables. Para definir los objetivos se pueden responder
las siguientes preguntas.
• Qué y cómo desea medir el
desempeño de la simulación?
• Quién utilizara el modelo?
• A quien se le presentará
la información obtenida del modelo?
• Qué información se espera
obtener del modelo?
•Qué tan importante es la
decisión que se espera tomar a partir del modelo?
Identificar limitaciones o
restricciones.
Como en todo proyecto real
existen limitaciones, es importante tenerlas presentes, para enmarcar el
proyecto en la libertad que se dispone, sin contratiempos por limitaciones que
no se han advertido; las limitaciones o restricciones son de tres tipos:
Económicas, de tiempo y de información. Las siguientes preguntas ayudan a
identificar las limitaciones o restricciones.
• Cuál es el presupuesto
para el estudio?
• Cuáles son las habilidades
que se poseen para realizar el estudio?
• Se tiene acceso a la
información requerida?
• Qué tipo de computador se
utilizara en el estudio?
Conocer las
especificaciones.
Las especificaciones se
determinan cuando los objetivos y las restricciones ya se han definido e
identificado. Son de tres: alcance, nivel de detalle, grado de exactitud; deben
ser justas con el fin de dar los mejores resultados en términos de tiempo,
recursos y utilidad.
- Alcance: Determina un inicio y un final del proyecto.
- Nivel de detalle: Se puede describir como la definición o densidad del modelo, las situaciones requieren detalles irrelevantes para analizar la estructura del problema por lo cual esta especificación ha de ser lo necesario para no extenderse en el modelado de características inútiles.
- Grado de exactitud: Es lo que se puede esperar de los resultados del modelo, si el modelo ha sido construido con información basura el modelo arrojara información basura. La confiabilidad de la información con la que se construye el modelo determina la precisión de los resultados.
- Desarrollar planeación y definir resultados: En esta fase es indispensable que se organice un cronograma de actividades, para esto debe tenerse en cuenta que en general la mitad del tiempo total del proyecto está destinado a definir las diferentes cuestiones, y que solo del diez al veinte por ciento del tiempo total se dedicará a construir el modelo.
PASO
2: DEFINIR EL SISTEMA.
Este paso comprende dos
cuestiones, la primera relacionada con la determinación de la información
requerida y la segunda, relacionada con el uso apropiado de las fuentes de
información.
Para determinar la
información requerida es necesario responder el siguiente grupo de preguntas:
• Cómo está distribuida la
planta y cuáles son sus dimensiones?
• Cuantos centros de trabajo
tiene el proceso?
• Cuáles son los tiempos de
proceso de cada centro de trabajo?
• Cuantos productos o
subproductos se quieren introducir en el modelo?
• Quién requiere un recurso
y cuando y donde lo necesita?
• Qué se desea medir?
• Cuáles serán los
indicadores que se deberán tener en cuenta?
• Cuanto tiempo se simulará
el proceso?
• Qué tan variable es el
proceso; se podría estandarizar?
• Quién es la persona que
utilizara el programa de simulación?
En cuanto al uso apropiado
de las fuentes de información, las siguientes son los documentos o archivos más
adecuados para adquirir información.
• Los diagramas de proceso.
• Los estudios de tiempo.
• Los planos de planta.
• Los diagramas de flujo.
• Los pronósticos de
mercadeo.
• La historia que se tenga
en reportes o en otro tipo de formato.
Se recomienda no usar
suposiciones o en el caso de que esto sea inevitable usar la menor cantidad
posible, en cuanto a los tiempos es de mucha utilidad por simplicidad de los
modelos usarlos en forma estandarizada.
PASO
3: CONSTRUIR EL MODELO.
La construcción de modelos
con el software ProModel, es el tema central del siguiente capítulo, en él se
examinan las minuciosidades del manejo de esta herramienta para hacer esta
tarea.
Por lo general, al construir
el modelo todo el proceso de definición ha de estar completo, los modeladores
pueden construir el modelo por etapas en las que se determinan entradas y
salidas, con lo que se logra ensamblabilidad, con esto, los modelos cuando son
muy grandes, pueden construirse paralelamente o seguidamente una etapa de la
otra.
PASO
4: EJECUTAR EXPERIMENTOS.
En este paso, con la mirada
puesta en el objetivo de la simulación se hacen replicaciones con el fin de
observar los cambios que ocurren en los resultados. Existen dos tipos de
simulaciones: terminales y no terminales.
Terminales: Son modelos que
están perfectamente definidos en el tiempo, es decir su comienzo y final se
pueden determinar por un número.
Para determinar los
experimentos con este tipo de modelos las siguientes preguntas nos aclaran las
situaciones:
• Cómo debería ser el estado
inicial del modelo?
• Cuál es el evento que
ocasionara la finalización del modelo?
• Cuántas replicaciones
deberán hacerse?
No terminales: Modelos en
los cuales el proceso nunca termina, hay que fijar algún tipo de finalización,
por ejemplo, cierto periodo de tiempo. El ejemplo más usual es una empresa que
fabrica puntillas.
PASO
5: ANALIZAR LOS RESULTADOS.
Mediante este paso se busca
encontrar los cuellos de botella del proceso o de la simulación misma; las
herramientas de análisis más fuertes se hallan en los gráficos y tablas de
resultados que arroja el programa de simulación; esta tarea no es sencilla, y
sin ella el trabajo de simulación no conllevaría a nada, por lo cual el
analista ha de interpretar los datos con la mayor inteligencia y dominio de la
situación que haya adquirido.
PASO
6: REPORTAR LOS RESULTADOS.
Esto es tan importante como
la información obtenida y no constituye un paso de último momento sin
relevancia, por el contrario la información reportada debe ser clara y concisa,
la utilización de gráficos es una excelente opción. Aquí es importante reportar
por lo menos los siguientes literales.
• De qué manera se
construyó.
• De donde se extrajo la
información.
• Como almacenar la
información original.
• Identificar las variables
y los atributos utilizados.
• Identificar a las personas
que realizaron la simulación.
• Establecer la fecha de la
simulación.
Suscribirse a:
Entradas (Atom)



