3.9K views

Uploaded by Anamay Agnihotri

The IA is specific to the Math HL criterias and received a almost perfect score. It explores boolean algebra in Minecraft and is extremely insightful and specific.

- Math IA
- MATH IA
- math ia
- Final Math IA
- Exemplar Math IA
- IB Mathematics HL Exploration: Investigating the origins and applications of Euler’s number e in probability theory and statistical distributions
- Perfect IA
- Math IA
- Math HL IA
- IA Mathematics SL Volume by revolution
- IB Math HL IA the Dice Game IB Math HL Portfolio +91 9868218719 Maths Type 2 IA Task Solution Help
- An Example Math IA
- MATH IA
- IB HL Maths - Maths Exploration - Cycloid.docx
- MathIA
- IB Math HL Calculus Answers
- IB Math HL Functions and Equations
- IB Math HL IA Criteria
- 0026 AnirvinNarayan Math HL IA
- IB Math HL Statistics Questions

You are on page 1of 24

of a ripple carry adder.

School Name: UWC Mahindra College of India

Name: Aditya Karan

Candidate Number: 000969 0039

Introduction

Video games have been an interest of mine since I was a very young child. I

have grown up playing video games, and have throughout my childhood

played a large number of games across numerous genres which were

intrinsic to my development as an individual. I noticed that over the years,

the assimilation of information and experiences that I later associated with

video games were primarily subtle and hidden.

This changed entirely when I was first introduced Minecraft in 2014.

Minecraft is a sandbox game that hands the power to create to the player. By

manipulating the placement of blocks with various properties in a three

dimensional grid, the player is capable of creating a seemingly infinite

variety of constructions. The game is based around survival in the wilderness

and the player can obtain resources by interfacing with the environment

using certain tools, and manipulating these resources to create relatively

complex structures. The most interesting notion in Minecraft is the idea that

only basic parameters such as the properties of blocks are defined by the

game while the possibility for creation is only otherwise limited by the

creativity of the player and processing power of the system running the

game. The player-base constantly pushes the limits of the game and

promotes innovation while pushing constructions into the game that beyond

their ability to innovate, also impart conceptual understanding through

hands on, practical means.

My interest in computing grew from my attachment to video games but I

had, for the most part, no access to any materials through which I may have

created circuits to understand the basics of computing. My introduction to

Minecraft changed this, as with a little bit of innovation, the game allowed

me to explore circuitry for no additional cost, using only the game itself.

Boolean algebra is the tool I will be using for this exploration. Boolean algebra

is defined as the study of mathematical operations performed on

certain variables (called binary variables) that can have only two values: true

(represented by 1) or false (represented by 0). It provides a set

of rules (called Boolean logic) that are indispensable in digital computercircuit and switching-circuit design. Boolean operation are carried out with

algebraic operators (called Boolean operators), the most basic of which are

NOT, AND, and OR. Named after its inventor, the UK mathematician

and computer pioneer George Boole (1815-65).1

the scope of Minecraft to create a device that is capable of carrying out the

addition of two numbers entered as binary inputs. This will be done by

exploring some fundamental aspects of Boolean algebra and using these

concepts to create a ripple carry adder, an instrument capable of adding two

4-bit binary numbers.

Minecraft:

Minecraft is at its core a game about breaking, crafting and placing blocks

with various properties in a three dimensional grid. Each block, for the most

part, may only occupy one spot in the grid, which includes objects in the

game that are not cubes, but are still defined as blocks within the game such

as torches, levers etc. Minecraft has over the years garnered a community of

players that push the limits of what may be possible using objects and

mechanics within the game.

Minecraft contains a certain class of objects within the game, referred to

Redstone and Redstone devices that may be utilized to simulate the flow of

current and create circuits that are analogous to electrical devices that we

may encounter in our everyday life. The following are Redstone related

blocks essential to the construction of the circuits described further in the

exploration:

Redstone: Redstone is an ore that can be mined within the game. It is

analogous to wires in real life, and may be used to carry a current in the

game world by transmitting their powered state to adjacent blocks in the

direction of flow of the current.. Redstone blocks are closely similar to current

conducting wires, except for the fact that they do not need to be part of a

