Presentation is loading. Please wait.

Presentation is loading. Please wait.

Studies in Big Data 4 Weng-Long Chang Athanasios V. Vasilakos MolecularComputing Towards a Novel Computing Architecture for Complex Problem Solving.

Similar presentations


Presentation on theme: "Studies in Big Data 4 Weng-Long Chang Athanasios V. Vasilakos MolecularComputing Towards a Novel Computing Architecture for Complex Problem Solving."— Presentation transcript:

1 Studies in Big Data 4 Weng-Long Chang Athanasios V. Vasilakos MolecularComputing Towards a Novel Computing Architecture for Complex Problem Solving

2 Chapter 1 Introduction to Digital Computers and Bio- molecular Computing

3 Today the term “Computer Science” has a very broad meaning. Today the term “Computer Science” has a very broad meaning. From the viewpoint of computing characteristic, “Computer Science” actually contains a digital computer [Turing 1937, von Neumann 1956], bio-molecular computing [Adleman 1994] and quantum computing [Deutsch 1985]. From the viewpoint of computing characteristic, “Computer Science” actually contains a digital computer [Turing 1937, von Neumann 1956], bio-molecular computing [Adleman 1994] and quantum computing [Deutsch 1985]. Because the discussion for quantum computing exceeds the scope of this book, thus, we do not introduce “quantum computing”. Because the discussion for quantum computing exceeds the scope of this book, thus, we do not introduce “quantum computing”.

4 For the purpose of this book, the phrase “bio- molecular computing” describes the in vitro (therefore outside living cell) manipulation of bio-molecules. For the purpose of this book, the phrase “bio- molecular computing” describes the in vitro (therefore outside living cell) manipulation of bio-molecules. Those manipulations may be applied to finish various kinds of computations. Those manipulations may be applied to finish various kinds of computations. In this introductory chapter, we try to explain the behaviors of a digital computer and bio-molecular computing. In this introductory chapter, we try to explain the behaviors of a digital computer and bio-molecular computing.

5 1.1 The Behaviors of a Digital Computer If you are not concerned with the internal mechanism of a digital computer, you can simply denote it as a black box. If you are not concerned with the internal mechanism of a digital computer, you can simply denote it as a black box. However, you still need to denote the tasks finished by a digital computer for distinguishing it from other types of black boxes. However, you still need to denote the tasks finished by a digital computer for distinguishing it from other types of black boxes. We offer computational model of a digital computer. We offer computational model of a digital computer. Figure 1.1.1 is used to represent computational model of a digital computer. Figure 1.1.1 is used to represent computational model of a digital computer.

6

7 From Figure 1.1.1, a digital computer can be thought of as a data processor. From Figure 1.1.1, a digital computer can be thought of as a data processor. A digital program also can be thought of as a set of instructions written in a digital computer language that indicates the data processor what to do with the input data. A digital program also can be thought of as a set of instructions written in a digital computer language that indicates the data processor what to do with the input data. The output data depend on the combination of two factors: the input data and the digital program. The output data depend on the combination of two factors: the input data and the digital program. With the same digital program, you can produce different outputs if you change the input. With the same digital program, you can produce different outputs if you change the input. Similarly, with the same input data, you can generate different outputs if you change the digital program. Similarly, with the same input data, you can generate different outputs if you change the digital program.

8 1.2 The Behaviors of Bio-molecular Computing For bio-molecular computing, if you are not concerned with the internal mechanism, it can simply be defined as another black box. For bio-molecular computing, if you are not concerned with the internal mechanism, it can simply be defined as another black box. The black box for bio-molecular computing is shown in Figure 1.2.1. The black box for bio-molecular computing is shown in Figure 1.2.1. In Figure 1.2.1, all operations with test tubes have to be carried out by the user. In Figure 1.2.1, all operations with test tubes have to be carried out by the user. A more advanced model is depicted in Figure 1.2.2, where some robotics or electronic computing is used to carry out automatically the majority of the operations with the test tubes without the intervention of the user. A more advanced model is depicted in Figure 1.2.2, where some robotics or electronic computing is used to carry out automatically the majority of the operations with the test tubes without the intervention of the user.

9 p

10 From Figure 1.2.1 and Figure 1.2.2, input data can be encoded in test tubes. From Figure 1.2.1 and Figure 1.2.2, input data can be encoded in test tubes. Each encoded data in test tubes can be thought of a data processor. Each encoded data in test tubes can be thought of a data processor. A bio-molecular program also can be thought of as a set of biological operations written in a high-level natural language that tells each data processor what to do. A bio-molecular program also can be thought of as a set of biological operations written in a high-level natural language that tells each data processor what to do.

11 The output data also are based on the combination of two factors: the input data and the bio-molecular program. The output data also are based on the combination of two factors: the input data and the bio-molecular program. With the same bio-molecular program, you can produce different outputs if you change the input. With the same bio-molecular program, you can produce different outputs if you change the input. Similarly, with the same input data, you can generate different outputs if you change the bio-molecular program. Similarly, with the same input data, you can generate different outputs if you change the bio-molecular program. Finally, if the input data and the bio-molecular program remain the same, the output should be the same. Let us look at those cases. Finally, if the input data and the bio-molecular program remain the same, the output should be the same. Let us look at those cases.

12 p

13

14 In Figure 1.2.3, a bio-molecular program is used to find the smallest element for different data in different test tubes. In Figure 1.2.3, a bio-molecular program is used to find the smallest element for different data in different test tubes. The first tube contains two natural numbers: 001 and 010. The first tube contains two natural numbers: 001 and 010. The second tube also includes two different natural numbers: 011 and 111. The second tube also includes two different natural numbers: 011 and 111. When the first tube is regarded as an input tube of the bio-molecular program, after each bio-molecular operation in the bio-molecular program is performed, the output data in the third tube is 001. When the first tube is regarded as an input tube of the bio-molecular program, after each bio-molecular operation in the bio-molecular program is performed, the output data in the third tube is 001.

15 Similarly, while the second tube is regarded as an input tube of the bio-molecular program, after each bio-molecular operation in the bio- molecular program is finished, the output data in the fourth tube is 011. Similarly, while the second tube is regarded as an input tube of the bio-molecular program, after each bio-molecular operation in the bio- molecular program is finished, the output data in the fourth tube is 011. In Figure 1.2.4, for the data in the first tube the first bio-molecular program is used to find the smallest element and the second bio- molecular program is applied to find the biggest element. In Figure 1.2.4, for the data in the first tube the first bio-molecular program is used to find the smallest element and the second bio- molecular program is applied to find the biggest element. The data in the first tube are 100 and 110. The data in the first tube are 100 and 110.

16 When the first tube is regarded as an input tube of the first bio-molecular program, after each bio-molecular operation in the first bio-molecular program is finished, the output data in the second tube is 100. When the first tube is regarded as an input tube of the first bio-molecular program, after each bio-molecular operation in the first bio-molecular program is finished, the output data in the second tube is 100. Similarly, while the first tube is also regarded as an input tube of the second bio-molecular program, after each bio-molecular operation in the second bio-molecular program is performed, the output data in the third tube is 110. Similarly, while the first tube is also regarded as an input tube of the second bio-molecular program, after each bio-molecular operation in the second bio-molecular program is performed, the output data in the third tube is 110.

17

18 1.3 The Introduction for a Digital Computer of the Von Neumann Architecture The so-called von Neumann architecture is a model for a computing machine that uses a single storage structure to hold both the set of instructions on how to perform the computation and the data required or generated by the computation. The so-called von Neumann architecture is a model for a computing machine that uses a single storage structure to hold both the set of instructions on how to perform the computation and the data required or generated by the computation. Today, each digital computer based on the von Neumann architecture contains four subsystems: memory, arithmetic logic unit, control unit and input/output devices. Today, each digital computer based on the von Neumann architecture contains four subsystems: memory, arithmetic logic unit, control unit and input/output devices.

