JUGANDO DADOS CON LOGO

SOMOS ONDAS DE PROBABILIDAD

 

La probabilidad lejos de ser solo una herramienta matemática, es un concepto que nos sumerge en dilemas existenciales y hasta diría religiosos, pues qué es un “milagro” sino el cumplimiento de un evento altamente improbable?.

En todas sus acepciones la “probabilidad” se abraza al concepto de incertidumbre. Como en el interior de un átomo. el principio de incertidumbre de Heisenberg se proyecta sobre la existencia y podemos afirmar que no hay certezas, sino probabilidades. La falta de certeza puede traernos incomodidad, pero si la miramos del lado positivo, alcanza también a la enfermedad y la muerte.

En LOGO la probabilidad se relaciona con el comando AZAR. Un comando que nos permite incluir “sorpresa”, “eventos inesperados”, “desestructuración”, “juego”, experimentación de ideas y conceptos, y “inducción en lugar de deducción”.

PARA ESPIRAL :a :b
si :a > 300 [alto]
av :a
gd :b
ESPIRAL :a + 5 :b
fin
PARA ESPIAZAR:a :b
si :a > 300 [alto]
poncl azar :a
av azar :a
gd :b
ESPIAZAR :a + 5 :b
fin

PROBABILIDAD MATEMÁTICA Y ESTADÍSTICA

La matemática intenta medir la probabilidad de que un evento suceda. Un caso simple lo constituye los juegos de dados.

¿Cuál es la probabilidad de tirar un dado y sacar un 1? En este caso la probabilidad depende exclusivamente de la suerte, a menos que el dado esté cargado. Nos gustaría pensar que la forma de tirar el dado influye en algo en el resultado, pero NO. Hay una sola cara que contiene un 1 y 6 caras posibles. P(1) = 1/6. La definición clásica de la probabilidad es el cociente entre el N° de casos favorables y el N° casos posibles.

 

dado

P(1) = 1/6

P(2) = 1/6

P(3) = 1/6

P(4) = 1/6

P(5) = 1/6

P(6) = 1/6

¿Cuál es la probabilidad de sacar un número par? Los casos favorables son 3: 2, 4 y 6. P(par) = 3/6 = 1/2

Si saco un 1 y luego tiro de nuevo el dado, ¿cuál es la probabilidad de sacar 1 nuevamente? P(1,1) = 1/6. Los dados no tienen memoria.

PROBABILIDAD Y ESTADÍSTICA

¿Cuál es la probabilidad de que caiga un avión? ¿Cuál es la probabilidad de que haya sobrevivientes? ¿Cuál es la probabilidad de morir antes del año? ¿Cuál es la probabilidad de desarrollar una efermedad o de sobrellevarla?

Estas probabilidad deben determinarse por un camino “inductivo”, es decir mediante estadísticas que permitan realizar un conteo de estos eventos y compararlos con el total de eventos. Son las estadísticas las que permiten afirmar: “Estadísticamente hablando, si ambos padres tienen diabetes tipo 1, hay un 30% de probabilidad de que el niño desarrolle diabetes tipo 1. Si es sólo la madre con diabetes tipo 1, hay 4% de probabilidad de que los hijos nacidos antes de cumplir los 25 años tienen diabetes tipo 1. Si la madre cruzó de 25 años de edad, se encuentra a sólo 1% de probabilidad de que el niño desarrolle diabetes. En caso de que el padre, hay 6% de probabilidad de su hijo desarrolle diabetes”.

PROGRAMACIÓN, DADOS Y ESTADÍSTICA

Los siguientes problemas de programación fueron planteados a mis alumnos de 5° del colegio Bayard. El objetivo era doble, por un lado averiguar si el comando AZAR se regía por las leyes de la probabilidad matemática y por otro determinar si la probabilidad matemática (o deductiva) concordaba con la probabilidad estadística (o inductiva). Para ello, habría que crear procedimientos que simulasen el tiro de un dado, tirar el dado virtual N veces y contar los eventos.

