vamos a volver al problema del Bar El Farol, vamos a preguntarnos qué quiere
decir tener éxito en el mundo del modelo del problema del bar El Farol, qué es
éxito en este caso y si podemos identificar agentes individuales que son
exitosos; el modelo original nos muestra cuantos agentes van al bar y si el bar se
encuentra lleno o no, pero qué pasa si queremos saber cuál de esos agentes lo
hace mejor, queremos identificar a esos agentes que son exitosos y si lo pensamos
un poco, qué significa tener éxito? en este contexto significa ir al bar cuando
éste no está lleno, cuando no está superpoblado; no tengo éxito si no voy al
bar, no me interesa cuando no van, sólo tengo recompensa si voy y no está lleno,
al menos en este contexto en particular es la forma que encontramos; entonces cuando
quiero pensar en cómo extender el modelo para poder identificarlo; me gustaría
escribir algunas notas para saber qué es lo que voy a necesitar; y una de las cosas
que puedo llegar a escribir, bueno lo que necesito seguir el rastro a nivel del
individuo de las tortugas que tienen éxito entonces voy a agregar algo que se llama
"premio", que es, la idea básica es que los agentes obtendrán un premio si es que
van al bar cuando no está lleno; para hacer eso, voy a modificar el turtles-own
que es parte del código, y agregar la recompensa y quiero asegurarme de que le
asigné al inicio el valor 0 a la recompensa, así no tienen ninguna
recompensa, luego me tengo que asegurar de que las tortugas sean recompensadas por ir
al bar cuando no está lleno y por último, quiero hacer una indicación visual para
que sea más sencillo para mi poder identificar las "mejores" tortugas, los
mejores agentes, voy a cambiar el color de las tortugas basándome en la recompensa
eso es lo que vamos a hacer
entonces como les mencioné hay 4 cosas que quiero alcanzar al modificar este código
quiero modificar turtles-own, agregar la recompensa, quiero inicializar la
recompensa, quiero asegurarme de que se completa en forma adecuada y luego quiero
colorear las tortugas, los agentes, sobre la base de esa recompensa; vamos entonces
a la pestaña del código, agrandamos esto un poquito, y acá está el turtles-own
podemos rápidamente ir ahí y podemos agregar la recompensa
como pueden ver, este es un modelo bien documentado, podemos agregar las
descripciones, esto es mantener un trazo cuando los agentes van al bar y no está
lleno
esa es la 1ra cosa que hacemos, lo tenemos hecho, lo hicimos en forma apropiada,
siempre podemos ver si anduvo todo bien, hacemos click en setup, podemos escribir
que inspeccione una de las tortugas que están acá
la podemos poner encima y ver si en verdad tiene una recompensa y lo tiene y vale 0
me aseguré de ello, así que podemos ir al procedimiento de setup, este es un modelo
extendido, no creo entender que significa cada parte de él, pero en vez vamos a ver
acá está el create turtles
y podemos ir ahí y podemos decir que asigne la recompensa a 0
reasignamos la recompensa al valor del comienzo
volvemos y verificamos eso y que todo ande bien
podemos inspeccionar una de las tortugas
seguro que tenemos la recompensa en 0
ok, lo que tenemos que hacer ahora es asegurarnos de que la recompensa se
actualice en forma apropiada cuando la tortuga va al bar y no está lleno, tenemos
que mirar un poco más para ver cuando es que eso sucede
acá podemos ver que se pregunta si va o no le dice a las tortugas si deben o no ir,
pero no sabemos a esta altura si el bar está lleno, sin embargo si miran más abajo
pueden ver que si la concurrencia es mayor que el límite de superpoblamiento entonces
voy a escribir en la pantalla que está lleno; entonces no hay una verificación
que diga si no está lleno, si lo está, en otras palabras si está ok; lo que podemos
hacer es tomar esta sentencia condicional y lo podemos modificar para agregar un
sino, ok y esto nos va a dar el poder para agregar, para hacer algo si el bar no está
lleno y lo que queremos hacer es ver que el bar no esté lleno, bueno todas las
tortugas que van al bar tienen esta variable booleana asignada a verdadero y
podemos decirselo mirando al código, mirando en detalle así podemos ver si las
predicciones de las tortugas dicen que vaya y que la otra predicción sea basada
en el umbral, entonces sólo va al bar si es menor que el umbral; nosotros sabemos
acá que hay una condición donde el bar no está lleno, entonces tenemos que encontrar
así el conjunto de todas las tortugas que van al bar; bueno esto es bastante simple
simplemente le decimos a las tortugas que van al bar, porque sabemos que si van
entonces tenemos que moverlas al espacio del bar y de ese modo aumenta la
concurrencia; podemos decirles que hagan algo, qué es lo que queremos que hagan?
queremos que ellas asignen su recompensa a recompensa + 1; esto nos permitirá a
nosotros identificar, primero que nada los casos donde el bar no está lleno, debido a
que la concurrencia es menor al umbral y encontrar a todas las tortugas que en
verdad hayan ido y así aumentar la recompensa, entonces otra vez como siempre
es importante, hagamos una doble verificación y asegurémonos de que lo
hicimos en forma correcta, podemos hacer click en setup, luego go y podemos ahora
ver que el bar no está lleno y entonces la recompensa, si lo hicimos de manera
apropiada, para todas estas tortugas debería ser 1, podemos inspeccionar 1 de
estas tortugas que está en el bar y vamos abajo lo suficiente, recompensa = 1, por
que se suma de 1 cada vez, y si queremos podemos seguir debugueando un poco más,
queremos estar verdaderamente seguros de que lo hicimos en forma correcta, podemos
decirle que imprima la recompensa de las tortugas con concurrencia; esto únicamente
primero que nada, encontrará todas las tortugas donde la concurrencia sea igual a
verdadero y que imprima la etiqueta de recompensa en cada una de ellas y por las
dudas, si estamos preocupados por el orden de las operaciones, podemos poner algunos
paréntesis, con esto definitivamente va a encontrar a las tortugas que hayan ido y
luego va a imprimir "recompensa" y si lo hicimos en forma correcta, debería
imprimir toda la cadena de una vez, debido a que cada tortuga que está yendo, sabemos
ahora, lo hace en el caso en que el bar no esté lleno y es el 1er paso y por eso
lo hará todo de una sola vez; seguro si nos movemos podremos ver que son todos 1
es una pieza de código confiable que está funcionando de manera correcta, tal vez
querramos correrlo de una vez, sólo para asegurarnos de que siempre podemos ver a 1
tortuga en particular, ver cual es el valor de su recompensa antes y ver que
sucede cuando se mueve ahí, al bar y ver si el comando de la recompensa funcionó en
forma correcta; es es algo que podemos hacer antes de chequear los bugs
esto fue todo para la implementación de la recompensa y en el próximo video vamos a
hablar de los colores y formas de visualizar de este mundo