Presentation is loading. Please wait.

Presentation is loading. Please wait.

Complex Systems Engineering SwE 488 Artificial Complex Systems Prof. Dr. Mohamed Batouche Department of Software Engineering CCIS – King Saud University.

Similar presentations


Presentation on theme: "Complex Systems Engineering SwE 488 Artificial Complex Systems Prof. Dr. Mohamed Batouche Department of Software Engineering CCIS – King Saud University."— Presentation transcript:

1 Complex Systems Engineering SwE 488 Artificial Complex Systems Prof. Dr. Mohamed Batouche Department of Software Engineering CCIS – King Saud University Riyadh, Kingdom of Saudi Arabia batouche@ccis.edu.sa

2 Cellular Automata 2

3 Purpose 3 In Theory: Computation of all computable functions Construction of (also non-homogenous) automata by other automata, the offspring being at least as powerful (in some well-defined sense) as the parent In Practice: Exploring how complex systems with emergent patterns seem to evolve from purely local interactions of agents. I.e. Without a “master plan!”

4 Cellular Automata A cellular automata is a family of simple, finite-state machines that exhibit interesting, emergent behaviors through their interactions in a population 4

5 The famous BOIDS model shows how flocking behavior can emerge from a collection of agents following a few simple rules. Emergent Behavior 5

6 Original concept of CA is most strongly associated with John von Neumann who was interested in the connections between biology and the new study of automata theory Stanislaw Ulam suggested to von Neumann the use a cellular automata as a framework for researching these connections. The original concept of CA can be credited to Ulam, while the early development of the concept is credited to von Neumann. Ironically, although von Neumann made many contributions and developments in CA, they are commonly referred to as “non-von Neumann style”, while the standard model of computation (CPU, globally addressable memory, serial processing) is know as “von Neumann style ”. 6

7 7 Cellular Automata (CAs) Have been used as: massively parallel computer architecture model of physical phenomena (Fredkin, Wolfram) VLSI Testing Data Encryption Error Correcting Code Correction Testable Synthesis Generation of hashing Function Currently being investigated as model of quantum computation (QCAs)

8 Grid Mesh of cells. Simplest mesh is one dimensional. Cell Basic element of a CA. Cells can be thought of as memory elements that store state information. All cells are updated synchronously according to the transition rules. Rules 8

9 Local interaction leads to global dynamics. One can think of the behavior of a cellular automata like that of a “wave” at a sports event. Each person reacts to the state of his neighbors (if they stand, he stands). 9

10 Rule Application Next state of the core cell is related to the states of the neighboring cells and its current state. An example rule for a one dimensional CA: 011->x0x All possible states must be described. Next state of the core cell is only dependent upon the sum of the states of the neighboring cells. For example, if the sum of the adjacent cells is 4 the state of the core cell is 1, in all other cases the state of the core cell is 0. 10

11 11 Structure Discrete space (lattice) of regular cells 1D, 2D, 3D, … rectangular, hexagonal, … At each unit of time a cell changes state in response to ( Time advances in discrete steps ): its own previous state states of neighbors (within some “radius”) All cells obey same state update rule, depending only on local relations an FSA Synchronous updating (parallel processing)

12 Structure: Neighborhoods 12

13 1-DIMENSIONAL AUTOMATA 13

14 One-Dimensional CA’s Game of Life is 2-D. Many simpler 1-D CAs have been studied For a given rule-set, and a given starting setup, the deterministic evolution of a CA with one state (on/off) can be pictured as successive lines of colored squares, successive lines under each other 14

15 Neighborhoods 15

16 3 Black = White 2 Black = Black 1 Black = Black 3 White = White Now make your own CA 16

17 “A New Kind of Science” Stephen Wolfram ISBN 1-57955-008-8 www.wolframscience.com

18 1-D CA Example 18 Rules 0 0 1 1 0 1 1 0 Rule# = 2 + 4 + 16 + 32 = 54