El comando AZAR es un comando paramétrico, necesita un parámetro numérico que determine la cota superior del intervalo de números posibles. La cota inferior es el 0. Por ejemplo:

ES AZAR 100; escribirá un número al azar entre el 0 y el 99. El parámetro (100) no está incluído en el intervalo.

ES AZAR 16; escribirá un número al azar entre el 0 y el 15. El parámetro (16) no está incluído en el intervalo.

En EXCEL hay 2 funciones relacionadas con el AZAR: ALEATORIO Y ALEATORIO.ENTRE

El primero demanda un parámetro vacío: ALEATORIO() y devuelve un número >=0 y < 1.

El segundo demanda 2 parámetros, la cota inferior y la superior del intervalo. ALEATORIO.ENTRE(1;10), devolverá un número entero entre 1 y 10, incluyendo los extremos.

Podemos crear un comando AZAR.ENTRE similar al ALEATORIO.ENTRE del Excel.

PARA AZAR.ENTRE :A :B
DEV :A + AZAR (:B – :A + 1)
FIN

ES AZAR.ENTRE 3 10; devolverá un numero contenido en el intervalo [3 10], ya que (10- 3 + 1)= 8 y 3 + AZAR 8 podrá generar los siguientes valores.

AZAR 3 + AZAR 8
Mínimo = 0 3 + 0 = 3
Máximo = 7 3 + 7 = 10

DADO VIRTUAL

Para generar un dado virtual podemos utilizar

ES AZAR.ENTRE 1 6 ó ES 1 + AZAR 6

Los alumnos resolvieron el problema mediante los siguientes procedimientos (que han sido levemente alterados por mí para esta presentación)

El procedimiento principal es TIRAR :N donde :N es un INPUT por donde ingresar la cantidad de tiros que se desea realizar.

PARA TIRAR :N; procedimiento principal

MAKE “UNO 0; make define una memoria de nombre “UNO y valor o.
MAKE “DOS 0 ; make define una memoria de nombre “DOS y valor o.
MAKE “TRE 0; make define una memoria de nombre “TRE y valor o.
MAKE “CUA 0; make define una memoria de nombre “CUA y valor o.
MAKE “CIN 0; make define una memoria de nombre “CIN y valor o.
MAKE “SEI 0; make define una memoria de nombre “SEI y valor o.
MAKE “REP :N; ; make define una memoria de nombre “REP y con el valor que se ingresará por :N.

REPITE :REP [TIRO]; repite N veces el procedimiento anidado TIRO

RESULTADOS; genera los resultados de los contadores y las probabilidades

FIN

UNO, DOS, TRE, CUA, CIN, SEI son contadores donde se contarán las veces que sale el número correspondiente. Cuando salga el 1 el contador “UNO deberá incrementarse en 1, cuando salga 2 el contador “DOS deberá incrementarse en 1, etc. Estos incrementos están el en procedimiento TIRO.

PARA TIRO
MAKE “DADONUM 1 + AZAR 6 ; make define una memoria de nombre “DADONUM con el “valor del dado virtual”
SI :DADONUM = 1 [MAKE “UNO :UNO + 1]; Si el valor de DADONUM (:DADONUM) es = 1 se incrementa el contador “UNO en :UNO + 1
SI :DADONUM = 2 [MAKE “DOS :DOS + 1]; Si el valor de DADONUM (:DADONUM) es = 2 se incrementa el contador “DOS en :DOS + 1
SI :DADONUM = 3 [MAKE “TRE :TRE + 1]
SI :DADONUM = 4 [MAKE “CUA :CUA + 1]
SI :DADONUM = 5 [MAKE “CIN :CIN + 1]
SI :DADONUM = 6 [MAKE “SEI :SEI + 1]; Si el valor de DADONUM (:DADONUM) es = 6 se incrementa el contador “SEI en :SEI + 1
fin