closed and complete circuit to carry current. They can be in two states, a

powered, or an unpowered state, which is dependent on the blocks that they

are adjacent to, and whether they are capable of supplying power to the

wire.

Redstone and Redstone wire in schematics:

Redston

e

Redstone wire

blocks, and therefore induce a current in adjacent Redstone wire. A lever

simply has an on and off state. In a circuit, an input lever in the on state

passes an input of (1) and a lever in the off state passes an input (0).

Lever in schematics:

ON

OFF

also has the property of being capable of inverting any input when used in

positi

positi

conjunction

with a regular

powerable block.

on

on

Redstone torches placed

on a generic block.

placed adjacent to a

generic block.

simulated properties of wood, stone, steel etc. Within the framework of the

game, some blocks may interact in specific ways with Redstone, but for the

purpose of this exploration, all blocks not described above will be considered

to be generic blocks (light gray color in schematics), with a property common

to most blocks in Minecraft. Most blocks in Minecraft may be activated if

placed next to powered Redstone or another device capable of inducing a

current, and will transmit power to all blocks adjacent to them. This property

allows for the creation of the NOT gate, fundamental to most circuit designs

in Minecraft.

their respective logic gates (the manner in which the operation is graphically

represented in a circuit) and the logic gates recreated in Minecraft.

There are three fundamental operations in Boolean algebra; each one

defined over the set {1,0} by use of a truth table, with a corresponding logic

gate.

AND

The AND () operator is defined such that, for A B = Y, only if both A and B

are equal to one, Y equals 1. In every other case, Y is 0.

The operator may be expressed as,

A B = 1 if A=B=1. For all other pairs of A and B, A B = Y = 0.

Table 1.0: Truth table for the AND operator.

A

0

0

1

1

0

1

0

1

AB

=Y

0

0

0

1

The AND logic gate, which symbolizes the operator in a circuit diagram is

drawn as follows;

A

B

A

B

The figure is read from left to right. The two lines entering the gate

symbolize the inputs A and B while the line exiting the gate symbolizes the

output, Y.

The AND gate may be created using the following design in Minecraft using

the properties of a Redstone torch. In the following diagram, if either one of

the levers is switched off, either torch T1 or T2 powers Redstone wire R1,

resulting in no output. Therefore, the following gate only gives an output of 1

if both levers are switched on.

T1

R1

T2

OR

The OR () operator is defined such that, for A B = Y, if either A or B equals

1, then Y will equal 1. Only if both A and B are equal 0, will Y equal 0.

Therefore, the operator may be expressed as,

A B = 0 if A=B=0. For all other pairs of A and B, AB = Y = 1.

A

0

0

1

1

0

1

0

1

AB

=Y

0

1

1

1

drawn as follows;

A

B

A B

simple as if either or both of the levers are in the ON position, the gate will

output a signal of one, since the Redstone will light up if adjacent blocks are

powered on.

NOT

The final fundamental operator, the NOT () operator, is defined over a

single input, and simply inverts the input value. Therefore if A=1, A = 0

and if A=0 A = 1.

Table 1.2: Truth table for the NOT operator.

A

1

0

A

=Y

0

1

The NOT logic gate, which symbolizes the operator in a circuit diagram is

drawn as follows;

due to which, as defined by the mechanics of the game, the torch inverts a

signal passed into the block. Thus any signal A input into the gate will result

in output A.

Complex operators

Using the fundamental operators described above, we can set out to create

more complicated circuit components, i.e. logic gates that are defined as

operators. A vast number of these operators exist, but for the purpose of this

exploration only the XOR operator is essential.

XOR

The XOR () operator, sometimes referred to as EXOR is abbreviated to

Exclusive OR. The XOR operator is defined such that,

for A B = Y,

if A=1 or B=1 and A = B, then Y = 1. For all other pairs of A and B,

Y=0.

Table 1.3: Truth table for the XOR operator.

A

AB

0

0

1

1

0

1

0

1

=Y

0

1

1

0

fact a composition of previously described fundamental operators, and can

be described as follows:

A B = (A B) (B A)

Proof of statement

To be capable of proving the above statement, first, a Karnough map will

have to be defined.

