"What if?" Explaining the past; predicting the future.
"Show me. Build me a model or a simulation. Let's put your ideas to the test!"


CALENDAR
Subject to change.

COMPLEX SYSTEMS
Fall 2015
Duke Kunshan University

Nicholas Gessler, Ph.D.
Classroom 3101
Office 1076

nick(dot)gessler(at)duke(dot)edu



 
 

WE WILL:

  • EXPLORE SOME AWESOME MODELS OF COMPLEXITY.
  • THINK AND TALK ABOUT THE PHILOSOPHY, EPISTEMOLOGY AND IMPLICATIONS OF COMPUTER SIMULATION AND COMPLEXITY.
  • WATCH SOME RELATED AND INSIGHTFUL SCIENCE FICTION MOVIES.
  • WRITE, CREATE AND MODIFY SIMULATIONS OF OUR OWN DESIGN.
  • ENHANCE, EXPLORE AND EXPERIMENT ON THESE WORLDS TO ENJOY JOY THE RICH ENTAILMENTS THEY PRODUCE.

 

ON THE 1st DAY OF CLASS:

  1. We will be handing out 1 USB memory stick, 12 writable CDs or DVDs with paper sleeves (no plastic boxes) and 12 letter-size (8.5 x 11") sheet protectors. Please bring your USB memory stick to class every day.
  2. Please Familiarize yourself with Windows for PCs. (I'm sorry, we will not be using Macs.)
  3. I will distribute a booklet of notes on the C++ language and the Windows API (Application Programmer's Interface) on our first meeting. You can also download it HERE.

We will learn how to speak to the:

  • PC computer: C++
  • Windows Application Programmer's Interface (API)
  • Embarcadero Integrated Development Environment (IDE)

Look at the applications on our SIMULATIONS page (or simply click the "Simulatiions" image above.) Double-click on the executables (.exe) and play.

INSTRUCTIONS:

  1. Ask questions, talk, be creative and have fun.
  2. Be amazed by the code you write in C++ for Windows.
  3. Realize that you are about to become C++ graphics programmers!

And the signifieds butt heads with the signifiers,
and we all fall down slack-jawed to marvel at words!
While across the sky sheet the impossible birds,
In a steady, illiterate movement homewards.

Joanna Newsome,"This Side of the Blue"
(2004 Drag City Records).

There are, indeed, things that cannot be put into words... They make themselves manifest... They are what is mystical...

Ludwig Wittgenstein
(Tractatus Logico-Philosophicus).

I used to think that the brain was
the most wonderful organ in my body.. Then I realized who was telling me this.

Emo Phillips, Neuropsychology: Clinical and Experimental Foundations

 

Tuesday 25 August

Week 1

Challenge 0
The Chaos Game

 

THE 14 WEEK COURSE IN COMPLEX SYSTEMS AT DUKE, DURHAM
A look at the long version and what we cover.
The CALENDAR pages for previous courses will show you what we do.
Our SIMULATIONS pages.

THE 7 WEEK COURSE IN COMPLEX SYSTEMS AT DUKE, KUNSHAN
We cannot cover everything we cover in the 14 week course.
This course may require +/- 6 hours of computer work outside of class time.
Grades are based on your successful engagement with the material.
It is possible for everyone to receive an "A" regardless of your experience.
To receive an "A" you must, at least, turn in all assignments.
The grade "A+" is reserved for exceptional work.
Do not miss classes. You are responsible to attend all meetings.
Use electronic devices in class only for relevant purposes.
Do not use electronic or other devices for social media, games, etc.

INTRODUCTION TO THE PHILOSOPHY OF EVOLUTION AND COMPUTATION.

Theo Jansen ANIMARIS also check "ANIMARIS" in Google Images and VideosBoston Dynamics (recently acquired by Google)
Karl Sims - Evolved Virtual Creatures

DESCRIBING, UNDERSTANDING, EXPLAINING COMPLEXITY WITHOUT A COMPUTER - An age-old problem:

Selected Works of Mao Tse-tung, Volume 1
ON CONTRADICTION (August 1937)

Throughout the history of human knowledge, there have been two conceptions concerning the law of development of the universe, the metaphysical conception and the dialectical conception, which form two opposing world outlooks... As opposed to the metaphysical world outlook, the world outlook of materialist dialectics holds that in order to understand the development of a thing we should study it internally and in its relations with other things; in other words, the development of things should be seen as their internal and necessary self-movement, while each thing in its movement is interrelated with and interacts on the things around it. The fundamental cause of the development of a thing is not external but internal; it lies in the contradictoriness within the thing. There is internal contradiction in every single thing, hence its motion and development. Contradictoriness within a thing is the fundamental cause of its development, while its interrelations and interactions with other things are secondary causes...

Models ~= simulations ~= representations ~= artificial worlds
Physical models: WW2 situation room / Gulf War sand box / Ningxia sand box

How do we represent time, space and agency in a computer?

An Agent ~= an object embodying a cause-effect relationship
An Agent ~= an object with input-processing-output
An Agent ~= an object with sense-think-act (STA) architecture
An Agent could be a representation of a country, person, molecule, planet, etc.
Agent-based modeling ~= Multi-agent models ~= Numerical models

Mantra: "From local rules to global patterns of behavior."
Local versus Global scope.

Programming Challenge 0: The Chaos Game / Saga of the Indecisive Travelers

Let us imagine a family of nomads in the desert situated somewhere between three cities. Every morning they wake and set out for one of the cities. Which one? They have poor memories so they pick one at random. During the day they travel and when they are exactly half-way there they make camp for the night. The next morning they do the same. They pick a city at random, travel half way there, and spend the night. Perhaps they are indecisive or forget where they were headed, nevertheless they continue in this way day after day. Now imagine that we are archaeologists and wish to map the distribution of their campsites. What would that pattern be after 10, 100, 1000 or 10,000 days? We will write a small simulation to answer this simple question...

How we talk to the computer:

  • C/C++: the international language of computation in which the Windows OS, MacOS, Java Virtual Machine and almost everything else are written.
  • Windows Application Programmer's Interface (API): allows us to connect C/C++ to Windows "Virtual Components" like buttons, edit boxes and the mouse.
  • Embarcadero Integrated Development Environment (IDE): allows us to integrate C++ and the API seamlessly into our applications.

We hand out notes and materials.


Consult our SIMULATIONS pages for more examples of applications:

  • .exe - the executables
  • .txt - the C/C++ WinAPI code
  • .zip - the zipped project files for Embarcadero

Written Challenge 0:
Join us at the Conference Center, Room 1103, Tuesday 7:00 p.m. to watch:
Josef Rusnak (director). THE THIRTEENTH FLOOR, Columbia Pictures (1999)
Write no more than two pages (600 words) for the entire assignment. Do not spend more than one hour. Please turn in two copies on paper on Thursday before class.

Part A):

At the end of the film, I will replay for you the scene in which Douglas Hall and Jane Fuller first meet. Their dialog is strange on first viewing, but after having seen the film and understanding what is happening, tell me what is going between Douglas and Jane when they first encounter one another. One is confused; the other is lying. Why do they behave this way? What they say out loud is GLOBAL (accessible to all) but what they think is LOCAL (known only to each of them as individuals). The conversation and acting are nuanced.

If you wish to review this scene, THE VIDEO IS HERE.

I have transcribed it for you below:

1 Douglas Hall: One of the perks of the job.
Their attention turns to a stranger, Jane Fuller, standing in the bedroom...
2 Detective Larry McBain: Oh, this job has a whole lot of perks.
3 Douglas Hall: Can I help you?
4 Jane Fuller: I just talked to him two days ago. I can't believe he's gone... My name is Jane Fuller. Hannon was my father.
5 Douglas Hall: I'm sorry. I'm Douglas Hall.
6 Jane Fuller: You were the one he always wanted me to meet.
7 Douglas Hall: Really? He never mentioned to me that he had a daughter.
8 Jane Fuller: He didn't? I just arrived from Paris this morning. I was supposed to meet him. But then I heard.
9 Detective Larry McBain: My condolences Miss Fuller. I'm Detective Larry McBain, LAPD. I have to ask you some questions.
10 Jane Fuller: Of course.
11 Detective Larry McBain: (To Douglas Hall.) Would you excuse us Mr. Hall?
12 Douglas Hall: Huh? Sure. Yeah. (Turns to Jane Fuller) Have we ever met before?
13 Jane Fuller: No, that's not possible.
14 Douglas Hall: You look... very familiar. Nice to meet you Miss Fuller.

Part B:

Most science fiction stories take the form "if we accept A, B and C as truths, then X, Y and Z will follow as consequences." Usually A, B and C are beyond the realm of current science, but if we accept them and suspend our disbelief, then X, Y and Z will follow in a logical and reasonably scientific manner. In this respect science fiction is something like our "what if?" simulations. In this film, if we accept the A, B and C premises, how validly does the story develop the X, Y and Z entailments? How many levels of simulation and instances of simulation does the film refer to? How do the film-makers and the characters differentiate between the levels?

 
Thursday 27 August

Week 1

Challenge 0
The Chaos Game

Models and simulations as representations (re-presentations) of reality:
mental, cognitive, linguistic, artistic, physical, computational

ACTUAL OBJECT REPRESENTATION, MODEL, MAP
THING ITSELF LANGUAGE: WORDS, MATH, ALGEBRA
REFERRENT SYMBOL, WORD
SIGNIFIED SIGNIFIER

Joanna Newsome's song illustrated:

And the signifieds butt heads with the signifiers,

and we all fall down slack-jawed to marvel at words!

While across the sky sheet the impossible birds,

In a steady, illiterate movement homewards.

Maps as re-presentations of the land:


Lewis Carroll: Mein Herr, the Bellman's Map


WW2 war room situation maps


"Sand box" terrain maps

On Google Earth, fly to:

38°15'58.40"N 105°57'1.33"E
Is there anything unusual about this terrain?

33°36'39.33"N, 79°03'46.24"E
Compare it with this terrain.

An answer...

 

Tuesday 1 September

 

Week 2

Challenge 1
Cellular Automata

Programming Challenge 0: The Chaos Game / Saga of the Indecisive Travelers
Participant presentations...

Programming Challenge 1: Cellular Automata / Conway's Game of Life

Imagine a population of 10,000 automata (or robots). Each one is situated on a single square on a chess-board with 100 squares (or cells) on each side. Each automaton cannot move. It can be either alive or it can be dead. Now suppose the world changes like each frame on an old movie film. At every frame, each automaton counts the number of live cells in the 8 squares that surround it. If the automaton is dead and has exactly 3 living cells surrounding it, it will become alive in the next frame (or iteration). If the automaton is alive and has either 2 or 3 living cells surrounding it, it will stay alive in the next iteration. If either of these conditions are not met, the cell will either stay dead or become dead in the next iteration. Each of the 10,000 cells must make its decision without knowing what its neighboring cells will do in the next iteration. In order to eliminate the effects of the adges of this world, we let the world wrap around, from left to right, right to left, top to bottom and bottom to top. The rules are very simple. What patterns will emerge?

What do you think?

We will write a simulation to explore this simple question...


Written Challenge 1:
Conference Center, Room 1103, Tuesday 7:00 p.m.
Alex Garland (director). EX MACHINA, DNA Films (2015).

Interview with the film-makers.
Movie script.

On two occasions Caleb quotes Robert Oppenheimer (Director of the Manhattan Atomic Bomb Project) who in turn is quoting from the Bhagavad Gita:

Caleb: "I am become Death, the destroyer of worlds."
Nathan: There you go again, Mr. Quotable.

Nathan continues Oppenheimer's quote as he passes out drunk on the sofa:

I'd say we're about due a refill. Bottoms up. (BREATHING HEAVILY) NATHAN: "In battle, in the forest, on the precipice of the mountain. (VOICE CRACKING) On the... The great dark sea. In sleep, in confusion, in the depths of shame. (SOBBING) The good deeds a man has done before defend him. The good deeds a man has done before defends him. The good deeds a man has done before defends him. (SIGHS DEEPLY) It is what it is. It's Promethean, man.

Suggested length: 2 pages, double-spaced, one copy only on paper. Please turn this in on Sunday, September 6, at the beginning of class. Upload your work to SAKAI.

Of the three main characters in the film, Caleb is the most transparent. He has been charged with the task of determining whether Ava is conscious.

A) Why do the characters feel that the "Turing Test" does not measure intelligence or consciousness? What are they looking for as specific evidence that an entity (a human, a monkey or a robot) is conscious? In other words, according to the film, what is "consciousness" and how do we know that we have it?

B) What is going on in Caleb's mind is relatively clear, so let's ignore him. But what is going on in the minds of Nathan and Ava is obscure. Certainly, they say quite a lot to one another, but what are they thinking? Since Nathan is human, we might be able to guess his evolving state of mind. But what about Ava's mind? What is stirring inside her mind? Please recount the story from the perspectives of Nathan and Ava. There may be more than one way to understand their thoughts (even the film-makers are not sure). I am not interested in the morality or the ethics of the characters, only in how their inner (unspoken) thoughts and ideas (emotions?) develop.

 
Sunday 6 September

 