19 Wolfram Model 1 1 1 1 1 1 1 0 Rule #126 = 64 + 32 + 16 + 8 + 4 + 2 + 0 = 126 Most of the rules are degenerate, meaning they create repetitive patterns of no interest. However there are a few rules which produce surprisingly complex patterns that do not repeat themselves. 1 1 1 1 1 1 0 0 Rule #124 = 64 + 32 + 16 + 8 + 4 + 0 + 0 = 124 19

20 Wolfram Model we can view the state of the model at any time in the future as long as we step through all the previous states. 20

21 21 Hundred generations of Rule 30

22 CA Example: Rule 30 111 110 101 100 011 010 001 000 0 0 0 1 1 1 1 0 Rule (0 + 0 + 0 + 16 + 8 + 4 + 2 +0 ) = 30 22

23 Conus Textile pattern 23

24 The pattern is neither regular nor completely random. It appears to have some order, but is never predictable. 24

25 See Demo - NetLogo Rule #45=32+8+4+1 = 0 2 7 + 0 2 6 + 1 2 5 + 0 2 4 +1 2 3 + 1 2 2 + 0 2 1 + 1 2 0 =0 0 1 0 1 1 0 1 Rule #30=16+8+4+2 = 0 2 7 + 0 2 6 + 0 2 5 + 1 2 4 +1 2 3 + 1 2 2 + 1 2 1 + 0 2 0 =0 0 0 1 1 1 1 0 This naming convention of the 256 distinct update rules is due to Stephen Wolfram. He is one of the pioneers of Cellular Automata and author of the book a New Kind of Science, which argues that discoveries about cellular automata are not isolated facts but have significance for all disciplines of science. Wolfram Model 25

26 0 1 0 1 1 0 1 0 Rule (0 + 2 + 0 + 8 + 16 + 0 + 64) = 90 Wolfram Rule 90 26

27 Wolfram Rule 110 Proven to be Turing Complete - Rich enough for universal computation interesting result because Rule 110 is an extremely simple system, simple enough to suggest that naturally occurring physical systems may also be capable of universality 27

28 Wolfram Rule 99 28 Rule# 99 = 0 2 7 + 1 2 6 + 1 2 5 + 0 2 4 + 0 2 3 + 0 2 2 + 1 2 1 + 1 2 0 0 + 64 + 32 + 0 + 0 + 0 + 2 + 1

29 29

30 Mollusc Pigmentation Patterns 30

31 Wolfram’s CA classes 1,2 From observation, initially of 1-D CA spacetime patterns, Wolfram noticed 4 different classes of rule-sets. Any particular rule-set falls into one of these:-: CLASS 1: From any starting setup, pattern converges to all blank -- fixed attractor CLASS 2: From any start, goes to a limit cycle, repeats same sequence of patterns for ever. -- cyclic attractors 31

32 Wolfram’s CA classes 3,4 CLASS 3: Turbulent mess, chaos, no patterns to be seen. CLASS 4: From any start, patterns emerge and continue without repetition for a very long time (could only be 'forever' in infinite grid) Classes 1 and 2 are boring, Class 3 is messy, Class 4 is 'At the Edge of Chaos' - at the transition between order and chaos -- where Game of Life is!. 32

33 2-DIMENSIONAL AUTOMATA 33

34 2-dimensional cellular automaton consists of an infinite (or finite) grid of cells, each in one of a finite number of states. Time is discrete and the state of a cell at time t is a function of the states of its neighbors at time t-1. 34

35 Neighborhoods 35 Von NeumannMoore margolus

36 Cryptography use, Rule 30 Simulations Gas behaviour. Forest fire propagation. Urban development. Traffic flow. Air flow. Crystallization process. Alternative to differential equations 36

37 37 Snowflakes

38 Bead-sort Bead-Sort is a method of ordering a set of positive integers by mimicking the natural process of objects falling to the ground, as beads on an abacus slide down vertical rods. The number of beads on each horizontal row represents one of the numbers of the set to be sorted, and it is clear that the final state will represent the sorted set. 38 [10 8 6 2 4 12][2 4 6 8 10 12]

39 Bead-sort 39

