Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Lecture 37 of 42 Monday, 01 December 2008 William H. Hsu Department of Computing and Information Sciences, KSU KSOL course page: Course web site: Instructor home page: Reading for Next Class: Sections 22.1, , Russell & Norvig 2 nd edition Vision, Part 1 of 2 Discussion: GEC Concluded
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Lecture Outline This Week: Chapter 26, Russell and Norvig 2e Today: Chapter 23, R&N 2e Wednesday (Last Lecture!): Chapter 24, R&N 2e References Robot Vision, B. K. P. Horn Courses: UCB CS 280: The Vision Problem Early vs. late vision Marr’s 2 ½ - D sketch Waltz diagrams Shape from Shading Ikeuchi-Horn method Subproblems: edge detection, segmentation Optical Flow
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence GP Flow Graph Adapted from The Genetic Programming Notebook © 2002 Jaime J. Fernandez
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Structural Crossover Adapted from The Genetic Programming Notebook © 2002 Jaime J. Fernandez
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Structural Mutation Adapted from The Genetic Programming Notebook © 2002 Jaime J. Fernandez
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Genetic Programming: The Next Generation (Synopsis and Discussion) Automatically-Defined Functions (ADFs) aka macros, anonymous inline functions, subroutines Basic method of software reuse Questions for Discussion What are advantages, disadvantages of learning anonymous functions? How are GP ADFs similar to and different from human-produced functions? Exploiting Advantages Reuse Innovation Mitigating Disadvantages Potential lack of meaning – semantic clarity issue (and topic of debate) Redundancy Accelerated bloat – scalability issue
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Code Bloat [1]: Problem Definition Definition Increase in program size not commensurate with increase in functionality (possibly as function of problem size) Compare: structural criteria for overfitting, overtraining Scalability Issue Large GPs will have this problem Discussion: When do we expect large GPs? Machine learning: large, complex data sets Optimization, control, decision making / DSS: complex problem What Does It Look Like? What Can We Do About It? ADFs Advanced reuse techniques from software engineering: e.g., design patterns Functional, object-oriented design; theory of types Controlling size: parsimony (MDL-like), optimization (cf. compiler)
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Code Bloat [2]: Mitigants Automatically Defined Functions Types Ensure Compatibility of functions created Soundness of functions themselves Define: abstract data types (ADTs) – object-oriented programming Behavioral subtyping – still “future work” in GP Generics (cf. C++ templates) Polymorphism Advanced Reuse Techniques Design patterns Workflow models Inheritance, reusable classes
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Code Bloat [3]: More Mitigants Parsimony (cf. Minimum Description Length) Penalize code bloat Inverse fitness = loss + cost of code (evaluation) May include terminals Target Language Optimization Rewriting of constants Memoization Loop unrolling Loop-invariant code motion
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Genetic Programming 3 (Synopsis and Discussion [1]) Automatic Program Synthesis by Computational Intelligence: Criteria 1. Specification: starts with what needs to be done 2. Procedural representation: tells us how to do it 3. Algorithm implementation: produces a computer program 4. Automatic determination of program size 5. Code reuse 6. Parametric reuse 7. Internal storage 8. Iteration (while / for), recursion 9. Self-organization of hierarchies 10. Automatic determination of architecture 11. Wide range of programming constructs 12. Well-defined 13. Problem independent
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Genetic Programming 3 (Synopsis and Discussion [2]) 16 Criteria for Automatic Program Synthesis … 14. Generalization: wide applicability 15. Scalability 16. Human-competitiveness Current Bugbears: Generalization, Scalability Discussion: Human Competitiveness?
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Summary of Videos GP1: Basics of SGP GP2: ADFs and Problem of Code Bloat GP3: Advanced Topics A. M. Turing’s 16 criteria How GP does and does not (yet) meet them
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence More Food for Thought and Research Resources Discussion: Future of GP Current Applications Conferences GECCO: ICGA + ICEC + GP GEC EuroGP Journals Evolutionary Computation Journal (ECJ) Genetic Programming and Evolvable Machines (GPEM)
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence More Food for Thought and Research Resources Discussion: Future of GP Current Applications Conferences GECCO: ICGA + ICEC + GP GEC EuroGP Journals Evolutionary Computation Journal (ECJ) Genetic Programming and Evolvable Machines (GPEM)
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision) Line Drawing Interpretation
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision) Line Labeling [1]: Solid Polyhedra and Other Shapes Waltz, others
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision) Line Labeling [2]: Junctions Junctions occur at tangent discontinuities False T-junctions
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 T. Leung, UC Berkeley (CS 280 Computer Vision) Orientation and Texture Discrimination (Textons) [1]
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision) Orientation and Texture Discrimination (Textons) [2]
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision) Segmentation (Grouping) [1]: Definition
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision) Segmentation (Grouping) [2]: Physical Factors
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision) Edge Detection [1]: Convolutional Filters and Gaussian Smoothing
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision) Edge Detection [2]: Difference of Gaussian
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision) Binocular Stereo [1]: Stereo Correspondence – Properties
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision) Binocular Stereo [2]: Stereo Correspondence – Open Problems
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Adapted from slides © 1999 J. Malik, UC Berkeley (CS 280 Computer Vision) Optical Flow
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Terminology Vision Problem Early vs. late vision Marr’s 2 ½ - D sketch Waltz diagrams Shape from Shading Ikeuchi-Horn method Subproblems: edge detection, segmentation Optical Flow
Computing & Information Sciences Kansas State University Monday, 01 Dec 2008CIS 530 / 730: Artificial Intelligence Summary Points References Robot Vision, B. K. P. Horn The Vision Problem Early vs. late vision Marr’s 2 ½ - D sketch Waltz diagrams Shape from Shading Ikeuchi-Horn method Subproblems: edge detection, segmentation Optical Flow Next Week Natural Language Processing (NLP) survey Final review