Week 2

Challenge 1
Cellular Automata

Written Challenge 1:
Alex Garland (director). EX MACHINA, DNA Films (2015).
Please turn in papers today. Discussion...
A) Why do the characters feel that the "Turing Test" does not measure intelligence or consciousness?
B) What is going on in the minds of Nathan and Ava?

Notes on grading:

The grades I give you will reflect both your "engagement with the challenge" and "your relative standing" compared to others in the class. I encourage you to develop some applications on your own for extra credit. The best way to learn to code is to play with the code. Please do so. For instance, write an application to throw two dice, to spin a roulette wheel or wheel of fortune, to pick a card from a deck. Write an application that does counter-intuitive things as a joke, for instance one which has a button that you cannot click because it runs away from the cursor, or a Window that shakes or changes shape. In this way you can have fun while at the same time you are learning to code.

Your course grade will reflect your engagement with, and command of, the materials. Your course grade will most probably NOT be an average of your programming and written challenges. Excellent later work will tend to cancel out earlier lesser work. For instance if your grades are: C C C B B B A A A and your course project is an A you will likely receive an A. When you learn to ride a bicycle or learn to drive a car, at first you fall over or sometimes crash. But with practice you get better until you are an expert. At the end you are an expert and deserve an A for riding or driving. Your early mishaps do not reflect your final abilities. So too is it with grades for this course...

