COMPUTER SIMULATIONS Important for research… But also really fun.

Slides:



Advertisements
Similar presentations
color code vocabulary words and definitions
Advertisements

An introduction to pointers in c
Problem Solving with Data Structures using Java: A Multimedia Approach Chapter 14: Using an Existing Simulation Package Download greenfoot and install.
Int 2 Computing Software Development.
1 Predatory Conduct. 2 Predatory conduct is the implementation of a strategy designed specifically to deter rival firms from competing in a market. To.
Chapter 2 Machine Language.
Taking Turns I can take turns By Solomon & Diego.
Simple Machines What Makes them Simple??.
Auckland Deaf Christian Fellowship Leadership Training Course Tutor: Rev Sandra Gibbons B.Min, PG.DipEd(Guidance Studies), Cert Min, Cert Clinical Pastoral.
Chapter 14 Comparing two groups Dr Richard Bußmann.
CPSC 322 Introduction to Artificial Intelligence October 29, 2004.
Fuel Cell Modeling Team Members: Albert Wong Faculty Advisor: Dr. Blekhman Department of Computer Science and Technology College of Engineering, Computer.
Computer Science - I Course Introduction Computer Science Department Boston College Hao Jiang.
CS Summer 2005 Final class - July 1st Assorted fun topics in computability and complexity.
Practical session 8 Assignment 3. Game of life A zero-player game. Simulates Evolution, of an infinite two-dimensional matrix’s cells. Each cell can be.
Programming Introduction November 9 Unit 7. What is Programming? Besides being a huge industry? Programming is the process used to write computer programs.
Computer Science - I Course Introduction Computer Science Department Boston College Hao Jiang.
Does not Compute 3: Awesomer Cellular Automata In which we consider how to upgrade our cellular automata A few key choices are considered, but eventually.
Getting a Job Soon you will be looking for your first job.
A Neural Network Approach to Predicting Stock Performance John Piefer ECE/CS 539 Project Presentation.
MAKING ENDS MEET Personal Budget for Type your name or family name.
Public Policy Analysis MPA 404 Lecture 16. Previous Lecture  A revision of the concepts of equilibrium.  The short run disequilibrium, and the long.
ROOT: A Data Mining Tool from CERN Arun Tripathi and Ravi Kumar 2008 CAS Ratemaking Seminar on Ratemaking 17 March 2008 Cambridge, Massachusetts.
The 3 Step Funnel. It’s All About the Cheese Give something of value in exchange for their address Make it clear what the value is QUICKLY Make.
CS 101: Arrays Abhiram Ranade. Computers manipulate many objects Given the position, masses, and velocities of all stars, where will they be after the.
WJEC Applied ICT Spreadsheet Skills 1.Introduction to Financial Modelling Definition A model is a program which has been developed to copy the way.
MOM! Phineas and Ferb are … Aims:
How Much Do You Know About: Money?. HOW TO PLAY? ~GET A PENCIL AND PAPER ~IN THE BOTTOM LEFT CORNER, CLICK ON THE IMAGE OF A PROJECTOR SCREEN UNROLLING.
Marcel Casado NCAR/RAP WEATHER WARNING TOOL NCAR.
P ERSUASIVE WRITING Advertising. W HAT IS ADVERTISING ? Advertising is a tool used to get people to want to buy something. The main reason ads are created.
Equity & Options Trading Game and Tutorial For SEBC May 8, 2004 Sanjiv Parekh.
Does not Compute 4: Finite Automata In which we temporarily admit defeat with cellular automata (we will face them again, in the epic final “Does Not Compute”
Instructor: Chris Trenkov Hands-on Course Python for Absolute Beginners (Spring 2015) Class #005 (April somthin, 2015)
Packaging Mission: To create packaging that was eye-catching as well as informational History: A Customer was interested in packaging that would stand.
Software Development Process.  You should already know that any computer system is made up of hardware and software.  The term hardware is fairly easy.
Intermediate 2 Software Development Process. Software You should already know that any computer system is made up of hardware and software. The term hardware.
6/1/2016Senior Seminar1 Markets, Competition and Efficiency Kozminski University Warszawa, June 22, 2013.
Estimates and Averages October 5, 2015 (2.2 in your books)
Please form into groups of three. You are going to be working as a team. Three different types of jobs at the factory. Job 1-Color and design.
The Civic Mirror civicmirror.com What Is? The Civic Mirror What kind of citizen will you become?
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 1: Introduction.
Cove: A Practical Quantum Computer Programming Framework Matt Purkeypile (DCS3) Winter 2009.
Intermediate 2 Computing Unit 2 - Software Development.
CDA 3100 Spring Special Thanks Thanks to Dr. Xiuwen Liu for letting me use his class slides and other materials as a base for this course.
Chapter 7 What Can Computers Do For Me?. How important is the material in this chapter to understanding how a computer works? 4.
Gravity Our current understanding of the laws of nature is based on the concept of forces. We know of four basic forces (Lect. 37): Gravity, electromagnetic,
How To Program An Overview Or A Reframing of the Question of Programming.
Unit 1: What is economics all ABOUT? Chapters 1-6.
Introduction CSE 1310 – Introduction to Computers and Programming Vassilis Athitsos University of Texas at Arlington 1.
Club Overview - Day 3 (Get Excited!!!!!). Agenda I. Video II. Log into Canvas III. Choosing a Level IV. Learning and Creating V. Free stuff! VI. Closing.
By: Vivian W.. For movement, I made the turtle and the kodu move.
Tutorial for Modelsim 1 Installation Download the Modelsim Student Edition: Follow the.
Get your software working before putting it on the robot!
By : Jack Kelenjian. Is a career in computers right for me? To determine if a career in computers is right for someone you need to identify what makes.
Your Free World Scripts Can Make That Difference For You Don't you think that not having to have a high level.
CDA 3100 Fall Special Thanks Thanks to Dr. Xiuwen Liu for letting me use his class slides and other materials as a base for this course.
Here’s Why You Should Choose Website Builders over Other Options Squarespace allows you to add and move around your content (text, video, images, sounds,
Introduction to Eclipse
Introduction CSE 1310 – Introduction to Computers and Programming
Prepared by Kimberly Sayre and Jinbo Bi
Sussex Neuroscience Coding Club title slide
Getting a Job Soon you will be looking for your first job.
Get your ETL flow under statistical process control
Answering exam questions
What would you like to be in the future? Why?
Arrays.
MIS2502: Data Analytics Introduction to Advanced Analytics and R
Starter Activities GCSE Python.
By Carina Gonzalez A. Per 7 Economics Mr.Traeger
Open data in teaching and education
Presentation transcript:

COMPUTER SIMULATIONS Important for research… But also really fun

Case Study: CONWAY’S GAME OF LIFE

Pythonic Platform for computer simulations

Scientist explores a world...

Comes up with a model for that world The scientist isn’t sure at all if the model fits the real world. Maybe it fits the real world only in some situations?

A computer simulation can show a world governed by the model The scientist can compare the results of his simulations to the real world, and know whether his model is good.

And after he discovers a model that works, he can use computer simulations to make experiments in that world.

Thinking up a model Running a Simulation of the model This should be a simple and straightforward step, right?

It’s not!

Maybe you can write a quick-n-dirty simulation easily enough… But every time you’ll want to change something, you’ll have to do a lot of work.

A scientist who wants to work efficiently with simulations needs a simulations framework in which he can easily: Make experiments Measure their results Make changes in the simulation world Tweak the world laws And more...

Thinking up a model Running a Simulation of the model GarlicSim’s goal: To make this process easy, smooth and fast

To make a framework for simulations, one must answer the question: What do all simulations have in common?

“Life” simulation Physics simulation Stock market simulation These are some examples of different kinds of simulation. What do these simulations have in common?

“Life” simulation Physics simulation Stock market simulation Every simulation has: 1. A concept of a world state and 2. A step function.

“Life” simulation Physics simulation Stock market simulation World state: A description of a frozen moment in time in the simulation. Contains all the information there is about the world at that single point in time.

“Life” simulation Physics simulation Stock market simulation World state: 2-dimensional array of cells, saying about each cell whether it’s dead or alive. World state: The position, velocity, acceleration, mass etc. for each body in the system. World state: The price of every stock, the amount of money and stock that every trader owns, etc.

“Life” simulation Physics simulation Stock market simulation Step function: A function that takes a world state, and outputs the next world state that follows it in time. This is where you put your “world laws”.

“Life” simulation Physics simulation Stock market simulation Step function: Count the live neighbors for every cell, if it’s 2, the cell will be alive, if it’s 3... etc. Step function: Calculate the sum of forces on each body, use F=ma to get acceleration, use that to estimate position after ∆t. Step function: For every trader, calculate utility of buying/selling every stock, decide which stocks he will buy, transfer money/stocks accordingly.

Once you have a state and a step function, you’re set; You can start crunching the timeline of your simulation.

You generate the first state. Then you put it in the step function, and get the next state. Then you put that state in the step function, and you’re building your timeline.

garlicsim_wx GarlicSim’s graphical interface. Is awesome. Written with wxPython. Completely optional; You’re free to just import garlicsim instead. Cross-platform: Windows/Mac/Linux.

What is a “time tree”? A time tree is a generalization of a timeline. The difference: A time tree can be forked.

Why would you want to fork your time tree? Usage 1: To ask, how could things have happened differently? (Relevant only in non-deterministic simulations.)

Why would you want to fork your time tree? Usage 2: To ask, how could things have happened differently, if the world laws were different? (Giving different arguments to the step function.)

These 2 usages were both examples of a fork by crunching: Making a fork in the time tree by telling GarlicSim to recalculate from a given state.

Usage number 3 is fork by editing. You take this state, Modify it, Put it here, And see how the simulation evolves from there.

What is a simpack? A simpack is the type of the simulation. The simpack has all the code for the states and the step function.

A simpack is a package of code; A simulation, which is also called a project, is an object created using the simpack.

There is an API for Cruncher types; You can write new kinds of crunchers and use them in your simulation.

Getting started with GarlicSim Go to the website: Download and install. (No compiling!) Do tutorial 1, in which you’ll run a simulation. Do tutorial 2, in which you’ll write your first simpack.

Getting started with GarlicSim If you have any questions or feedback, mail me: or the mailing list:

And please, give me feedback. Every time you give me feedback, an angel gets a pair of wings.

Have fun simulating!