A Karnough map is a diagram consisting of a rectangular array of squares,

each representing a different combination of the variables of a Boolean

function.2 it is a manner of organizing a truth table such that relationships

between variables result in easily observable patterns.

The above expression is derived from the Karnough map of the XOR truth

table (Table 1.4), which is the following.

The Karnough map indicates that there are two possible combinations of the

inputs A and B that return a high value, i.e. 1. This occurs when A=1 and

B=0 or A=0 and B=1.(The cases highlighted in blue)

This means,

When A=1 and B=0, Y=1. Which means when A=1 and B=1, Y=1.

This may be written as (A B) = 1.

Similarly, Y=1 when A=0 and B=1, which means when A=1 and B=1,

Y=1. This may be written as (A B) = 1.

The function returns 1 when either of the above statements is true,

Therefore the Boolean expression for the function is Y = (A B) (B

A)

The XOR logic gate, which symbolizes the operator in a circuit diagram is

drawn as follows;

A

B

The circuit diagram may also be draw using fundamental operators using the

derived expression A B = (A B) (B A);

AB

The XOR gate may be recreated by substituting the gates in the above

diagram with their Minecraft counterparts.

AB

The adder, also referred to as a summer, is a circuit that performs addition of

given input values. The adder is therefore essentially a representation of the

addition (+) operator, and therefore the circuit can be formulated as done

previously as with the XOR operator, by use of a truth table.

Half-adder

The half adder is a highly simplified adder that only accepts 2 bits of input, in

this case A and B, giving A+B as the output. Before a truth table is designed,

we can make a simple observation. By assigning A = 1 and B = 1 as input

values, by simple arithmetic, we can observe that A+B= 10, where 10 is 2

bits of information. For the half-adder to be capable of displaying this

information, it has to be capable of returning 2 bits as output, and thus, for

the truth table, two output variables, Y and C are defined, where Y is the sum

and C is the Carry. For the above example, Cout = 1 and Y = 0.

The reason that the second bit is denoted as the carry is that when a full

adder is constructed, the Cout value is passed on to be added by the

subsequent half adder. The concept will be illustrated clearly when the full

adder is discussed.

Table 2.0: Truth table for a half adder:

A

0

0

1

1

B

0

1

0

1

Cout

0

0

0

1

Y

0

1

1

0

From the above truth table, expressions for Cout and Y can be derived by

comparison with previously described logic gates. The relationship between

A and B that results in output Cout is exactly as in Table 1.0 for A B.

as in Table 1.3 for A B.

Therefore the expressions for Cout and Y are,

Cout = A B and Y = A B.

These expressions may be used to design a circuit using an AND gate and an

XOR that, by inputting 2 bits of information, (A,B), two bits of information,

(C,Y) are returned that are equal to A+B.

Circuit design

A

Y

B

Cout

substituting the logic gates in the above diagram with their Minecraft

counterparts.

XOR gate: It is

important to

make sure that

the inputs line

up during

construction

Cout

returning their sum in as 2 bits, and is essentially composed of two halfadders. The additional input bit is the Cin bit that represents a bit carried over

from a previous operation. The Cin is essential when larger numbers are

added, during which the Cout of one adder is the Cin for the successive adder.

The full adder accepts A,B and Cin as inputs and returns A + B + C in terms of

the bits Y and Cout.

Table 2.1: Truth table for a full adder:

A

0

0

0

0

1

1

1

1

B

0

0

1

1

0

0

1

1

Cin

0

1

0

1

0

1

0

1

Cout

0

0

0

1

0

1

1

1

Y

0

1

1

0

1

0

0

1

From the truth table, the Karnough maps for output Y is;

Y = (A B Cin) (A B Cin) (A B Cin) (A B Cin)

The Karnough map for output Cout is;

Cout = (A B) (B C) (C A)

Cin

Cout

the above diagram with their Minecraft counterparts.

Cin

Cout

Given two numbers A and B, each of them can be deconstructed into single

bits of information. For instance, if A = 1010, and B = 0011 then the

numbers are deconstructed such that A0 = 0, A1= 1, A2 = 0, A3 = 1 and B0 =

1, B1= 1, B2 = 0, B3 = 0. The process of addition is analogous to conventional

addition, and each bit of A is added to its corresponding bit of B, and the Cout

from the addition is added to the next set of bits. Therefore, A0 is added to

B0, resulting in two outputs, Y0 and Cout. Cout is then added to A1 + B1. The

process continues in such a manner until the two numbers are added, and

the output received is Y0 , Y1, Y2 and Y3. From the above example, Y0 =1 , Y1

=0 , Y2 = 1 ,Y3 = 1, which means Y = 1101.

The following is a graphical representation of the concept described

previously which illustrated the addition of each corresponding bit of the two

numbers. The format is effective in displaying the similarity to addition in the

decimal system.

The above process of addition translated into a circuit using a half-adder and

multiple full adders. The half adder may be used to add the first two bits, i.e.

A0 and B0 since there is no Cin. In every other instance a full adder is used.

For this exploration I attempt to recreate a 4-bit ripple carry adder in

Minecraft, which takes two numbers A and B as input, such that each number

may have 4-bits of information, and outputs the sum of the two numbers,

A+B in binary. The 4-bit adder uses one half-adder and three full adders

connected such that the carry (Cout) from the half-adder is passed as the Cin

for the first full adder. The resulting carry from the second full adder is

passed on as input into the next adder and so forth. The following is a

diagram for a 4-bit ripple carry adder.

B3

A3

Full

adder

Full

adder

C4

Y3

Full

adder

C2

C3

Y2

B0

A1

A0

Halfadder

C1

Y1

Y0

Note: In the above diagram, C is used to represent both Cout and Cin.

A

0

Y0

Half-adder

A

1

Y1

Full-adder (1)

A

2

Y2

A

3

Y3

Cout

Note: In the above diagram, for the sake of simplicity, the inputs of the

ripple carry adder and the Carry out from the previous adder do not match

the inputs of each full adder. This result in a simpler diagram, but it should

be assumed that each input displayed in the ripple carry adder is in fact

connected to the input of its corresponding full-adder.

The above schematic is the ultimate result of this exploration and represents

a fully functional ripple carry adder. The ripple carry adder receives inputs

from the levers in the schematic in the forms of 1s and 0s, which make up a

number in the binary system and outputs the sum of the two input numbers

in Binary in the form of powered Redstone, representing 1, and unpowered

Redstone representing 0s.

Conclusion

The game of Minecraft itself is highly conducive to the creation of circuits

evident from the simplicity involved in designing basic logic gates. Instead of

involving complicated components, the game hands the player a NOT gate,

and subsequently makes the creation of other logic gates very simple, which

is not the same as in real life where components are relatively expensive and

extremely difficult to create from scratch, due to which Minecraft is both very

entertaining and educative in its capabilities. The major downside of the

circuits described in previous sections is that they are not optimal, that is,

they use more gates than absolutely necessary and result in a slower rate of

information processing. The circuits may also not be optimal within the

Minecraft context as the game renders each block individually as they

change state when a signal is passed in a circuit, which means that they

consume greater processing power to run within the game as opposed to

more compact circuits which give a similar functionality. The lack of

processing power efficiency may also be attributed to the fact that the above

circuits were built without utilizing the ability for logic gates and circuits to

be be constructed in three dimensions which further reduces the length of

wiring required for the construction of circuits, reducing the number of blocks

that need to be rendered.

Over the course of this exploration I have learned considerably about

Boolean algebra and Boolean operators with respect to logical gates and

their implementation in computing, while also generally grasping the

modeling of simple Boolean functions. I have also been able to apply these

concepts, in the above exploration, using limitations defined by the world of

Minecraft to design an instrument that is capable of conducting the addition

of two 4-bit integers, and thus compute data at a simplistic level.

Bibliography

1. "What Is Boolean Algebra? Definition and Meaning." BusinessDictionary.com.

Web. 2 Apr. 2015.

2. "Karnaugh Map." Academic Dictionaries and Encyclopedias. Web. 1 Apr. 2015.

