sensorDistributions.py
import util
from ghostbusters import *
"""
sensorReadingDistribution[t] is a distribution for observations
given a true distance of t. sensorReadingDistribution[1][YELLOW], for
example, is the probability that the sensor gives a YELLOW reading
given that the true distance from the sensor to the closest
ghost is 1.
"""
deterministicSensorReadingDistribution = {
0: util.Counter( {Readings.RED: 1} ),
1: util.Counter( {Readings.ORANGE: 1} ),
2: util.Counter( {Readings.ORANGE: 1} ),
3: util.Counter( {Readings.YELLOW: 1} ),
4: util.Counter( {Readings.YELLOW: 1} ),
5: util.Counter( {Readings.GREEN: 1} ),
6: util.Counter( {Readings.GREEN: 1} ) }
simpleSensorReadingDistribution = {
0: util.Counter( {Readings.RED: .8, Readings.GREEN: .2} ),
1: util.Counter( {Readings.RED: .4, Readings.GREEN: .6} ) }
noisySensorReadingDistribution = {
0: util.Counter( {Readings.RED: .9, Readings.ORANGE: .1} ),
1: util.Counter( {Readings.RED: .1, Readings.ORANGE: .6, Readings.YELLOW: .25, Readings.GREEN: .05} ),
2: util.Counter( {Readings.RED: .1, Readings.ORANGE: .6, Readings.YELLOW: .25, Readings.GREEN: .05} ),
3: util.Counter( {Readings.RED: .05, Readings.ORANGE: .15, Readings.YELLOW: .5, Readings.GREEN: .3} ),
4: util.Counter( {Readings.RED: .05, Readings.ORANGE: .15, Readings.YELLOW: .5, Readings.GREEN: .3} ),
5: util.Counter( {Readings.RED: .01, Readings.ORANGE: .05, Readings.YELLOW: .3, Readings.GREEN: .64} ),
6: util.Counter( {Readings.RED: .01, Readings.ORANGE: .05, Readings.YELLOW: .3, Readings.GREEN: .64} ) }
noisySensorReadingDistribution2 = {
0: util.Counter( {Readings.RED: .9, Readings.ORANGE: .1} ),
1: util.Counter( {Readings.RED: .1, Readings.ORANGE: .75, Readings.YELLOW: .1, Readings.GREEN: .05} ),
2: util.Counter( {Readings.RED: .1, Readings.ORANGE: .75, Readings.YELLOW: .1, Readings.GREEN: .05} ),
3: util.Counter( {Readings.RED: .05, Readings.ORANGE: .1, Readings.YELLOW: .75, Readings.GREEN: .1} ),
4: util.Counter( {Readings.RED: .05, Readings.ORANGE: .1, Readings.YELLOW: .75, Readings.GREEN: .1} ),
5: util.Counter( {Readings.RED: .01, Readings.ORANGE: .05, Readings.YELLOW: .1, Readings.GREEN: .84} ),
6: util.Counter( {Readings.RED: .01, Readings.ORANGE: .05, Readings.YELLOW: .1, Readings.GREEN: .84} ) }