Back to Modules
CS423

Heuristic Search and Optimisation

1 CreditsTerm 1

Description

Search and optimization are the fundamental building blocks of AI. Almost all problems in AI (including machine learning) involve some sort of search or optimization. This course will cover the basics of search and optimization. Broadly, the course will be split along two axes: one is discrete vs continuous optimization, and another is heuristic methods vs exact techniques. The applications of the topics covered in class is immediate, for example, shortest path problems are used by all mapping services such as Google Maps. Travelling salesman problems are used to design routes for parcel delivery. Fundamental topics such linear and convex programming with gradient descent will help in understanding techniques in deep learning which will be useful for other AI courses. Recent applications of linear programs such as in designing security of critical infrastructure will be discussed in class.

Requisites

Prerequisites: CS201/CS420 - Pre-req

Co-requisites: None

Anti-requisites: None

Attributes

Department: SCIS

Course Level: Undergraduate

Tracks: CS/IS: Artificial Intelligence Track

Areas: Advanced Business Technology Major Business Options Econ Major Rel/Econ Options IS Depth Electives IT Solution Development Electives Information Systems Electives Social Sciences/PLE Major-related

Learning Outcomes

1. Taking a problem and model it as an optimization problem, such as parcel delivery or traffic routing problems. 2. Able to select the right technique for solving different types of discrete graph optimization problems. 3. Solve large scale optimization problems using heuristics, for example, delivery problem for a large company such as Amazon.

Graduate Learning Outcomes

Disciplinary knowledge, Multidisciplinary knowledge, Critical thinking & problem solving, Self-directed learning

Competencies

Portfolio Management, Process Improvement and Optimisation, Combinatorial Decision-making, Computational Modelling, Intelligent Reasoning