DISCLAIMER: Hago esto obligado por Jastro, me está apuntando con una pistola ahora mismo, si el hilo os parece un coñazo quejaros a él!!
Bueno, me parece que soy el único al que le interesa el tema, pero voy a abrir un hilo para ver si hay más gente que le puede interesar o que no conoce el mundillo de la simulación y quiere empezar (como yo, no es que sea un experto).
Qué es la simulación?
Tomando como referencia la wiki: "La simulación es el proceso de diseñar un modelo de un sistema real y llevar a término experiencias con él, con la finalidad de comprender el comportamiento del sistema o evaluar nuevas estrategias -dentro de los límites impuestos por un cierto criterio o un conjunto de ellos - para el funcionamiento del sistema"
Como vemos hay varios pasos:
Definición del proyecto: ¿Qué pregunta queremos responder? ¿Cuál es el sistema y cuál la hipótesis? (si la hay)
Creación de un modelo: Esto son los mimbres que usaremos para responder la pregunta, normalmente vamos a simplificar mucho la pregunta.
Recogida de datos (si vamos a intentar modelar un sistema real, aquí de momento será todo inventado pero bueno).
Implementación del modelo (o como se llame, la terminología no es lo mío). Esto incluye desde generación de números aleatorios, hasta picar código y montar el sistema, vaya, lo que haga falta.
Extracción de resultados
Representación de resultados Esta en concreto me interesa mucho a mí, cómo hacer que los resultados se entiendan incluso por alguien que no domina el modelo.
Para qué servirá este hilo?
Llevo un tiempo con ganas de simular unas cosillas que no pondré de momento aquí (no por nada de confidencialidad, sino porque es un poco demasiado chungo al menos para mí y no quiero que me estropeéis la diversión haciéndolo por mí xD). Me gustaría ir proponiendo proyectos por aquí, tanto yo como quien se apunte, e ir aprendiendo juntos distintos métodos tanto de modelar un sistema como de programar y representar. Sé que puede sonar paliza y muy chungo, pero a ver si entre todos los interesados puede salir algo chulo.
Pienso que de hecho no es imprescindible que todos lo hagamos todo, (quien quiera hacerlo todo es bienvenido, yo lo haré o intentaré), si alguien quiere dedicarse solo a buscar un modelo o un algoritmo mejor, y comentarlo, también estaría bien, si alguien quiere dedicarse solo a implementar el algoritmo en haskell y en matlab y comparar guay, y si alguien solo quiere al final representar los resultados de una manera chula (y enseñarme cómo se hace) perfecto. La idea es tener cosas que hacer que no sean solo viciar al Lego Marvel Superheroes. Por este motivo me gustaría que al empezar con un "proyecto", entre todos nos pongamos de acuerdo con entradas/salidas de cada parte, para poder hacer las cosas modularmente (por ejemplo problema -> algoritmo devuelve lista de posiciones de x manera -> dibujamos las posiciones en un plot) sin liarnos con el formato. También serviría por si alguien quiere probar con otro modelo, para poder meterlo sin cambiar I/O.
Si hay un problema gordo podríamos usar un github (no lo he usado mucho xD).
Otra cosa, me gustaría montarme un pequeño portfolio/blog con los resultados y proceso de las distintas simulaciones que haga por aquí y aparte, y si queréis puedo poner el trabajo que hagamos conjunto también, o no, como queráis.
Proyectos
Para que os hagáis una idea, aquí hay una minilista: http://raider.mountunion.edu/CINDRICBB/sp01/sim/possible_projects.html
Si se os ocurre uno interesante, comentadlo y lo iremos poniendo en la cola.
Ahora pondré la primera propuesta y esperaré a ver reacciones, si os mola el formato del hilo, si creéis que hay que cambiar cosas y tal.
Primera propuesta: Modelar el sistema que usa una colonia de unas 50-100 hormigas para encontrar comida y representarlo (a ver cuánto se parece a la realidad de manera cualitativa). BONUS: Hacer simulaciones en otro tipo de geometrías que no sean la plana, y con obstáculos, hacerlo "dinámico" (poder meter la comida mientras las hormigas se están moviendo). Mi idea sería usar la metaheurística Ant Colony Optimization (como veis, bastante directo) con un random walking. Ya me explayaría con esto si a alguien le interesa seguir con el hilo.
Espero que haya interés, la simulación es una disciplina mu chula, quizás mi propuesta es un poco insulsa pero para empezar creo que está bien xD.