Elevator Problem in Python Assignment

COMP 4106 Artificial Intelligence Assignment 3

Assignment Involving Elementary Reinforcement Learning

Introduction

The goal of this assignment is to have you implement some simple Learning Automata (LA) and Reinforcement Learning (RL) strategies. The application domain is quite straightforward, but it is typical of the domains where LA and RL can be used.

Problem Statement

The assignment consists of using LA to solve a simplified version of the Elevator Problem. A building has an elevator that stops at k floors as in Figure 1. People can request the elevator from floor i, and get off the elevator on floor j, where i 1... k; i j. At any time instant, the probability that the elevator is requested from a floor, and the probability that the person gets off the elevator on another floor, are given by the matrices E and L respectively (not shown), whose components are the probabilities of a person entering and leaving the floors respectively. After each trip, the elevator can move to rest at one of the k different floors so as to minimize the waiting time for the next passenger.

simple model of an Elevator system

Figure 1: A simple model of an Elevator system, where the car can be made to wait at one of k possible floors.

The distributions E and L for are unknown to the LA/RL scheme. However, the unknown waiting can be quantified as follows. Every index i ∈ e {1, 2, k} is mapped to a unique number G(i) ∈ {1,2,..., k} by a one-to-one and onto mapping. In this assignment, you can assume that k = 6. Then, the waiting time fi (which is unknown to the LA/RL system) obeys the equation:

COMP 4106 Artificial Intelligence Assignment 3

Assignment Objectives

These are the tasks you have to do:

  • Learn the best floor for the car to be waiting using the Tsetlin, Krinsky, Krylov and LRI schemes.
  • In each case, use a suitable value for the "memory" and learning parameter.
  • In each case, plot the ensemble average of the waiting time for an ensemble of 100 experiments.

Questions

During the demo you should be prepared to discuss the following questions:

  • Explain the way you chose the parameters for each scheme.
  • Can you rank the schemes in terms of their speed/accuracy?