A Field Trip:
Kunshan traffic surveillance and control, or
Jacquard weaving mechanism as the inspiration for Babbage's first computer and punched cards at Suzhous No. 1 Silk Factory.

Programming Challenge 1: Cellular Automata / Conway's Game of Life
Continued...

We clean up and speed up what we wrote on Tuesday.
We complete the algorithm and add some functionality:

Simplifying the code:
Creating the iterators as globals.
Creating more intuitive variable names.

Speeding up the code:
Creating worldBMP
showChanges().

Accessing outside files: Adding file-save and file-open functionality.

 

We look at some of the code on our website...

 

Tuesday 8 September

Thursday 10 September

Week 3

Challenge 1
Cellular Automata


One of many conferences on complex systems.

I have introduced you to coding in C/C++ by having you copy code as I present it. I have wanted you to think about the world as a system of agents that are linked to one another through causes and effects in some organized structure. Remember that an agent takes in information from its environment, it processes that information, and it does something as a result. In short it senses, thinks and acts. An agent could represent an atom, dog, human or a planet. Programming and coding start with a problem to be solved. We think of ways to solve it in our minds. We write our thoughts as source code in C/C++. We organize that source code into a hierarchy of jobs that need to be done. Those jobs are functions with the higher level management functions at the bottom. I can show you how I construct a hierarchy of functions, but you need to try this on your own. Try to construct a simple program to help you understand a new object or function. For example:

