Conflict Resolution Profiles and Agent Negotiation for Group Recommendations Silvia Rossi∗ , Claudia Di Napoli† , Francesco Barile‡ and Luca Liguori∗ ∗ Dipartimento di Ingegneria Elettrica e delle Tecnologie dell’Informazione, Università degli Studi di Napoli Federico II silvia.rossi@unina.it † Istituto di Calcolo e Reti ad Alte Prestazioni, CNR claudia.dinapoli@cnr.it ‡ Dipartimento di Matematica e Applicazioni, Università degli Studi di Napoli Federico II francesco.barile@unina.it Abstract—The pervasive use of web technologies and online Another point is the computational cost because, of course, the cooperation tools is posing new challenges in the design of rec- solution space may grow exponentially according to the num- ommender systems, requiring now a rapid move from individual ber of members in the group and the number of preferences to group recommendations. In this paper, a multi-agent system specified by them, and this prevents the possibility to produce to provide support to small groups of users in their decision- all possible solutions in a polynomial time. In addition, to making process is presented. In detail, the addressed problem is to find a common solution for a group, represented by a come to a shared solution that is as close as possible to the set of activities in the touristic domain, among a huge set of user’ preferences, users should interactively take part in the possible alternatives, that meets the preferences of each member. process of building the solution, step by step. The proposed system uses an automatic negotiation process that In the present work, a Group Decision Support System incrementally builds a candidate solution for the whole group according to the individual lists of each group member. Since (GDSS) is designed to recommend a set of POI to a group the negotiation mechanism involves the real users to take part of users. Each member of the group is represented by a in the decision-making process, the proposed approach tries to software agent, and the process of building up a shared limit the agreement search space during the negotiation process decision is modeled as an automated negotiation among agents. in order to minimize the user direct intervention. The proposed Individual preferences are explicitly specified by end users, and solution relies on negotiating agents that simulate the users’ they are used by the corresponding agents in the negotiation behavior while trading by using different conflict resolution styles, phase. During the negotiation, agents have different behaviors obtained by applying the Thomas Kilmann model. The results corresponding to different conflict resolution styles that are obtained with both simulated and real users’ behavior show that based on the widely used Thomas-Kilmann Conflict Mode the proposed system achieves a high probability of success, finding Instrument (TKI) [6]. The negotiation interaction protocol is a shared solution, in most cases, in a relatively small number of rounds of negotiation. In addition, end users were satisfied with based on the one proposed in [7] for service composition. the received recommendations. Finally, two heuristic procedures are proposed to limit the solution search space during the negotiation process. I. I NTRODUCTION The proposed system has been evaluated through experi- mental tests in order to assess how the different behaviors and The problem of taking decisions shared by groups of people heuristics impact the process of finding a solution. In addition, is becoming a crucial aspect when using social networks the system has been used by real users that provided, through [1] and, more generally, online social group systems [2]. online questionnaires, a measure of their level of satisfaction In fact, to automate the process of finding a solution that regarding the system usability, and the quality of the received meets the preferences of each group’s member maximizing recommendations with respect to their preferences. the group’s satisfaction is still an open problem. In general, within the group recommender systems literature, the proposed II. N EGOTIATION FOR G ROUP R ECOMMENDATION approaches could be divided into two main categories, the merging preferences, in which single user preferences are The proposed Group Decision Support System relies on the aggregated in order to create a single group profile, on which design of a multi-agent system to help end-users belonging apply an individual recommendation system, and the merging to a group to find a shared solution consisting of a set of recommendations approach, that consists of aggregating the tourist attractions to visit in a reasonable time. The multi- single recommendations obtained for each user using tech- agent system is composed of a set of agents (called user- niques known as Social Choice functions [3]. agents) each one acting on behalf of a group member and of a special agent acting as a mediator (called mediator-agent) that The main problem of these approaches is that they do interacts with the others to build a solution in an autonomous not seem to reflect many aspects of real decision-making way by minimizing the users’ intervention. At the end of the processes, where factors like mutual influences, personality of process, the end-users would be requested to approve or not group’s members [4], and many others have a great impact the solution proposed by the system. on group’s final decisions, and, in some cases, individual preferences could be not consistent or even conflicting [5]. A crucial step in the implementation of a GDSS is the 29 definition of the decision-making strategy to use. For example, {p1 , ..., pm }, that, if accepted by all members, becomes the a voting mechanism could be deployed, which provides an group solution. In order to build a proposal, the mediator refers efficient solution in terms of decision speed, and it allows to to the set of POI it is aware of, i.e. the set PG that have been avoid deadlocks problems. However, no fair voting mechanism rated by all the users, known as the Mediator Domain. exists, and one-shot mechanisms may not allow for the com- plete exploration of the solution space, whereas outcomes that We define the POI list PG for a specific group G as follows: satisfy also the minority of the users may exist. A second pos- [ sibility is to design a consensus strategy, where group members PG = Iu try to reach an agreement on an outcome. This criterion usually u∈G requires a higher involvement by each member in the decision- making process and longer computational times, but it ensures Therefore, it represents the set of POI obtained from the a good solution quality because every decision is based on the aggregation of the individual preference lists of the different whole community consensus. group members. The mediator agent is in charge of collecting Here, we propose to implement a consensus mechanism and aggregating the users’ preferences. The PG set constitutes based on an automated negotiation mechanism where user- the initial solution space for the mediator agent. This space agents try to reach an agreement by involving the users only could change (increase) during the decision-making process. in providing their preferences on items (to obtain reliable data), In principle, in order for the mediator to search for a and in the final approval decision. It is assumed that there is a solution, each group member should evaluate all the POI group U of n users, a set I of t POI, and a set R of evaluations that have been evaluated by the other members, but not by (also called ratings), given by the individual users to some of him/herself (PG \ Iu ). However, this process would potentially the POI in the system. A user u ∈ U can evaluate an item require each user to be involved in a long process to provide i ∈ I, as ru,i (with ru,i ∈ {1, 2, 3, 4, 5}), so Ui is the set all the needed information, so an upper bound to the number of users who evaluated the item i, and Iu is the set of items of POI to be rated is mandatory. Typically, in recommender evaluated by the user u. A suggested solution is a subset of systems, this upper bound is set around 20. In order to create I with size m ≤ t, that represents a compromise among the the PG set taking into account the users’ preferences (i.e., the individual users’ preferences, i.e. that maximizes the group items they evaluated with the higher rates), the k-best rated satisfaction also guaranteeing a minimum utility value for each POI for each user are selected from the corresponding Iu . member of the group. So, the k value depends on the number of users in a group The proposed decision-making process is based on an (k = 20/n). Subsequently, whenever the mediator will require alternation of a Merging Ranks step, made by the mediator- additional information to proceed, additional ratings could be agent, to aggregate preferences and compute a subset of POI requested to the users. to propose to the group, and a Negotiation step, where each In order to build the first proposal, the mediator calculates user-agent may accept the received proposal or reply to the a group rate rG,j for each POI j ∈ PG , as follows: suggested solution with an alternative one. In detail, such alternating protocol is composed of the following steps: X ru,j · pj rG,j = 1) the mediator generates a suggested solution for the n u∈U group according to the individual preference lists of each group member; that represents a weighted mean of the individual ratings, and 2) each user agent can accept/reject the received pro- the weight pj ∈ [0, 1] is a measure of the popularity of j, where posal; pj = 1 if all the user in the group spontaneously assigned 2.1) if the proposal is rejected, the user-agent a rating to j (where spontaneously means that the rating is generates a counteroffer; assigned without being explicitly required). 3) if the proposed solution is accepted by all the user- The first proposal is composed by selecting the m POI with agents, such solution is proposed to the end users; the highest group rank, so it is the solution that maximizes 3.1) otherwise the mediator aggregates the re- the Social Welfare (i.e., the weighted sum of the individual ceived counteroffers, and it generates a new utilities). Once the first proposal is computed, the mediator solution for the group. sends it to all user agents that privately evaluate it according to their own utility function. If all the allowed negotiation rounds take place without reaching an agreement, the process ends by proposing a In case the proposal is rejected, the mediator receives a solution to the end user that maximize the Social Welfare in number of counteroffers, each one composed of a possible the mediator current POI domain. In the following subsections, new set of m POI (Oi = {pi1 , ..., pim }) from each user agent the GDSS functioning is described starting from the users’ i that rejected the proposal. If a counteroffer contains POI that preferences collection, to the steps that take place to build are not in the Mediator Domain PG , the mediator asks the suggested recommendations for the group. user-agents to provide ratings for them (interacting with the real users). Then, the mediator generates a new proposal on A. The Mediator-Agent Strategy the new domain PG , by applying the same strategy used to build the first proposal. If the new proposal is different from The mediator-agent is responsible for building and sending the previous one, it is sent to the user agents; otherwise the me- proposals to the group members, i.e. a set of POI P = diator modifies it, according to the received counteroffers, by 30 TABLE I. ∆ VALUES FOR EACH CONSIDERED PROFILE . replacing the POI that in its previous solution was discharged by the highest number of user-agents (when the counteroffers Initial Intermediate Final Rounds Rounds Rounds were generated), with the one that had the highest number of Accommodating 0.08 0.08 0.08 new occurrences in the generated counteroffers. Competing 0.01 0.025 0.05 Compromising 0.06 0.025 0.06 Collaborative 0.07 0.07 0.07 B. The User-Agent Strategy Avoiding 0.01 0.01 0.01 In literature, several models of conflict management have been proposed. In particular, in 1974 H. Kilmann and W. • Accommodating, it is not assertive and cooperative, Thomas [6] identified five different categories of interpersonal and it accommodates the objectives of the other group conflict management styles (TKI). Such styles are identified members, so helping them in finding a shared solution with respect to two fundamental parameters: cooperation, i.e., by conceding of a constant value during all negotiation the attempt to satisfy the other group members’ interests, and rounds, so being the most collaborative profile; assertiveness, i.e., the attempt to meet their own interests. In this work, we adopted the TKI questionnaire, composed • Competing, it is assertive, and it prioritizes agent’s of 30 questions, to associate a user to a specific conflict own objectives, by conceding of low values at the resolution style. Each user-agent will evaluate the proposal beginning of the negotiation, while increasing the sent by the mediator and, eventually, generate a concession in concession value at the end of negotiation to try to utility, according to the correspondent user conflict resolution reach an agreement before a negotiation failure occurs; style. • Compromising, it is a compromise between assertive For each user agent, an individual optimal value (i.e., the and cooperative, and it tries to find a solution that value corresponding to the solution with the highest utility) and accommodates the objectives of all involved parties, a reservation value are set. Given Iu the set if POI evaluated by conceding high concession values at the beginning by the user u, and Iu (m) the set of m POI with the highest and at the end of the negotiation, while conceding of rank for the user u, then the optimal value, at time 0, is given a constant value in the intermediate rounds. by: • Collaborative, it is both assertive and cooperative, by X trying to make all to work together to find a common reu,i OP Tu (0) = solution. The Ludwig studies [9] showed that this m behavioral style does not have a strong impact on the i∈Iu (m) TKI model, hence, for this reason, it was decided to adopt constant concessions throughout the negotiation where reu,i is the rating the user u assigned to the POI i phase. normalized in [0, 1]. The reservation value is set to the half of OP Tu (0) for all the user-agent, and it represents the minimum • Avoiding, it is a passive style of conflict resolution, utility value to which the user-agent is willing to concede where users would not pursue a negotiation in the first during the negotiation. place. So, in this work, we consider a smaller constant When the user agent receives an offer P t from the me- concession value. diator, at the negotiation round t, it evaluates P the reutility of More specifically, for each profile three concession steps the received offer as follows: Uu (P t ) = i∈P t u,i m . This are defined by the model [9]: initial, intermediate, and final value is compared with the agent utility value of the previous concession. Their values depend on the considered application negotiation round, OP Tu (t − 1). The decision strategy is domain. Here, we derived the concession values from a set of implemented as follows: experiments where the different conflict resolution strategies were adopted. Concession values are summarized in Table I. 1) if Uu (P t ) ≥ OP Tu (t−1), then the agent accepts the offer and sets OP Tu (t) = Uu (P t ); Finally, in the case of a rejection, the user agent generates 2) if Uu (P t ) ≥ OP Tu (t − 1) − ∆u (t), then the agent a counteroffer whose utility value is calculated taking into accepts the offer by conceding in its utility by a account whether a concession takes place or not. Once fixed a value that is smaller or equal of ∆u (t), and it sets utility value, there could be potentially many POI combinations OP Tu (t) = Uu (P t ); that result having the same utility values. So, in order to 3) in all the other cases, the agent rejects the offer and it compute a counteroffer, we defined two different heuristic makes a counteroffer either by randomly conceding strategies to reduce the search space, the Search in Domain in utility (OP Tu (t) = OP Tu (t − 1) − ∆u (t)) or by and the Reference Point ones that will be introduced next. not conceding (OP Tu (t) = OP Tu (t − 1)). Moreover, the system allows the mediator-agent to communi- cate with the user-agents to suggest which strategy to use with ∆u (t) is the utility concession value at time t that depends respect to the negotiation stage (e.g., the number of rounds or on the user profile in the conflict resolution style modeled the number of conflicts in the offers). according to the considered Thomas Kilmann user profiles [8]. In particular, in [9] the authors associated each TKI behavior 1) Search in Domain: With this heuristic, the user-agent style with different concession strategies depending on the orders the items of the proposal received by the mediator P t negotiation round. Inspired by these works, we defined the according to its own ranking, and it generates a counteroffer strategies as follows: by modifying the proposal to obtain an admissible proposal 31 Fig. 1. The web application user interface. (i.e., a proposal with the required utility) by making the fewest possible substitutions searching in its private domain. Fig. 2. Average number of rounds to reach an agreement. 2) Reference Point: This strategy applies when there is only one agent conflicting with a given proposal, that, on the contrary, is admissible for all other members of the group. In ratings the Web Application of the corresponding user will such a case, the mediator sends a proposal to that agent that request him/her to provide an evaluation of the POI. The same represents a reference point for the agent to build a counterof- mechanism is used at the end of the process to communicate fer. In that case, the user-agent adapts as much as possible its the results of the negotiation. counteroffer to the received one. So the conflicting agent is required to adapt its objectives to the proposal satisfying all the other members of the group. IV. E XPERIMENTAL E VALUATION III. S YSTEM I MPLEMENTATION In order to evaluate the proposed system performances in terms of the generated recommendations, a first preliminary The realized system is composed of a Web Application analysis was carried out on a simulated data set, i.e. by that allows users to interact with the system compiling the assigning random values of rating to the POI. POI were TKI questionnaire, providing the ratings for the POI, and extracted from the social network Foursquare. Successively, indicating the group’s composition, and of an Automatic the same experiments were executed in a pilot study by using Negotiation Module, that represents the core of the system (see real data provided by groups of real end users, and asking Figure 1). The module is developed using Jade [10], a well- them to compile a questionnaire concerning the goodness of known framework for agent-based application development, the recommendation, and the usability of the system. that provides both a run-time environment where agents are executed, and a communication model known as Asynchronous Message Passing, where each agent is associated with a queue A. Offline Analysis of messages received from other agents, updated whenever The performances of the heuristics, the Search in Domain a new message is received by the agent. The format of the and the Reference Point, for the generation of counteroffers exchanged messages is compliant with the specifications of were evaluated, together with the negotiation success rate in the ACL language (Agent Communication Language) defined case of complete knowledge, i.e. in our application domain, in the standard FIPA (Foundation for Intelligent Physical the mediator directly knows all the rating for all the POI in Agents)1 . the dataset. The generated recommendations were evaluated In the realized Multi-Agent System there is a Jade Agent in different experimental settings by varying the number of for each user in the system, that acts on his/her behalf during available POI in the dataset, from 20 to 1000, the group size n the negotiation, according to the Conflict Resolution Style, and from 3 to 5 members, and the number m of POI in the solution a Jade Agent for the Mediator, that manages the negotiation from 1 to 5. The size of a group is kept within the chosen range process. All agents are executed within a Jade Container, because the focus of the present work is to test decision making that provides all the features for agents creation, execution, support for small groups that rely on different mechanisms synchronization and exchange of messages. When the users (e.g., interpersonal relationships and mutual influences) with complete the TKI questionnaire, the agents are instantiated respect to the ones adopted for large groups [11]. The group and the negotiation process can start. The Web Application size determines the significant number of POI in the solution in and the Negotiation Module communicates through a shared the case of simulated experiments. In fact, from a preliminary database. During the negotiation, in case it is necessary to ask experimental analysis, we derived that for cases with m > n for new ratings, the negotiation process is interrupted and the a solution is always found, so we set m ≤ n. rating request is saved in the database. The Web Applications Each algorithm is executed 100 times for each possible periodically queries the database and, if there is a request for configuration, and for each execution, the users’ behaviors, i.e. 1 FIPA specifications are available at the website their conflict resolution styles, are randomly generated. The http://www.fipa.org/repository/ standardspecs.html maximum number of allowed negotiation round was set to 30. 32 TABLE II. P ERCENTAGE OF ANSWERS FOR EACH QUESTION . Strongly Strongly Disagree Neutral Agree Disagree Agree Q1 0% 13% 0% 56% 31% Q2 0% 0% 0% 69% 31% Q3 0% 6% 6% 75% 13% Q4 6% 19% 44% 31% 0% Q5 0% 0% 0% 100% 0% Q6 0% 0% 0% 31% 69% Q7 0% 19% 25% 50% 6% We conducted the study on 10 groups, composed of 2 or 3 users. For each group, the required solution is composed of a number of restaurants varying from 1 and 3. The maximum number of rounds for each negotiation is set to 30. The used dataset contains 521 POI of the city of Naples, obtained using the Foursquare API. After using the system, each user is asked to fill a questionnaire concerning the evaluation of Fig. 3. Average execution time to reach an agreement. the goodness of the recommendations and of the usability of the system. The questionnaire is composed of two sets of statements that the users are asked to rate with a score ranging The success rate for the first heuristic is 99%, against from 1 to 5 (respectively, strongly disagree, disagree, neutral, 77% of the second one. In Figure 2, we plotted the average agree, strongly agree). The first set concerns the evaluation number of rounds to reach an agreement, varying the number of the user interaction with the system, while the second of available POI, discharging the cases of negotiation failures. one concerns the evaluation of the quality of the proposed As shown in Figure 2, the Reference Point heuristic requires a recommendations. greater number of rounds to reach an agreement with respect to the Search in Domain case, reaching similar performances • System-User Interaction: when the number of POI is greater than 1000. Therefore, the Q1 The system is easy to use; Reference Point does not represent a feasible solution for sets Q2 Specific expertise is not required to use the of POI that vary from 20 to 1000, by complicating the search of system; user-agent counteroffers, and bringing to failure the negotiation Q3 The system does not require several user in- process. Moreover, notice that by increasing the number of teraction steps to produce a recommendation; POI up to 500, the number of rounds necessary to reach an Q4 The number of required ratings is fair; agreement increases, as expected, because of the increased • Recommendations evaluation: dimension of the solution search space. On the contrary, by further increasing the number of POI the number of rounds to Q5 The system produced a recommendation; reach an agreement decreases because the available chances Q6 The system produced a satisfying recommen- to generate acceptable counteroffers increases, so potentially dation; leading to a reduction of the number of conflicts. Q7 The system allowed discovering new POI. The execution time of the Reference Point algorithm is The users’ answers percentages, as reported in Table II, slightly greater than the Search in Domain one, as reported in show that the system is user-friendly, rapid, easy to use, Figure 3. Moreover, the trend of execution time differs from and effortless. The only point showing conflicting opinions the one of negotiation rounds. While, for a number of POI concerns the number of ratings required by the system to the greater than 500, the number of rounds to reach an agreement end users (Q4), so this parameter could slightly be reduced in starts to decrease, the average execution time increases. In this future works. case, in fact, it is the time required to compute a counteroffer Regarding, the evaluation of the recommendations, we that impacts more on the execution time. initially observed that the agents always fond an agreement during the negotiation process. The evaluations assigned by B. Pilot Study the users to the provided recommendations show a great satisfaction, with the 70% of the users strongly satisfied, and In the pilot study, the system is evaluated in a realistic the remainder 30% simply satisfied. In addition, the users case study, i.e., with groups of users having to choose a set positively replied to the question regarding if the system helped of restaurants with respect to the preferences of each group’s them in discovering new points of interest. member. Notice that, a key factor to implement an effective GDSS is to rely on reliable available data [12]. In particular, V. R ELATED W ORKS in our domain, this corresponds to the availability of a list of preferences/ratings on POI for each user (Iu ). In this direction, The problem of defining the proper decision strategy is we decided not to rely on any recommendation algorithm to crucial in group decision support systems. In Choicla [13], for estimate ratings, but to have the users explicitly expressing example, a decision support system is proposed that provides them. Whenever a user accesses the system, he/she is able to users with the possibility to choose among different decision rate as many POI as he/she wants. This allows us to guarantee strategies for independent decision tasks, so allowing to per- the quality, the attainability, and accuracy of the system data. sonalize the application to the user’s preferences by providing 33 different heuristics functions and trustworthiness levels to the These results seem to be very interesting and suggest some group members. Social Dining [14] is an application helping possible way to extend the work. One possibility is to automate users to find an agreed solution regarding the choice of the steps where an interaction with the user is required, so a restaurant, with the peculiarity that recommendations are avoiding the compilation of TKI questionnaires and the ratings generated by collecting real data from social networks. requests during the negotiation, estimating these ratings with an individual recommendation system. Negotiation for group recommendation was already used in some approaches. For example, in [15], negotiation among R EFERENCES software agents, each one representing a group member, is used to merge the individual recommendations. However, differently [1] A. Caso and S. Rossi, “Users ranking in online social networks to support pois selection in small groups,” in Posters, Demos, Late- from our case, the adopted negotiation mechanism depends breaking Results and Workshop Proceedings of the 22nd Conference on on the number of the group members. In [16], a negotiation User Modeling, Adaptation, and Personalization, ser. CEUR Workshop framework is proposed where agents are characterized by two Proceedings, vol. 1181. CEUR-WS.org, 2014. profiles: a preference profile used to generate the individual [2] S. Rossi, F. Barile, A. Caso, and A. Rossi, Web Information Systems recommendations, and a negotiation profile determining the and Technologies, WEBIST, Revised Selected Papers, ser. Lecture Notes agent behavior during the negotiation process that can be in Business Information Processing. Springer, 2016, vol. 426, ch. Pre- trip Ratings and Social Networks User Behaviors for Recommendations self-interested, collaborative, and highly collaborative. This in Touristic Web Portals, pp. 297–317. proposal was extended in [17], where different agents model [3] J. Masthoff, “Group recommender systems: Combining individual mod- different users, and a mediator agent manages the negotiation els,” in Recommender systems handbook. Springer, 2011, pp. 677–702. process. This approach is similar to the one presented in this [4] S. Rossi and F. Cervone, “Social utilities and personality traits for work, but in our case agents profiles are derived by real group recommendation: A pilot user study,” in Proceedings of the 8th user profiles as they result from questionnaires they filled. In International Conference on Agents and Artificial Intelligence, 2016, addition, in our approach the mediator agent is responsible for pp. 38–46. building the group recommendation according to the individual [5] S. Rossi, A. Caso, and F. Barile, Trends in Practical Applications of Agents, Multi-Agent Systems and Sustainability: The PAAMS Collection. proposals of agents during negotiation, while in [17] the Springer International Publishing, 2015, ch. Combining Users and Items recommendation is jointly computed by the agents during Rankings for Group Decision Support, pp. 151–158. negotiation relying on a more complex negotiation protocol. [6] R. H. Kilmann and K. W. Thomas, “Interpersonal conflict-handling be- Also in [18], a negotiation approach is proposed, but differently havior as reflections of jungian personality dimensions,” Psychological from our work, there is not a mediator agent. Each agent uses reports, vol. 37, no. 3, pp. 971–980, 1975. a monotonic unilateral concession strategy, and it sends its [7] C. Di Napoli, P. Pisa, and S. Rossi, “Towards a dynamic negotiation proposal directly to the other agents. So one recommendation mechanism for qos-aware service markets,” in Trends in Practical Appli- cations of Agents and Multiagent Systems, ser. Advances in Intelligent at a time is circulated during negotiation. The agents evaluate Systems and Computing. Springer, 2013, vol. 221, pp. 9–16. and accept the proposal in case its utility value is the same as [8] K. W. Thomas, “Thomas-kilmann conflict mode,” TKI Profile and the agent’s current proposal utility value. On the contrary, the Interpretive Report, pp. 1–11, 2008. proposal is rejected and the proposal of an agent available to [9] S. A. Ludwig, G. E. Kersten, and X. Huang, “Towards a behavioural concede is selected for the next negotiation round, so iterating agent-based assistant for e-negotiations,” in In Proc. of Montreal Conf. the negotiation. on E-Technologies (MCETECH), Montreal, 2006. [10] F. L. Bellifemine, G. Caire, and D. Greenwood, Developing multi-agent systems with JADE. John Wiley & Sons, 2007, vol. 7. VI. C ONCLUSION [11] J. M. Levine and R. L. Moreland, Small groups: key readings. Psy- chology Press, 2008. In this work, we presented a Group Recommendation [12] J. Laudon and K. Laudon, Management Information Systems: Managing System that uses an automatic negotiation mechanism among the Digital Firm (10th Edition). Upper Saddle River, NJ, USA: software agents to provide the final decision for the group, i.e. Prentice-Hall, Inc., 2006. a decision that meets the requirements/preferences of the group [13] M. Stettinger and A. Felfernig, “Choicla: Intelligent decision support for members. There is an agent for each group’s member that groups of users in the context of personnel decisions,” in Proceedings of the ACM RecSys 2014 IntRS Workshop, 2014, pp. 28–32. acts on user’s behalf during the negotiation, modeling his/her [14] M. Gartrell, K. Alanezi, L. Tian, R. Han, Q. Lv, and S. Mishra, “So- behavior in a conflict situation. The user’s conflict resolution cialdining: Design and analysis of a group recommendation application styles are obtained through the well-known Thomas Kilmann in a mobile context,” 2014. Instrument, a questionnaire compiled by each user after the [15] P. Bekkerman, S. Kraus, and F. Ricci, “Applying cooperative negotiation registration in the system. The negotiation is managed by a methodology to group recommendation problem,” in Proc. of Workshop Mediator agent that generates proposals of solutions, and it on Recommender Systems in ECAI, 2006, pp. 72–75. evaluates the counteroffers received by the other agents. The [16] I. Garcia, L. Sebastia, and E. Onaindia, “A negotiation approach for Mediator decides also the heuristic to use in the generation of group recommendation.” in Proceedings of the 2009 International Conference on Artificial Intelligence, Las Vegas Nevada, USA. CSREA the new proposals. Press, 2009, pp. 919–925. We analyzed the system by conducting two experiments, [17] I. Garcia and L. Sebastia, “A negotiation framework for heterogeneous group recommendation,” Expert Systems with Applications, vol. 41, one with simulated data, and one with a real pilot study. no. 4, pp. 1245–1261, 2014. The results show that the system provides high success rate [18] C. Villavicencio, S. Schiaffino, J. A. Diaz-Pace, A. Monteserin, Y. De- in finding a solution with a number of negotiation rounds mazeau, and C. Adam, “A mas approach for group recommendation lower than 30. The pilot study reported satisfying results in based on negotiation techniques,” in Advances in Practical Applications terms of the negotiation success rate, and of the quality of the of Scalable Multi-agent Systems. The PAAMS Collection. Springer, recommendations provided. 2016, pp. 219–231. 34