Local Search in Ackley Surface with Scaffolding Model Assignment

By Jonathan Scott and Narges Norouzi

Concept Description

Teaching students different local search algorithm requires careful definition of a non-convex problem and appropriate scaffolding. In this submission, we share our assignment in our artificial intelligence course, which uses Ackley Surface and scaffolding for students to implement 1) Stochastic hill climbing with re-starts, 2) Simulated Annealing, and 3) Local Beam Search. Additional resources are provided to instructors to adapt and modify the local search landscape function as well as resources to teach students the concepts needed for completing the assignment.


Local search algorithms
Simulated annealing
Stochastic hill climbing
Local beam search


The target audience of this assignment is undergraduate CS or engineering students taking an AI course.
The prerequisites for the course include programming, data structures, algorithms, and probability courses.

Difficulty Medium
Strengths Adaptable, modular, scaffolded. An instructor handout has been provided to outline the background information that students need before working on the assignment. Additionally, the instructor handout provides option to change the landscape to other non-convex functions.
Weaknesses Additional local search algorithms can be added to the assignment.
Dependencies Python programming language

The scaffolded instructions in the handouts will make the learning experience smooth and engaging.
Instructors can pick and use different local search algorithms or different landscape functions. To make assignment more adaptable, instructors were given an option to use Ackley, Rastrigin, and Rosenbrock functions.


Assignment Handout (.ipynb)

Assignment Handout HTML Export

Instructor Handout Instructor Handout