Sunday I wrote a simple "String Art" application to demonstrate colorRamp().
A more ambitious challenge would be the Belousov- Zhabotinsky reaction.

Written Challenge 2: (This challenge is due next Thursday, September 10:
Please access the article by Robert Glass, "The Cognitive View" on SAKAI / RESOURCES (pages 1-7).
You have now been exposed to two weeks or more of programming. How well do his ideas reflect what goes on in your mind when you think about and write code? 1-2 pages, double-spaced, single-copy on paper, due Thursday, September 10.

Programming Challenge 1: Cellular Automata / Conway's Game of Life
Continued...

We finish file save() and open()
Adding creatures to the code with TComboBox and the
"Brief Illustrated Glossary of Terms in Conway's Game of Life."


We look at some enhancements on our Website

TO THINK ABOUT: Is Conway's world a complete computational system?
Are there any limits to what we can build in a GOL world? Can it compute?
Watch
"Life in Life" by Phillip Bradbury.

THINK ABOUT PREDICTION:
"The World is Deterministic but Unpredictable by any Math or Calculus.
"
Is there a shortcut to predicting the state of Conway's World 1,000 iterations into the future?
Given some state of Conway's GOL, can we retrodict the state(s) that preceded it?
Conway's world is relatively simple; so what does this imply about more complex systems, like those of which we are a part?

ON YOUR OWN: Run Mirek's Cellebration to explore the variety of complexities produced from relatively simple cellular automata. More complex CAs are used to model air and fluid flow, the human heart, the weather, ship and aircraft hulls and thermonuclear exploisions.

Programming Challenge 1: Cellular Automata / Conway's Game of Life
Continued...

Written Challenge 3: (This challenge is due next Tuesday, September 15:
Please read the article by Nicholas Gessler, "The Computerman, the Cryptographer and the Physicist," in SAKAI / RESOURCES. (Some of the articles this article references are also on our SAKAI pages.) How do these ideas by computer scientists compare with the ideas of the film-makers of "The Thirteenth Floor," "Ex-Machina" and/or other science fiction writers? 1-2 pages, double-spaced, single-copy on paper, due Tuesday, September 15.

The beginnings of an hexagonal CA.

GUI: Provide the user with an ergonomic Graphic User Interface.
Format your code properly.
Explore, Esperiment, Enhance...

Movie Night (not required tonight):
Conference Center, Room 1103, Tuesday 7:00 p.m.
Mamoru Oshii (director). GHOST IN THE SHELL, Bandai Visual (1995).

 

Tuesday, 15 September

Week 4

Challenge 2
Evolutionary
Computing

Programming Challenge 1: Cellular Automata / Conway's Game of Life
Participant presentations...

Written Challenge 4:
The movie HER is not required:
Conference Center, Room 1103, Tuesday 7:00 p.m.

Spike Jonze (director). HER, Annapurna Pictures (2013).

On SAKAI please read: David Fogel "What is Evolutionary Computation?"
Take a real-world problem that you previously thought a computer could not solve, think about it in terms of evolutionary computation, and provide me with an example as to how you might go about coding it for an evolutionary run. I am not looking for C/C++ code or even pseudocode. Just give me a sketch of how you would set it up. For example, how would you evolve an emotional response? How would you evolve a work of art? How would you evolve creativity? Or try a simpler goal such as how would you design a sailboat hull and sail for maximum efficiency?
1-2 pages, double-spaced, single-copy on paper, due Tuesday, September 22.

Programming Challenge 2: Evolutionary Computation
Evolutionary Concert Tour, Traveling Salesman Problem, Traveling Ferenghi Problem

For Thursday: Familiarize yourself with the Evolutionary Concert Tour and EvoImage from the user's perspective. We will look at the code on Thursday.

Charles Darwin and Alfred Russel Wallace proposed the theory of evolution by natural selection in 1859. The mechanisms they elucidated explain how life has evolved for billions of years, culminating in us. What would happen if we wrote those same mechanisms of evolution into our computers? Could we evolve solutions to complex problems using variation, recombination (sexual reproduction) and selection? We can. Not only can we evolve solutions to problems and the computer code itself, but we can also evolve hardware by the same methods. Karl Sims has evolved strategies and tactics and even humor in his Evolved Virtual Creatures. We will use it to evolve solutions to the Traveling Salesman Problem and to unscrambled scrambled images.

A SEQUENCE OPTIMIZER
Finding the shortest path...

 

Programming Challenge 2: Evolutionary Computation
Evolutionary Concert Tour, Traveling Salesman Problem, Traveling Ferenghi Problem

Continued...

We make the problem harder with more constraints.

 
Thursday, 17 September

Week 4

Challenge 2
Evolutionary
Computing

What are our goals? To describe, to understand and to explain the complex world around us...

  • to describe (in words, mathematics, calculus or computational simulaitons),
  • to understand (as concepts and as cognitive models)
  • and to explain (in natural languages and graphical visualizations...

Complex systems (and hence complex systems simulations) are often deterministic but unpredictable, meaning that there is no mathermatics, no calculus and no short-cut for determinining from their present state, "T0," to their state at some time in the future, "Tt," other than by running them to that time in the future, "Tt."

Wisdom:

  • "The fool doth think he is wise, but the wise man knows himself to be a fool." 
    -William Shakespeare
  • “To know that you do not know is the best. To pretend to know when you do not know is a disease.” 
    -Lao-Tzu 
  • "The only true wisdom is in knowing you know nothing." 
    -Socrates

Leadership:


NY Times: "More Republicans see Trump as a winner."
From U-571: "The skipper always knows..."

Natural Selection Among Our Species Today:
The natural loss of human embryos from the moment of conception is 80%.

More on Written Challenge 4:
Please read David Fogel's, "What is Evolutionary Computation?" Peter Bentley's, "Evolutionary Design by Computers," may give you added insights.
Think of a complex problem of your own choosing. What would be required to write an evolutionary computation program to solve it?

  • How would you REPRESENT POSSIBLE SOLUTIONS to that problem in pseudocode?
  • How would you measure the FITNESSES of those possible solutions? In other words, how would you evaluate the success of each? A function thst you would design to do this would be called a "fitness function."
  • What computational approaches would you use to select those that would reproduce? How would you handle SELECTION?
  • How would REPRODUCTION take place: Asexual, bisexual, trisexual?
  • How would you manage INHERITANCE? How would you mutate or recombine traits from the parents to produce the offspring?

1-2 pages, double-spaced, single-copy on paper, due Tuesday, September 22.

Programming Challenge 2: Evolutionary Computation
Evolutionary Concert Tour, Traveling Salesman Problem, Traveling Ferenghi Problem

Continued...

   
 

Friday, September 18

9:00 a.m. to 5:00 p.m. SCIENCE FICTION SYMPOSIUM
(Recommended, but not required.)

 

Tuesday, 22 September

Week 5

Challenge 2
Evolutionary
Computing

Written Challenge 4: DUE TODAY
David Fogel "What is Evolutionary Computation?"

Programming Challenge 2: Evolutionary Computation
Evolutionary Concert Tour, Traveling Salesman Problem, Traveling Ferenghi Problem

Continued...

Buying and selling stocks. Reconstructing a simple code.

Coding other evolutionary problems.

Traffic control.

 

Tuesday Evening Sci-Fi Film: Not required.
Duncan Jones (director). MOON, Liberty Films (2009).

 
Thursday, 24 September
 

Programming Challenge 2: Evolutionary Computation
Evolutionary Concert Tour, Traveling Salesman Problem, Traveling Ferenghi Problem

Continued...

Coding other evolutionary problems.

 
 
Friday, 25 September
 

Field Trip: Kunshan Traffic Control Center Come with questions...

 

29 September

8 October

Week 6

Challenge 3
Collective Movement:
Flocking, Herding,
Schooling, Orbits

Programming Challenge 2: Evolutionary Computation
Evolutionary Concert Tour, Traveling Salesman Problem, Traveling Ferenghi Problem

Participant presentations...

Programming Challenge 3: Flocking, Herding, Schooling, Swarming
Introduction...

><((((º>¸ ·´¯`·.¸. ><((((º> `·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸. ><((((º>
><((((º> `·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸¸.·´¯`·.¸><((((º>

Let's now create a world of more realistic agents, ones that can move in any direction and at any speed and that can perceive a richer environment around them. They can have many states like ages, sexes, friends, enemies. They move in vector space (not from cell to cell). They may represent herds of horses, flocks of birds, schools of fish, crowds of people, cars on highways, atoms in crystals or asteroids in orbits around the sun between the planets Mars and Jupiter.

We review the agentClass structure and the rules. (Refer to the 8-page handout).
The agentClass tells you everything each agent can know and do, but you can add more knowledge and behavior. Each agent may utilize the same perceptions, thoughts and actions as other agents, or each agent or group of agents may have its own unique perceptions, thoughts and actions.

Written Challenge #5 due October 8:

A) Come to the Conference Center, Room 1103, Tuesday 7:00 p.m.

Watch the screening of Alex Proyas' (director), DARK CITY, Mystery Clock Cinema (1998).
B) Read Stanislaw Lem's NON SERVIAM (a short story on SAKAI).
C) Familiarize yourself with "Flocking/Orbits Version 35," the agentClass and rules on the handout
Take these with you over the holiday!

Suggest, in as much detail as possible, six rules that are practical to implement in "Flocking/Orbits Version 35." Three should be inspired by DARK CITY and three should be inspired by NON SERVIAM. Use your imagination, buy be realistic in consideraton of the code we have available in Version 35. Be prepared to implement these rules when we meet again on Thursday.
(About two pages, 10-point font, double-spaced, on single-sided paper.)

 

 

The remainder of the course you should be working on
Programming Challenge #3 and your Course Programming Challenge.

Written Challenge #5 due today...

Programming Challenge 3: Flocking, Herding, Schooling, Swarming
Review...
the user's perspective; the coder's perspective

><((((º>¸ ·´¯`·.¸. ><((((º> `·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸. ><((((º>
><((((º> `·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸¸.·´¯`·.¸><((((º>

We discuss some enhancements loosely inspired by Non Serviam, Dark City and the Thirteenth Floor...

 

13 October

15 October

Week 7

Challenge 3
Collective Movement:
Flocking, Herding,
Schooling, Orbits

Next Fall course offerings:

Putting Unicode into your applicaitons...

Shockwave Traffic Jams (40s)

Iaian Couzin: Collective Animal Behavior

  • Pop Tech 2011 (5m)
  • Awe-Mageddon (24m)

XE6 Orbits 36 Improvements:

  • Ghost triangles have been removed.
  • Martian and Jovian orbits are now "true."
  • Orbital "repulsors" have been instantiated.
  • Some Unicode symbols have been incorporated
  • A "drop agents from top of screen" reset has been created.

Tuesday evening movie: BLADE RUNNER (1982).
Thursday evening movie: ETERNAL SUNSHINE OF THE SPOTLESS MIND (2004).
With refreshments including Orville Redenbacher popcorn!

Programming Challenge 3: Orbits
Continued...

><((((º>¸ ·´¯`·.¸. ><((((º> `·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸. ><((((º>
><((((º> `·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸¸.·´¯`·.¸><((((º>

We introduce some new variations to our flocking simulations.

Programming Challenge 3: Orbits
Participant presentations...

><((((º>¸ ·´¯`·.¸. ><((((º> `·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸. ><((((º>
><((((º> `·.¸¸.·´¯`·.¸><((((º>¸ ·´¯`·.¸¸.·´¯`·.¸><((((º>

Work on course projects...
We reserve class time for you to work on your course projects. You can either continue to enhance one of the previous challenges or work on a challenge of your own design.

Tuesday Evening Sci-Fi Film: Not required.
Ridley Scott (director). BLADE RUNNER, Warner Brothers (1982).

 

20 October

Final Week

2:00 to 5:00 on Final Exam Day...

No final. Course project participant presentations
Coffee, tea and cookiies...