DESIGN AND IMPLEMENTATION OF A MULTIAGENT SYSTEM FOR AUCTIONING AND VOTING

Similar documents
Elections and Electoral Systems

Towards a Standard Architecture for Digital Voting Systems - Defining a Generalized Ballot Schema

Fair Division in Theory and Practice

I am asking that the Clerk s office schedule this proposed ordinance for the public hearing process.

Vote for Best Candy...

Fairness Criteria. Review: Election Methods

2010 Municipal Elections in Lebanon

Estonian National Electoral Committee. E-Voting System. General Overview

CITIZEN ADVOCACY CENTER

Elections and referendums

Rules for Counting Votes and Ascertaining the Results of an Election

Social Rankings in Human-Computer Committees

Laura Matjošaitytė Vice chairman of the Commission THE CENTRAL ELECTORAL COMMISSION OF THE REPUBLIC OF LITHUANIA

Social Choice & Mechanism Design

Fair Division in Theory and Practice

Public Choice. Slide 1

Section Apportionment Methods. Copyright 2013, 2010, 2007, Pearson, Education, Inc.

Math of Election APPORTIONMENT

DHSLCalc.xls What is it? How does it work? Describe in detail what I need to do

Introduction to the declination function for gerrymanders

REFORMING THE ELECTORAL SYSTEM IN ALBERTA: THE CASE FOR DUAL- MEMBER MIXED PROPORTIONAL Sean Graham

General Framework of Electronic Voting and Implementation thereof at National Elections in Estonia

In Elections, Irrelevant Alternatives Provide Relevant Data

Complexity of Manipulating Elections with Few Candidates

REFORMING THE ELECTORAL FORMULA IN PEI: THE CASE FOR DUAL-MEMBER MIXED PROPORTIONAL Sean Graham

State Study of Election Methods: A Continuation

Algorithms, Games, and Networks February 7, Lecture 8

Electoral System Design Database Codebook

Guide to Ireland s PR-STV Electoral System

ELECTING CANDIDATES WITH FAIR REPRESENTATION VOTING: RANKED CHOICE VOTING AND OTHER METHODS

Elections and Electoral Systems

Options and Considerations for Changing the Electoral System in Moldova. Nicolae Panfil Promo-LEX Association

Electoral Reform Questionnaire Field Dates: October 12-18, 2016

RANKED VOTING METHOD SAMPLE PLANNING CHECKLIST COLORADO SECRETARY OF STATE 1700 BROADWAY, SUITE 270 DENVER, COLORADO PHONE:

Chapter 11. Weighted Voting Systems. For All Practical Purposes: Effective Teaching

Federal Primary Election Runoffs and Voter Turnout Decline,

Find the winner of the election using majority rule given the results below: Choices (ABC) (ACB) (BAC) (BCA) (CAB) (CBA) Number of Votes

arxiv: v2 [math.ho] 12 Oct 2018

UC Berkeley Department of Economics Game Theory in the Social Sciences (Econ C110) Fall Introduction. Aug 29, 2016

Measuring the Compliance, Proportionality, and Broadness of a Seat Allocation Method

Federal Primary Election Runoffs and Voter Turnout Decline,

ANALYSIS AND COMPARISON OF GREEK PARLIAMENTARY ELECTORAL SYSTEMS OF THE PERIOD

The Mathematics of Voting

The Alternative Vote Referendum: why I will vote YES. Mohammed Amin

Voting System: elections

Compare the vote Level 3

Lesson 2.3. Apportionment Models

IOWA DELEGATE SELECTION PLAN

Decentralized Control Obligations and permissions in virtual communities of agents

Compare the vote Level 1

CS269I: Incentives in Computer Science Lecture #4: Voting, Machine Learning, and Participatory Democracy

n(n 1) 2 C = total population total number of seats amount of increase original amount

CHOICE VOTING: ONE YEAR LATER

Electoral Reform: Making Every Vote Count Equally

DRAFT GPCA ELECTIONS CODE SECTIONS PROPOSED REVISIONS NOV. 3, 2005

Social Choice Theory. Denis Bouyssou CNRS LAMSADE

Social choice theory

Voting: Issues, Problems, and Systems, Continued. Voting II 1/27

If a party s share of the overall party vote entitles it to five seats, but it wins six electorates, the sixth seat is called an overhang seat.

The Mathematics of Voting Transcript

Constitution of the Astronomy and Space Exploration Society at the University of Toronto

Processes. Criteria for Comparing Scheduling Algorithms

Preferential votes and minority representation in open list proportional representation systems

NP-Hard Manipulations of Voting Schemes

MATH 1340 Mathematics & Politics

DRAFT GPCA ELECTIONS CODE SECTIONS

Volume I Appendix A. Table of Contents

A New Method of the Single Transferable Vote and its Axiomatic Justification

Satisfaction Approval Voting

Estimating the Margin of Victory for Instant-Runoff Voting

Economics 470 Some Notes on Simple Alternatives to Majority Rule

An introduction to Electoral. André Blais Université de Montréal

REPRESENTATIVE DEMOCRACY - HOW TO ACHIEVE IT

THE BYLAWS OF THE DAVIS COUNTY REPUBLICAN PARTY As Amended September 29, 2018

Voting Methods for Municipal Elections: Propaganda, Field Experiments and what USA voters want from an Election Algorithm

Math for Liberal Studies

LAW ON THE FINANCING OF POLITICAL ACTIVITIES OF SERBIA. as of 14 June (as translated by the OSCE)

DOES ADDITION LEAD TO MULTIPLICATION? Koos Hussem X-CAGO B.V.

that changes needed to be made when electing their Presidential nominee. Iowa, at the time had a

An Integer Linear Programming Approach for Coalitional Weighted Manipulation under Scoring Rules

Electoral Reform National Dialogue INFORMATION BOOKLET

Plurality voting system

Electoral Reform Brief

EUROPEAN COMMISSION FOR DEMOCRACY THROUGH LAW (VENICE COMMISSION) FEDERAL CODE OF ELECTORAL INSTITUTIONS AND PROCEDURES OF MEXICO

An overview and comparison of voting methods for pattern recognition

Fair-Share Voting. Proposing a New Voting Method For Participatory Budgeting. Robert Tupelo-Schneck

27 July 2017 Without prejudice TITLE [XX] DIGITAL TRADE

The Mathematics of Apportionment

Kybernetika. František Turnovec Fair majorities in proportional voting. Terms of use: Persistent URL:

A denotational semantics for deliberation dialogues

Election Theory. How voters and parties behave strategically in democratic systems. Mark Crowley

Roundtable on: The Impact of Cartels on the Poor

Information from the. Essential Features of the System of Local Government Elections in Lower Saxony

Wasted Votes: A Conceptual Synthesis and Generalization to the Case of PR Elections*

Random tie-breaking in STV

If searched for the book by JAX The Bid in pdf form, in that case you come on to the loyal site. We presented the full version of this book in epub,

The Issue Of Internet Polling

Presidential Election Democrat Grover Cleveland versus Benjamin Harrison. ************************************ Difference of 100,456

arxiv: v1 [physics.soc-ph] 13 Mar 2018

(67686) Mathematical Foundations of AI June 18, Lecture 6

Transcription:

BULETINUL INSTITUTULUI POLITEHNIC DIN IAŞI Publicat de Universitatea Tehnică Gheorghe Asachi din Iaşi Tomul LVII (LXI), Fasc. 1, 2011 SecŃia AUTOMATICĂ şi CALCULATOARE DESIGN AND IMPLEMENTATION OF A MULTIAGENT SYSTEM FOR AUCTIONING AND VOTING BY ALIN-IONUł PANDICHI and FLORIN LEON Gheorghe Asachi Technical University of Iaşi, Faculty of Automatic Control and Computer Engineering Received: January 5, 2011 Accepted for publication: March 11, 2011 Abstract. Auctioning and voting are important capabilities for agents acting in open environments. This paper presents the design and implementation of a multiagent system capable of executing some of the most important auctioning and voting protocols. The experiments prove the possibility of using such a system on a large scale, with the benefits of reduced costs and flexibility to participate in auctions or elections organized in different settings. Due to its implementation using the JADE framework, which complies with the FIPA specifications for the interoperability of heterogeneous agents, the system can be easily integrated with other multiagent software. Key words: multiagent systems, auctions, voting, JADE framework. 2000 Mathematics Subject Classification: 68T99, 68N19. 1. Introduction An agent can be considered an autonomous entity capable of interacting with its environment of execution and with other similar agents. It can also reach predetermined goals and solve specific problems. A system comprised of many Corresponding author; e-mail: fleon@cs.tuiasi.ro