Nótese que “UNO significa el nombre de la memoria y :UNO el contenido de la misma.

Al final de los N tiros

:UNO será la cantidad de veces que salió el 1

:DOS será la cantidad de veces que salió el 2

y así sucesivamente hasta :SEI que será la cantidad de veces que salió el 6

Finalmente el procedimiento RESULTADOS escribirá en pantalla la cantidad de veces que salió cada número y la probabilidad de cada uno determinada como el cociente entre las veces que salió el número y la cantidad de tiros (:REP).

:UNO / :REP será la probabilidad estadística de que salga 1, etc.

PARA RESULTADOS
(ES [CANTIDAD 1=] :UNO)
(ES [PROBABILIDAD SACAR 1 =] :UNO/:REP)
(ES [CANTIDAD 2=] :DOS)
(ES [PROBABILIDAD SACAR 2 =] :DOS/:REP)
(ES [CANTIDAD 3=] :TRE)
(ES [PROBABILIDAD SACAR 3 =] :TRE/:REP)
(ES [CANTIDAD 4=] :CUA)
(ES [PROBABILIDAD SACAR 4 =] :CUA/:REP)
(ES [CANTIDAD 5=] :CIN)
(ES [PROBABILIDAD SACAR 5 =] :CIN/:REP)
(ES [CANTIDAD 6=] :SEI)
(ES [PROBABILIDAD SACAR 6 =] :SEI/:REP)
FIN

Si ahora ejecutamos

TIRAR 10; obtenemos el siguiente resultado

CANTIDAD 1= 3
PROBABILIDAD SACAR 1 = 0.3
CANTIDAD 2= 3
PROBABILIDAD SACAR 2 = 0.3
CANTIDAD 3= 2
PROBABILIDAD SACAR 3 = 0.2
CANTIDAD 4= 0
PROBABILIDAD SACAR 4 = 0
CANTIDAD 5= 0
PROBABILIDAD SACAR 5 = 0
CANTIDAD 6= 2
PROBABILIDAD SACAR 6 = 0.2

Como vemos en 10 tiros es probable que algunos números no salgan. Como el 4 y el 5. Las probabilidades estadísticas son desparejas. Debemos hacer más tiros. Por supuesto que si tiramos de nuevo TIRAR 10 los valores resultantes serán diferentes.

TIRAR 1000

CANTIDAD 1= 149
PROBABILIDAD SACAR 1 = 0.149
CANTIDAD 2= 183
PROBABILIDAD SACAR 2 = 0.183
CANTIDAD 3= 154
PROBABILIDAD SACAR 3 = 0.154
CANTIDAD 4= 172
PROBABILIDAD SACAR 4 = 0.172
CANTIDAD 5= 168
PROBABILIDAD SACAR 5 = 0.168
CANTIDAD 6= 174
PROBABILIDAD SACAR 6 = 0.174

Las probabilidades se han acercado al valor “matemático” de 1/6 (0,1666 periódico). Probemos con

TIRAR 1000000

CANTIDAD 1= 166433
PROBABILIDAD SACAR 1 = 0.166433
CANTIDAD 2= 166400
PROBABILIDAD SACAR 2 = 0.1664
CANTIDAD 3= 166532
PROBABILIDAD SACAR 3 = 0.166532
CANTIDAD 4= 166740
PROBABILIDAD SACAR 4 = 0.16674
CANTIDAD 5= 166943
PROBABILIDAD SACAR 5 = 0.166943
CANTIDAD 6= 166952
PROBABILIDAD SACAR 6 = 0.166952

Claramente las probabilidades de cada número se han acercado a 1/6 y podemos demostrar por este camino que cuando el número de tiros tienda a infinito todas las probabilidades serán 1/6.

Al mismo tiempo demostramos que aunque no separmos como genera sus valores, el AZAR funciona respetando las reglas de la probabilidad.

