Resource allocation with answerset programming.
ABSTRACT Multiagent resource allocation is a growing area of research at the frontier between Economics and Computer Science. Despite the extensive theoretical work and raising number of practical appli cations, many fundamental problems in multiagent resource allo cation still require adequate attention to its computational aspects. This paper addresses computational aspects of multiagent resource allocation through the use of a fully declarative and highly expres sive logic programming paradigm  Answer Set Programming  to provide uniform, general and flexible solutions to many multiagent resource allocation problems in a compact and declarative manner.

Conference Paper: Playing by the rules.
Proceedings of the Extreme Markup Languages® 2003 Conference, 48 August 2003, Montréal, Quebec, Canada; 01/2003  SourceAvailable from: Daniele Porello
Conference Paper: Modelling Multilateral Negotiation in Linear Logic.
[Show abstract] [Hide abstract]
ABSTRACT: We show how to embed a framework for multilateral negotiation, in which a group of agents implement a sequence of deals concerning the exchange of a number of resources, into linear logic. In this model, multisets of goods, allocations of resources, preferences of agents, and deals are all modelled as formulas of linear logic. Whether or not a proposed deal is rational, given the preferences of the agents concerned, reduces to a question of provability, as does the question of whether there exists a sequence of deals leading to an allocation with certain desirable properties, such as maximising social welfare. Thus, linear logic provides a formal basis for modelling convergence properties in distributed resource allocation.ECAI 2010  19th European Conference on Artificial Intelligence, Lisbon, Portugal, August 1620, 2010, Proceedings; 01/2010  SourceAvailable from: João Alexandre Leite
Conference Paper: Playing with Rules.
[Show abstract] [Hide abstract]
ABSTRACT: In this paper we revisit Logic Programming under the answerset semantics  or AnswerSet Programming  and its extension Evolving Logic Programming, two languages that use logic rules and rule updates and exhibit characteristics that make them suitable to be used for knowledge representation and reasoning within Agent Oriented Programming Languages. We illustrate the power of these rule based languages by means of examples showing how several of its features can be used to model situations faced by Agents.Declarative Agent Languages and Technologies VII, 7th International Workshop, DALT 2009, Budapest, Hungary, May 11, 2009. Revised Selected and Invited Papers; 01/2009
Page 1
Resource Allocation with AnswerSet Programming
João Leite
Universidade Nova de Lisboa
Portugal
jleite@di.fct.unl.pt
José Alferes
Universidade Nova de Lisboa
Portugal
jja@di.fct.unl.pt
Belopeta Mito
Universidade Nova de Lisboa
Portugal
titoeziv@hotmail.com
ABSTRACT
Multiagent resource allocation is a growing area of research at the
frontier between Economics and Computer Science. Despite the
extensive theoretical work and raising number of practical appli
cations, many fundamental problems in multiagent resource allo
cation still require adequate attention to its computational aspects.
Thispaper addressescomputationalaspectsof multiagent resource
allocation through the use of a fully declarative and highly expres
sive logic programming paradigm – Answer Set Programming – to
provideuniform, generalandflexiblesolutionstomanymultiagent
resource allocation problems in a compact and declarative manner.
Categories and Subject Descriptors
I.2.4[ComputingMethodologies]: ArtificialIntelligence–Knowl
edge Representation Formalisms and Methods
General Terms
Algorithms, Economics.
Keywords
Resource Allocation, AnswerSet Programming, Preference Rep
resentation.
1. INTRODUCTION
In this paper we use AnswerSet Programming (ASP) to provide
modular, declarative, sound and complete solutions to several dif
ferent multiagent resource allocation problems.
Resource allocation is the problem of appropriately distributing
resources among entities which have preferences over alternative
allocations. Classically studied in the context of Socioeconomic
Sciences [1, 15], this problem has made its way into the area of
Computer Science [12, 16]. Whereas in Socioeconomic Sciences
the focus is on the qualitative aspect of resource allocation (what is
a suitable distribution of resources), in Computer Science the com
putational aspect (how to find a suitable distribution of resources)
is the central point.
The recent and active area of research known as MultiAgent
Resource Allocation (MARA) [5] aims at using the MultiAgent
System (MAS) paradigm as the unifying framework in which to
tackleboththequalitativeandcomputationalaspectsofresourceal
location, borrowing from Socioeconomic Sciences and Computer
Science in general, and Artificial Intelligence in particular.
Cite as: Resource Allocation with AnswerSet Programming, J. Leite, J.
Alferes and B. Mito, Proc. of 8th Int. Conf. on Autonomous Agents
and Multiagent Systems (AAMAS 2009), Decker, Sichman, Sierra and
Castelfranchi (eds.), May, 10–15, 2009, Budapest, Hungary, pp. XXX
XXX.
Copyright c ? 2009, International Foundation for Autonomous Agents and
Multiagent Systems (www.ifaamas.org). All rights reserved.
When investigating MARA problems, there are three issues to
deal with: 1) find ways to represent agent’s preferences; 2) describe
what suitable allocations are, taking into account both the agent’s
individual preferences and the welfare of the society (multiagent
system); 3) define appropriate procedures to find such allocations.
There has been extensive research conducted on all these issues,
with both theoretical and practical results (c.f. [5] and references
therein). Different forms of preference representation have been
studied, such as bundle form, kadditive, logicbased, prioritized
goals, among others. Several ways to measure the social welfare
of a particular allocation have been proposed such as utilitarian,
egalitarian, elitist, Nashproduct and krank dictator. Furthermore,
we also witnessed investigations regarding the quality criteria nec
essary to fulfill the requirements of different MARA applications,
leading to notions such as welfare optimality, paretooptimality and
envyfreeness. Finally, a number of protocols have been developed
for both centralized and distributed allocation of resources.
At the heart of these investigations rests the omnipresent dialec
tic between expressivity and complexity.
Despite the extensive theoretical work done on MARA which
contributed to the better understanding of resource allocation in
general, and despite the increasing number of applications requir
ing MARA, its computational aspects still lack the appropriate at
tention. With the exception of combinatorial auctions, most of
the problems still lack practical solutions. The existing imple
mented algorithms are context dependent, thus very inflexible and
non adaptable to changes in preference representation, evaluation
criteria, etc. Themainreasonunderlyingthisimplementationshort
age is that for most preference representations and quality criteria
of practical interest, the complexity of finding suitable allocations
is at least in the NPcomplete complexity class, often raising to ΣP
Thus, no matter which allocation protocol is used, some of the
agents will need to be equipped with algorithms powerful enough
for solving this kind of problems and, ideally, flexible enough to
accommodate additional constraints, different quality criteria, and
different preference representations.
In this paper we tackle this problem with logic programming un
der the answerset semantics [11] as implemented by DLV [14].
Logic Programs under the answerset semantics, or answerset
programs, are widely recognized as a valuable tool for knowledge
representationandreasoning. Ontheonehand, theyarefullydeclar
ative in the sense that the program specification resembles the prob
lem specification, the semantics is very intuitive, and there is exten
sive theoretical work that facilitates proving different properties of
answerset programs. On the other hand, finding an answer set of
a logic program without disjunction (or normal logic program) is
an NPComplete problem, allowing for compact representations of
all NP and coNP problems, while disjunctive logic programs under
2.
Page 2
answer sets semantics capture the complexity class ΣP
there are now efficient answer set solvers such as DLV.
The complexity class of normal and disjunctive logic programs
makes them suitable to tackle MARA problems. Additionally, their
knowledge representation features allow for clean and modular rep
resentation of MARA related concepts, leading to modular imple
mentations where different preference representations, solution de
scriptions and constraints can easily be replaced, combined, ex
tended, or simply modified. Furthermore, efficiency of DLV makes
the implementation usable in practice, within the limits imposed by
the complexity of the problem at hand.
In this paper we overview some of the main concepts found in
MARA problems and, for each of them, present an ASP encoding
which serves as a modular building block to solve several resource
allocation problems. In particular, we will cover: a) preference rep
resentation in bundle form, kadditive, logicbased, weighted goals
and prioritized goals; b) utilitarian, egalitarian, elitist and Nash
product social welfare; c) allocation orderings such as bestout, de
scrimin and leximin. Different combinations of these concepts will
be used to provide sound and complete solutions to a total of 66
different instances of MARA problems, ranging from welfare opti
misation and improvement to pareto optimality and envyfreeness.
The paper is structured as follows: in Sect. 2, we overview the
syntax and semantics of AnswerSet Programming and its DLV im
plementation; in Sect. 3 we present the resource allocation problem
and its components, following [5], together with the corresponding
ASP encodings; in Sect. 4 we use the ASP encodings to present
sound and complete solutions to 66 MARA problems; in Sect. 5 we
discuss simplifications, enhancements, future work and conclude.
2[8]. Finally,
2. ANSWERSET PROGRAMMING & DLV
In this section we provide a brief overview of the syntax and se
mantics of disjunctive logic programming as implemented in DLV,
following [14] where the reader can find further details.
2.1 Syntax
Strings starting with uppercase letters denote variables, while
those starting with lower case letters denote constants. DLV also
supports positive integer constants. A term is either a variable or a
constant. An atom is an expression p(t1,...,tn), where p is a
predicate of arity n and t1,...,tnare terms. A classical literal
is either an atom p, or a negated atom ¬p. A negation as failure
literal is of the form l or not l, where l is a literal. Unless stated
otherwise, by literal we mean a classical literal.
Given a classical literal l, its complementary literal ¬l is de
fined as ¬p if l=p and p if l=¬p. A set L of literals is said to be
consistent if, for every literal l∈ L, its complementary literal is not
contained in L. DLV also provides builtin predicates such as the
comparative predicates like equality, lessthan, and greaterthan (=,
<, >) and arithmetic predicates like addition or multiplication. A
disjunctive rule (rule, for short) r is a formula
a1;...;an:b1,...,bk,not bk+1,...,not bm.
where a1,...,an,b1,...,bm are classical literals, n ≥ 0 and
m ≥ k ≥ 0. The disjunction a1;...;an is the head of r,
while the conjunction b1,...,bk,not bk+1,...,not bm is
the body of r. We will also define H(r) ={a1,...,an} and
B(r) = B+(r) ∪ B−(r) where B+(r) ={b1,...,bk} and
B−(r) ={bk+1,...,bm}. A rule without head literals (i.e. n =
0) is usually referred to as an integrity constraint. A rule having
precisely one head literal (i.e. n = 1) is called a normal rule. If
the body is empty (i.e. k = m = 0), it is called a fact, and we
usually omit the “:” sign. We use the notation p(t1;...;ti)
or p(t1..ti)to denote the set of facts p(t1).,...,p(ti).
A disjunctive logic program Π is a finite set of rules. A program
Π containing only normal rules is dubbed normal logic program.
The language of DLV also contains weak constraints, which are
expressions of the form
:~b1,...,bk,not bk+1,...,not bm.
where for m ≥ k ≥ 0, b1,...,bm are classical literals, while w
(the weight) and l (the level, or layer) are positive integer constants
or variables. The sets B(r),B+(r) and B−(r) are also defined for
weak constraints, as before.
A (DLV) program Π is a disjunctive logic program possibly con
taining weak constraints. Let WC(Π) denote the set of weak con
straints in Π, and Rules(Π) denote the set of rules in Π. A rule
is safe if each of its variables also appears in at least one positive
literal, in its body, which is not a comparative builtin atom. We
only consider programs with safe rules. A term (an atom, a rule, a
program, etc.) is called ground if no variable appears in it. A finite
ground program is also called a propositional program.
[w:l]
2.2 Semantics
The semantics of DLV programs is an extension of the answer
set semantics originally defined in [11], to deal with weak con
straints. For any program Π, let UΠ (the Herbrand Universe) be
the set of all constants appearing in Π and BΠ (Herbrand Base)
the set of all ground (classical) literals constructible from the pred
icate symbols appearing in Π and the constants of UΠ. For any rule
r (resp. weak constraint w) Ground(r) denotes the set of rules
(resp. weak constraints) obtained by applying all possible substi
tutions s from the variables in r (resp. w) to elements of UΠ. For
any program Π, Ground(Π) =?
every program Π, we define its answer sets using its ground in
stantiation Ground(Π) in three steps: First we define the answer
sets of positive disjunctive datalog programs, then we give a reduc
tion of disjunctive datalog programs containing negation as failure
to positive ones and use it to define answer sets of arbitrary dis
junctive datalog programs, possibly containing negation as failure.
Finally, we specify the way how weak constraints affect the seman
tics, defining the semantics of general DLV programs.
An interpretation I is a set of ground classical literals, i.e. I ⊆
BΠwrt. a program Π. A consistent interpretation I is called closed
under Π (where Π is a positive disjunctive datalog program), if, for
every r ∈ Ground(Π), H(r) ∩ I ?= ∅ whenever B(r) ⊆ I. An
interpretation I ⊆ BΠ is an answer set for a positive disjunctive
datalog program Π, if it is minimal (under set inclusion) among all
(consistent) interpretations that are closed under Π.
The reduct or GelfondLifschitz transform of a ground program
Π wrt. a set I ⊆ BΠ is the positive ground program ΠIobtained
from Π by: 1) deleting all rules r ∈ Π for which B−(r) ∩ I ?= ∅
holds; 2) deleting the negative body from the remaining rules. An
answer set of a program Π is a set I ⊆ BΠsuch that I is an answer
set of Ground(Π)I.
Given a ground program Π with weak constraints WC(Π), we
seek the answer sets of Rules(Π) which minimize the sum of
weights of the violated (unsatisfied) weak constraints in the high
est priority level, and among them those which minimize the sum
of weights of the violated weak constraints in the next lower level,
etc. Formally, this is expressed by an objective function HΠ(A)
for Π and an answer set A as follows, using an auxiliary function
fΠwhich maps leveled weights to weights without levels:
fΠ(1) =1
fΠ(n)=fΠ(n − 1).WC (Π).wΠ
HΠ(A)=
i=1
r∈Rules(Π)∪WC(Π)Ground(r).
Note that for propositional programs, Π = Ground(Π) holds. For
max+ 1,n > 1
?lΠ
max
?
fΠ(i).?
w∈NΠ
i(A)weight(w)
?
,
Page 3
where wΠ
level over the weak constraints in Π, respectively; NΠ
the set of the weak constraints in level i that are violated by A,
and weight(w) denotes the weight of the weak constraint w. Intu
itively, thefunctionfΠhandlesprioritylevels. Itguaranteesthatthe
violation of a single constraint of priority level i is more “expen
sive” than the violation of all weak constraints of the lower levels
(i.e., all levels < i). For a DLV program Π (possibly with weak
constraints), a set A is an (optimal) answer set of Π if and only
if: 1) A is an answer set of Rules(Π) and 2) HP(A) is minimal
over all the answer sets of Rules(Π). Let AS (Π) denote the set
of (optimal) answer sets of Π.
DLV also allows for aggregate functions whose syntax is defined
as follows. A (DLV) symbolic set is a pair {V ars : Conj} where
V ars is a list of variables and Conj is a conjunction of standard
literals. Intuitively, a symbolic set {X:a(X,Y),p(Y)} stands for
the set of Xvalues making a(X,Y),p(Y) true. An aggregate
function is of the form f (S) where S is a symbolic set, and f is
a function name among #count, #min, #max, #sum, #times.
An aggregate atom is Lg ≺1 f (S) ≺2 Rg where f (S) is an ag
gregate function, ≺1,≺2∈ {=,<,≤,>,≥}and Lg and Rg are
terms. One of Lg and Rg can be omitted. Rules can also in
clude aggregate atoms in their bodies. As an example, consider a
predicate person(Name,Age,Salary). The aggregate atom
19<#min{A:person(N,A,S)}≤30 then evaluates to true iff
the age of the youngest person is in the range [20..30]. The ag
gregate function #sum{S,N:person(N,A,S)}=T returns the
sum of the salaries of all the employees1. The formal semantics of
aggregates can be found in [7].
maxand lΠ
maxdenote the maximum weight and maximum
i (A) denotes
3. RESOURCE ALLOCATION
In this Section we take a closer look at resources, agents, allo
cations and preference representations, presenting, as we proceed,
ASP encodings of these concepts that serve as the building blocks
of the ASP programs used to solve the different MARA problems.
Before we proceed with a detailed account of the relevant con
cepts related to MARA we set forth a more formal definition both
of the input and the solution space. A MultiAgent Resource Al
location Setting (MARA Setting) is a triple ?A,R,U? where A =
{a1,a2,...,an} is a set of n agents, R = {r1,r2,...,rm} is a
set of m resources and U = {ura1,ura2,...,uran} is a set of
preference representations of the agents. An allocation is a map
ping M : A → 2Rfrom agents to a subset of resources R such
that M (ai) ∩ M (aj) = ∅ for any two agents ai ?= aj. If Θ =
?A,R,U? is a MARA Setting, then, Ag (Θ) = A, Res(Θ) = R,
Pref (Θ) = U and MΘdenotes the set of all possible allocations.
3.1Resources, Agents and Allocations
Resources play a central role in any resource allocation prob
lem. We can categorise resources according to their nature and
the way they are treated during allocation. They are usually cate
gorised as continuous or discrete, indivisible or divisible, sharable
or non sharable and static or non static (c.f. [5] for explanation). In
this paper we deal with the allocation of discrete, indivisible, non
sharable and static resources, each represented by a fact in ASP.
Likewise, agents will be represented by simple facts in ASP.
Let Θ be a MARA Setting. Then ΠΘ
ag(a).
∀a ∈ Ag (Θ).
res(r).
∀r ∈ Res(Θ).
1The sum is formed over the first variable. The second, N, ensures
that one value per person is summed. Otherwise, two people with
the same salary would only be summed once.
ARcontains:
Before we proceed, we introduce the ASP encoding of an allo
cation. Let Mi : A → 2Rbe an allocation. Then ΠMicontains:
has(a,r,i).
∀a,r : r ∈ Mi(A).
al(i).
3.2Preference Representation
Agents’ preferences represent the relative or the absolute agent’s
satisfaction with a particular allocation, and are necessary for defin
ing the quality aspects of a solution to a resource allocation prob
lem. A preference structure represents the preferences of an agent
over a possible set of alternatives. We will consider two preference
structures: cardinal and ordinal.
The cardinal preference structure consists of a utility function
u : 2R→ V al where 2Ris the set of alternative bundles (sets of
resources), and V al is a set of numeric values or a totally ordered
scale of qualitative values (e.g. very bad, bad, average, good....).
The former is called quantitative while the latter alternatives qual
itative preference structure. In this paper we do not consider the
qualitative case as it can be reduced to the quantitative one.
The ordinal preference structure consist of binary relations be
tween alternatives x ? y denoting that the bundle x is at least as
preferred as the bundle y. Strict preference is denoted by x ≺ y.
Other kinds not considered here include the binary preference
structure which partitions the set of alternatives into good ones and
bad ones, and fuzzy preference structure which is a fuzzy relation
over the set of alternatives 2R, i.e. a function f : 2R×2R→ [0,1]
defining the degree to which one alternative is preferred over the
other. Since such preferences have not been extensively studied and
are rarely used in practice, they are not further considered here.
Preferences must be properly represented when used in practice.
Since the number of alternatives is exponential wrt. the number
of resources, an explicit representation (listing all alternatives with
their utility values for cardinal preference, or the full relation for or
dinal preferences) is exponentially large. For this reason, languages
for succinct preference representation are important. In what fol
lows, we present some common languages, first for the quantitative
cardinal preference representation and then for the ordinal prefer
ence representation, together with their ASP encodings.
3.2.1
The bundle form is the most basic approach for representing
quantitativepreferences. Itsimplyenumeratesallbundlesforwhich
the agent has a nonzero utility. Thus, a preference representation
in the bundle form is a set of pairs ?B,u(B)? for all bundles B
such that u(B) ?= 0.
In ASP, we will encode quantitative preferences through the def
inition of a predicate ut(Ai,V,Aj,X)which represents the utility
V agent Ai assigns to the set of resources (bundle) given to agent
Aj in allocation X.
Let Θ be a MARA Setting with maximum utility umaxand pref
erences in the bundle form2. Then ΠΘ
utg(0..umax).
ut(a,u,A,X):al(X),ag(A),
has(A,r1,X),...,has(A,ri,X),
not has(A,rj,X),...,not has(A,rn,X).
∀?B,u? ∈ ura : B = {r1,...,ri} ∧ Res(Θ) − B = {rj,...,rn}
and ∀ura ∈ Pref (Θ).
The first two predicates in the body of the rule, al(X),ag(A),
are required to make the rules safe. Similar predicates will be used
in other ASP encodings.
Bundle Form Preferences
BFScontains the rules:
2umax is the highest utility expressed by an agent, rather than the
highest utility expressible by an agent, hence easy to determine.
Page 4
For some problems it is useful to explicitly define a predicate
ut(Ai,0,Aj,X) when the utility value is equal to zero: ΠΘ
ΠΘ
has_ut(A1,A2,X):al(X),ag(A1;A2),
ut(A1,V,A2,X),V!=0.
ut(A1,0,A2,X):al(X),ag(A1;A2),
not has_ut(A1,A2,X).
BF=
BFS∪ ΠΘ
Zwhere ΠΘ
Zcontains the rule:
3.2.2
Another approach is the kadditive form [6] which exploits regu
larities in a function in order to build efficiently computable suc
cinct representations. Given k ∈ N, a utility function u is k
additive if and only if for every set of resources T of size less or
equaltok thereexistsacoefficientαT suchthatu(R) =?
terms of such coefficients then it is given in the kadditive form.
Thus, a preference representation in the kadditive form is a set of
pairs of the form ?T,αT?. Intuitively the coefficient αT represents
the additional gain of utility when having all the resources in T
together i.e. it represents the synergetic value of T.
Let Θ be a MARA Setting with maximum utility umaxand pref
erences in kadditive form. Then ΠΘ
utg(0..umax).
c(a,α,i,A,X):al(X),ag(A),
has(A,r1,X),...,has(A,rn,X).
ut(A1,U,A2,X):al(X),ag(A1;A2),utg(U),
#sum{C,I:c(A1,C,I,A2,X)}=U.
∀ti = ?T,α? ∈ ura : T = {r1,...,rn} and ∀ura ∈ Pref (Θ).
3.2.3 Logicbased Preferences
An alternative approach for compact representation of prefer
ences is the explicit use of logic languages [13]. In a logicbased
preference representation each resource ricorresponds to a propo
sitional formula prithat is true if the agent owns that resource and
false otherwise. Every bundle corresponds to a model. Agents ex
press their preferences in terms of propositional formulae (goals)
they want to be satisfied. The simplest such representation is to
haveonepropositionalformularepresentingthegoalG. Theagent’s
utility is 1 if the received bundle R satisfies the goal G (R = G),
and 0 otherwise (R ?= G). We adopt a refinement where we con
sider a preference representation as a set of goals {G1,...,Gn}
and then count the number of satisfied goals in R. We assume
propositional formulae to be in disjunctive normal form.
Let Θ be a MARA Setting with maximum utility umaxand pref
erences in logicbased form. Then ΠΘ
utg(0..umax).
g(a,i,A,X):al(X),ag(A),
has(A,r1,X),...,has(A,rh,X),
not has(A,ri,X),...,not has(A,rj,X).
ut(A1,U,A2,X):al(X),ag(A1;A2),utg(U),
#count{G:g(A1,G,A2,X)}=U.
∀dk = pr1∧ ... ∧ prh∧ −pri∧ ... ∧ −prj: 1 ≤ k ≤ m where
d1∨ ... ∨ dm = Gi,∀Gi ∈ uraand ∀ura ∈ Pref (Θ).
Another refinement is to associate a weight wito each goal (i.e.
the preference representation is {?G1,w1?,...,?Gn,wn?}). The
weight represents the importance of a goal and is used to associate
penalties to the bundles that do not satisfy it. Here, for simplicity,
weconsidertheutilityofabundletobethesumoftheweightsofall
the goals it satisfies. This representation is called weighted goals.
As the kadditive representation, this representation can express the
synergetic value of having two resources together.
Let Θ be a MARA Setting with maximum utility umaxand pref
erences as weighted goals. Then ΠΘ
Kadditive Preferences
T⊆RαT,
for every set of resources R. If a utility function is represented in
KAcontains the rules:
LBcontains the rules:
WGcontains the rules:
utg(0..umax).
g(a,i,w,A,X):al(X),ag(A),
has(A,r1,X),...,has(A,rh,X),
not has(A,ri,X),...,not has(A,rj,X).
ut(A1,U,A2,X):al(X),ag(A1;A2),utg(U),
#sum{W,G:g(A1,G,W,A2,X)}=U.
∀dk = pr1∧ ... ∧ prh∧ −pri∧ ... ∧ −prj: 1 ≤ k ≤ m where
d1∨ ... ∨ dm = Gi,∀?Gi,w? ∈ uraand ∀ura ∈ Pref (Θ).
3.2.4
We now turn our attention to ordinal preference representations
and consider prioritized goals.
When representing ordinal preferences, logic based languages
play a central role. In essence, a very similar representation to
the one of weighted goals is used for representing ordinal prefer
ences. The only difference is that instead of weights this represen
tation uses priority relation on goals and thus it is called prioritized
goals. A goal base is a set of goals with an associated function
?{G1,...,Gn},r? where if r(Gi) = j then j is the rank of the
goal Gi. By convention a smaller rank means a higher priority. In
this case, we define the predicate sat(A1,G,A2,X) indicating
that goal G of agent A1is satisfied by the bundle assigned to agent
A2 in allocation X. These predicates will subsequently be used to
define preference relations between bundles and allocations. Let
Θ be a MARA Setting and preferences in logicbased form as pri
oritized goals with maximum rank rmax. Then ΠΘ
rules:
r(1..rmax+1).
g(a,g,r).
sat(a,g,A,X):al(X),ag(A),
has(A,r1,X),...,has(A,rh,X),
not has(A,ri,X),...,not has(A,rj,X).
∀dk= pr1∧...∧prh∧−pri∧...∧−prj: 1 ≤ k ≤ m where d1∨
...∨dm = Gi,∀Gi ∈ GB,∀?GB,r? ∈ ura,r = r(Gi),∀ura ∈
Pref (Θ) and g = Φ(Gi) where Φ is a function that returns a
unique identifier for each goal.
For each agent, a preference relation can be defined over the allo
cations (resp. the bundles allocated to different agents in extended
preferences) with respect to the ordinal preferences. There are
three common orderings: best out, descrimin and leximin [4]. For
each, the ASP encoding defines a predicate pref_al(A,X1,X2)
meaning that an agent A prefers the bundle received in allocation
X1 at least as much as the one received in allocation X2 (resp.
pref_b(A,A1,A2,X)meaningthatinallocationX,agentAprefers
the bundle allocated to A1 at least as much as the one allocated to
A2). Some auxiliary predicates, common to the definition of both
pref_al and pref_b will also be defined.
Bestout ordering: An allocation M2 is best out preferred over
an allocation M1 if the minimal rank of goal(s) not satisfied in
M1 is less or equal to the minimal rank of goal(s) not satisfied
in M2. Formally, M1 ?bo
min{r(Gi) : M2 ?= Gi}. The encoding in ASP is accomplished
by the programs ΠBOccontaining the common predicates, ΠBOal
and ΠBObdefining the pref_al and pref_b predicates respec
tively.
• ΠBOccontains the rules:
nsat(A1,A2,R,X):al(X),ag(A1;A2),g(A1,G,R),
Prioritized Goals
PGcontains the
GBM2 iff min{r(Gi) : M1 ?= Gi} ≤
not sat(A1,G,A2,X).
hasmin(A,A1,X):nsat(A,A1,R,X).
• ΠBOal= ΠBOctogether with the rules:
pref_al(A,X1,X2):al(X1;X2),X1!=X2,ag(A),
M2<=M1,#min{R1:nsat(A,A,R1,X1)}=M1,
#min{R2:nsat(A,A,R2,X2)}=M2.
Page 5
pref_al(A,X1,X2):al(X1;X2),X1!=X2,ag(A),
not hasmin(A,A,X1).
• ΠBOb= ΠBOctogether with the rules:
pref_b(A,A1,A2,X):al(X),ag(A,A1;A2),A1!=A2,
M2<=M1,#min{R1:nsat(A,A1,R1,X)}=M1,
#min{R2:nsat(A,A2,R2,X)}=M2.
pref_b(A,A1,A2,X):al(X),ag(A,A1;A2),A1!=A2,
not hasmin(A,A1,X).
Descrimin ordering: An allocation M2 is descrimin preferred
over an allocation M1 if the minimal rank of goal(s) not satisfied
in M1but satisfied in M2is lower than the minimal rank of goal(s)
not satisfied in M2 but satisfied in M1, or if the sets of goals sat
isfied in each allocation are equal. Formally, let d(M1,M2) =
min{r(Gi) : M1 ?= Gi∧ M2 = Gi}. Then M1 ?do
d(M1,M2) < d(M2,M1)or{Gi : M1 = Gi} = {Gi : M2 = Gi}.
The encodings in ASP are:
• ΠDOalcontains the rules:
alD(A,X1,X2,D):al(X1;X2),X1!=X2,ag(A),
g(A,G,D),not sat(A,G,A,X1),sat(A,G,A,X2).
hasD(A,X1,X2):al(X1;X2),X1!=X2,ag(A),
GBM2 iff
alD(A,X1,X2,D).
pref_al(A,X1,X2):al(X1;X2),X1!=X2,ag(A),
G2<G1,#min{D1:alD(A,X1,X2,D1)}=G1,
#min{D2:alD(A,X2,X1,D2)}=G2.
pref_al(A,X1,X2):al(X1;X2),X1!=X2,ag(A),
not hasD(A,X1,X2).
• ΠDObcontains the rules:
bD(A,A1,A2,X,D):al(X),ag(A;A1;A2),g(A,G,D),
not sat(A,G,A1,X),sat(A,G,A2,X).
hasbD(A,A1,A2,X):al(X),ag(A;A1;A2),
bD(A,A1,A2,X,D).
pref_b(A,A1,A2,X):al(X),ag(A,A1;A2),G2<G1,
#min{D1:bD(A,A1,A2,X,D1)}=G1,
#min{D2:bD(A,A2,A1,X,D2)}=G2.
pref_b(A,A1,A2,X):al(X),ag(A,A1;A2),
not hasbD(A,A1,A2,X).
Leximin ordering: An allocation M2 is leximin preferred over
an allocation M1 if it satisfies more goals of certain rank i, and
an equal number of goals for all ranks which are smaller than i.
Formally, let dk(M) = {Gi : M = Gi∧ r(Gi) = k}. Then,
M1 ≺lo
dj(M1) = dj(M2). M1 ?lo
dj(M1) = dj(M2). The encodings in ASP are:
• ΠLOccontains the rules:
dk(A,A2,R,DK,X):al(X),ag(A;A2),r(R),
#count{G:sat(A,G,A2,X),goal(A,G,R)}=DK.
• ΠLOal= ΠLOctogether with the rules:
difalP(A,X1,X2,R):al(X1;X2),X1!=X2,ag(A),
r(R;R2),R>R2,dk(A,A,R2,DK1,X1),
dk(A,A,R2,DK2,X2),DK1!=DK2.
pref_al(A,X1,X2):al(X1;X2),X1!=X2,ag(A),
r(R),dk(A,A,R,DK1,X1),dk(A,A,R,DK2,X2),
DK1>DK2,not difalP(A,X1,X2,R).
pref_al(A,X1,X2):al(X1;X2),X1!=X2,ag(A),
not difalP(A,X1,X2,rmax+1).
• ΠLOb= ΠLOctogether with the rules:
difbR(A,A1,A2,X,R):ag(A;A1;A2),A1!=A2,al(X),
r(R;R2),R>R2,dk(A,A2,R2,DK2,X),
dk(A,A1,R2,DK1,X),DK1!=DK2.
pref_b(A,A1,A2,X):al(X),ag(A;A1;A2),A1!=A2,
r(R),dk(A,A1,R,DK1,X),dk(A,A2,R,DK2,X),
DK1>DK2,not difbR(A,A1,A2,X,R).
pref_b(A,A1,A2,X):al(X),ag(A;A1;A2),A1!=A2,
not difbR(A,A1,A2,X,rmax+1).
GB M2 iff ∃k : dk(M1) < dk(M2) and ∀j < k :
GBM2 iff M1 ≺lo
GBM2 or ∀j :
3.3 Qualitative Issues
In general, the quality of a solution to a resource allocation prob
lem is defined by a metric that depends, in one way or another, on
thepreferencesoftheagent. Theaggregationoftheindividualpref
erences in such metric is often modeled using the notion of social
welfareasstudiedinWelfareEconomicsandSocialChoiceTheory.
Depending on the system’s goals, different social welfare functions
can be used for measuring the quality of an allocation [1, 15].
The most fundamental quality criterion for a solution is Pareto
Optimality. Given a MARA Setting Θ, an allocation M is pareto
dominatedbyanotherallocationQifandonlyif: 1)∀ai ∈ Ag (Θ) :
M (ai) ?aiN (ai) and 2) ∃ai ∈ Ag (Θ) : M (ai) ≺aiN (ai).
In the case of utility functions, we simply replace M (ai) ?ai
N (ai) and M (ai) ≺aiN (ai) with ui(M (ai)) ≤ ui(N (ai))
and ui(M (ai)) < ui(N (ai)). An allocation is paretooptimal if
and only if it is not paretodominated by any other allocation. The
ASPencodingsofparetodominancedefineapredicatepd(X1,X2)
indicating that allocation X2 is dominated by allocation X1. They
are, for the cardinal and ordinal preferences respectively:
• ΠPOccontains the rules:
pd(X1,X2):al(X1;X2),dm(X1,X2),not dm(X2,X1).
dm(X1,X2):al(X1;X2),ag(A),ut(A,U1,A,X1),
ut(A,U2,A,X2),U1>U2.
• ΠPOocontains the rules:
pd(X1,X2):al(X1;X2),dm(X1,X2),not dm(X2,X1).
dm(X1,X2):al(X1;X2),ag(A),pref_al(A,X1,X2),
not pref_al(A,X2,X1).
Envy freeness is also a purely ordinal quality criterion. An allo
cation is envyfree when every agent is at least as satisfied with the
bundle allocated to it as with the bundles allocated to other agents.
Given a MARA Setting Θ, an allocation M is envyfree if and only
if ∀ai,aj ∈ Ag (Θ) : M (aj) ?aiM (ai) for the case of ordinal
preferences, and ∀ai,aj ∈ Ag (Θ) : ui(M (aj)) ≤ ui(M (ai)).
The ASP encodings of envyfreeness define a predicate ¬ef(X)
indicating that allocation X is not envyfree. They are, for the car
dinal and ordinal preferences respectively:
• ΠEFccontains the rules:
¬ef(X):al(X),ag(A1;A2),A1!=A2,
ut(A1,U1,A1,X),ut(A1,U2,A2,X),U2>U1.
• ΠEFocontains the rules:
¬ef(X):al(X),ag(A1;A2),A1!=A2,
pref_b(A1,A2,A1,X),not pref_b(A1,A1,A2,X).
In some cases, when no envyfree allocation exists, we may be
interested in minimizing some measure of the degree of envyness.
Given an allocation, the degree of envyness of some agent wrt. an
other agent is given by the difference between its utility and the
other agent’s utility, in case its own is smaller. This is encoded in
ASP as follows:
• ΠEFodcontains the rules:
envy(A1,A2,D,X):al(X),ag(A1;A2),A1!=A2,
ut(A1,U1,A1,X),ut(A1,U2,A2,X),U2>U1,U2U1=D.
Given a MARA Setting Θ and an allocation M, envy (M) de
notes the sum of the degree of envyness of all pairs of agents.
3.3.1
When the agents have their preferences expressed with a util
ity function, then every allocation M gives rise to the utility vec
tor ?u1(M),...,un(M)?. A collective utility function (CUF) is a
mapping from such a vector to a numeric value. Since every allo
cation determines a utility vector, CUF can also be considered as
a function from allocations to numeric values which represent the
social welfare of the corresponding allocation. Thus, given a CUF
sw, an allocation M is socially preferred to allocation N if and
Social Welfare
Page 6
only if sw(N) < sw(M).
The most common CUF is the utilitarian social welfare defined
as the sum of the individual utilities of the agents. Formally, given
a MARA Setting Θ, swut(M) =?
applications. This CUF is encoded in ASP as follows: let Θ be
a MARA Setting with a agents and maximum utility umax. Let
i = a ∗ umaxand np = umaxaThen ΠΘ
w(0..i).
sw(S,X):al(X),w(S),#sum{U,A:ut(A,U,A,X)}=S.
If ensuring fairness is a priority, then the appropriate CUF is
egalitarian social welfare defined by the utility of the agent that is
currentlyworstoff. Formally, givenaMARASettingΘ, sweg(M) =
min(ua(M) : a ∈ Ag (Θ)). This CUF is useful when there is the
need to satisfy the minimum needs of a large number of customers.
Considering the same setting, this CUF is encoded in ASP with
ΠΘ
w(0..umax).
sw(S,X):al(X),w(S),#min{U:ut(A,U,A,X)}=S.
The opposite of the above CUF is the elitist social welfare de
fined by the utility of the agent that is currently best off. Formally,
givenaMARASettingΘ, swel(M) = max(ua(M) : a ∈ Ag (Θ)).
This CUF is useful when only one agent is required to achieve its
goals. Considering the same setting, this CUF is encoded in ASP
with ΠΘ
w(0..umax).
sw(S,X):al(X),w(S),#max{U:ut(A,U,A,X)}=S.
A compromise between the utilitarian and egalitarian social wel
fare in the sense that it favors overall utility and reduces inequali
ties between agents is provided by the Nash product, defined as the
product of the individual utilities. Formally, given a MARA Setting
Θ, swut(M) =?
w(0..np).
sw(S,X):al(X),w(S),
#times{U,A:ut(A,U,A,X)}=S.
a∈Ag(Θ)ua(M). This CUF
is useful e.g. when the concern is the overall profit in ecommerce
SWutcontains the rules:
SWegwhich contains the rules:
SWelcontaining the rules:
a∈Ag(Θ)ua(M). Considering the same setting,
this CUF is encoded in ASP with ΠΘ
SWnpcontaining the rules:
4. ASP BASED SOLUTIONS OF MARA
Now that we have ASP representations of the main MARA re
lated concepts, we can turn our attention to the use of ASP to solve
the MARA problems. Solving problems using DLV implementa
tion of ASP follows the classical Guess/Check/optimise program
ming methodology. This is done by guessing a possible allocation
(or enumerating all possible valid allocations), checking its com
pliance with a certain criteria (or eliminating the ones which do not
satisfy such criteria) and optimise among the ones that passed the
previous check (further eliminating the nonoptimal ones). As will
be seen, this last step is not always required.
We start with a program module to enumerate the possible allo
cations. The preference representations do not matter at this stage
since they are only used for the checking part. One possible ap
proach to the enumeration of all allocations is to use the DLV rule:
has(A,R,o);¬has(A,R,o):ag(A),res(R).
whose meaning is that for each agent A and each resource R, in allo
cation o either the agent has the resource, represented by the pred
icate has(A,R,o) or the agent does not have the resource, rep
resented by the predicate ¬has(A,R,o). This encoding would
have to be accompanied by a set of rules to eliminate allocations in
which some resource is allocated to more than one agent, and those
where not all resources are allocated. Instead, we opt for a differ
ent encoding in ASP which allocates each resource to exactly one
agent using a technique known as general enumeration of exactly
one [2]. Let Θ be a MARA Setting. Then:
• ΠΘ
al(o).
has(A,R,o):ag(A),res(R),not ¬has(A,R,o).
¬has(A,R,o):ag(A;B),res(R),has(B,R,o),A!=B.
Note that we are already including the rules of ΠΘ
defined, in ΠΘ
4.1Welfare Optimisation Problem
The welfare optimisation problem is the problem of checking
whether there is an allocation which exceeds a certain value in re
spect to a particular social welfare function. The input is a MARA
Setting Θ and a value k. Then Πk
:sw(SW,o),SW<=k.
G= ΠΘ
AR∪ ΠΘ
Genwhere ΠΘ
Gencontains the rules:
AR, previously
Gsince they will always be present.
WOdcontains the rule:
THEOREM 1
agents, maximum utility umaxand preferences in one of bundle, k
additive, logic based or weighted goals form. Let k ≤ umaxa. Let
sw be one of utilitarian, egalitarian, elitist or Nashproduct social
welfare functions. Let ΠΘ
the table below. Then3:
• for each allocation M ∈ MΘ: sw(M) > k there is an
answer set S ∈ AS(ΠΘ
has(a,r,o)∈ S iff r ∈ M (a).
• for each answer set S ∈ AS(ΠΘ
there is an allocation M ∈ MΘsuch that has(a,r,o)∈ S iff
r ∈ M (a) and sw(M) > k.
Preference Form
ΠΘ
Pref
bundle
ΠΘ
BF
kadditive
ΠΘ
KA
logic based
ΠΘ
LB
weighted goals
ΠΘ
WG
The above theorem indicates that deciding if such allocation ex
ists is equivalent to deciding if an answer set exists, and finding
one (resp. all) such allocation(s) is equivalent to finding one (resp.
all) answerset(s). We now turn our attention to finding the optimal
solutions. As this is a problem that falls outside the NP and coNP
complexity classes, it can only be solved with weak constraints.
• ΠWOocontains the rule:
:~w(SW),not sw(SW,o).[SW:1].
(DECISION). Let Θ be a MARA Setting with a
Prefand ΠΘ
SWbe defined according to
G∪ ΠΘ
Pref∪ ΠΘ
SW∪ Πk
WOd) such that
G∪ΠΘ
Pref∪ΠΘ
SW∪ Πk
WOd)
Social Welfare
Utilitarian
Egalitarian
Elitist
Nashproduct
ΠΘ
ΠΘ
ΠΘ
ΠΘ
ΠΘ
SW
SWut
SWeg
SWel
SWnp
THEOREM 2
preferences in one of bundle, kadditive, logic based or weighted
goals form. Let sw be one of utilitarian, egalitarian, elitist or
Nashproduct social welfare functions. Let ΠΘ
defined according to the table above, and ΠΘ
fore. Then:
• for each allocation M ∈ MΘ: ?M?∈ MΘ,sw(M?) >
sw(M) there is an answer set S ∈ AS(ΠΘ
ΠWOo) such that has(a,r,o)∈ S iff r ∈ M (a).
• for each answer set S ∈ AS(ΠΘ
there is an allocation M ∈ MΘsuch that has(a,r,o)∈ S iff
r ∈ M (a) and ?M?∈ MΘ,sw(M?) > sw(M).
4.2 Welfare Improvement Problem
The welfare improvement problem is the problem of checking
whether a given allocation is optimal with respect to a particular
social welfare function or, in other words, if there is another alloca
tion which improves the value of such welfare function. The input
is a MARA Setting Θ and an initial allocation M.
• ΠWI contains the rule:
:sw(SWi,i),sw(SWo,o),SWi>=SWo.
(OPTIMISATION). LetΘbeaMARASettingwith
Prefand ΠΘ
Gand ΠWOo as be
SWbe
G∪ ΠΘ
Pref∪ ΠΘ
SW∪
G∪ ΠΘ
Pref∪ ΠΘ
SW∪ ΠWOo)
3Lack of space prevents the presentation of the proofs of theorems.
Page 7
THEOREM 3
erences in one of bundle, kadditive, logic based or weighted goals
form. Let Mi ∈ MΘbe an allocation. Let sw be one of utilitarian,
egalitarian, elitist or Nashproduct social welfare functions. Let
ΠΘ
ΠMiand ΠWI as before. Then:
• for each allocation Mo ∈ MΘ: sw(Mo) > sw(Mi) there
is an answer set S ∈ AS(ΠΘ
such that has(a,r,o)∈ S iff r ∈ Mo(a).
• for each answer set S ∈ AS(ΠΘ
ΠMi) there is an allocation Mo ∈ MΘsuch that has(a,r,o)∈
S iff r ∈ Mo(a) and sw(Mo) > sw(Mi).
4.3 Pareto Optimality Problem
Theparetooptimalityproblemistheproblemofcheckingwhether
a particular allocation is pareto optimal, i.e. it is not pareto dom
inated (there is no other allocation which increases the utilities of
at least one agent without decreasing the utility of the others). The
input is a MARA Setting Θ and an initial allocation M.
• ΠPOcontains the rule:
:not pd(o,i).
(DECISION). LetΘbeaMARASettingwithpref
Prefand ΠΘ
SWbe defined according to the table above, and ΠΘ
G,
G∪ ΠΘ
Pref∪ ΠΘ
SW∪ ΠWI ∪ ΠMi)
G∪ΠΘ
Pref∪ΠΘ
SW∪ ΠWI ∪
THEOREM 4
be a MARA Setting with preferences in one of bundle, kadditive,
logic based or weighted goals form. Let Mi ∈ MΘbe an alloca
tion. Let ΠΘ
ΠPOc, ΠMiand ΠPOas before. Then:
• for each allocation Mo ∈ MΘsuch that Mopareto dominates
Mithere is an answer set S ∈ AS(ΠΘ
ΠMi) such that has(a,r,o)∈ S iff r ∈ Mo(a).
• for each answer set S ∈ AS(ΠΘ
ΠMi) there is an allocation Mo ∈ MΘsuch that has(a,r,o)∈
S iff r ∈ Mo(a) and Mopareto dominates Mi.
THEOREM 5(DECISION  ORDINAL PREFERENCES). Let Θ
be a MARA Setting with preferences in logicbased form as prior
itized goals. Let the preference relation defined over bundles be
based on one of best out, descrimin and leximin orderings. Let
Mi ∈ MΘbe an allocation. Let ΠOrdalbe defined according to
the table below, and ΠΘ
Then:
• for each allocation Mo ∈ MΘsuch that Mopareto dominates
Mithere is an answer set S ∈ AS(ΠΘ
ΠPO∪ ΠMi) such that has(a,r,o)∈ S iff r ∈ Mo(a).
• for each answer set S ∈ AS(ΠΘ
ΠPO∪ΠMi)thereisanallocationMo ∈ MΘsuchthathas(a,r,
o)∈ S iff r ∈ Mo(a) and Mopareto dominates Mi.
Preference Ordering
ΠOrdb
best out
ΠBOb
descrimin
ΠDOb
leximin
ΠLOb
The optimisation version of the Pareto Optimality problem i.e.
finding all allocations which are not pareto dominated, is in the ΣP
complexity class which can be captured by a strictly disjunctive
logic program under the answer set semantics. However, the guess
and check formalization of such problems in ASP is not as intuitive
as in the case of NP or coNP problems since the use of default nega
tion is restricted in the check part of the program. Essentially, rep
resenting ΣP
known as saturation [9, 8] in which the minimal property of ASP
is explicitly exploited. Lack of space prevents us from presenting
such program which, besides the initial data representation, would
(DECISION  CARDINAL PREFERENCES). LetΘ
Prefbe defined according to the table above, and ΠΘ
G,
G∪ΠΘ
Pref∪ΠPOc∪ ΠPO∪
G∪ΠΘ
Pref∪ΠPOc∪ ΠPO∪
G, ΠPOo, ΠΘ
PG, ΠMiand ΠPO as before.
G∪ΠΘ
PG∪ΠPOo∪ΠOrdal∪
G∪ΠΘ
PG∪ΠPOo∪ΠOrdal∪
ΠOrdal
ΠBOal
ΠDOal
ΠLOal
2
2 problems in ASP is accomplished through a method
not reuse any previously presented code. Furthermore, unlike other
problems, the POO problem will require a separate formalization
for every type of preference representation.
4.4Envy Free Problem
The envy free problem is the problem of checking whether there
exists an allocation which is envy free, i.e. an allocation in which
all agents prefer the bundle allocated to them when compared to the
bundles allocated to other agents. • ΠEF contains the rule:
:¬ef(o).
THEOREM 6(DECISION  CARDINAL PREFERENCES). LetΘ
be a MARA Setting with preferences in one of bundle, kadditive,
logic based or weighted goals form. Let ΠΘ
ing to the table above, and ΠΘ
• for each allocation Mo ∈ MΘsuch that Mois envy free, there
is an answer set S ∈ AS(ΠΘ
has(a,r,o)∈ S iff r ∈ Mo(a).
• for each answer set S ∈ AS(ΠΘ
there is an allocation Mo ∈ MΘsuch that has(a,r,o)∈ S iff
r ∈ Mo(a) and Mois envy free.
THEOREM 7(DECISION  ORDINAL PREFERENCES). Let Θ
be a MARA Setting with preferences in logicbased form as prior
itized goals. Let the preference relation defined over bundles be
based on one of best out, descrimin and leximin orderings. Let
ΠOrdb be defined according to the table above, and ΠΘ
ΠEFoand ΠEF as before. Then:
• for each allocation Mo ∈ MΘsuch that Mois envy free, there
is an answer set S ∈ AS(ΠΘ
such that has(a,r,o)∈ S iff r ∈ Mo(a).
• for each answer set S ∈ AS(ΠΘ
ΠEF) there is an allocation Mo ∈ MΘsuch that has(a,r,o)∈
S iff r ∈ Mo(a) and Mois envy free.
Finally, we turn to the problem of finding allocations that mini
mize the overall degree of envyness, given by the sum of individual
agent’s envyness. • ΠEFomcontains the rule:
:~envy(A1,A2,D,o).[D:1]
Prefbe defined accord
G, ΠEFqand ΠEF as before. Then:
G∪ΠΘ
Pref∪ΠEFc∪ΠEF) such that
G∪ ΠΘ
Pref∪ ΠEFc∪ ΠEF)
G, ΠΘ
PG,
G∪ ΠΘ
PG∪ ΠOrdb∪ ΠEFo∪ ΠEF)
G∪ ΠΘ
PG∪ ΠOrdb∪ ΠEFo∪
THEOREM 8
preferences in one of bundle, kadditive, logic based or weighted
goals form. Let ΠΘ
and ΠΘ
• for each allocation M ∈ MΘ: ?M?∈ MΘ,envy (M?) <
envy (M) there is an answer set S ∈ AS(ΠΘ
ΠEFom) such that has(a,r,o)∈ S iff r ∈ M (a).
• for each answer set S ∈ AS(ΠΘ
there is an allocation M ∈ MΘsuch that has(a,r,o)∈ S iff
r ∈ M (a) and ?M?∈ MΘ,envy (M?) < envy (M).
5. DISCUSSION AND CONCLUSIONS
In this paper we used AnswerSet Programming to provide mod
ular, declarative, soundandcompletesolutionsto66differentmulti
agent resource allocation problems. We have privileged the main
MARA problems, for illustrative purposes, leaving out other prob
lems which we have equally solved in ASP, such as determining the
next proposal under the Zeuthen strategy in the Monotonic Conces
sion protocol and the winner determination problem in combinato
rial auctions (for bids in XOR and OR languages).
Since our main concern was the modularity and declarative na
ture of the ASP encodings, the solutions presented can, sometimes,
be optimised at the cost of modularity. As an example, for the
(OPTIMISATION). LetΘbeaMARASettingwith
Prefbe defined according to the table above,
G, ΠEFod, and ΠEFomas before. Then:
G∪ΠΘ
Pref∪ΠEFod∪
G∪ΠΘ
Pref∪ΠEFod∪ ΠEFom)
Page 8
case of egalitarian social welfare we could replace ΠWOo with
ΠWOoutand not include ΠΘ
:~utg(U),ag(A),not ut(A,U,A,o).[U:1]
Furthermore, the declarative general and modular character of
the proposed solutions makes them amenable to several extensions,
refinements and addition of constraints. For example, if we wish
to impose that two specific resources r1 and r2 should always be
allocated together, we simply add the rule:
:ag(A1;A2),has(A1,r1,o),has(A2,r2,o),A1!=A2.
To impose that resource r can only be allocated to the agents a1
and a2, we simply add the rule:
:ag(A),has(A,r,o),A!=a1,A!=a2.
To impose that the utility of each agent should not be less than
10, we simply add the rule:
:ag(A),ut(A,U,A,o),U<10.
To impose that every agent should be allocated at least 5 re
sources we add the rule:
:ag(A),#count{R,A:has(A,R,o)}<5.
The possibility to easily extend and refine ASP encodings makes
the work here presented an excellent tool to investigate and ex
periment with other MARA notions, of possible interest in some
applications, before tailored and more efficient algorithms are de
veloped. For example, we could combine the notions of welfare
improvement and envy freeness to check if there is some allocation
which improves the value of some welfare function and is envy free
by combining both programs i.e. use the program ΠΘ
ΠΘ
notion could be implemented using the rule:
sw(S,X):al(X),w(S),#min{U,A:ut(A,U,A,X),
#count{A1:ut(A1,U1,A1,X),U>=U1}>=k}=S.
But we could also as easily define new notions and combine with
the already existing ones.
Concerning efficiency, lack of space prevents us from showing
and discussing our preliminary results. These are, however, quite
good given the fact that we are solving problems which are NP at
least, but more thorough testing is mandatory, as there are many
variables involved. In any case, the uniformity of these encodings
makes this implementation an excellent candidate to be used as the
basis for benchmarking other more efficient solutions. In this re
spect, MARA is not the only one that can benefit from answerset
programming. In fact, the programs discussed here can be used
as benchmarks for testing different answer set solvers, as well as
provide very interesting examples illustrating the use of ASP for
solving problems in different complexity classes.
Other nice features include the possibility to use this implemen
tation as an offtheshelf MARA solver for certain domains where
correctness, instead of efficiency, is the crucial requirement.
In what concerns related work, it is worth mentioning the im
plementation of the winner determination problem in ASP of [3].
Here we chose a more extensive and comprehensive set of MARA
problems, although we also have an implementation of the win
ner determination problem for bids in the XOR and OR languages.
Most other implementations of MARA focus on specialized set
tings, using domain knowledge to improve their efficiency. Thus,
they are not comparable with our work in a fair way. On the one
hand they are much faster than ours but, on the other hand, they
completely lack the generality, modularity, declarative nature, and
amenability to change and incorporation of new notions.
Futureworkincludesthoroughbenchmarking, implementingother
kindsofpreferencerepresentations, extendingtootherMARAprob
lemsofhighcomplexity, studyingotherconstraintsandrelaxations,
and exploring the use of ASP in distributed allocation mechanisms
which need to consider the complexity of communication [10].
SWegwhere ΠWOoutcontains the rule:
G∪ ΠΘ
Pref∪
SW∪ ΠWI ∪ΠMi∪ΠEFq∪ΠEF. The krank dictator welfare
To conclude, we believe that our modular, declarative, sound and
complete solutions can be used as an offtheshelf implementation
in certain scenarios where MARA is needed, and as a framework in
which to experiment both with the different notions implemented
and with new ones that can easily be incorporated.
6. ACKNOWLEDGMENTS
We would like to thank Martin Slota and the anonymous referees
for very helpful comments and suggestions.
7.
[1] K. Arrow, A. Sen, and K. Suzumura, editors. Handbook of
Social Choice and Welfare, volume 1. NorthHolland, 2002.
[2] C. Baral. Knowledge Representation, Reasoning, and
Declarative Problem Solving. Cambridge Univ. Press, 2003.
[3] C. Baral and C. Uyan. Declarative specification and solution
of combinatorial auctions using logic programming. In
Procs. of LPNMR’01, volume 2173 of LNAI. Springer, 2001.
[4] S. Benferhat, C. Cayrol, D. Dubois, J. Lang, and H. Prade.
Inconsistency management and prioritized syntaxbased
entailment. In Procs. of IJCAI’93, 1993.
[5] Y. Chevaleyre, P. E. Dunne, U. Endriss, J. Lang,
M. Lemaître, N. Maudet, J. Padget, S. Phelps, J. A.
RodríguezAguilar, and P. Sousa. Issues in multiagent
resource allocation. Informatica, 30(1):3–31, 2006.
[6] Y. Chevaleyre, U. Endriss, S. Estivie, and N. Maudet.
Multiagent resource allocation in kadditive domains:
preference representation and complexity. Annals of
Operations Research, 163(1):49–62, 2008.
[7] T. Dell’Armi, W. Faber, G. Ielpa, N. Leone, and G. Pfeifer.
Aggregate functions in disjunctive logic programming:
Semantics, complexity, and implementation in DLV. In
Procs of IJCAI’03, 2003.
[8] T. Eiter, G. Gottlob, and H. Mannila. Disjunctive Datalog.
ACM Transactions on Database Systems, 22(3):364–418,
Sept. 1997.
[9] T. Eiter and A. Polleres. Towards automated integration of
guess and check programs in answer set programming: a
metainterpreter and applications. Theory and Practice of
Logic Programming, 6(12):23–60, 2006.
[10] U. Endriss and N. Maudet. On the communication
complexity of multilateral trading. Autonomous Agents and
MultiAgent Systems, 11(1):91–107, 2005.
[11] M. Gelfond and V. Lifschitz. Classical negation in logic
programs and disjunctive databases. New Generation
Computing, 9(3–4):365–385, 1991.
[12] T. Ibaraki and N. Katoh. Resource Allocation Problems:
Algorithmic Approaches. MIT Press, 1988.
[13] J. Lang. Logical preference representation and combinatorial
vote. Annals of Mathematics and Artificial Intelligence,
42(1–3):37–71, 2004.
[14] N. Leone, G. Pfeifer, W. Faber, T. Eiter, G. Gottlob, S. Perri,
and F. Scarcello. The DLV system for knowledge
representation and reasoning. ACM Transactions on
Computational Logic, 7(3):499–562, 2006.
[15] H. Moulin. Axioms of Cooperative Decision Making.
Cambridge University Press, 1988.
[16] T. Sandholm. Distributed rational decision making. In
G. Weiss, editor, Multiagent Systems: A Modern Approach to
Distributed Artificial Intelligence, chapter 5, pages 201–258.
The MIT Press, 1999.
REFERENCES
View other sources
Hide other sources
 Available from José Alferes · May 31, 2014
 Available from psu.edu