19 A digital computer system of the von Neumann architecture is shown in Figure 1.3.1. From Figure 1.3.1, the input subsystem accepts input data and the digital program from outside the digital computer and the output subsystem sends the result of processing to the outside. A digital computer system of the von Neumann architecture is shown in Figure 1.3.1. From Figure 1.3.1, the input subsystem accepts input data and the digital program from outside the digital computer and the output subsystem sends the result of processing to the outside. Memory is the main storage area in the inside of the digital computer system. Memory is the main storage area in the inside of the digital computer system. It is used to store data and digital programs during processing. It is used to store data and digital programs during processing.

20 This implies that both the data and programs should have the same format because they are stored in memory. This implies that both the data and programs should have the same format because they are stored in memory. They are, in fact, stored as binary patterns (a sequence of 0s and 1s) in memory. They are, in fact, stored as binary patterns (a sequence of 0s and 1s) in memory. The arithmetic logic unit is the core of the digital computer system and is applied to perform calculation and logical operations. The arithmetic logic unit is the core of the digital computer system and is applied to perform calculation and logical operations. The control unit is employed to control the operations of the memory, ALU, and the input/output subsystem. The control unit is employed to control the operations of the memory, ALU, and the input/output subsystem.

21 p

22 A digital program in the von Neumann architecture is made of a finite number of instructions. A digital program in the von Neumann architecture is made of a finite number of instructions. In the architecture, the control unit fetches one instruction from memory, interprets it, and then excutes it. In the architecture, the control unit fetches one instruction from memory, interprets it, and then excutes it. In other words, the instructions in the digital program are executed one after another. In other words, the instructions in the digital program are executed one after another. Of course, one instructions may request the control unit to jump to some previous or following one instruction, but this does not mean that the instructions are not executed sequentially. Of course, one instructions may request the control unit to jump to some previous or following one instruction, but this does not mean that the instructions are not executed sequentially.

23 1.4 The Von Neumann Architecture for Bio-molecular Computing In bio-molecular computing, data also are represented as binary patterns (a sequence of 0s and 1s). In bio-molecular computing, data also are represented as binary patterns (a sequence of 0s and 1s). Those binary patterns are encoded by sequences of bio-molecules and are stored in a tube. Those binary patterns are encoded by sequences of bio-molecules and are stored in a tube. This is to say that a tube is the only storage area in bio-molecular computing and is aslo the memory and the input/output subsystem of the von Neumann architecture. This is to say that a tube is the only storage area in bio-molecular computing and is aslo the memory and the input/output subsystem of the von Neumann architecture. Bio-molecular programs are made of a set of bio-molecular operations and are used to perform calculation and logical operations. Bio-molecular programs are made of a set of bio-molecular operations and are used to perform calculation and logical operations.

24 So, bio-molecular programs can be regarded as the arithmetic logic unit of the von Neumann architecture. So, bio-molecular programs can be regarded as the arithmetic logic unit of the von Neumann architecture. A robot is used to automatically control the operations of a tube (the memory and the input/output subsystem) and bio-molecular programs (the ALU). A robot is used to automatically control the operations of a tube (the memory and the input/output subsystem) and bio-molecular programs (the ALU). This implies that the robot can be regarded as the control unit of the von Neumann architecture. This implies that the robot can be regarded as the control unit of the von Neumann architecture.

25

26 In Figure 1.4.1, bio-molecular computing of the von Neumann architecture is shown. In Figure 1.4.1, bio-molecular computing of the von Neumann architecture is shown. From Figure 1.4.1, a robot fetches one bio- molecular operation from a bio-molecular program (the ALU), and then carries out the bio-molecular operation for those data stored in the tube (the memory). From Figure 1.4.1, a robot fetches one bio- molecular operation from a bio-molecular program (the ALU), and then carries out the bio-molecular operation for those data stored in the tube (the memory). In other words, the bio-molecular operations are executed one after another. In other words, the bio-molecular operations are executed one after another. Certainly, one bio-molecular operation perhaps requests the robot to perform some previous or following bio-molecular operations. Certainly, one bio-molecular operation perhaps requests the robot to perform some previous or following bio-molecular operations.


Download ppt "Studies in Big Data 4 Weng-Long Chang Athanasios V. Vasilakos MolecularComputing Towards a Novel Computing Architecture for Complex Problem Solving."

Similar presentations


Ads by Google