Top Banner
PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA->PHILLY & NEHS
29

PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Jun 14, 2020

Download

Documents

dariahiddleston
Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

PANMA SHOW & TELL

OMAR ALI (MSEE, MSED)

ZADIA, CSTA->PHILLY & NEHS

Page 2: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Computational Thinking

Page 3: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

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

Page 4: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Computational Thinking

• Computational thinking is integrating the

power of human thinking with the

capabilities of computers. (Pat Phillips)

Page 5: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

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]

Page 6: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

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’)

Page 7: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Computational Thinking

• Undergraduate courses

– Freshmen year

Computer Science Principles.

– Upper‐level courses

• Graduate‐level courses

– Computational arts and sciences

Page 8: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Computational Thinking

• Examples:

Entertainment technology,

Computational linguistics, …,

Computational finance, …,

Computational biology,

Computational astrophysics

Page 9: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Computational Thinking

• Post‐graduate

– Executive and continuing education,

senior citizens

• Computational Thinking

– For All

Page 10: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

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

Page 11: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Computational Thinking

Page 12: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

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

Page 13: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

New Media Design.

Video Game Development

Page 14: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

New Media Design.

Video Game Development– Video Game Development (VGD) Software:

• Game Engines

– Microsoft KODU

– Game Maker

– Unreal Engine

– Unity 3D

Page 15: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

New Media Design.

Video Game Development• 3D Modeling Software:

– Blender

– Autodesk 3D Max

Page 16: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

New Media Design.

Video Game Development• Programming Languages for VGD

– JavaScript

– CSharp C#

– Boo

– Java

– C++

– Dark Basic Pro

Page 17: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Research Experience

Page 18: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

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.

Page 19: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Artificial Intelligence Utilizing the

StarCraft Game

• We were given Big Data.

Page 20: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Artificial Intelligence Utilizing the

StarCraft Game

That utilizes machine learning:-

Page 21: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

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

Page 22: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Artificial Intelligence Utilizing the

StarCraft Game

We deduced to the Combat Agent nitch:-

Page 23: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Artificial Intelligence Utilizing the

StarCraft Game

We spent hours testing (playing) the game

to understand the “Game State”:-

Page 24: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

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++.

Page 25: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Artificial Intelligence Utilizing the

StarCraft Game

We injected NOVA AI with this formula:-

Page 26: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

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

Page 27: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

Experiments in Map Generation Using the

Hidden Markov Model

• Given:

– Mario Game

– MatLab

– Weka

– Sample Maps.

Page 28: PANMA SHOW & TELL OMAR ALI (MSEE, MSED) ZADIA, CSTA ...panma.org/wp-content/uploads/2017/06/3_ali_computationalthinking.… · 4. Convert map data into format required by HMM 5. Use

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