88 Alin-IonuŃ Pandichi and Florin Leon agents is called a multi-agent system. The purpose of a multi-agent system is to interconnect agents that were developed separately, allowing the system to achieve functionality beyond the one of a single agent. In order to obtain this, the system must have a solution to at least some of the usual problems, such as information discovery, communication, ontology, integrating with existing software, reasoning capability, coordination and monitoring (Wooldridge, 2002). A multiagent system is said to be open when there is no guarantee of benevolent behavior and there is no access to an agent s internal state. Electronic markets, virtual organizations, and digital right management applications are examples of such systems (Artikis & Sergot, 2010). The processes of bidding and voting in the context of the World Wide Web have offered an opportunity to the multi-agent systems to be used on large scale. The agents are fit for such tasks because they can be self-interested, trying to maximize their owner s goals, and they can also reason within certain limits, acting optimally in an ideal scenario. An auction is a process of buying and selling goods or services by offering them up for bid, taking bids, and then selling the item to the highest bidder (http://en.wikipedia.org/wiki/auction). The purpose of voting in a multiagent setting is to combine the decisions of the agents in order to select a strategy that will be followed by all the agents (Partalas et al., 2007). A concise way of comparing auctions and voting is the following: the goal of auctions is to maximize profit for the buyer and seller involved or affected, while the goal of voting is to maximize social good for everyone involved or affected (Stone, 2001). 2. Description of Auction Protocols The multiagent system presented in this work includes the following auction protocols: English auction, Dutch auction, first-price sealed-bid auction, and second-price sealed-bid auction. In the following, we shortly describe the characteristics of each protocol (Vidal, 2007; Weiss, 2000; Wooldridge, 2002). English auction is also known as open-bid ascending price auction, or first-price open-cry. It is the most popular and well known form of auctioning. With this protocol, the price of the auctioned good is gradually raised. When no participant to the auction wishes to offer a higher price than the current one, the good is sold to the highest bidder up to that point. He will receive the good in exchange for the price he used for bidding. Dutch auction is also known as open-bid ascending price. The auctioning process in this case develops in an opposite manner than the English auction: the auctioned good starts at a high price which is gradually lowered. When the price reaches a convenient threshold for one of the participants to the auction, he will call out and receive the good in exchange for the current price.

Bul. Inst. Polit. Iaşi, t. LVII (LXI), f. 1, 2011 89 In the first-price sealed-bid auction, each bidder will submit a secret price offer, using a sealed envelope for example. In this way, no bidder will be able to know what offers are made by the others. The one that made the highest price offer will win the auction and pay that price in exchange for the good. The second-price sealed-bid auction, also known as the Vickrey auction, named after it s creator, William Vickrey. His goal was to devise an auction protocol in which the dominant strategy for bidders is to reveal their true values (Vickrey, 1961). The auction process is very similar with the firstprice sealed-bid auction, except that the price being paid by the winner is not his own price, but the second highest price (McAfee & McMillan, 1987). 3. Description of Voting Protocols The following voting protocols were included in the multiagent system: first-past-the-post voting, block voting, two-round voting, alternative voting, and d Hondt method (http://en.wikipedia.org/wiki/voting_system). In first-past-the-post voting, the name is an analogy to racing events where whoever reaches the finish line first is the winner. Each voter is allowed to cast his vote once to a single candidate. The candidate that obtains the most votes is declared the winner of the election, regardless of whether he obtained the majority or not. Therefore, in order for a candidate to win, he must have support from voters in higher numbers than any other candidate. Block voting allows declaring more than one winner. Each voter is allowed to cast a number of votes equal to the number of the available seats. After counting the votes, the seats are offered in order to those candidates who obtained the most votes. Two-round voting requires two rounds in order to designate a single winner. It is also known as runoff voting. During the first round, the voter is allowed to cast only one vote to the candidate that is on top of his preferential list. After counting the votes, the winner is designated only if he obtained an absolute majority, calculated with the formula (n + 1)/2, where n is the number of voters including those who did not participate in voting and those whose vote was invalidated. If none of the candidates obtained an absolute majority, a second round of voting is held where the number of candidates is reduced to the two who obtained the most votes. The voters will be allowed to cast again a single vote. The method of deciding the winner of this round can vary: in some cases the rule of the absolute majority is applied, in other cases the rule of plurality is applied. Alternative voting is normally used to designate a single winner. It is also known as instant-runoff voting, because it simulates the rounds of a runoff voting system without the need to actually organize multiple rounds of voting. In order to win, a candidate must obtain at least a majority quota calculated with the formula quota = (n + 1)/2, where n is the number of all the votes that were

90 Alin-IonuŃ Pandichi and Florin Leon cast. A voter has to describe his preferential list by marking with 1 the candidate at the top of his list, and with increasing numbers the rest of his preferred candidates. The winner is decided by applying an algorithm of counting and redistributing the votes. In d Hondt method voting, the number of votes obtained by each party is divided by a series of divisors, usually 1, 2, 3, 4 and so on. The results of this division are sorted in a descending order. One seat is allocated to each party that obtained the highest divided results, until all the seats have been assigned (Bellifemine et al., 2007b). Let us consider the following example (http://en.wikipedia.org/wiki/ D%27Hondt_method). There are 8 seats to be allocated to 4 parties. Each party's total votes are divided by 1, then by 2, 3, up to 8. Each party s divided total number of votes are the numbers below, called distribution figures The 8 highest distribution figures are starred, ranging from *100000 to *25000. For each distribution figure belonging to it, the party receives a seat. Party A: *100000 *50000 *33333 *25000 20000 16666 14286 12500 **** = 4 seats won Party B: *80000 *40000 *26666 20000 16000 13333 11428 10000 *** = 3 seats won Party C: *30000 15000 10000 7500 6000 5000 4286 3750 * = 1 seat won Party D: 20000 10000 6666 5000 4000 3333 2857 2500 No * = no seats won D'Hondt method does not produce absolute proportionality. In relation to their total number of votes, the larger parties are slightly favored. However, as the number of seats awarded increases, the number of seats awarded to each party is roughly proportional to their number of votes. 4. Design and Implemention of the Auction and Voting Protocols Using Jade In order to achieve the purpose of this project of building the basis of a distributed multi-agent system that implements the auction and voting protocols described in the previous section, we used the Java Agent DEvelopment Framework, also known as JADE. Given the fact that the system needs to interact with its users, a graphical user interface was required, by combining the one-thread-per-agent concurrency model of JADE with the Swing concurrency model. Because a graphical user interface is a common thing, JADE already supplies a class tailored for such a task: jade.gui.guiagent (Bellifemine et al., 2007a; Bellifemine et al., 2007b). The multiagent system containing the protocols described above can be used so that the users can organize auctioning of goods (referred to as items ), can organize elections where one or more winners can be declared from a range of candidates, and can participate in actions or elections that were already created.

Bul. Inst. Polit. Iaşi, t. LVII (LXI), f. 1, 2011 91 The structure of the application comprises several packages. The package auctions contains a single class named Item, which represents the auctioned goods. The properties of an object of this type are: the name and the price. The subpackages auctions.english, auctions.dutch, auctions.fpsb and auctions.spsb contain the implementations of the following auction protocols: English, Dutch, first-price sealed-bid, and second-price sealed-bid, respectively. Each of these subpackages contains two jade.gui.guiagent classes: Master, which is responsible with initiating an auction, and Bidder which represents a participant in an auction process. The package voting contains a single class named Stats, which represents the results that an election candidate has obtained. The most important properties are: option of type java.lang.string representing the name of the candidate, and novotes of integer type representing the number of votes obtained by the candidate up to a moment. The subpackages voting.smp, voting.mmp, voting.trv, voting.av and voting.ham contain the implementations of the following voting protocols: first-past-the-post, block, two-round, alternative, and d Hondt method, respectively. Each of these subpackages contains two jade.gui.guiagent classes: Master, which is responsible with initiating an election, and Voter which represents a participant in an election process. Fig. 1 MasterFrame, acting as a factory, creates Master agents for auctioning and voting.

92 Alin-IonuŃ Pandichi and Florin Leon Fig. 2 SecondaryFrame, acting as a factory, creates Bidder and Voter agents. The GUI package contains the classes that are used to create the graphical user interface of the application. The most important classes in this package are MasterFrame and SecondaryFrame. Each of these two classes act as agent factories (Figs. 1 and 2), given the fact that MasterFrame is capable of creating and launching different Master agents for each type of auction and voting protocol, while SecondaryFrame is able to create and launch different Bidder and Voter agents for each type of auction and voting protocol. 5. Case Studies In what follows, we describe several case studies of the implemented protocols. 5.1. English Auction Let us consider an English auction where the auctioneer X will auction the item A, starting from a price of 5 units. To organize such an auction, he needs to launch an auctions.english.master agent, to add the item in its list of

Bul. Inst. Polit. Iaşi, t. LVII (LXI), f. 1, 2011 93 items and start the auction when there are enough bidders that are interested in buying the item. Supposing there are two such bidders, Y and Z. Bidder Y has 10 units available for spending and he is willing to raise the offer in steps of 2 units. Bidder Z has 15 units available for spending and he is willing to raise in steps of 1 unit. Both bidders need to launch an auctions.english.bidder agent, and configure it according to their preferences. The output of each agent after running the auction is described in Table 1. As we can see, the item was won by agent Z, because he had more money available for spending than its competitor. Agent Y lost the auction even if his price step was larger. It stopped making offers at the moment the price exceeded his available amount. We can observe that the most important thing in an English auction is the amount of cash available to the agent. Table 1 Agents Output in an English Auction Agent Master X Agent Bidder Y Agent Bidder Z Propose price A/5 Received offer A/6 Propose price A/6 Received offer A/7 Propose price A/7 Received offer A/8 Propose price A/8 Received offer A/10 Propose price A/10 Received offer A/11 Propose price A/11 Item name = A won by agent English.Bidder.Z Sending win message A/11 Received proposal A/5 Sending offer A/7 Received proposal A/6 Received proposal A/8 Sending offer A/10 Received proposal A/11 Received proposal A/5 Sending offer A/6 Received proposal A/7 Sending offer A/8 Received proposal A/10 Sending offer A/11 Received win message A/11 I won item name = A at price 11 There can be cases when the auctioneer will not be able to obtain any offer for his item. Consider the item B priced at 12 units. The bidders are the same, except agent Z has only 4 units left, after he spent 11 out of 15 units to win item A in the previous auction. The output of this second auction is described in Table 2. Table 2 Agents Output when no Offer is Made in an English Auction Agent Master X Agent Bidder Y Agent Bidder Z Propose price B/12 Received proposal B/12 Received proposal B/12 As we can see, the starting price is too high for both bidders. None of them makes an offer, so item B is not sold. After 3 sec, the user of agent X will be notified by a dialog window that no offer has been received for that item.

94 Alin-IonuŃ Pandichi and Florin Leon 5.2. Dutch Auction Let us consider a Dutch auction where the same auctioneer X needs to sell the same item A starting from a price of 20 units. The bidder agents are the same, Y and Z, and their amounts of cash available are 10 and 15, respectively. The auctioneer will launch an auctions.dutch.master agent, while each bidder will launch an auctions.dutch.bidder agent. All agents need to be configured accordingly. The agents output after running the auction is presented in Table 3. At each passing second, the Master agent lowers the price by a default step of 5 units. When one of the bidder agents considers that it can pay the asked price, it makes an offer and wins the item instantly. Here, the auction was won by agent Z because the asked price was lowered until it became a reasonable price for him, but not for Y. Table 3 Agents Output in a Dutch Auction Agent Master X Agent Bidder Y Agent Bidder Z Anybody buying for 20? Anybody buying for 15? Item A sold for 15 to Dutch.Bidder.Z I, Dutch.Bidder.Z, will buy the item for 15 I, Dutch.Bidder.Z, won item name = A at price 15 The only possible scenario when the auctioneer will not receive any offers for the item is when every participant agent has the amount of cash equal to 0. 5.3. First-Price Sealed-Bid Auction Let us consider a first-price sealed-bid auction where auctioneer X needs to sell item A starting from a price of 5 units. The bidder agents are Y and Z, and their available amounts are 20 and 35, respectively. The auctioneer needs to launch an auctions.fpsb.master agent, and the bidders each need to launch an auctions.fpsb.bidder agent. The agents output after running the auction is described in Table 4. Table 4 Agents Output in a First-Price Sealed-Bid Auction Agent Master X Agent Bidder Y Agent Bidder Z Item name = A was won by agent Fpsb.Bidder.Z I, Fpsb.Bidder.Y, will bid 10 I, Fpsb.Bidder.Z, will bid 17 I, Fpsb.Bidder.Z, won item name = A at price 17 Agent Z wins the auction by offering 17 units and paying this price. If auctioneer X sets a starting price too high, e.g. 30 units, he doesn t receive convenient offers, so he does not sell the item.

Bul. Inst. Polit. Iaşi, t. LVII (LXI), f. 1, 2011 95 In this case, the agents output is displayed in Table 5. Table 5 Agents Output when the Starting Price is Too High in a First-Price Sealed-Bid Auction Agent Master X Agent Bidder Y Agent Bidder Z Nobody won item A I, Fpsb.Bidder.Z, will bid 26 As we can see, agent Y did not even make an offer because the starting price was already exceeding its available amount of cash. 5.4. Second-Price Sealed-Bid Auction Let us consider a second-price sealed-bid auction where auctioneer X needs to sell item A starting from a price of 5 units. Bidder agents are W, Y and Z, and their available amounts are 15, 20 and 35, respectively. The auctioneer needs to launch an auctions.spsb.master agent, and the bidders each need to launch an auctions.spsb.bidder agent. The agents output after running the auction is described in Table 6. Table 6 Agents Output in a Second-Price Sealed-Bid Auction Agent Master X Agent Bidder W Agent Bidder Y Agent Bidder Z Item name = A was won by agent Spsb.Bidder.Z I, Spsb.Bidder.W, will bid 15 I, Spsb.Bidder.Y, will bid 20 I, Spsb.Bidder.Z, will bid 35 I, Spsb.Bidder.Z, won item name = A at price 20 Each agent made an offer with the exact amount of their available amount of cash. Agent Z won the auction offering 35 units, but paying the price offered by agent Y, the second price in a descending order, namely 20 units. This happens because of the rules of this auction protocol. Just like in the first-price sealed-bid auction, if auctioneer X sets a starting price that is too high, e.g. 40 units, he will not receive any convenient offers, thus not being able to sell the item. 5.5. First-Past-The-Post Election In this section, we will consider a first-past-the-post election, where four candidates, named a, b, c, and d, compete for winning one available seat. Also, we will consider two different groups of voters whose preferential lists are presented in Table 7. Group 1 is comprised of agents Q, P, H, and G, while group 2 is comprised of agents T, R, and U. The results of this kind of election are illustrated by a screenshot of the MasterFrame, in Fig. 3.

96 Alin-IonuŃ Pandichi and Florin Leon Obviously, the declared winner is candidate d who was on the top of the preferential list for most of the voters. 5.6. Block Election Let us consider a block election where the same four candidates a, b, c, and d compete to win 1 seat out of 2 seats available. Also, consider the same two groups of voters participating in the election. They have the same preferential lists. We will add a third group of voters having a preferential list as described in Table 8. Group number 3 is comprised of agents M and K. The results of the election held under these conditions are illustrated in Fig. 4. Table 7 The Preferential Lists of the Two Groups of Voters Group 1 Group 2 (4 members) (3 members) d a b b a d c c Fig. 3 The results of a first-past-the-post election. Table 8 The Preferential List of the Third Group of Voters Group 3 (2 members) c a b d

Bul. Inst. Polit. Iaşi, t. LVII (LXI), f. 1, 2011 97 Fig. 4 The results of a block election. As we can see, the winners are candidate b with 7 votes and candidate a with 5 votes. The total number of votes (18) is larger than the number of voters, (9) because each voter has 2 votes that he can cast to his preferred candidates, equal to the number of available seats. Because these 2 votes are equivalent in this voting protocol, it was possible for candidate b to win the first seat, even if he was in the second position in the preferential list of groups 1 and 2. 5.7. Two-Round Election Let us further consider a two-round election where the same four candidates a, b, c, and d compete to win one available seat. The same three groups of voters participate in the election, with the same preferential lists. The results of the election held using this voting protocol are displayed in Fig. 5. Fig. 5 The results of the first round of a two-round election.

98 Alin-IonuŃ Pandichi and Florin Leon Fig. 6 The results of the second round of a two-round election. As one can see, the results reflect the preferential lists of the three groups of voters, taking into account only the first option of each voter. Candidate d has the most votes (4), but these do not represent an absolute majority, which is at least 5. Therefore, a second round must be held, where candidate d continues to compete. The other candidate for the second round is candidate a, with 3 votes. The results of the second round are illustrated in Fig. 6. The winner of the second round is candidate a. According to the preferential lists, he was preferred to candidate d by the members of groups 2 and 3, totaling the 5 votes required to win the election. 5.8. Alternative Election Let us consider an alternative election where the same four candidates a, b, c, and d compete for one seat. The same three groups of voters participate in the election, with the same preferential lists. The output of the agent voting.av.master that organizes such an election is the following: 9 agents voted. Option a has 3 votes Option b has 0 votes Option c has 2 votes Option d has 4 votes Majority not reached yet. Removing option b; redistributing its votes Option a has 3 votes Option c has 2 votes Option d has 4 votes Majority not reached yet. Removing option c; redistributing its votes Option a has 5 votes Option d has 4 votes Option a is declared winner, with 5 votes

Bul. Inst. Polit. Iaşi, t. LVII (LXI), f. 1, 2011 99 One can clearly see that the result is identical to the one of the tworound election. The reason for this is the fact that the alternative election is simulating the runoff protocol, without needing to actually organize a second round of voting. The only difference is that, in this case, the rank of each candidate is computed, instead of the number of his votes. A lower rank indicates that the candidate is highly preferred by the voters. The ranks of candidates a, b and d are very close, with values of 10, 11 and 12 respectively. This indicates a tied competition between the three candidates. By comparison, the rank of candidate c is 21, much higher than the ranks of the others. This indicates that this candidate is unpopular with the voters. 5.9. D Hondt Method Election Finally, we will consider an election where the d Hondt method is applied. The same four candidates a, b, c, and d compete to win 1 seat out of 2 available. In this case, we will refer to them as parties. We will consider the same three groups of voters, with the same preferential lists. The output of the agent voting.ham.master that organizes such an election is the following: Party a has 3 votes. Party b has 0 votes. Party c has 2 votes. Party d has 4 votes. Distribution for party a: 3.0 1.5 Distribution for party b: 0.0 0.0 Distribution for party a: 2.0 1.0 Distribution for party a: 4.0 2.0 One seat one by party d with distribution 4.0 One seat one by party a with distribution 3.0 Seats won by each party: Party a = 1 seats Party b = 0 seats Party c = 0 seats Party d = 1 seats After running the election, candidates d and a win 1 seat each, because they have the highest results (4.0 and 3.0, respectively) after the number of votes have been divided by 1 and 2. We can observe that the results are different from the ones obtained at the block election. The reason for this is the fact that the d Hondt protocol takes into account only the first option from the preferential list, and it ignores the rest. Therefore, candidate b is disadvantaged, even if he is the second option preferred by 7 out of 9 voters.

100 Alin-IonuŃ Pandichi and Florin Leon 6. Conclusions This paper describes the design and implementation of a multi-agent system that can execute several auctioning and voting protocols. The experiments prove the possibility of using such a system on a large scale, with the benefits of reduced costs and flexibility to participate in an auction or an election organized in different settings. The results obtained after running several auctions using this system easily point out the differences between various types of auctions. Choosing a specific type of auction can influence the price the seller will obtain for its auctioned goods. The results of some of the voting protocols were identical (such as the alternative and two-round protocols), while the results of other protocols under the same circumstances were entirely different (such as the block voting compared to the d Hondt method). The user can decide which is the optimal protocol for the election he wishes to organize. The use of the distributed multi-agent platform JADE proved to be a good choice for developing such a system. Because the platform is compliant with FIPA specifications for the interoperability of heterogeneous agent-based systems (http://www.fipa.org/repository/standardspecs.html), many of the usual problems in developing such a system already have an integrated solution. Thus, the information discovery problem was solved by using the dedicated agent named Directory Facilitator. The communication was done using the Message Transport System (MTS) and the Agent Communication Language (ACL). Reasoning and coordination were achieved by using the auctioning and voting protocols. JADE standard compliance also enables a straightforward integration of this system with other multiagent software. Acknowledgements. This work was supported by CNCSIS-UEFISCSU, project number PNII-IDEI 316/2008, Behavioural Patterns Library for Intelligent Agents Used in Engineering and Management. REFERENCES * * * ACE project, The Electoral Knowledge Network, http://aceproject.org, 2011. * * * FIPA, Foundation for Intelligent Physical Agents, Standard FIPA Specifications. http://www.fipa.org/repository/standardspecs.html, 2002. * * * Wikipedia, Auction. The Free Encyclopedia, http://en.wikipedia.org/wiki/auction, 2011. * * * Wikipedia, D Hondt Method. The Free Encyclopedia, http://en.wikipedia.org/wiki/ D%27Hondt_method, 2011. * * * Wikipedia, Voting System. The Free Encyclopedia, http://en.wikipedia.org/wiki/ Voting_system, 2011.

Bul. Inst. Polit. Iaşi, t. LVII (LXI), f. 1, 2011 101 Artikis A., Sergot M., Executable Specication of Open Multi-Agent Systems, Logic Journal of the IGPL / Bulletin of the IGPL, Vol. 18, 1, 31 65, 2010. Bellifemine F., Caire G., Greenwood D., Developing Multi-Agent Systems with JADE. Wiley Series in Agent Technology, Wiley, 2007a. Bellifemine F., Caire G., Trucco T., Rimassa G., Jade Programmer s Guide. Telecom Italia S.p.A., 2007b. McAfee R.P., McMillan J., Auctions and Bidding. Journal of Economic Literature, Vol. 25, 2, 1987. Partalas I., Feneris I., Vlahavas I., Multi-Agent Reinforcement Learning Using Strategies and Voting. IEEE International Conference on Tools with Artificial Intelligence, 2007. Stone P., Autonomous Multiagent Systems. Course Week 10, http://cs.nyu.edu/courses/ fall01/g22.3033-012, 2001. Vickrey W., Counterspeculation, Auctions, and Competitive Sealed Tenders. Journal of Finance, 16, 8 37, 1961. Vidal J.M., Fundamentals of Multiagent Systems. http://jmvidal.cse.sc.edu/papers/ mas.pdf, 2007. Weiss G. (Ed.), Multiagent Systems A Modern Approach to Distributed Artificial Intelligence. The MIT Press, Cambridge, Massachusetts, 2000. Wooldridge M. J., An Introduction to MultiAgent Systems. John Wiley & Sons, 1st edition, 2002. PROIECTAREA ŞI IMPLEMENTAREA UNUI SISTEM MULTI-AGENT PENTRU LICITARE ŞI VOTARE (Rezumat) Licitarea şi votarea sunt capacităńi importante pentru agenńii care operează în medii deschise. Această lucrare prezintă proiectarea şi implementarea unui sistem multiagent capabil de a executa câteva dintre cele mai importante protocoale de licitare şi votare. Experimentele realizate indică posibilitatea de a utiliza un astfel de sistem la o scară largă, prezentând beneficiile unor costuri reduse şi a flexibilităńii de a participa la licitańii sau alegeri organizate în diferite moduri. Datorită implementării pe baza platformei JADE, care se conformează specificańiilor FIPA pentru asigurarea interoperabilităńii agenńilor eterogeni, sistemul poate fi uşor integrat cu alte produse software multi-agent.