0% encontró este documento útil (0 votos)
76 vistas17 páginas

Entrena a Pac-Man con Machine Learning

Este documento describe cómo crear un juego de Pac-Man en Scratch que puede aprender de la forma en que juegas y eventualmente jugar por sí mismo. Explica los pasos para configurar valores, entrenar al modelo mediante ejemplos recolectados mientras juegas, y probar el modelo entrenado haciendo que juegue el juego por su cuenta.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
76 vistas17 páginas

Entrena a Pac-Man con Machine Learning

Este documento describe cómo crear un juego de Pac-Man en Scratch que puede aprender de la forma en que juegas y eventualmente jugar por sí mismo. Explica los pasos para configurar valores, entrenar al modelo mediante ejemplos recolectados mientras juegas, y probar el modelo entrenado haciendo que juegue el juego por su cuenta.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Pac-Man

En este proyecto crearas un Pac-Man en Scratch que será capaz de


aprender como juegas tu.

No le darás instrucciones de como jugar ni cuales son las reglas ni


objetivos del juego.

En su lugar le mostraras como tu juegas al juego.

This project worksheet is licensed under a Creative Commons Attribution Non-Commercial Share-Alike License
http://creativecommons.org/licenses/by-nc-sa/4.0/

Page 1 of 17 Last updated: 6 abril 2020


1. Ve a https://machinelearningforkids.co.uk/scratchx en el
navegador.

2. Abre la plantilla de Pac-Man para este proyecto.


Pulsa en Project templates -> Pac-Man

3. Pulsa el botón de pantalla completa y después pulsa la bandera


verde.

4. Juega unas cuantas partidas de Pac-Man.


Controlas a Pac-Man y tienes que esquivar al fantasma todo el tiempo
que puedas.
Usa las teclas de las flechas para controlar el movimiento de Pac-Man.
Pulsa la bandera verde para empezar una nueva partida.

Page 2 of 17 Last updated: 6 abril 2020


5. Piensa una estrategia para evitar al fantasma todo el tiempo que
puedas.

Representación de Pac-Man en Scratch

El tablero es un gráfico.
5 Pac-Man y el fantasma solo pueden
Valores y

ir por las líneas.


4
La localización de los personajes se
3 guarda así:
* un valor x (numero del 1 al 7)

2
* un valor y (numero del 1 al 5)

Por ejemplo, el fantasma de la


1 izquierda esta en:
X=5
Y=2
1 2 3 4 5 6 7
Valores x

arriba

En cada turno cada


personaje tiene que
elegir entre cuatro
movimientos:
izquierda
arriba, abajo, izquierda,
derecha.
derecha
(No te puedes mover en
diagonal.)

abajo
Page 3 of 17 Last updated: 6 abril 2020
¿Qué vas a hacer?

Vas a entrenar a Pac-Man a evitar al fantasma. Lo harás enseñándole


ejemplos de como juegas tu al juego.
Imagina que el tablero esta así: Imagina que el tablero esta así:

Imagina que decides ir arriba: Imagina que decides ir abajo:

El ordenador aprenderá de las decisiones que hagas al jugar.

¡Si haces movimientos que eviten al fantasma durante mucho tiempo el


ordenador aprenderá a evitar al fantasma!

6. Cierra la ventana de Scratch.

7. Ve a https://machinelearningforkids.co.uk/ en el navegador.

8. Pulsa en “Empezar”

Page 4 of 17 Last updated: 6 abril 2020


9. Pulsa en “Inicia Sesión” y escribe tu usuario y contraseña.
Si no tienes usuario, pide a tu profesor o líder de grupo que te cree uno.
Si no te acuerdas de tu usuario o contraseña, pide a tu profesor o líder de
grupo que te la restablezca.

10. Pulsa en “Proyectos” en el menú superior.

11. Pulsa en el botón “+ Añadir un nuevo proyecto”.

12. Nombra el proyecto “pacman” y configúralo para que aprenda a


reconocer “números”.

13. Pulsa “Add a value” y nombra el valor “pacman x” y el tipo de valor


ponlo como “número”.

14. Pulsa “Add another value” y repite para añadir valores para las
otras tres posiciones: “pacman y”, “fantasma x”, “fantasma y”.

Page 5 of 17 Last updated: 6 abril 2020


15. Pulsa Crear.

16. Podras ver “pacman” en tu lista de proyectos. Pulsa en el.

17. Pulsa el botón “Entrenar”.

Page 6 of 17 Last updated: 6 abril 2020


18. Pulsa “+ Añadir etiqueta” y crea una etiqueta llamada “izquierda”.
Los ejemplos de la localización de pacman y el fantasma cuando vas a la
izquierda se guardarán en este cubo.

19. Pulsa “+ Añadir Etiqueta” de nuevo y crea etiquetas para los otros
tres movimientos del juego: “derecha”, “arriba” y “abajo”.

20. Pulsa en enlace “< Volver al proyecto”.

Page 7 of 17 Last updated: 6 abril 2020


21. Pulsa el botón “Crea”, después el botón “Scratch”.

22. Pulsa el botón “Straight into Scratch”.


Te avisara que todavía no has entrenado al ordenador, no pasa nada,
usaremos Scratch para recolectar ejemplos de entrenamiento.

23. Deberías ver nuevos bloques en la sección “More blocks” de tu


proyecto de pacman.

24. Abre de nuevo la plantilla del proyecto de Pac-Man.


Pulsa Project templates -> Pac-Man.

Page 8 of 17 Last updated: 6 abril 2020


25. Pulsa en el “Stage” y busca el script “when green flag clicked”, que
establece las constantes “izquierda”, “derecha”, “arriba”, “abajo”.

26. Modifica el script para usar los nuevos bloques del proyecto de
pacman.

27. Busca el bloque “pacman-decision”

Page 9 of 17 Last updated: 6 abril 2020


28. Actualiza el bloque “pacman-decision” para añadir a los datos de
entrenamiento de machine learning todos los movimientos que hagas.

29. ¡Entrena al ordenador jugando al juego!


Pon la pantalla completa de nuevo y pulsa la bandera verde.
Juega al Pac-Man unas cuantas veces, hazlo lo mejor que puedas.
Cuanto mejor juegues, mejor sabrá jugar el ordenador.

30. Guarda el proyecto.


Pulsa File -> Save Project.
Nombra al archivo “pacman-aprende.sbx” para acordarte que esta
versión del proyecto es la que entrena a Pac-Man.

31. Vuelve a la herramienta de entrenamiento.

32. Pulsa “< Volver al proyecto”, después pulsa el botón “Entrenar”.


Deberías ver los ejemplos de entrenamiento que has recogido al jugar.

Page 10 of 17 Last updated: 6 abril 2020


¿Qué has hecho hasta ahora?

Has enseñado a un ordenador a jugar Pac-Man.

Has actualizado un juego de Pac-Man en Scratch para que recoja


ejemplos de como juegas. Usaras estos ejemplos para entrenar un
modelo de machine learning.

33. Pulsa “< Volver al proyecto”.

34. Pulsa el botón “Aprender & Probar”.

35. Pulsa el botón “Entrenar un nuevo modelo”.

36. Vuelve a la ventana de Scratch.


Si la cerraste por error, puedes volver a abrirla así:
* Pulsa “< Volver al proyecto”.
* Pulsa el botón “Crea”.
* Pulsa el botón “Scratch”.
* Pulsa el botón “Abrir en Scratch”.
* Abre el proyecto de Scratch que guardaste antes con “File” -> “Load
Project”

Page 11 of 17 Last updated: 6 abril 2020


37. Pulsa en Stage

38. ¡Borra los scripts de pulsar las teclas porque es el turno del
ordenador! (Borra el script haciendo clic derecho en el y eligiendo
“Delete”).
Estos son los scripts que ya no necesitaremos:

39. Modifica el bloque “pacman-decision”.


En lugar de aprender de lo que estas haciendo, lo que ahora queremos
que lo use el modelo de machine learning.

Page 12 of 17 Last updated: 6 abril 2020


40. Modifica el script “When Green Flag clicked” para quitar “wait 1
second”.
El script debe acabar así:

41. Guarda el proyecto.


Pulsa File -> Save Project.
Nombra el archivo “pacman-juega.sbx” par acordarte que esta versión del
proyecto es en la que el ordenador controla a Pac-Man.

42. ¡Pon a prueba al ordenador!


Pon la pantalla completa y la bandera verde.
Mira al Pac-Man que tu has entrenado para evitar al fantasma.

43. Abre el proyecto “pacman-aprende.sbx”.


¡Asegúrate antes que guardaste el proyecto pacman-juega!
Pulsa File -> Load Project

44. Entrena al ordenador un poco más jugando unos cuantos juegos


más.

Page 13 of 17 Last updated: 6 abril 2020


45. Vuelve a la herramienta de entrenamiento.

46. Vuelve a la página “Aprender & Probar”.


Pulsa “< Volver al proyecto” y después en “Aprender & Probar”.

47. Pulsa de nuevo el botón “Entrenar un nuevo modelo”.

48. Cambia a la ventana de Scratch.


Si la cerraste por error, puedes volver a abrirla así:
* Pulsa “< Volver al proyecto”.
* Pulsa el botón “Crea”.
* Pulsa el botón “Scratch”.
* Pulsa el botón “Abrir en Scratch”.

49. Abre el proyecto de probar “pacman-juega.sbx”


Pulsa File -> Load Project

50. Pon a prueba al ordenador de nuevo.


¿ Después del entrenamiento, lo hizo mejor el ordenador?

Page 14 of 17 Last updated: 6 abril 2020


¿Qué has hecho?

Has entrenado al ordenador a jugar a Pac-Man.

No has tenido que decirle las reglas al ordenador.


No le has dicho que debe evitar al fantasma.
No le has descrito los limites del tablero.

(Las reglas están en el juego de Scratch, pero eso no cuenta, esa parte no
se usa en el modelo de machine learning).

En su lugar le has enseñado a jugar recogiendo ejemplos de las decisiones


que harías al jugar.

Page 15 of 17 Last updated: 6 abril 2020


Consejos

Quedarse atrapado en un bucle

A veces el ordenador tiene suerte y encuentra una ruta


rodeando el tablero y entrando en un bucle lo que hace que
nunca pierda.

Puedes apretar el botón rojo de stop si necesitas que pare el


de jugar.

¡No seas amable!

Puede que te sientas tentado a tener piedad con el fantasma


cuando juegues contra él.

No lo hagas. Aprende de la forma en que juegas. Si no juegas


bien, no puede aprender a jugar bien.

Si quieres que mejore rápidamente, juega lo mejor que


puedas.

Sigue entrenando

Cuantos más ejemplos para aprender al ordenador mejor lo


hará. Si tienes tiempo, juega muchos juegos y entrena al
modelo de nuevo.

Page 16 of 17 Last updated: 6 abril 2020


Ideas y Ampliaciones

Ahora que has acabado, ¿Porque no pruebas una de estas ideas?

¿O probar una tuya?

Añade otro fantasma

El juego es muy fácil con un solo fantasma, Pac-Man puede


seguir evitando al fantasma para siempre.

Pero con un segundo fantasma persiguiendo a Pac-Man se


hará más difícil.

Cambia el tablero de juego

Intenta hacer el tablero más grande.

O añade obstáculos que Pac-Man y los fantasmas tengan que


evitar.

Haz tu propio juego

Esto no solo funciona con Pac-Man.

¿Porque no intentas crear tu propio juego en Scratch y


entrenar un modelo de machine learning que sea capaz de
jugarlo?

Page 17 of 17 Last updated: 6 abril 2020

También podría gustarte