40 Bead-sort - CA implementation 40 [10 8 6 2 4 12] [2 4 6 8 10 12] [10 8 6 2 4 12] [2 4 6 8 10 12] See Demo - Netlogo the natural process of objects falling to the ground

41 Bead-sort Extended CA implementation The Bead-Sort can be modeled by the two-dimensional cellular automaton (CA) rule,. For the Antigravity Bead-Sort, we add a second rule:. 41

42 Bead-sort Extended 42 The "extended" (anti-gravity) mode allows the inclusion of all integers, with "negative beads" rising while "positive beads" fall.

43 43 Example: Conway’s Game of Life Invented by Conway in late 1960s A simple CA capable of universal computation Structure: 2D space rectangular lattice of cells binary states (alive/dead) neighborhood of 8 surrounding cells (& self) simple population-oriented rule

44 44 Example: Conway’s Game of Life Cell State = dead/off/0 State = alive/on/1

45 A cell dies or lives according to some transition rule The world is round (flips over edges) How many rules for Life? 20, 40, 100, 1000? T = 0T = 1 transition rules Example: Conway’s Game of Life 45

46 46 State Transition Rule Live cell has 2 or 3 live neighbors  stays as is (stasis) Live cell has < 2 live neighbors  dies (loneliness) Live cell has > 3 live neighbors  dies (overcrowding) Empty cell has 3 live neighbors  comes to life (reproduction)

47 47 State Transition Rule Survive with 2 or 3 live neighbors Live cell  stays as is (stasis) otherwise dies from loneliness or overcrowding Generate with 3 live neighbors Empty cell  comes to life (reproduction)

48 48 State Transition Rule Three simple rules: dies if number of alive neighbor cells =< 1(loneliness) dies if number of alive neighbor cells >= 4 (overcrowding) generate alive cell if number of alive neighbor cells = 3(procreation)