Podemos utilizar este método para averiguar:

Cuál es la probabilidad de sacar consecutivamente 2 números iguales.

Cuál es la probabilidad de sacar consecutivamente 5 números iguales. (Generala)

Cuál es la probabilidad de sacar consecutivamente 4 números iguales. (Póker)

Cuál es la probabilidad de sacar una escalera. (Escalera)

Aunque en realidad no disponemos de 5 dados virtuales, sino 1 solo que tiramos más de una vez, los resultados serían los mismos, pues cada dado es autónomo, no tiene memoria ni es influenciado por los demás.

Ahora pasemos a investigar la sumatoria de 2 dados, operación que es la base de un popular juego de dados denominado CRAP o SIETE GANA.

CRAP

CRAP

El siguiente problema está relacionada con un juego de dados denominado CRAP o Pase inglés. Se juega tirando 2 dados.

Cuando se juega en un casino contra la banca, o casa, uno o varios jugadores realizan diversas apuestas al resultado que se obtendrá en los dados que lance alguno de los jugadores, el cual es designado «tirador» o «shooter» por su nombre en inglés. Para comenzar el juego, durante lo que se conoce como «tiro de salida», el jugador necesita realizar una apuesta que se conoce como «línea de pase», en la que se busca obtener un siete (conocido como «siete natural» o «siete ganador») o un once en la combinación de dados para ganar la apuesta, que paga uno a uno. Si por el contrario obtiene un dos, tres o doce (números conocidos como «craps») pierde automáticamente su apuesta y necesitará colocar de nuevo una apuesta para seguir tirando. Si durante el primer lanzamiento no obtiene un siete u once (con que gana), o un dos, tres o doce (con que pierde), el juego entrará en una segunda etapa más compleja.

¿Cuál es la posibilidad de tener un tiro ganador o un crap?

La resolución puede encararse matemáticamente o estadísticamente.

Para la primera recurrí a presentar los datos en una planilla EXCEL.

Para la segunda nuevamente la programación en Logo de N tiros de ambos dados para contar las combinaciones resultantes.

PLANILLA EXCEL

planilla excel

Las celdas sombreadas son datos.

CÁLCULOS

La columna C es una sumatoria: =A2+B2

La cantidad de combinaciones por sumatoria (columna F) se calcula con la función CONTAR.SI.

En la celda F2 =CONTAR.SI(C2:C37;E2) cuenta las veces que la suma de ambos dados es = 2.

La probabilidad de que la suma sea 2 es= F2 / 36 expresado en formato %. (36 son las combinaciones posibles)

Como se observa la P(suma = 2) = P(suma = 12) y la probabilidad máxima es P(suma=7) pues tiene la máxima cantidad de combinaciones favorables.

PROGRAMACIÓN LOGO

PARA DADOSCRAPS :N
MAKE “S2 0; memoria donde se almacena la cuenta de veces que la sumatoria de ambos dados es = 2
MAKE “S3 0; idem suma = 3
MAKE “S4 0; idem suma = 4
MAKE “S5 0; idem suma = 5
MAKE “S6 0; idem suma = 6
MAKE “S7 0; idem suma = 7
MAKE “S8 0; idem suma = 8
MAKE “S9 0; idem suma = 9
MAKE “S10 0; idem suma = 10
MAKE “S11 0; idem suma = 11
MAKE “S12 0; idem suma = 12. Todas con valor inicial 0.
MAKE “REPE :N; memoria donde se guarda la cantidad de tiros ingresada.

