This repository is part of my coursework for Introduction to Artificial Intelligence, a university course covering the foundations of classical AI. Topics span problem-solving as state-space search (uninformed search, A* with admissible heuristics, local search), planning under uncertainty with Markov Decision Processes, logic-based reasoning and SAT, and constraint satisfaction.
Where HW1 treated the environment as deterministic, HW2 lifts that assumption: actions now have probabilistic outcomes and the agent must plan over a finite horizon. The assignment builds an enumeration of the full state space, constructs the transition model (state, action) → [(next_state, probability, reward)], and implements a finite-horizon value-iteration planner. The resulting agent acts optimally by precomputing a value function over states and remaining turns, then reading off the greedy action at runtime.
ex2.py—BaseAgentwith the state-index / transition machinery, plus the finite-horizon planner on tophelper.py,helper_fixed.py— state/transition utilities provided with the assignmentutils.py,check.py,check_fixed.py,inputs.py— supporting files and the local test harnessHW2.pdf— the assignment sheet
Suheil Khourieh