49 Examples of the rules loneliness(dies if #alive =< 1) overcrowding(dies if #alive >= 4) procreation(lives if #alive = 3) State Transition Rule 49

50 CA: Discrete Time, Discrete Space Initial Setup Number of Neighbors After Pass 1 After Pass 2 50

51 T = 0 neighboring values T = 1 Game of Life: 2D Cellular Automata using simple rules Emergent pattern: Blinker 51

52 Emergent patterns Conway automaton can simulate a number of different effects that can be found in the evolution of a living population. Equilibria Oscillation Movement square 2 steps diagonal beehive 2 steps horizontal boat 3 steps instability (all the space is filled up by horizontal lines) ship 15 steps instability toast chaos? 52

53 Game of Life: emergent patterns 53 gliders: patterns that moves constantly across the grid Conway’s Rules: Game of Life Survive with 2 – 3 living neighbors Generate with 3 living neighbors Gosper’s glider gun : emits glider stream

54 Emergent Patterns 54

55 Emergent Patterns Oscillators-objects that change from step to step, but eventually repeat themselves. These include, but are not limited to, period 2 oscillators, including the blinker and the toad. Blinker Toad 55

56 Emergent Patterns: A Clock 56 See Demo: Game of Life

57 Emergent Patterns: 57 See Demo: Game of Life Oscillator Barber’s Pole Pulsar SpaceShip Beacon Glider

58 Emergent Patterns: Gosper’s Glider Gun 58 See Demo: Game of Life

59 Emergent Patterns: Puffer train 59

60 Emergent Patterns: Double-Barreled Gun 60

61 Emergent Patterns: Edge Shooter 61

62 Emergent Patterns: Evolution of a breeder... 62

63 Game of Life - implications Typical Artificial Life, or Non-Symbolic AI, computational paradigm: bottom-up parallel locally-determined Complex behavior from (... emergent from...) simple rules. Gliders, blocks, traffic lights, blinkers, glider-guns, eaters, puffer-trains... 63

64 Game of Life as a Computer ? Higher-level units in Game of Life can in principle be assembled into complex 'machines' -- even into a full computer, or Universal Turing Machine. 'Computer memory' held as 'bits' denoted by 'blocks‘ laid out in a row stretching out as a potentially infinite 'tape'. Bits can be turned on/off by well-aimed gliders. 64

65 Game of Life as a Computer ? Bits can be turned on/off by well-aimed gliders: 65

66 This is a Turing Machine implemented in Conway's Game of Life. http://rendell-attic.org/gol/tm.htm 66

67 This is a Universal Turing Machine (UTM) implemented in Conway's Game of Life. Designed by Paul Rendell 10/February/2010. http://rendell-attic.org/gol/utm/index.htm 67

68 68 Foundations Turing Machine -> Computer The theory of computation and the practical application it made possible — the computer — was developed by an Englishman called Alan Turing.

69 Turing machines Turing machines (TM ’ s) were introduced by Alan Turing in 1936 They are more powerful than both finite automata or pushdown automata. In fact, they are as powerful as any computer we have ever built. The main improvement from PDA ’ s is that they have infinite accessible memory (in the form of a tape) which can be read and written to.

70 Basic design of Turing machine Control Infinite tape Tape head Usual finite state control The basic improvement from the previous automata is the infinite tape, which can be read and written to. The input data begins on the tape, so no separate input is needed (e.g. DFA, PDA).

71 Turing Machine... Infinite tape: Γ* Tape head: read current square on tape, write into current square, move one square left or right FSM:like PDA (PushDown Automata), except: transitions also include direction (left/right) final accepting and rejecting states FSM

72 72 A Turing Machine...... Tape Read-Write head Control Unit (FSM: Finite Sate Machine)

73 73 The Tape...... Read-Write head No boundaries -- infinite length The head moves Left or Right

74 74...... Read-Write head The head at each time step: 1. Reads a symbol 2. Writes a symbol 3. Moves Left or Right

75 75 Turing Machine EG Successor Program Sample Rules: If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! Let’s see how they are carried out on a piece of paper that contains the reverse binary representation of 47:

76 76 Turing Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 111101

77 77 Turing Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 011101

78 78 Turing Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 001101

79 79 A Thinking Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 000101

80 80 A Thinking Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 000001

81 81 A Thinking Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 000011

82 82 Turing Machine EG Successor Program So the successor’s output on 111101 was 000011 which is the reverse binary representation of 48. 111101 = 1 + 2 + 4 +8 + 0 + 32 = 47 000011 = 0 + 0 + 0 + 0 + 16 + 32 = 48

83 83 Turing Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 1111111

84 84 A Thinking Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 0111111

85 85 A Thinking Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 0011111

86 86 A Thinking Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 0001111

87 87 A Thinking Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 0000111

88 88 A Thinking Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 0000011

89 89 A Thinking Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 0000001

90 90 A Thinking Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 0000000

91 91 A Thinking Machine EG Successor Program If read 1, write 0, go right, repeat. If read 0, write 1, HALT! If read , write 1, HALT! 00000001 The successor of 127 is 128 !!!

92 03/03/2000FLAC: Reductions92 Turing machines as functions TM Input word Output word f  A function f is a computable function if a TM with word w as input halts with f(w) as output. w f(w)

93 03/03/2000FLAC: Reductions93 First computers: custom computing machines 1950 -- Eniac: the control is hardwired manually for each problem. Control Input tape (read only) Output tape (write only) Work tape (memory)

94 03/03/2000FLAC: Reductions94 TMs can be described using text Input tape (read only) Control Output tape (write only) Work tape (memory) Program n states s letters for alphabet transition function: d(q0,a) = (q1, b, L) d(q0,b) = (q1, a, R) …. Consequence: There is a countable number of Turing Machines

95 The Universal Turing Machine We can build a Turing Machine that can do the job of any other Turing Machine. That is, it can tell you what the output from the second TM would be for any input! This is known as a universal Turing machine (UTM). A UTM acts as a completely general- purpose computer, and basically it stores a program and data on the tape and then executes the program.

96 03/03/2000FLAC: Reductions96 There is a TM which can simulate any other TM (Alan Turing, 1930) Input tape Universal TM Output tape Work tape (memory) Interpreter Program

97 03/03/2000FLAC: Reductions97 The Digital Computer: a UTM Machine code Universal TM Output Memory + disk Machine-code Interpreter Input

98 Palindrome Example - UTM Figure 2 – Palindrome Example of a TM computation

99 Palindrome Example Figure 2 – Palindrome Example of a TM computation

100 Palindrome Example Figure 2 – Palindrome Example of a TM computation

101 Palindrome Example Figure 2 – Palindrome Example of a TM computation

102 Palindrome Example Figure 2 – Palindrome Example of a TM computation

103 Palindrome Example Figure 2 – Palindrome Example of a TM computation

104 Palindrome Example Figure 2 – Palindrome Example of a TM computation

105 Palindrome Example Figure 2 – Palindrome Example of a TM computation

106 Palindrome Example Figure 2 – Palindrome Example of a TM computation

107 Palindrome Example Figure 2 – Palindrome Example of a TM computation

108 Palindrome Example Figure 2 – Palindrome Example of a TM computation

109 109 Can Machines Think? In “Computing machinery and intelligence,” written in 1950, Turing asks whether machines can think. He claims that this question is too vague, and proposes, instead, to replace it with a different one. That question is: Can machines pass the “imitation game” (now called the Turing test)? If they can, they are intelligent. Turing is thus the first to have offered a rigorous test for the determination of intelligence quite generally.

110 110 Self-reproducing CAs von Neumann saw CAs as a good framework for studying the necessary and sufficient conditions for self-replication of structures. von N's approach: self-rep of abstract structures, in the sense that gliders are abstract structures. His CA had 29 possible states for each cell (compare with Game of Life 2, black and white) and his minimum self-rep structure had some 200,000 cells.

111 111 Self-rep and DNA This was early 1950s, pre-discovery of DNA, but von N's machine had clear analogue of DNA which is both: used to determine pattern of 'body' interpreted and itself copied directly copied without interpretation as a symbol string Simplest general logical form of reproduction (?) How simple can you get?

112 112 Langton’s Loops Chris Langton formulated a much simpler form of self- rep structure - Langton's loops - with only a few different states, and only small starting structures. [ Further developments -- eg 'Wireworld'. ]

113 3-Dimensional CA 113 One difficulty with three-dimensional cellular automata is the graphical representation (on two- dimensional paper or screen)

114 114 Conclusions

115 115 Conclusions This topic is very hot and has widespread implications Biology Chemistry Computer science Complexity We’ve seen the basic concepts … But we’ve only scratched the surface!  From now on, Think Biology, Emergence, Complex Systems …

116 References 116

117 References Jay Xiong, New Software Engineering Paradigm Based on Complexity Science, Springer 2011. Claudios Gros : Complex and Adaptive Dynamical Systems. Second Edition, Springer, 2011. Blanchard, B. S., Fabrycky, W. J., Systems Engineering and Analysis, Fourth Edition, Pearson Education, Inc., 2006. Braha D., Minai A. A., Bar-Yam, Y. (Editors), Complex Engineered Systems, Springer, 2006 Gibson, J. E., Scherer, W. T., How to Do Systems Analysis, John Wiley & Sons, Inc., 2007. International Council on Systems Engineering (INCOSE) website (www.incose.org).www.incose.org New England Complex Systems Institute (NECSI) website (www.necsi.org).www.necsi.org Rouse, W. B., Complex Engineered, Organizational and Natural Systems, Issues Underlying the Complexity of Systems and Fundamental Research Needed To Address These Issues, Systems Engineering, Vol. 10, No. 3, 2007. 117

118 References Wilner, M., Bio-inspired and nanoscale integrated computing, Wiley, 2009. Yoshida, Z., Nonlinear Science: the Challenge of Complex Systems, Springer 2010. Gardner M., The Fantastic Combinations of John Conway’s New Solitaire Game “Life”, Scientific American 223 120–123 (1970). Nielsen, M. A. & Chuang, I. L.,Quantum Computation and Quantum Information, 3rd ed., Cambridge Press, UK, 2000. 118

119 119


Download ppt "Complex Systems Engineering SwE 488 Artificial Complex Systems Prof. Dr. Mohamed Batouche Department of Software Engineering CCIS – King Saud University."

Similar presentations


Ads by Google