Ok, imaginen que un grupo de cientistas políticos se les acerca, que no saben nada
de los MBA, pero quieren construir un modelo, quieren escribir con vos un MBA
acerca de cómo la gente elige a los candidatos por los que va a votar
ellos tienen algunos supuestos muy simples
asumen que la gente siempre tiene al inicio, un candidato en mente
ellos expresan esos sentimientos por ese candidato
pero a medida que hablan con sus vecinos ellos cambian de parecer, puede que por
ejemplo, ellos cambien de parecer y asuman lo que piensa la mayor parte de sus
vecinos
dada esta situación, qué es lo que puede pasar en esta situación en particular
Ellos quieren construir el modelo, entonces, cuál es la primera cosa que se
debe hacer, la primera cosa que uno debe hacer, es comenzar por formalizar esa
clase de descripción conceptual del modelo y hay muchas formas en las que se puede
hacer esto, una de ellas es la del gráfico de flujo, seguro que ustedes ya lo vieron
en diagramas de ingeniería de software, uno puede dividirlo, un comienzo donde los
agentes tienen sus preferencias de votos asignadas al azar
uno puede colorear a los agentes en base a su voto
los agentes cuentan los votos de sus vecinos y cambian el propio en función de
esa mayoría
uno puede preguntar si el sistema se estabiliza, ver quien cambia el voto desde
la última vez que pudieron hacerlo, si es NO, entonces volvamos y hagamos todo de
vuelta, de otro modo contemos los votos finales
uno puede brindarle a los cientistas políticos con este documento
como un ejemplo particular que indica que uno comprende el modelo conceptual
otra forma potencial en la que se puede expresar la comprensión del modelo
conceptual es denominado pseudocódigo
el pseudocódigo es, esencialmente, una versión del código que es simple de
entender, en muchos sentidos, el código de NetLogo a veces funciona como pseudocódigo
debido a que la sintáxis de NetLogo es muy simple de entender
en algún sentido incluso más simple para gente que no sabe de código que para la
gente que sí sabe codificar, ver un ejemplo donde usamos pseudocódigo para
el modelo de votos del que ya hablamos uno puede imaginar que los votantes tienen
colores que pueden ser rojo o verde
y para cada votante asignamos el voto a un número aleatorio entre 1 o 0 y luego
hacemos un bucle hasta la elección
en cada uno de estos bucles hacemos que los votantes cambien su propio color
basados en sus propios votos y que puedan cambiar sus propios votos basados en lo
que hacen sus vecinos, si la cantidad de vecinos es mayor o igual a 4 y el voto es
0 entonces voto a 1, de otro modo si los vecinos son menos de 4 y mi voto es 1
entonces lo cambio por 0, luego mostramos las cantidades de votantes para ambas
opciones
esta es otra forma en la que podemos expresar nuestro modelo con un poco más de
detalle para hacer claro, para que se comprenda que es lo que queremos hacer
no me malinterpreten, en muchos casos en este curso en particular, el diseñador y
el programador es la misma persona, vos
escribiendo el pseudocódigo, escribiendo el diagrama de flujo nos ayuda a
estar seguros que el modelo que estamos implementando es exactamente del modo
si uno cree que es así, nos ayuda a ver los pasos intermedios, nos ayuda a
verificar que el modelo está haciendo lo que nosotros esperamos que haga