Intro to Search-Based Artificial Intelligence Daniel Tauritz, Ph.D. Associate Professor of Computer Science Director, Natural Computation Laboratory Missouri S&T Intro to AI • Thinking Humanly (Cognitive Modeling) • Acting Humanly (Turing Test) • Thinking Rationally (Logic) • Acting Rationally (Optimizing Utility Function) Algorithm An algorithm is a sequence of well-defined instructions that can be executed in a finite amount of time in order to solve some problem. Optimization Algorithm An optimization algorithm is an algorithm which takes as input a solution space, an objective function which maps each point in the solution space to a linearly ordered set, and a desired goal element in the set. Stochastic Algorithm A stochastic algorithm is an algorithm which when executed multiple times with the same input, produces different outputs drawn from some underlying probability distribution. Evolutionary Algorithm A stochastic optimization algorithm inspired by genetics and natural evolution theory. Problem Description Evolutionary Problem Solving Population Initialization Strategy Parameters Fitness Evaluation Problem Specific Black Box Reproduction Evolutionary Cycle Competition no Termination Criteria Met? yes Fitness Evaluation Solution Deriving Gas-Phase Exposure History through Computationally Evolved Inverse Diffusion Analysis • Joshua M. Eads • Undergraduate in Computer Science • Daniel Tauritz • Associate Professor of Computer Science • Glenn Morrison • Associate Professor of Environmental Engineering • Ekaterina Smorodkina • Former Ph.D. Student in Computer Science Introduction Find Contaminants and Fix Issues Examine Indoor Exposure History Unexplained Sickness Background • Indoor air pollution top five • • • environmental health risks $160 billion could be saved every year by improving indoor air quality Current exposure history is inadequate A reliable method is needed to determine past contamination levels and times Problem Statement •A forward diffusion differential equation predicts concentration in materials after exposure •An inverse diffusion equation finds the timing and intensity of previous gas contamination •Knowledge of early exposures would greatly strengthen epidemiological conclusions Gas-phase concentration history and material absorption Concentration in solid Concentration in gas Gas-phase concentration history material phase concentration profile 0 Elapsed time 0 x or distance into solid (m) Proposed Solution •Use Genetic Programming (GP) as a directed search for inverse equation •Fitness based on x^5x^2 + x^4 - tan(y) / pi + sin(x) sin(cos(x+y)^2) sin(x+y) + e^(x^2) 5x^2 + 12x - 4 x^2 - sin(x) X + Sin / forward equation ? Related Research • It has been proven that the inverse • • equation exists Symbolic regression with GP has successfully found both differential equations and inverse functions Similar inverse problems in thermodynamics and geothermal research have been solved Interdisciplinary Work • Collaboration between Environmental Engineering, Computer Science, and Math Parent Selection Candidate Solutions Competition Population Reproduction Fitness Genetic Programming Algorithm Forward Diffusion Equation Genetic Programming Background + Y = X^2 + Sin( X * Pi ) Si n * X X * X Pi Summary • Ability to characterize exposure history will enhance ability to assess health risks of chemical exposure A Coevolutionary Arms-Race Methodology for Improving Electric Power Transmission System Reliability Delivery Problems • Transmission Grid Expansion Hampered – Social, environmental, and economic constraints • Transmission Grid Already “Stressed” – Already carrying more than intended – Dramatic increase in incidence reports The Grid The Grid: Failure The Grid: Redistribution The Grid: A Cascade The Grid: Redistribution The Grid: Unsatisfiable The Grid: Unsatisfiable Failure Summary • Failure spreads relatively quickly – Too quickly for conventional control • Cascade may be avoidable – Utilize unused capacities (Flow compensation) • Unsatisfiable condition may be avoidable – Better power flow control to reduce severity Measuring hardening performance • In practice: evaluate over a representative sampling of scenarios • Sampling approaches – Pruned Exhaustive (e.g., n-1 security index in power systems) – Monte Carlo – Intelligent adversary Intelligent Adversary • Game Theoretic: Two-player game of defenders & attackers • Dependent search spaces: grid hardening space (defenders) & scenario space (attackers) • Computational methods for dependent search: – Iterative approach – Competitive Coevolution approach – Generalized Co-Optimization approach Competitive Coevolution • Type of Evolutionary Algorithm where solution quality is dependent on other solutions • For two-player games an arms-race is created by having two opposing populations of solutions where solution quality is inversely dependent on solutions in the opposing population Co-Optimization • Generalization of Coevolution • Evolutionary principles are replaced by arbitrary black-box optimization techniques • Allows matching of interactive problem domains to optimization techniques Summary of methodology • Improve grid robustness by creating an arms-race between hardenings (defenders) and fault scenarios (attackers) through the use of Co-Optimization • Hardenings are evolved to minimize economic loss • Fault scenarios are evolved to maximize economic loss • Stair stepping of ability Advanced Power Transmission System with Distributed Power Electronics Devices - Case Study • Hardenings: Unified Power Flow Controller (UPFC) placements – Control power flow through transmission lines – UPFCs are a powerful type of Flexible AC Transmission System (FACTS) device • Fault scenarios: line outages FACTS Interaction Laboratory UPFC Simulation Engine HIL Line Social & Ethical Implications • Grid really improved? – Margins versus profits – New weaknesses introduced • Who decides delivery priorities? • Can this research be misused? Coevolutionary Automated Software Correction (CASC) ISC Sponsored Project Ph.D. student: Josh Wilkerson Objective: Find a way to automate the process of software testing and correction. Approach: Create Coevolutionary Automated Software Correction (CASC) system which will take a software artifact as input and produce a corrected version of the software artifact as output. Coevolutionary Cycle Population Initialization Population Initialization Population Initialization Population Initialization Initial Evaluation Initial Evaluation Reproduction Phase Reproduction Phase Reproduction Phase Evaluation Phase Evaluation Phase Competition Phase Competition Phase Termination Termination