Monday, November 8, 2004

An <span class="caps">LSD</span> account of a human in a house

Here is an LSD account of a human agent in a house environment.
agent human {

state:
location (string), // kitchen, livingroom, bedroom, bathroom, corridor
intention (string), // eat, watchtv, sleep, usetoilet, chat
activity (string),
is_bedtime (boolean), is_soaptime (boolean),
bladderlevel (integer)

oracle:
currenttime (time),
partner_location (string), partner_activity (string)

handle:
location, activity

derivative:
is_bedtime = currenttime > 23:00 || currenttime < 06:00,
is_soaptime = currenttime > 19:00 || currenttime < 21:00,

protocol:
// choose an intention
intention = activity -> intention = random_intention,

// perform activity when intention and location are consistent
intention = 'sleep' && location = 'bedroom' -> activity = 'sleep',
intention = 'eat' && location = 'kitchen' -> activity = 'eat'; bladderlevel=bladderlevel+1,
intention = 'watchtv' && location = 'livingroom' -> activity = 'watchtv',
intention = 'usetoilet' && location = 'bathroom' -> activity = 'usetoilet',

// navigate to location based on intention
intention = 'sleep' && location != 'bedroom' -> location = 'bedroom',
intention = 'eat' && location != 'kitchen' -> location = 'kitchen',
intention = 'watchtv' && location != 'livingroom' -> location != 'livingroom',
intention = 'usetoilet' && location != 'bathroom' -> location != 'bathroom',

// external conditions may effect intention
daylight = false -> intention = 'sleep',

// internal conditions may effect intention
bladderlevel > 3 -> intention = 'usetoilet',

// interaction with other humans
intention = 'chat' && location = partner_location -> activity = 'chat',
intention = 'chat' && location != partner_location -> location = partner_location,
}


Welcome to my blog

Right, I have got myself a blog and in doing so Warwick is extending its lead in the International University Blog League. But what should I do with it? For the time being I am going to be pretty boring and use it for private pages to make notes for my research.