Binary Arithmetic for DNA Computers R. Barua and J. Misra Preliminary Proceedings of the Eighth International Meeting on DNA Based Computers, pp. 202-210,

Slides:



Advertisements
Similar presentations
DNA Computing with Logic Gates. Traditional Logic Gates An XOR Gate Implementation:
Advertisements

Combinational Circuits
Data Dependencies Describes the normal situation that the data that instructions use depend upon the data created by other instructions, or data is stored.
Combinational Circuits. Analysis Diagram Designing Combinational Circuits In general we have to do following steps: 1. Problem description 2. Input/output.
Lab 10 : Arithmetic Systems : Adder System Layout: Slide #2 Slide #3 Slide #4 Slide #5 Arithmetic Overflow: 2’s Complement Conversions: 8 Bit Adder/Subtractor.
By Claudia Fiorini, Enrico Martinelli, Fabio Massacci
Hashing Techniques.
Cpe 252: Computer Organization1 Lo’ai Tawalbeh Lecture #2 Standard combinational modules: decoders, encoders and Multiplexers 1/3/2005.
Arithmetic-Logic Units CPSC 321 Computer Architecture Andreas Klappenecker.
Overview Iterative combinational circuits Binary adders
CS 105 Digital Logic Design
1.6 Signed Binary Numbers.
CHAPTER 7: SORTING & SEARCHING Introduction to Computer Science Using Ruby (c) Ophir Frieder at al 2012.
Binary Addition Addition Rules: = = = = = carry 1 1 carry 1 Example 1: Example 2:
Arithmetic for Computers
Cryptography and Network Security
Data Representation – Binary Numbers
1 Lab Session-III CSIT-120 Fall 2000 Revising Previous session Data input and output While loop Exercise Limits and Bounds Session III-B (starts on slide.
MICRO OPERATIONS Department of Computer Engineering, M.S.P.V.L. Polytechnic College, Pavoorchatram.
Part.7.1 Copyright 2007 Koren & Krishna, Morgan-Kaufman FAULT TOLERANT SYSTEMS Part 7 - Coding.
DNA Computing on a Chip Mitsunori Ogihara and Animesh Ray Nature, vol. 403, pp Cho, Dong-Yeon.
Chapter 4 – Arithmetic Functions and HDLs Logic and Computer Design Fundamentals.
Chapter 3 Sec 3.3 With Question/Answer Animations 1.
New Mexico Computer Science for All Author: Ed Angel Title: Bits and Bytes.
Is DNA Computing Viable for 3-SAT Problems? Dafa Li Theoretical Computer Science, vol. 290, no. 3, pp , January Cho, Dong-Yeon.
A Realization of Information Gate by Using Enterococcus faecalis Pheromone System Kenichi Wakabayashi and Masayuki Yamamura Preliminary Proceedings of.
Complexity 20-1 Complexity Andrei Bulatov Parallel Arithmetic.
DAT2343 Arithmetic Circuits For Unsigned Binary Values © Alan T. Pinck / Algonquin College; 2003.
EE2174: Digital Logic and Lab Professor Shiyan Hu Department of Electrical and Computer Engineering Michigan Technological University CHAPTER 8 Arithmetic.
CS 105 DIGITAL LOGIC DESIGN Chapter 4 Combinational Logic 1.
CSE 351 Number Representation & Operators Section 2 October 8, 2015.
The Inference via DNA Computing Piort Wasiewicz et al. Proceedings of the 1999 Congress on Evolutionary Computation, vol. 2, pp Cho, Dong-Yeon.
Arithmetic Operations
1 Biological Computing – DNA solution Presented by Wooyoung Kim 4/8/09 CSc 8530 Parallel Algorithms, Spring 2009 Dr. Sushil K. Prasad.
CS 151: Digital Design Chapter 4: Arithmetic Functions and Circuits
Negative binary numbers 1 Computer Architectures M.
Exam1 Review Dr. Bernard Chen Ph.D. University of Central Arkansas.
Recursive Architectures for 2DLNS Multiplication RESEARCH CENTRE FOR INTEGRATED MICROSYSTEMS - UNIVERSITY OF WINDSOR 11 Recursive Architectures for 2DLNS.
Computer Security coursework 3 Dr Alexei Vernitski.
(C) 2004, SNU Biointelligence Lab, DNA Extraction by Cross Pairing PCR Giuditta Franco, Cinzia Giagulli, Carlo Laudanna, Vincenzo.
©2010 Cengage Learning SLIDES FOR CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION Click the mouse to move to the next page. Use the ESC key to exit.
ECE DIGITAL LOGIC LECTURE 3: DIGITAL COMPUTER AND NUMBER SYSTEMS Assistant Prof. Fareena Saqib Florida Institute of Technology Fall 2016, 01/19/2016.
1 CS 151 : Digital Design Chapter 4: Arithmetic Functions and Circuits 4-3 : Binary Subtraction.
Logic Design (CE1111 ) Lecture 4 (Chapter 4) Combinational Logic Prepared by Dr. Lamiaa Elshenawy 1.
Information and Computer Security CPIS 312 Lab 6 & 7 1 TRIGUI Mohamed Salim Symmetric key cryptography.
Efficient Montgomery Modular Multiplication Algorithm Using Complement and Partition Techniques Speaker: Te-Jen Chang.
Molecular Evolutionary Computing (MEC) for Maximum Clique Problems March 9, 2004 Biointelligence Laboratory School of Computer Science and Engineering.
Unit 1 Introduction Number Systems and Conversion.
Prof. Sin-Min Lee Department of Computer Science
Chapter 4 Operations on Bits.
CHAPTER 1 INTRODUCTION NUMBER SYSTEMS AND CONVERSION
A Surface-Based DNA Algorithm for the Expansion of Symbolic Determinants Z. Frank Qiu and Mi Lu Third Workshop on Bio-Inspired Solutions to Parallel Processing.
Fundamentals & Ethics of Information Systems IS 201
Algorithms with numbers (1) CISC4080, Computer Algorithms
CSE Winter 2001 – Arithmetic Unit - 1
DNA-Based Computation Times
COMPLEMENTS Complements are used in digital computers for simplifying the subtraction operations and for logical manipulation. There are two types of complements.
King Fahd University of Petroleum and Minerals
Lecture 20 Guest lecturer: Neal Gupta
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
Overview Part 1 – Design Procedure Part 2 – Combinational Logic
DNA-based Parallel Computation of Simple Arithmetic
ME 4447/6405 Microprocessor Control of Manufacturing Systems and
Number Representation & Operators
ECE 352 Digital System Fundamentals
Arithmetic Operation By: Asst Lec. Besma Nazar Nadhem
2's Complement Arithmetic
Universal Biochip Readout of Directed Hamiltonian Path Problems
Computer Architecture
Presentation transcript:

Binary Arithmetic for DNA Computers R. Barua and J. Misra Preliminary Proceedings of the Eighth International Meeting on DNA Based Computers, pp , June 2002 Cho, Dong-Yeon

© 2002 SNU CSE Biointelligence Lab 2 Abstract A Recursive DNA Algorithm  Adding two binary numbers  O(log 2 n) bio-steps  O(n) different type of DNA strands Salient Feature  The input strands and the output strands have exactly the same structure

© 2002 SNU CSE Biointelligence Lab 3 Introduction (1/2) Previous Attempts  [Guarneiri et al., 1996]  Non-procedural since the output strands are vastly different in structure from the input strands  [Gupta et al., 1997]  It requires that all the possible intermediate results be coded manually one by one during processing.  [Qiu and Lu, 1998]  Possible number of encoding of different intermediate results seems to be exponential.  The cleansing operation is not an error resistant operation.

© 2002 SNU CSE Biointelligence Lab 4 Introduction (2/2) Salient Features  Fully procedural  The structure of the output strands is exactly similar to that of the input strands.  The number of different DNA strands required is at most of the order of size of the binary number.  The number of bio-steps required for addition is, on average, O(log 2 n).  All logical operations on binary numbers can be performed very easily.

© 2002 SNU CSE Biointelligence Lab 5 Recursive DNA Arithmetic (1/7) Underlying Mathematical Model  X[  ]={i:  i = 1} and X[  ]={j:  j = 1}  X[101] = {3, 1} and X[011] = {2, 1}  Z + i = {z+i: z  Z} and Z + = Z + 1  Z = X[011], then Z + = {3, 2}  X 1  X 2 = {x: x  X 1  X 2 but x  X 1  X 2 }  X[101]  X[011] = {3, 2}  Add( ,  ) = Val(RecursiveAdd(X[  ], X[  ]))

© 2002 SNU CSE Biointelligence Lab 6 Recursive DNA Arithmetic (2/7)  Multiplication  X[  2 j-1 ] = X[  ] + j-1  Subtraction  2’s complement addition  Division  Once we can perform addition and subtraction then mapping of division in terms of these can be done using any of the standard digital arithmetic techniques.

© 2002 SNU CSE Biointelligence Lab 7 Recursive DNA Arithmetic (3/7) DNA Algorithm  DNA encoding of binary numbers  Each binary number is represented by a set of integers which are positions where bits set to 1.  T[  ] = {ds i : i  X[  ]}  Addition  Step 0: Check whether T[  ] or T[  ] is empty.  Step 1: Make T[  ]  T[  ] and T[  ]  T[  ].  Step 2: Increment by one.  Step 3: Go back to step 0.

© 2002 SNU CSE Biointelligence Lab 8 Recursive DNA Arithmetic (4/7)  Multiplication  Step 1: For each j  X[  ], construct test-tube T j [  ]  Step 2: Perform addition concurrently with successive pairs of tubes.  Subtraction  Step 0: By GE, determine whether    or   . Assume   .  Step 1: Construct T[  ], T[  ] and T that consists of ds i for all i.  Step 2: Obtain T 1 = T - T[  ].  Step 3: Perform addition with T[  ] and T 1.  Step 4: Perform addition with T 1 and T[1].  Step 5: Extract the DNA strands encoding n+1. The residual test tube gives the desired result.

© 2002 SNU CSE Biointelligence Lab 9 Recursive DNA Arithmetic (5/7)  Logical operation  OR: Mix the test tubes T[  ] and T[  ].  XOR: T[  ]  T[  ]  AND: T[  ]  T[  ]  NAND: {1,…,n} – (T[  ]  T[  ]) Use in Cryptography  Implement the Vernam one-time-pad  Encryption: T = T[  ]  T[  ]  Decryption: T[  ] = T  T[  ]

© 2002 SNU CSE Biointelligence Lab 10 Recursive DNA Arithmetic (6/7) Complexity Analysis  Time complexity  Addition: O(log 2 n)  Multiplication: O((log 2 n) 2 )  Subtraction: O(log 2 n)  Logical Operations: O(1)  Volume complexity  At no stage do we require some strand to be destroyed or filtered out.  So the total number of strands remains more or less constant.

© 2002 SNU CSE Biointelligence Lab 11 Recursive DNA Arithmetic (7/7) Errors  The first source of error is the extract operation.  More serious source of error  Sliding or partial annealing which could take place because of periodic nature of our coding  New coding

© 2002 SNU CSE Biointelligence Lab 12 Conclusion Methods for carrying out arithmetic and logical operations  It can be easily implemented in the DNA computing paradigm  Reducing errors  Cryptographic implementation The potential use for DNA computers depends one the efficiency of the bio-steps involved.