REPITE :REPE [MAKE “D1 1 + AZAR 6; En la memoria D1 se almacena el tiro virtual del primer dado
MAKE “D2 1 + AZAR 6; En memoria D1 se almacena el tiro virtual del primer dado

SI (:D1 + :D2) = 2 [MAKE “S2 :S2 + 1]; Si la suma de los dados es 2 se incrementa la memoria S2 en :S2+1
SI (:D1 + :D2) = 3 [MAKE “S3 :S3 + 1]
SI (:D1 + :D2) = 4 [MAKE “S4 :S4 + 1]
SI (:D1 + :D2) = 5 [MAKE “S5 :S5 + 1]
SI (:D1 + :D2) = 6 [MAKE “S6 :S6 + 1]
SI (:D1 + :D2) = 7 [MAKE “S7 :S7 + 1]
SI (:D1 + :D2) = 8 [MAKE “S8 :S8 + 1]
SI (:D1 + :D2) = 9 [MAKE “S9 :S9 + 1]
SI (:D1 + :D2) = 10 [MAKE “S10 :S10 + 1]
SI (:D1 + :D2) = 11 [MAKE “S11 :S11 + 1]
SI (:D1 + :D2) = 12 [MAKE “S12 :S12 + 1]]
RESULTADOS; procedimiento anidado
FIN

PARA RESULTADOS

(ES [2 SALIO] :S2 [VECES]); escribe el valor de la memoria S2 (:S2)
(ES [3 SALIO] :S3 [VECES])
(ES [4 SALIO] :S4 [VECES])
(ES [5 SALIO] :S5 [VECES])
(ES [6 SALIO] :S6 [VECES])
(ES [7 SALIO] :S7 [VECES])
(ES [8 SALIO] :S8 [VECES])
(ES [9 SALIO] :S9 [VECES])
(ES [10 SALIO] :S10 [VECES])
(ES [11 SALIO] :S11 [VECES])
(ES [12 SALIO] :S12 [VECES])

(ES [PROBABILIDAD 2 =] :S2 / :REPE *100): escribe el valor de P(suma=2) en formato %
(ES [PROBABILIDAD 3 =] :S3 / :REPE *100)
(ES [PROBABILIDAD 4 =] :S4 / :REPE *100)
(ES [PROBABILIDAD 5 =] :S5 / :REPE *100)
(ES [PROBABILIDAD 6 =] :S6 / :REPE *100)
(ES [PROBABILIDAD 7 =] :S7 / :REPE *100)
(ES [PROBABILIDAD 8 =] :S8 / :REPE *100)
(ES [PROBABILIDAD 9 =] :S9 / :REPE *100)
(ES [PROBABILIDAD 10 =] :S10 / :REPE *100)
(ES [PROBABILIDAD 11 =] :S11 / :REPE *100)
(ES [PROBABILIDAD 12 =] :S12 / :REPE *100)
fin

Como puede verse en la figura de la planilla de EXCEL los valores determinados por el procedimiento (valores estadísticos) coinciden con los valores del EXCEL (matemáticos).

TECNOLOGÍA SUSTITUTIVA Y TECNOLOGÍA EXTENSIVA

La determinación “empírica” de la probabilidad en estos casos, es un claro ejemplo de como la programación puede ampliar las posibilidades de exploración, investigación, análisis y síntesis, por el camino de la inducción, partiendo de los datos experimentales (obtenidos en este caso virtualmente) y yendo de allí a las conclusiones. La obtención virtual de datos introduce al alumno a una problemática de programación superior que necesita el desarrollo de funciones complejas del pensamiento. En otras palabras extiende el campo de acción de la mente, dándole alas para explorar conceptos y técnicas por otros caminos, como un drone que nos muestra otra perspectiva del mundo plano donde nos movemos.

INTRODUCCIÓN A LA PROGRAMACIÓN CON MEMORIAS

Estos videos fueron preparados como tutoriales

INTRODUCCIÓN: CREACIÓN DE MEMORIAS EN LOGO PARTE 2

INTRODUCCIÓN: CREACIÓN DE MEMORIAS EN LOGO PARTE 3

INTRODUCCIÓN: CREACIÓN DE MEMORIAS EN LOGO PARTE 4

Anuncios