Hola y bienvenidos a la unidad 7 de la introducción al modelado basado en agentes en esta unidad vamos a discutir 3 conceptos comunes que uno tiene que pensar cuando construimos nuestros propios modelos basados en agentes verificación, validación y replicación y estos están relacionados debido a que están vinculados entre sí la primera cosa de la que quiero hablarles es de la distinción entre verificación y validación la verificación es el proceso mediante el cual uno se asegura que el modelo conceptual coincida con el modelo que fue implementado comenzamos diseñando el modelo y empezamos pensando en cómo se va a ver el modelo uno escribió un modelo basado en agentes que es una pieza de código, un producto del código, un artefacto si queremos, basado en el modelo conceptual la verificación nos da certeza acerca de que nuestro modelo implementado coincida con el modelo conceptual por otra parte, la validación es el proceso mediante el cual nos aseguramos que nuestro modelo implementado coincida con el mundo real, hay algo acerca de la forma en que construimos nuestro modelo, nos ayuda a comprender que sucede en el mundo real, esto puede venir de experimentos mentales, un tipo de punto de vista, podría venir de la necesidad de tener un pronóstico acerca de lo que pasa pero en algún sentido nos ayuda a entender el mundo real la replicación no fue mencionada en esta diapositivo, pero está vinculada con cada una de ellas, ya que sucede cuando alguien más trata de construir un modelo implementado que se basa en nuestro modelo conceptual y en ese escenario nos ayuda para iluminar algunos de los procesos que involucran a la verificación y a la validación, del que hablaremos más adelante la comunicación es esencial para la veriificación vamos a comenzar hablando de verificación a veces el desarrollador del modelo y el autor del modelo no son la misma persona una persona implementa el modelo y hay otra persona que piensa el modelo reducir o eliminar la distancia que existe entre el desarrollador y el autor puede ayudar a mejorar el modelo como un todo puede mejorar la verificación de hecho NetLogo fue escrito en parte como para ayudar a estar seguro de que esa distancia es la menor posible, así el desarrollador del modelo, quien escribe el modelo puede compartir ese modelo directamente con el autor del modelo de tal manera que ambos pueden comprender que es lo que ocurre el rigor en la verificación asume un número diferente de formatos y veremos el rigor en la verificación, es decir que estamos usando estándares apropiados para verificar que el modelo fue implementado correctamente uno de los estándares es la documentación que hemos discutido antes, siempre tenemos que estar seguros que el diseño conceptual y que la documentación sobre la implementación están bien documentadas el modelo implementado tiene que estar bien documentado, de hecho en el mejor escenario posible uno debería poder tomar partes del modelo conceptual y que se reflejen directamente en la implementación algunos ejemplos de la verificación vienen con el testeo de la programación, probar el código del modelo y esto se puede realizar de diversas formas, vamos a hablar de algunas de ellas mediante algunos ejemplos el testeo de las unidades significa que vamos a testear componentes individuales del código el código paso a paso significa que nos vamos a sentar con alguien más y avanzamos a través del código y le explicamos que es lo que estamos haciendo en esa parte del código, para que pueda ser comprendido el debugueo paso a paso implica que cuando corremos el código y vamos parando para estar seguros que está haciendo lo que esperamos en cada punto individual y el testeo formal es algo a considerar en los modelos basados en agentes debido a que a veces los modelos basados en agentes son demasiado complejos para entenderlos pero en algunos casos se puede probar que el código cumple con lo que uno se propuso además del test de programación tenemos el testeo de casos y escenarios aquí es donde nos situamos entre la validación y la verificación lo que realmente queremos hacer es probar el modelo conceptual y ver si coincide con el modelo implementado nuestro modelo conceptual está construido sobre el mundo real, en algún sentido ya estamos probando la relación entre el modelo implementado y el mundo real pero no es ese el objetivo de este test, el objetivo es probar la relación entre el modelo conceptual y el modelo implementado una par de cosas que hay que tomar en cuenta, podemos pensar en un nivel más alto, probar los componentes, probar el modelo local de una vez por ejemplo el caso de las esquinas, que es cuando asignamos parámetros a 0 o algunos parámetros son asignados al máximo valor y luego corremos el modelo para ver si realmente hace lo que esperamos el caso de las muestras, podemos, al azar, probar un conjunto de muestras y ver si la conducta del sistema, al menos no rompe el sistema, al menos cumple con la conducta que esperamos puede ser que para algunos escenarios particulares, uno puede saber cuales son los valores, podemos pensar de nuevo en el modelo de difusión que construimos en la unidad 4, nosotros sabemos que si asignamos la influencia a valores de 0 nada va a suceder, no hace nada y eso es un valor de salida natural para el modelo podemos realizar también una prueba de valores relativos, puede ser posible que ajustando algunos de los valores, que están relacionados, podemos obtener algunas intuiciones acerca de lo que está sucediendo, sabemos que si el eje X va para arriba, el valor de salida también irá para arriba podemos probar eso esta es una clase de introducción a la verificación y una vista general en las próximas charlas vamos a hablar de esto con más detalle, vamos a ver sus partes componentes