Loading...

Messages

Proposals

Stuck in your homework and missing deadline? Get urgent help in $10/Page with 24 hours deadline

Get Urgent Writing Help In Your Essays, Assignments, Homeworks, Dissertation, Thesis Or Coursework & Achieve A+ Grades.

Privacy Guaranteed - 100% Plagiarism Free Writing - Free Turnitin Report - Professional And Experienced Writers - 24/7 Online Support

Wireworld cellular automaton

27/03/2021 Client: saad24vbs Deadline: 2 Day

1 | ANU College of Engineering and Computer Science March 2013

WIRING UP WIREWORLD First assignment for Introduction to Programming and Algorithms 2013

Uwe R. Zimmer based on work by Robert Offner (Probie)

What are you looking at on the right?

• A seven segment display showing the number ?

• A picture of a seven segment dis- play showing the number ?

• A picture of a computer emulating electronic circuits?

• A machine emulating a machine emulating a machine?

• A weird bunch of colour spots?

• A very simple machine, yet as powerful as any other computer?

• A pattern which is probably supposed to change over time?

Yes, you guessed right: this is a cellular automaton. And pattern you see (the whole picture) is its current state. Most cellular automata have a state which is a finite, fixed (here: two) dimen- sional, rectangular pattern (grid, matrix) of cells – which makes it easy to display on a screen. Each cell is in exactly one out of finite list of discrete cell states at any time. As these cell states are finite and fixed, we give each cell state a colour and just print a dot of this colour for each cell in the automaton. So far we only have a weird way to describe a bitmap picture.

The interesting aspect of the cellular automata lies in the rules which are used to progress from one state to the next. So the pictures on this page are actually only snapshots of states and the cellular automata will make them move. This is done by a (usually stunningly small) set of rules which only take the current state of the cell itself and its local neighbourhood into ac- count.

The specific cellular automaton which you see here is called Wireworld and is defined by four possible states for each cell:

• Empty

• Conductor

• Electron head

• Electron tail

and the accompanying four rules to progress each cell into the next state:

• Empty Empty&

• Conductor Electron head Conductor

Electron heads; if 1 or 2 of the 8 adjacent cells are ;otherwise

