PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA->PHILLY & NEHS
PANMA SHOW & TELL
OMAR ALI (MSEE, MSED)
ZADIA, CSTA->PHILLY & NEHS
Computational Thinking
Computational Thinking Computational Thinking (CT) is a process that
generalizes a solution to open-ended problems. Open-ended problems encourage full, meaningful answers based on multiple variables, which require using decomposition, data representation, generalization, modeling, and algorithms found in Computational Thinking.
Computational thinking - Wikipedia, the free encyclopedia
Computational Thinking
• Computational thinking is integrating the
power of human thinking with the
capabilities of computers. (Pat Phillips)
Computational Thinking
• Computational thinking is the thought
processes involved in formulating
problems and their solutions so that the
solutions are represented in a form that
can be effectively carried out by an
information processing agent.
[Cuny,Snyder, Wing 2010]
Computational Thinking
1. Computational concepts
Computational concepts that are common in many programming
languages. Sequences, loops, parallelism, events, conditionals,
operators, and data.
2. Computational practices
Being incremental and iterative, testing and debugging, reusing
and remixing, and abstracting and modularizing.
3. Computational perspectives
Expressing, connecting, questioning.
Brennan & Resnick (see ‘Further Learning’)
Computational Thinking
• Undergraduate courses
– Freshmen year
Computer Science Principles.
– Upper‐level courses
• Graduate‐level courses
– Computational arts and sciences
Computational Thinking
• Examples:
Entertainment technology,
Computational linguistics, …,
Computational finance, …,
Computational biology,
Computational astrophysics
Computational Thinking
• Post‐graduate
– Executive and continuing education,
senior citizens
• Computational Thinking
– For All
Computational Thinking
• Computational Thinking Tools:
– Understanding computers from the design
point of view.
• Robotics, $100 Computer, Raspbery Pi e.t.c.
– CSUnplugged
– MIT Scratch
– MIT App Inventor
– UC Berkeley SNAP! Aka (BYOB) Build Your
Own Block
Computational Thinking
Further Resources
• Computer Science Unplugged
http://csunplugged.org
• Computer Science for Fun
http://www.cs4fn.org
• Computer Science Teachers Association
http://csta.acm.org/Curriculum/sub/CompT
hinking.html
• Card Trick
http://www.cs4fn.org/mathemagic/cardshuf
fle.php
• Centre for Computational Thinking
New Media Design.
Video Game Development
New Media Design.
Video Game Development– Video Game Development (VGD) Software:
• Game Engines
– Microsoft KODU
– Game Maker
– Unreal Engine
– Unity 3D
New Media Design.
Video Game Development• 3D Modeling Software:
– Blender
– Autodesk 3D Max
New Media Design.
Video Game Development• Programming Languages for VGD
– JavaScript
– CSharp C#
– Boo
– Java
– C++
– Dark Basic Pro
Research Experience
Artificial Intelligence Utilizing the StarCraft Game
• Objective:
• In a StarCraft® game using a system administrator called NOVA®, our goal is to modify NOVA’s functions to make it a better Artificial Intelligence player in the game.
• To modify an AI system of the computer
game player using NOVA to achieve
better outcome within 6 weeks period.
Artificial Intelligence Utilizing the
StarCraft Game
• We were given Big Data.
Artificial Intelligence Utilizing the
StarCraft Game
That utilizes machine learning:-
Artificial Intelligence Utilizing the
StarCraft Game
And real life chaos that needs AI:-
Repeat Ntimes foreach level ofabstraction
Arbiter
Perception
Strategy
GiveOrders
Deciders
ExecuteOrders
Spatial Temporal Enemy Ally
Planning Adapting Reacting
Logistics
Macro Micro
Income resources
City Builder Scouting
Military
Collaboration
Production
Building Placer
Pathfinder
Target selection
Group Behavior
Unit Behavior
Worker Unit Producer Unit Combat Unit
Research
Artificial Intelligence Utilizing the
StarCraft Game
We deduced to the Combat Agent nitch:-
Artificial Intelligence Utilizing the
StarCraft Game
We spent hours testing (playing) the game
to understand the “Game State”:-
Artificial Intelligence Utilizing the
StarCraft Game
We understood the mechanisms used:-
1. WBAPI (From the Google code).
2. CHAOS LAUNCHER.
3. NOVA (By Alberto Uriarte).
4. Combat Agent Score Formula.
5. Coding using Visual C++.
Artificial Intelligence Utilizing the
StarCraft Game
We injected NOVA AI with this formula:-
Artificial Intelligence Utilizing the
StarCraft Game
• We then tested several hundreds of
values that could bring a win to the
game.
• We discovered variable settings that if
coded in C++ would yield NOVA to a win.
• Our research was successful
Experiments in Map Generation Using the
Hidden Markov Model
• Given:
– Mario Game
– MatLab
– Weka
– Sample Maps.
Experiments in Map Generation Using the Hidden Markov Model
Graduate Assistant: Sam Snodgrass
Omar Ali and Steven Rood-Ojalvo, Faculty Advisor: Dr. Santiago Ontañón
Acknowledgements
References
Overview
Project Description
Activities Course Materials
Future Work
REThink@Drexel
Research Experiences for Teachers in Engineering and Computer Science:
Machine Learning, Big Data and CS Principles
This material is based upon work supported by the National Science Foundation under Grant No. CNS-
1301171.
Any opinions, findings, and conclusions or recommendations expressed in this material are those of the
author(s) and do not necessarily reflect the views of the National Science Foundation.
Manually creating maps for games is expensive
and time consuming. Delegating map generation
to an algorithmic process can save time and
money. Using such algorithmic processes is
called procedural content generation (PCG).
Ontañón and Snodgrass have experimented with
using Markov chains to create new maps. This
summer we worked to apply Hidden Markov
Models (HMM) to the same problem.
1. We researched Data Mining Tools that could be used to
produce the probability tables necessary to build new maps
with machine learning, including MATLAB and Weka.
2. Because of its popularity, open source nature and great
reviews in the literature, we decided to work with Weka.
3. To familiarize ourselves with Weka, we took two MOOCs
online: Data Mining with Weka and More Data Mining with
Weka.
4. Since HMM is a single-dimension instance-based algorithm,
we had to reformat the map data into a format that the HMM
could handle.
Applications of programming to games, artificial
intelligence, machine learning, data mining.
1. Run the reformatted map data through the
HMM package in Weka.
2. Use the Weka output tables to create the
probability tables needed to generate new
maps.
3. Generate new maps and evaluate their quality
using the same metrics as used in the papers
by Snodgrass and Ontañón.
4. Compare the HMM outcomes with
hierarchical Markov chains and multi-
dimensional Markov chains.
Goal: Given map data that have been used to train
an AI in order to generate new maps using Multi-
dimensional Markov Chains, our focus was to:
1. Study scholarly articles and papers to
understand Hidden Markov Models (HMM).
2. Identify and research machine learning tools
that implement HMM
3. Learn to use the HMM package identified
4. Convert map data into format required by HMM
5. Use the tool to study the possibilities of using
HMM in map generation using machine
learning.
Original Mario Maps
1. Our research focused on a platformer game Super Mario. A
small example is shown below. These maps were converted
into text files by Sam Snodgrass for the research mentioned
previously.
2. The text files contained text characters that represent empty
space, ground, pipes, bricks and prizes as -, #, pP, B, and ?
respectively.
Converted and Integrated Mario Maps.
1. Given data was converted and integrated to fit HMM package
algorithmic process. This proved to be a time consuming step.
2. Result was 2200 rows of data in a single text file, each row
representing a columnar tile of a map.
3. This file was imported into the HMM package and run to
produce the probability tables.
In addition to the learning we did on data mining,
Weka, Markov models, and HMM, our primary
references were the following two articles published
in the Proceedings of the AAAI Conference on
Artificial Intelligence in Digital Entertainment, both by
Sam Snodgrass and Santiago Ontañón:
A Hierarchical Approach to Generating Maps Using
Markov Chains, 2014
A Hierarchical MdMC Approach to 2D Video Game
Map Generation, 2015