- Math IAUploaded bySamruddhiSatav
- MATH IAUploaded byBao C Q Nguyen
- math iaUploaded bymozukki
- Final Math IAUploaded byCaptainSoySucks
- Exemplar Math IAUploaded byChristina Wahle
- IB Mathematics HL Exploration: Investigating the origins and applications of Euler’s number e in probability theory and statistical distributionsUploaded byHaihao Liu
- Perfect IAUploaded byMelissa Anne Hawley
- Math IAUploaded byDrew Breckenridge
- Math HL IAUploaded bynirag1998
- IA Mathematics SL Volume by revolutionUploaded byhumanistale
- IB Math HL IA the Dice Game IB Math HL Portfolio +91 9868218719 Maths Type 2 IA Task Solution HelpUploaded byIb Ia
- An Example Math IAUploaded byCameron Leslie
- MATH IAUploaded byChirag Hablani
- IB HL Maths - Maths Exploration - Cycloid.docxUploaded byPhạm Minh Tuệ
- MathIAUploaded byYousufZafar
- IB Math HL Calculus AnswersUploaded byReckiZiath
- IB Math HL Functions and EquationsUploaded byReckiZiath
- IB Math HL IA CriteriaUploaded byHarshith Kompally
- 0026 AnirvinNarayan Math HL IAUploaded byAnirvin Narayan
- IB Math HL Statistics QuestionsUploaded byReckiZiath
- 200 Ideas - ExplorationUploaded byReckiZiath
- Sample Math IA IB 2Uploaded byNana_Patekar69
- Ib Maths IA TopicsUploaded byGowthamPodala
- Math Internal AssessmentUploaded byKyle Anderson
- IB Physics IA IdeasUploaded bypicboy
- Microsoft Word - Math Ia - Final Final [1]Uploaded byAlisha Narula
- IB Math HL Statistics AnswersUploaded byReckiZiath
- IB Math Sl Internal AssessmentUploaded bySiddharth Rajendran
- IB Math HL Calculus questionsUploaded byReckiZiath
- Physics IA FinalUploaded byBenjamin Knez

- List of Common FallaciesUploaded byIWantToBelieve8728
- lab05-solUploaded byBatman
- Set Theory Chap5Uploaded byapi-3823071
- Unit 2Uploaded byVedvyas
- Con DavidFewsonMurderMysteryOHASSTAUploaded byScribeH
- SR Flip Flop Design With NOR and NAND Logic GatesUploaded byunknown
- DMAUploaded byAnand Ram
- Douglas Hofstadter - Godel Escher Bach Chapter 13a BlooP Anf FlooP and GlooPUploaded byIgor Bojceski
- Acta Archaeologica Vol. 72_1 2001Uploaded by1unorma
- Chapter 1Uploaded byAnonymous 5k7iGy
- aiUploaded byramji99
- 126943521-HOTS-Questions-for-Math.pdfUploaded byElain yuuuo
- An Interpolation Theorem Prover (McMILLAN, K. L., 2005)Uploaded byGaKeGui
- Digital ElectronicsUploaded byhaalefom
- egyptians2008.docUploaded byRadu Lisca
- 511CCF6Bd01Uploaded byRahul Yen
- 2018_Book_FormalModelingAndAnalysisOfTim.pdfUploaded byTadele Basazenew
- Reason and Intuitive Knowledge in Spinoza’s EthicsUploaded byfoxxy
- Philosophical TermsUploaded byOmar Taweel
- Peter Van Inwagen, Dispensing with Ontological Levels: An IllustrationUploaded byValeriu Gherghel
- Bruun - Weber and NeokantianismUploaded byCompy10
- (Logic, Argumentation & Reasoning 4) Harald R. Wohlrapp (auth.)-The Concept of Argument_ A Philosophical Foundation-Springer Netherlands (2014).pdfUploaded byMiguel Lourdes
- logicUploaded byViplav Singh
- Third TermUploaded byteacheringrid
- Discrete StructureUploaded byAnonymous WyTCUDyW
- CP CH1.docUploaded byFazira Edlina
- [2010] - Pietarinen - Essential Analytic PhilosophyUploaded byAsim Raza
- Unit 6 Comparative Literature Review TipsUploaded byHuyền Lê Thị Thanh
- The Logic of Schelling’s Freedom EssayUploaded byrcarturo
- DefinitionUploaded bymka_10241990