Thursday, January 16, 2025

IEE 598: Lecture 1B (2024-01-16): Evolutionary Approach to Engineering Design Optimization

In this lecture, we formally introduce the Engineering Design Optimization (EDO) problem and several application spaces where it may apply. We then discuss classical approaches for using computational methods to solve this difficult optimization problem -- including both gradient-based and direct search methods. This allows us to introduce trajectory and local search methods (like tabu search and simulated annealing) and population-based methods (like the genetic algorithm, ant colony optimization, and particle swarm optimization). We then start down the path of exploring evolutionary algorithms, a special (but very large) set of population-based methods. In the next lecture, we will connect this discussion to population genetics and a basic Genetic Algorithm (GA).

The whiteboard notes taken during this lecture can be found at:
https://www.dropbox.com/scl/fi/ifkopelwknhhbj0wuz8ws/IEE598-Lecture1B-2024-01-16-Evolutionary_Approach_to_Engineering_Design_Optimization.pdf?rlkey=3xdr40xw5qjz62uqzrd373hh6&dl=0



Tuesday, January 14, 2025

Lecture 1A (2025-01-14): Introduction to the Course, Its Policies, and Its Motivation

In this first lecture of the semester, I introduce the course and its expectations and policies. After highlighting several sections of the syllabus, we pivot to discussing heuristics, metaheuristics, and hyperheuristics more broadly. This sets up for the next lecture which will introduce Evolutionary Algorithms, for use as metaheuristics.

The whiteboard notes for this lecture can be found at:
https://www.dropbox.com/scl/fi/7ojfu7w0d58yhsb2zfhjb/IEE598-Lecture1A-2025-01-14-Introduction_to_Course_Policiesi_and_Motivations-Notes.pdf?rlkey=uw6va7dybspd2cvqtq1bui5f6&dl=0



Thursday, April 28, 2022

Lecture 8C (2022-04-28): Elementary Cellular Automata, Stochastic Cellular Automata, and Cellular Evolutionary Algorithms

In this lecture, we review Elementary Cellular Automata (ECA's) and some classic rules and how to interpret them. We then transition to a brief discussion of hardware-based cellular automata for things like the Ising model, which allows for hardware-based annealing machines that perform simulated annealing (SA) optimization very fast. That lets us transition to discussing stochastic CA's (SCA) and then conclude with an introduction to cellular evolutionary algorithms (cEA's) which put different selective pressures on the population based on the distribution of the individuals in a space (where CA-like neighborhoods define the subpopulations on which a GA is to act, as if the GA was the CA update rule). That concludes the class for Spring 2022.

Whiteboard notes for this lecture can be found at: https://www.dropbox.com/s/0k3lcpm50hpwygt/IEE598-Lecture8C-2022-04-28-Elementary_Cellular_Automata-Stochastic_Cellular_Automata-and-Cellular_Evo_Alg.pdf?dl=0



Tuesday, April 26, 2022

Lecture 8B (2022-04-26): Elementary Cellular Automata, Computation, and Experimentation

In this lecture, we move on from generic Interacting Particle Systems (IPS) to the specific case of (deterministic) Cellular Automata (CA). We spend a lot of time on Elementary CA's (ECA) and the complex behaviors that they can generate, as cataloged by Wolfram's _A New Kind of Science_ (NKS). We discuss density classification, pattern recognition, and the mapping from CA's to (recurrent) neural networks (RNNs/ANNs). By showing that certain ECA rules (like "Rule 110" in particular) are Turing complete, we effectively show that Recurrent Neural Networks/Time Delay Neural Networks (TDNNs) are themselves Turing complete (i.e., they can execute any computable function). We also discuss a few basic 2D CA's. Throughout the lecture, NetLogo (Web) is used to demonstrate the CA's, which allows us to introduce agent-based modeling a bit (including a Particle Swarm Optimization (PSO) empirical example).

Whiteboard notes for this lecture can be found at: https://www.dropbox.com/s/gx54i8wt6gn2uow/IEE598-Lecture8B-2022-04-26-Elementary_Cellular_Automata-Computation-and-Experimentation.pdf?dl=0



Sunday, April 24, 2022

Lecture 8A (2022-04-21): Complex Systems Approaches to Computation – Interacting Particle Systems and the Voter Model

In this lecture, we introduce a short unit on complex systems approaches that intersect with computation and algorithms. We start with Interacting Particle Systems (IPS), which are a class of mathematical models describing systems that interact based on location or contact with each other. There are "Self-Organizing Particle Systems (SOPS)" that describe hypothetical agents that might be designed to build or maintain structures in engineered systems. Or there are more generic IPS models meant to understand phenomena in population dynamics or community ecology. We focus on the "Voter Model", which can be viewed as a model of consensus in agents that randomly trade opinions or (equivalently) fixation in evolutionary systems that are not under selection. We analyze the Voter Model as a non-ergodic Markov chain with absorbing states and then show how a dual process that represents a sort of "contact tracing" of consensus backward in time is ergodic and can thus be analyzed with a suite of mathematical tools. One of those tools helps us prove the possibly counterintuitive result that when the voter model operates in fewer than two dimensions, it will reach consensus/fixation with probability one but will have non-zero probability of never reaching consensus/fixation in three or more dimensions. Thus, the dimensionality of the (translation invariant) neighborhoods matters. We then prepare for our next lecture, where we'll introduce Cellular Automata (CA), a deterministic interacting particle system that nevertheless can produce fascinating patterns that help demonstrate how computation can be embodied in space.

Whiteboard notes for this lecture can be found at: https://www.dropbox.com/s/5bt6uinpkidw2p4/IEE598-Lecture8A-2022-04-21-Complex_Systems_Approaches_to_Computation-Interacting_Particle_Systems_and_the_Voter_Model.pdf?dl=0



Lecture 8A-Intro (2022-04-21): Clarifications about Final Exam and Final Project

This 20-minute segment provides an overview of the format and expectations for the final exam for the Spring 2022 section of IEE/CSE 598 (Bio-Inspired AI and Optimization). It also covers questions about the final project.



Tuesday, April 19, 2022

Lecture 7H (2022-04-19): From Spiking Neural Networks to Continual Learning and Beyond

In this lecture, we continue our discussion of neuromorphic engineering, with a focus on spiking neural network (SNN) architectures. We review the basic dynamics of an "action potential" and mention a few ODE models (Hodgkin–Huxley, integrate-and-fire, etc.) of such dynamics. Modern SNN platforms, such as SpiNNaker and more modern IBM TrueNorth and Intel Loihi hardware/"chip" solutions, implement hardware and software emulations of these dynamics in an effort to simulate large networks of spiking neurons (as opposed to mathematical abstractions, as in more traditional ANNs). We also discuss "neuromemristive" platforms that make use of hysteretic "memristors" as very simple artificial spiking neurons and mention an example from Boyn et al. (2017, Nature Communications) of a crossbar architecture of such memristors that can accomplish unsupervised learning for pattern recognition/classification. We then move on to discussing how backpropagation (gradient descent) can now be used for supervised learning on spiking neural networks (to simplify training significantly). That brings us to discuss state-of-the-art and beyond-state-of-the-art nature-inspired directions, such as using neural network "sleep" to improve continual learning and introducing "neuromodulation" to add further richness to artificial neural networks.

Whiteboard notes for this lecture can be found at: https://www.dropbox.com/s/31ti6sni3zpkw64/IEE598-Lecture7H-2022-04-19-From_Spiking_Neural_Networks_to_Continual_Learning_and_Beyond.pdf?dl=0



Popular Posts