Computer Science and Mathematical Basics Chap. 3 발표자 : 김정집.

Slides:



Advertisements
Similar presentations
Models of Computation Prepared by John Reif, Ph.D. Distinguished Professor of Computer Science Duke University Analysis of Algorithms Week 1, Lecture 2.
Advertisements

Chapt.2 Machine Architecture Impact of languages –Support – faster, more secure Primitive Operations –e.g. nested subroutine calls »Subroutines implemented.
Computational Models The exam. Models of computation. –The Turing machine. –The Von Neumann machine. –The calculus. –The predicate calculus. Turing.
Introduction to Programming Languages Nai-Wei Lin Department of Computer Science and Information Engineering National Chung Cheng University.
About the Presentations The presentations cover the objectives found in the opening of each chapter. All chapter objectives are listed in the beginning.
Programming Languages Marjan Sirjani 2 2. Language Design Issues Design to Run efficiently : early languages Easy to write correctly : new languages.
CSI 3125, Preliminaries, page 1 Programming languages and the process of programming –Programming means more than coding. –Why study programming languages?
An Introduction to Artificial Intelligence. Introduction Getting machines to “think”. Imitation game and the Turing test. Chinese room test. Key processes.
Lec 18 Nov 12 Probability – definitions and simulation.
Mechanics of Genetic Programming
FLAC Lecture 19 Turing Machines and Real Life * Reductions Mihai Budiu March 3, 2000.
Overview of Programming Paradigms
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
The Analytical Engine Module 6 Program Translation.
CS 101 Course Summary December 5, Big Ideas Abstraction Problem solving Fundamentals of programming.
©The McGraw-Hill Companies, Inc. Permission required for reproduction or display. slide 1 CS 125 Introduction to Computers and Object- Oriented Programming.
The Evolution of Programming Languages
Introduction to Computers and Programming. Some definitions Algorithm: –A procedure for solving a problem –A sequence of discrete steps that defines such.
Programming Languages Structure
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
16 November, 2005 Statistics in HEP, Manchester 1.
C o n f i d e n t i a l Developed By Nitendra NextHome Subject Name: Data Structure Using C Title: Overview of Data Structure.
Khaled Rasheed Computer Science Dept. University of Georgia
Computer Programming Putting the machine under our command.
Genetic Programming.
Slides are based on Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming n Evolution.
High-Level Programming Languages: C++
G Programming Languages T he main themes of programming language design and use: –Model of computation –Expressiveness types and their operations.
COP1220/CGS2423 Introduction to C++/ C for Engineers Professor: Dr. Miguel Alonso Jr. Fall 2008.
Chapter 1. Introduction.
Chapter 1 Introduction Dr. Frank Lee. 1.1 Why Study Compiler? To write more efficient code in a high-level language To provide solid foundation in parsing.
© Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming Evolution strategies Evolution.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Introduction to Computer Programming in c
What is Genetic Programming? Genetic programming is a model of programming which uses the ideas (and some of the terminology) of biological evolution to.
A new Programming Paradigm inspired by Algorithmic Chemistries UPP 2004 September 2004 Wolfgang Banzhaf, Memorial University of Newfoundland, Canada and.
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
Fuzzy Genetic Algorithm
Spring 2006ICOM 4036 Programming Laguages Lecture 2 1 The Nature of Computing Prof. Bienvenido Velez ICOM 4036 Lecture 2.
1 Programming Languages Fundamentals Cao Hoaøng Truï Khoa Coâng Ngheä Thoâng Tin Ñaïi Hoïc Baùch Khoa TP. HCM.
C o n f i d e n t i a l 1 Course: BCA Semester: III Subject Code : BC 0042 Subject Name: Operating Systems Unit number : 1 Unit Title: Overview of Operating.
The Nature of Computing INEL 4206 – Microprocessors Lecture 3 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.
Theory of Programming Languages Introduction. What is a Programming Language? John von Neumann (1940’s) –Stored program concept –CPU actions determined.
The Nature of Computing INEL 4206 – Microprocessors Lecture 2 Bienvenido Vélez Ph. D. School of Engineering University of Puerto Rico - Mayagüez.
6. Program Translation CS100: The World of Computing John Dougherty Haverford College.
Data Structures and Algorithms Dr. Tehseen Zia Assistant Professor Dept. Computer Science and IT University of Sargodha Lecture 1.
Building Your Own Machine The Universal Machine (UM) Introduction Noah Mendelsohn Tufts University Web:
Programming Languages
1 Autonomic Computer Systems Evolutionary Computation Pascal Paysan.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
An Introduction to Genetic Algorithms Lecture 2 November, 2010 Ivan Garibay
1 Asstt. Prof Navjot Kaur Computer Dept PRESENTED BY.
Chapter 12 Theory of Computation Introduction to CS 1 st Semester, 2014 Sanghyun Park.
Lecture #1: Introduction to Algorithms and Problem Solving Dr. Hmood Al-Dossari King Saud University Department of Computer Science 6 February 2012.
Programming Language Theory 2014, 1 Chapter 1 :: Introduction Origin : Michael L. Scott School of Computer & Information Engineering,
Computer Software 1.
Estimation of Distribution Algorithm and Genetic Programming Structure Complexity Lab,Seoul National University KIM KANGIL.
CPS120 Introduction to Computer Science High Level Language: Paradigms.
Algorithm Complexity is concerned about how fast or slow particular algorithm performs.
Chapter 1. Introduction.
An Introduction to Programming
课程名 编译原理 Compiling Techniques
Computer Programming.
CSC128 FUNDAMENTALS OF COMPUTER PROBLEM SOLVING
Programming Language Design
Programming Languages
Programming Languages 2nd edition Tucker and Noonan
Principles of Programming Languages
An Introduction to Programming
The Nature of Computing
Presentation transcript:

Computer Science and Mathematical Basics Chap. 3 발표자 : 김정집

Introduction t Fundamental notions of computer science and mathematics necessary for understanding the GP approach t leading question  What are the mathematical and information- processing contexts of GP?  What are the tools from these contexts that GP has to work with

3.1 The Importance of Randomness in Evolutionary Learning t Evolution in Nature vs. Evolution in Computers  in nature, mutation is basically “free” t The Costs of Variation  in nature, sexual reproduction is not “free” t GP as a General Search Process  “non-deterministic” algorithm  depend on randomness

3.2 Mathematical Basics t Randomness and Probability  random events play such a prominent role in GP

3.2.1 Combinatorics and the Search Space t Permutation  N different elements constituting the set E can be ordered in N! different permutations t Combination t Variation

3.2.2 Random numbers t Quasi-random number generator t Linear Congruential Method

Randomness test t X 2 Test  randomness test  if X 2 is near to k, then the random number generator is good

3.2.3 Probability t Elementary Events  random experiments - flip a coin  events - “heads” or “tails” t Relative Frequency t Probability

t Random Variables and Probability Distributions  probability distribution p(x) of random variable x

t Expectation Value and Variance  moment quantity  Expectation value  Variance

t Bernoulli Process and the Binomial Distribution t Probability Density Functions t Normal Distribution

t Multiplicative Variation and the Log-Normal Distribution

Three distributions

3.3 Computer Science Background and Terminology t The Turing Machine, Turing Completeness, and Universal Computation

t Turing Completeness  a programming language allows to write a program that emulates the behavior of a certain arbitrary TM t Structure and Function of a TM t Universal TM and Universal Computation  A Universal TM U can emulate any TM T  U is said to be able to perform universal computation

3.3.2 The Halting Problem t Halting Theorem  there is no problem that can determine the termination properties of all programs  time bounded excution of GP

3.3.3 Complexity t Complexity measure  # of nodes, # of bits needed to express a program in linear form, or # of instructions t Kolmogorov Complexity and Generalization  Kolmogorov Complexity u “complexity of a computable object” s the shortest program that produces the object upon execution u if two programs model the same data, the shorter one can be argued to have a higher probability of being general

Different complexity measures

3.4 Computer Hardware t Von Neumann machine  a computer where the program resides in the same storage as the data used by that program

3.4.1 Von Neumann Machines t The Processor t RISC/CISC  RISC(SPARC or PowerPC) u extensive use of registers  CISC(Pentium)

Schematic view of CPU

3.4.2 Evolvable Hardware t FPGAs t EHW  When HW has failures, there is no need to discard the entire HW; instead one simply reprogram the chip

3.5 Computer Science t Elementary representation of software  machine language, assembly language  higher language  data structures

3.5.1 Machine Language and Assembler Language t Machine Language  A sequence of integers  impractical to use numbers for instructions  not natural to remember t Assembly  very simple grammar

3.5.2 Higher Languages t Imperative Language  BASIC, C, FORTRAN, Pascal, SIMULA  program statements explicitly order (Latin imperare) the computer how to perform a certain task t Functional, Applicative Language  LISP, LOGO, ML, BETA  a program represents a function that maps input data and internal data into output data  using a function on its arguments is called application, so a functional language is also called applicative

t Predictive Language  PROLOG  programming means describing to the computer what is wanted as result t Objective-Oriented Languages  SMALLTALK-80, C++, JAVA  the principle behind these languages is modeling a system by objects

Language classes

3.5.3 Data Structures

t Aggregation  cartesian product of structures t Generalization  unites structures t Recursion t Graph, Tree, List t Power Set t Function Space t Selector

3.5.4 Manual versus Genetic Programming t From Bits to Memo Code t From Assembler to High-Level Languages t From High-Level Languages to Algebraic Specification t A Programmer’s Heuristics  “cut and paste” strategy u cut and paste crossover u generation of new segments mutation u debugging and testing selection u unused code introns

t The main difference  GP can afford to evolve a population of programs simultaneously  a programmer only work in this way if u the environments changed only slightly between applications or u the programming language was hard to handle  hard for GP system to generate code u without any idea of what a given argument or function could mean to the output