public TableDrivenAgentProgram(
Map<List<Percept>, Action> perceptSequenceActions) {
List<List<Percept>> rowHeaders = new List<List<Percept>>(
perceptSequenceActions.Keys);
List<System.String> colHeaders = new List<System.String>();
colHeaders.Add(ACTION);
table = new Table<List<Percept>, System.String, Action>(rowHeaders, colHeaders);
foreach (List<Percept> row in rowHeaders) {
table.set(row, ACTION, perceptSequenceActions[row]);
}
}