1 / 31

Computer Science and Mathematical Basics

Computer Science and Mathematical Basics. Chap. 3. 발표자 : 김정집. Introduction. Fundamental notions of computer science and mathematics necessary for understanding the GP approach leading question What are the mathematical and information-processing contexts of GP?

meryl
Download Presentation

Computer Science and Mathematical Basics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


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

  2. Introduction • Fundamental notions of computer science and mathematics necessary for understanding the GP approach • 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. 3.1 The Importance of Randomness in Evolutionary Learning • Evolution in Nature vs. Evolution in Computers • in nature, mutation is basically “free” • The Costs of Variation • in nature, sexual reproduction is not “free” • GP as a General Search Process • “non-deterministic” algorithm • depend on randomness

  4. 3.2 Mathematical Basics • Randomness and Probability • random events play such a prominent role in GP

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

  6. 3.2.2 Random numbers • Quasi-random number generator • Linear Congruential Method

  7. Randomness test • X2 Test • randomness test • if X2 is near to k, then the random number generator is good

  8. 3.2.3 Probability • Elementary Events • random experiments - flip a coin • events - “heads” or “tails” • Relative Frequency • Probability

  9. Random Variables and Probability Distributions • probability distribution p(x) of random variable x

  10. Expectation Value and Variance • moment quantity • Expectation value • Variance

  11. Bernoulli Process and the Binomial Distribution • Probability Density Functions • Normal Distribution

  12. Multiplicative Variation and the Log-Normal Distribution

  13. Three distributions

  14. 3.3 Computer Science Background and Terminology • 3.3.1 The Turing Machine, Turing Completeness, and Universal Computation

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

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

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

  18. Different complexity measures

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

  20. 3.4.1 Von Neumann Machines • The Processor • RISC/CISC • RISC(SPARC or PowerPC) • extensive use of registers • CISC(Pentium)

  21. Schematic view of CPU

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

  23. 3.5 Computer Science • Elementary representation of software • machine language, assembly language • higher language • data structures

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

  25. 3.5.2 Higher Languages • Imperative Language • BASIC, C, FORTRAN, Pascal, SIMULA • program statements explicitly order (Latin imperare) the computer how to perform a certain task • 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

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

  27. Language classes

  28. 3.5.3 Data Structures

  29. Aggregation • cartesian product of structures • Generalization • unites structures • Recursion • Graph, Tree, List • Power Set • Function Space • Selector

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

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

More Related