& (

• Electron head Electron tail&

• Electron tail Conductor&

This sounds like it is just meant to send an electron through a wire, and in fact it does that too. Look at the simple state on the right and progress it a few states further by applying the rules of Wireworld (in your head or on a piece of paper).

2 | ANU College of Engineering and Computer Science March 2013

That’s all? All this effort just to move an electron in a circle? It turns out that this is just the beginning and those four cell states and rules of Wireworld can be employed to express any form of complex computation which for example your computer in front of you is capable of. To get into the mood, have a closer look at this state to the right and progress it a few states further as well in your head (or on a piece of paper).

This state turns out to implement the functionality of an Exclusive-Or gate (the logical function which returns true if exactly one of the inputs is true). Any other logic gate can be formulated in a similar way, and based on what we know about logic: we can build any digital computer out of basic logic gates1.

While Wireworlds can implement logic gates, they are more flexible and we do not need to restrict ourselves to a design in logic gates alone. As you will watch the Wireworlds move along in a few days, you will find that there is for instance also a quite complex encoding of time and synchronization happening. Cellular Automata have been frequently discussed as an alterna- tive mode of computation and also have interesting relations to Quantum Computing and Massively Parallel Computing. I’ll leave it to you to dig deeper, if you are so inclined, but here we continue with your concrete assignment goal.

Programming task Your task is to make the Wireworld move. In Haskell terms you will need to implement the func- tion:

transition_world :: World_model -> World_model

In fact your will implement it twice:

transition_world :: List_2D Cell -> List_2D Cell

transition_world :: Ordered_Lists_2D Cell -> Ordered_Lists_2D Cell

based on two different underlying data structures used to store the current world (state of the automaton) while the Cell states are simply:

data Cell = Head | Tail | Conductor | Empty.

In the first case the world is stored as a single list where each cell has accompanying coordi- nates attached. Thus List_2D translates into

type List_2D e = [(e, (X_Coord, Y_Coord))]

where e is a placeholder for any type (we use it for our type Cell). No particular order on those coordinates is assumed.

In the second case the world is split up into lines (cells sharing the same y coordinate) and each line is stored in a separate list. Each line has a y coordinate, and each cell inside the line has an x coordinate attached to it. The whole world is then a list of those lines. Thus Ordered_ Lists_2D breaks down into:

type Ordered_Lists_2D e = [Sparse_Line e]

data Sparse_Line e = Sparse_Line {y_pos :: Y_Coord, entries :: Placed_Elements e}

type Placed_Elements e = [Placed_Element e]

data Placed_Element e = Placed_Element {x_pos :: X_Coord, entry :: e}

where e is again a placeholder for any type. All Sparse_Lines are ordered ascending by Y_Coord and all cells inside Placed_Elements are ordered ascending by X_Coord.

1 In fact we have too much already, as a “not-and” or NAnd gate alone is suf- ficient to implement any other part of your computer.

3 | ANU College of Engineering and Computer Science March 2013

The two functions transition_world which you need to complete are found in the two mod- ules in the directory Sources/Transitions.

As both data structures offer the same functions it would be possible to write the same code for both of your transition_world functions – yet think carefully whether this would be a clever idea. While the two data-structures offer the same logical functionality, the runtimes which they take to do so may be quite different. Hence it will make sense to write your transition functions in a way that they will exploit the characteristics of the underlying data structures. If you are unsure how they data structures differ, you may also start by running the same code in both functions and measure the number of transitions which each of them will achieve per second (read on to find out how to measure those). This will give you a hint as to what’s happening here. Then start exploring how you could re-arrange your code in order to benefit from the characteristics of the two offered data structures.

Note that none of those data-structures is “dense”, i.e. not all coordinates

Homework is Completed By:

Writer Writer Name Amount Client Comments & Rating
Instant Homework Helper

ONLINE

Instant Homework Helper

$36

She helped me in last minute in a very reasonable price. She is a lifesaver, I got A+ grade in my homework, I will surely hire her again for my next assignments, Thumbs Up!

Order & Get This Solution Within 3 Hours in $25/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 3 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 6 Hours in $20/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 6 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

Order & Get This Solution Within 12 Hours in $15/Page

Custom Original Solution And Get A+ Grades

  • 100% Plagiarism Free
  • Proper APA/MLA/Harvard Referencing
  • Delivery in 12 Hours After Placing Order
  • Free Turnitin Report
  • Unlimited Revisions
  • Privacy Guaranteed

6 writers have sent their proposals to do this homework:

Calculation Master
Financial Hub
Assignment Guru
Math Exam Success
Fatimah Syeda
Homework Guru
Writer Writer Name Offer Chat
Calculation Master

ONLINE

Calculation Master

I will cover all the points which you have mentioned in your project details.

$81 Chat With Writer
Financial Hub

ONLINE

Financial Hub

I have read your project details. I can do this within your deadline.

$46 Chat With Writer
Assignment Guru

ONLINE

Assignment Guru

I am known as Unrivaled Quality, Written to Standard, providing Plagiarism-free woork, and Always on Time

$57 Chat With Writer
Math Exam Success

ONLINE

Math Exam Success

I have read and understood all your initial requirements, and I am very professional in this task.

$19 Chat With Writer
Fatimah Syeda

ONLINE

Fatimah Syeda

Give me a chance, i will do this with my best efforts

$67 Chat With Writer
Homework Guru

ONLINE

Homework Guru

I have read and understood all your initial requirements, and I am very professional in this task.

$83 Chat With Writer

Let our expert academic writers to help you in achieving a+ grades in your homework, assignment, quiz or exam.

Similar Homework Questions

Performance Management - Discussion - Chasing zero review - Nottingham uni degree classification - Business rules and assumptions - 90 day bank bill rate - SOCW 6103 Week 2 - Discussion 2: Duty to Warn and Protect - The true statement about cost behavior is that: - Little red hen characters - Marginal cost benefit analysis and the goal of the firm - How long is 7 minute speech - Renoir the large bathers 1887 - Francis spends $380 on candy crush - Dairy milk chocolate tagline - Three stooges stuffing a turkey - Anatomy and Physiology II lab assignment - Amy tan mother tongue textual analysis - Floating point representation examples - How to calculate average atomic weight - Tenses rules with examples - Telstra interstate fibre link - Oliver cromwell relationship with parliament - Assignment: Interview - Family Influence (Part B) - The three signs of a miserable job pdf - Essential business letter elements include the - Sheffield & district junior football - Examples of deception in much ado about nothing - Force between two plates parallel plate capacitor - Freedom writers quotes marcus - Cadbury's eyebrow advert music - Graded assignment write an evaluation of an argument - Mcgraw hill connect accounting chapter 8 answers - Reading Reflection - 5.6 kg in pounds - History - What should gore do to build effective global teams - Aztec language nahuatl words - Diels alder reaction of anthracene with maleic anhydride lab report - They say i say chapter 2 - Psychology assignment: My Disease Risk Factors - OE - Homework - 1 & 2 - Endogeneity analysis and Compare the OLS and IV/2SLS coefficient - Century 6v deep cycle battery - Operations Security - Game informer subscription number - Anteaters guide to writing and rhetoric pdf - Standard addition method equation - Research: Virtual/Augmented/Mixed Reality - Advance ballast cross reference - Closely stacked flattened sacs plants only - National business names register australia - Havant 6th form college - Pir sensor light wiring diagram - Donna goes through an involuntary bankruptcy proceeding. an involuntary bankruptcy occurs when - I just need 2 pages proofreading - Macro homework - Half a5 paper size - Ipv6 implementation in india - Individual proprietors report their business income and deductions on - What is the difference between simple and complex carbohydrates answers - Types of community health nurses - Several Big Data Visualization tools - Nau jobs for jacks - Pppp oooo rrrr nnnn oooo - St timothy's community hall sheffield - Billets the wiggles city national grove of anaheim august 2 - 7 nerida court kidman park - Environmental economics - C diff care plan nursing - Fruit fly eye color punnett square - Oblique shock wave relations - Peter boyce building certifier - National grid transformer specification - Miss evers boys movie download - 2 4 1 project 1 your comparison template - Rutgers newark visitor parking - What is the primary purpose of job specialization - The presence of indivisible inputs explains the - Access & Community - Anyone know how to use quickbooks online - System integration case study - Maruca holdings deception bay - Belhaven instructure - Inductance of a wire loop - Community Discussion - Word of the week 2 - Skills development facilitator registration - Claisen condensation practice problems - Ucl computer science entry requirements - Wireless Security-2 - Week 7 plagiarism free - Precaution step during titration - Berkshire Hathaway Cash Position, Positive Cash Flow and Short-term financing - Institutional memory and knowledge management - Mkt 571 researching marketing questions - Morrisons swan valley 3 address - Avon age defying flawless legs - Essay - How to measure heart rate of daphnia - Cpa score release countdown 2018 - Rn adult medical surgical online practice 2019 a