Wednesday, 20 May 2009

Deliberation Examples

I need to think of an example for a multi-agent deliberation-like dialogue to include in a forthcoming paper. Here are some first tries:

--- 1 ---

swapAppointments(Ag1,Ag2,App1,App2) <- requires(Ag1,Req1), fulfils(App2,Req1), has(Ag1,App1), ¬fulfils(App1,Req1), canSwap(Ag2,App2,App1)

cantSwap(Ag,App1,App2) <- ¬has(Ag,App1)

cantSwap(Ag,App1,App2) <- has(Ag,App1), requires(Ag,Req), fulfils(App1,Req), ¬fulfils(App2,Req)

Assumptions = {¬fulfils(App,Req), canSwap(Ag,App1,App2)}

Contrary(¬fulfils(App,Req)) = fulfils(App,Req)
Contrary(canSwap(Ag,App1,App2)) = cantSwap(Ag,App1,App2)

Consider two concrete agents, ag1 and ag2, with initial private beliefs as follows:
Priv(ag1) = {has(ag1,app1), requires(ag1,fridayAppointment), fulfils(app1,morningAppointment), fulfils(app2,fridayAppointment)}
Priv(ag2) = {has(ag2,app2), requires(ag2,morningAppointment), fulfils(app2,morningAppointment)}

--- 2 ---

buy(House) <- withinBudget(House), goodLocation(House)

badLocation(House) <- farFromWork(House), badTransportLinks(House)

goodTransportLinks(House) <- nearBusStop(House), frequentBusService(House)

Assumptions = {goodLocation(House), badTransportLinks(House), frequentBusService(House)}

Contrary(goodLocation(House)) = badLocation(House)

Contrary(badTransportLinks(House)) = goodTransportLinks(House)

Contrary(frequentBusService(House)) = infrequentBusService(House)

Consider two concrete agents, ag1 and ag2, with initial private beliefs as follows:
Priv(ag1) = {withinBudget(house1), nearBusStop(house1)}
Priv(ag2) = {farFromWork(house1)}

--- 3 ---

watch(Ag1,Ag2,Film) <- criticallyAcclaimed(Film), willLike(Ag1,Film), willLike(Ag2,Film)

wontLike(ag2,Film) <- actor(Film,timRobbins), boring(Film)

¬boring(Film) <- actor(Film,morganFreeman), goodUserRating(Film)

Assumptions = {willLike(Ag,Film), boring(Film), goodUserRating(Film)}

Contrary(willLike(Ag,Film)) = wontLike(Ag,Film)

Contrary(boring(Film)) = ¬boring(Film)

Contrary(goodUserRating(Film)) = badUserRating(Film)

Consider two concrete agents, ag1 and ag2, with initial private beliefs as follows:
Priv(ag1) = {criticallyAcclaimed(shawshankRedemption), actor(shawshankRedemption,morganFreeman)}
Priv(ag2) = {actor(shawshankRedemption,timRobbins)}

------

No comments: