Trabajo bastante en biología matemática / epidemiología, donde la mayor parte del trabajo de modelado / ciencia computacional todavía está dominado por conjuntos de EDO, es cierto que a veces son conjuntos bastante elaborados de ellos. Una de las ventajas de estos modelos es que son bastante fáciles de describir y replicar. Una tabla de valores de parámetros, y las ecuaciones en sí mismas, y usted le ha dado a alguien todo lo que necesita para replicar su investigación de la forma que desee implementarla.
Pero los modelos algo más complejos han comenzado a ser más populares. Los modelos basados en agentes, en particular, parecen ser más difíciles de describir en una publicación y más difíciles de replicar, porque no necesariamente están perfectamente descritos por un conjunto de EDO. ¿Existen pautas, o solo experiencia práctica, para describir estos modelos de manera que los lectores entiendan lo que sucedió y los hagan relativamente fáciles de replicar?
fuente
Respuestas:
No trabajo en ese negocio, pero ingenuamente creo que hay tres partes en una descripción completa
Una descripción del panorama de datos en el que viven. Describa esto en términos de la estructura de datos (gráfico (dirigido o no dirigido, ponderado o no ponderado); árbol; matriz; ...) y los datos asociados con cada nodo. Tome nota del manejo de casos especiales, como las condiciones de límite periódicas o el estado asumido para los vecinos fuera de la región de prueba. Presumiblemente, esto tiene una conexión bastante clara con su dominio problemático.
Una descripción del estado interno del agente y cómo toma decisiones. De nuevo, espero que esto tenga una interpretación razonablemente clara.
Una descripción del tiempo relativo y / o sincronización de acciones y actualizaciones entre los agentes y el paisaje; y entre pares o grupos de agentes.
El pseudocódigo (o incluso el código real si no está demasiado contaminado con detalles de implementación) ayudará.
fuente
Hay algo llamado protocolo ODD (Descripción general, diseño y detalles), propuesto por Volker Grimm y otros para describir un modelo basado en agentes. Consiste en una lista de elementos necesarios para comprender el funcionamiento de un ABM y tiene como objetivo hacer que las descripciones de dichos modelos sean más estandarizadas.
La lista de verificación de lo que debe describirse consiste en:
Visión general
Diseño
Detalles
Más detalles se pueden encontrar en
Grimm, V., Berger, U., DeAngelis, DL, Polhill, JG, Giske, J. y Railsback, SR (2010). El protocolo ODD: una revisión y primera actualización. Modelado ecológico, 221, 2760–2768.
fuente
La mejor manera, con mucho, es incluir todo su código como material complementario. Si es posible, también incluya archivos con las semillas aleatorias relevantes necesarias para recrear sus resultados. Esto no solo permite a las personas recrear sus resultados (lo que quizás no le interese), sino que también les permite continuar más fácilmente donde lo dejó. Esto permite nuevas colaboraciones y citas para su trabajo. Desafortunadamente, esto viene con la dificultad de obligarlo a limpiar su código y asegurarse de que esté libre de errores. Por lo tanto, es más un ideal que lo habitual en la práctica. Pero al menos, debe archivar una versión de su código que se utiliza para producir sus resultados, de esa manera, si otro investigador solicita el código, puede producirlo.
En términos de la descripción en su documento, me concentraría en una descripción independiente de alto nivel de implementación de las características novedosas clave del modelo (esta es la parte práctica que la mayoría de los buenos documentos logran). Concéntrese en las características que cambiarán el resultado cualitativamente si se modifican. La mayoría de los modelos con los que trabajo producen resultados cuantitativos, pero las cantidades específicas generalmente no son de interés, solo el comportamiento cualitativo (ya que los parámetros generalmente están lejos de ser observables en la naturaleza). Por lo tanto, me concentro en describir las partes del modelo, que si se modifica cambiarán el comportamiento cualitativo del sistema. Si esta mentalidad me obliga a describir hasta el último detalle de mi modelo hasta la implementación, entonces sé que mi modelo no es muy robusto y, por lo tanto, debería descartarse.
Una buena manera de probar si su descripción en papel es suficiente, es pedirle a un amigo (o estudiante) que no trabajó en este proyecto con usted que describa cómo podrían implementar su modelo es un pseudocódigo. Si no se atascan al intentar esto (ya que llegan a un boceto de un modelo que debería producir los mismos resultados cualitativos), entonces sabe que ha hecho un buen trabajo de descripción.
fuente