CPSC 502/503 Supervisor

CPSC 502 F23: Sarthak Sharan: Enhancing Access to Swimming Analytics Using Machine Learning and intuitive dashboards
CPSC 502 F22: Alejandro Escobar: Predictive Tool for American Football Defensive Positioning Using Machine Learning to Aid Coaches in Design of Offensive Formations and Plays
CPSC 503 F21: Zach Hassan: Decision Support for Choosing a Streaming Management Solution in Video Game Streaming


SENG Capstone Mentor

F22-W23: Eduardo Benetti, Garth Slaney, Christina Truong, Minji Kim, Eddie Kim, Jiho Kim: Motive Optimize - Website conversion analytics tool with multi-armed bandit algorithm


Machine Learning

Machine learning is the scientific study of algorithms and statistical models that computer systems use to effectively perform a specific task without using explicit instructions, relying on patterns and inference instead. Seen as a subset of Artificial Intelligence.

Artificial Intelligence

The development of systems that either display behavior associated with intelligence or solve problems that only intelligent beings can solve. The definition of intelligent is generally under dispute and in flux as once an A.I. system exhibits a behaviour or solves a problem it typically loses the previous requirement of intelligence.

Multi-Agent Systems

Artificial intelligence systems in which the solving of a problem is distributed among several agents. This distribution can be both cooperative (global system goal) or competitive (local agent goal) in orientation. The complexity of agents (fine-grained to coarse-grained), number of agents (few to many), degree of communication (simple to complex), distribution of control (centralized to distributed), agent roles (homogeneous to heterogeneous) and ability of system to adapt are a few of the many properties used to categorize multi-agent systems.

Self-Adapting Systems

Often known as top-down self-adapting systems or autonomic computing. Multi-agent systems where coherent problem solving is achieved with central control imposing it through planning. This global organization appears when the centralized control agent of the system assesses system behaviour and determines changes. Adaptation in such systems is achieved through centralized means.

Self-Organizing Systems

Often known as bottom-up self-adapting systems. Multi-agent systems where coherent problem solving is achieved without central control imposing it through planning. This global organization appears from the local interactions of the individual agents that form the system, thus organization is achieved through completely distributed control. Adaptation in such systems must therefore be achieved through distributed means.

Emergent Computing

Emergence describes the way complex behaviour arises from many simple local interactions. Generally associated with, but not limited to, completely distributed control systems, such as self-organizing systems, emergence describes how the local (microscopic) interactions of many individual components produce a global (macroscopic) behaviour. This emergent behaviour cannot be perceived at the micro-level of individual agent observation yet is readily apparent when observing multiple agents at the macro-level of scope.

Knowledge-based Search

Often known as search or optimization. Artificial intelligence systems that use knowledge when solving the fundamental problem of search. Knowledge consists of the representation of the problem, the possible solution space and information relevant to the process of finding the type of solution desired. Search is the process by which the system attempts to find within the possible solution space one or more solutions that best match the type of solution desired. In optimization this is a search for a global optimum or many local optimums.

Evolutionary Computation

A method of performing knowledge-based search that relies of the properties of complex systems such as biological (evolutionary algorithms) or social populations (swarm intelligence). The two most popular methods are genetic algorithms based on a survival of the fittest biological evolution of a population of possible solutions and particle-swarm optimization based on the social movements of a swarm of particles (possible solutions) within the solution space.

Exploratory Testing

Using knowledge-based A.I. systems to search in the space of possible problems a system can face for example problem instances where the system performs unacceptably. More specifically, using evolutionary computation to perform optimization for test cases. This process is well-suited to testing self-organizing multi-agent systems with emergent behaviors since emergence is relatively difficult to predict.

Risk Management

Using knowledge-based A.I. systems to identify, assess and mitigate risks associated with system operation. When self-organizing/self-adapting/hybrid systems are allowed to adapt it is generally not sufficient to rely on exploratory automated exploratory testing to expose and propose solutions all possible problem instances where risks may exists. Automated risk management allows a system to quantifiably assess the risks associated with prospective adaptations proposed during operation and choose only the most effective yet risk-averse changes to apply.

Data Science

Data science is a multi-disciplinary field that uses scientific methods, processes, algorithms and systems to extract knowledge and insights from structured and unstructured data.