The words ‘artificial intelligence’ are widely used these days. However, courses on AI usually are quite boring. What about a crash course using the most popular game of the year? Even if it might seem as a ‘game for children’, Minecraft AI bots are currently being used for research by big, serious companies, besides all level students.
3. Agenda
1. Definitions & purpose
2. How to program in Minecraft
I. Minecraft Challenges
II.Minecraft Makecode
3. How AI works in Minecraft
I. Rules and goals of Minecraft
II.Machine learning paradigms
III.Project Malmo
5. What’s Minecraft?
Sandbox construction videogame
2011 Mojang – 2014 Microsoft
Best selling videogame of all time
Collect, assemble & destroy blocks in 3D
@TheTestLynx
6. What’s a Minecraft Mod?
Independent, user-made
modifications to the game
that extend or modify the
original
@TheTestLynx
https://www.planetminecraft.com/resources/mods/
7. What’s AI?
1. a branch of computer science dealing with the
simulation of intelligent behavior in computers
2. the capability of a machine to imitate intelligent
human behavior
@TheTestLynx
https://www.merriam-webster.com/dictionary/artificial%20intelligence
9. Why do I care?
Trending in IT Software
Trending in testing
Automate the unthinkable
The future
Visual based testing
Automatic inference
@TheTestLynx
25. Rules for survival
@TheTestLynx
1. Fall damage can kill you
2. Lava can kill you –> never dig
straight down
3. Monsters can kill you
4. Monsters appear at night or in
caves
5. Being underwater can kill you
6. If you don´t sleep 4 nights in
a row, flying monsters attack you
7. Hunger can kill you
8. You get hungry with time and
movement
9. Some creatures can become
hostile
10. Careful with food and potions
…
26. Rules for starting
@TheTestLynx
1. A hole in the ground could be a shelter
2. Collect wood
3. Make a pickaxe
4. Collect wool
5. Make a bed
… goals?
28. Rules based system
@TheTestLynx
[…]Set of "if-then" statements that uses a set of assertions, to
which rules on how to act upon those assertions are created. In
software development, rule-based systems can be used to
create software that will provide an answer to a problem in
place of a human expert.[…]
https://www.webopedia.com/TERM/R/rule_based_system.html
29. Machine learning
Arthur samuel
@TheTestLynx
Field of study that gives computers the ability to
learn without being explicitly programmed.
https://www.ibm.com/developerworks/community/blogs/jfp/entry/What_Is_Machine_Learning?lang=en
Field of study that gives computers the ability to
learn without being explicitly programmed.
33. What’s an intelligent agent?
@TheTestLynx
This picture of unknown author it’s under
license CC BY-SA-NC
An autonomous entity which acts,
directing its activity towards achieving
goals (i.e. it is an agent), upon an
environment using observation through
sensors and consequent actuators (i.e. it
is intelligent)
https://en.wikipedia.org/wiki/Intelligent_agent
autonomous entity
goals
achieving
using observation
34. Reinforcement learning
@TheTestLynx
https://en.wikipedia.org/wiki/Reinforcement_learning
Area of machine learning concerned with
how software agents ought to take actions
in an environment in order to maximize
some notion of cumulative reward.
This picture of unknown author it’s under
license CC BY-SA-NC
Area of machine learning concerned with
how software agents ought to take actions
in an environment in order to maximize
some notion of cumulative reward.
Area of machine learning concerned with
how software agents ought to take actions
in an environment in order to maximize
some notion of cumulative reward.
Area of machine learning concerned with
how software agents ought to take actions
in an environment in order to maximize
some notion of cumulative reward.
35. Project Malmo
@TheTestLynx
Java8 JDK, python3, git
https://gym.openai.com/
NumPy, Pillow, lxml
AI experimentation & research built on Minecraft
https://github.com/Microsoft/malmo
38. Project Malmo - challenges
@TheTestLynx
2017 - The Malmo Collaborative AI Challenge
https://www.crowdai.org/ - Crowdsourcing AI to solve real-world problems
MARLO 2018 - Multi-Agent Reinforcement Learning in Minecraft
NeurIPS 2019 : MineRL Competition
39. Recap
What’s AI
What are Minecraft mods
Tool to learn/teach code with Minecraft
What makes a system good fit for AI
What’s Machine learning
ML paradigms
Reinforcement learning & Intelligent agents
Where to find AI projects to join
@TheTestLynx
Computer scientist : SW, HW, Master Degrees
Spanish but travel and lived abroad
Multinational experience:
Startup experience
International Speaker
Before going on, who in the audience has development exp? AI? Who has played Minecraft?
MC china was released in 2017
Who can give me examples of things you should do to survive?
Or things that could kill you?
Supervised – maps input to output – ex fake app – classify(pig or chicken)/predict
Unsupervised – keep learning, only input – clustering (types – friendly/hostile)/association (rules)
11 skins + ocelot
Ideal behaviour to maximize performance
Gym – reinforcement learning algorithms
NumPy is the fundamental package for scientific computing with Python.
Pillow, the friendly (PIL) Python Imaging Library.
lxml is library for processing XML and HTML in Python
Agents in C++, C#, python and java
Gym is a toolkit for developing and comparing reinforcement learning algorithms.