RSS Feed Gorgias B Facebook page

Conflicts Resolution

A conflict has two or more decision makers, each of them having his/her own objectives. A possible resolution of a conflict depends on the strategic interactions of the decision makers during the evolution of the dispute. To apply conflict analysis to a particular problem we need the following information for developing a conflict model: a) the decision makers who are participating in the conflict, b) the options corresponding to the course of action available to each decision maker, and, c) the preferences expressing the relative importance of options as viewed by each decision maker. SoDA and Gorgias-B allow to take into consideration all the above requirements to address this application domain.

Herein, the reader can find a tutorial on how to develop a decision policy for conflict resolution and some relevant resources (papers and books).

-> Return to the main tutorials web-page.

A case study: The USA-China plane collision negotiationTop of Page

In this case study we model the USA policy for negotiating the case of a USA and China military planes collision. Briefly, the planes collided about 70 miles off the coast of China. The China plane was destroyed, while the USA plane made an emergency landing at a Chinese airfield. China, thus, gained possession of the USA plane with its crew. Following this event, China required that the U.S., considered responsible for the crash, should apologize. Here, we need to mention that China considers its airspace to extend 200 miles off its coast, while international agreements (accepted by the USA) specify 12 miles. The USA expressed its regret, but China still insisted on an apology. Taking into account that, in general, a party (USA) should apologize to another party (China) when departures from standards and norms caused by actions of the party (USA) resulted in negative effects to the other party (China). However, when there is a disagreement about standards, departures, actions, causes and negative effects, other possibilities allowing for flexibility must be sought for. In the given problem, the USA reconciliation statement, as expressed in the English and Chinese languages, could be flexible enough for each side to interpret the statement as acceptable, i.e. for China the statement serving as a USA apology and for the USA as regret.

Reading the above text we can deduct the following information regarding the USA negotiation process:

USA has three options when negotiating at a defensive stance. The first one is to express regret (clear meaning), the second is to express regret that can also be taken as an apology by its counterpart, and, the third is to express a clear apology. Each of these options is valid unless it has been rejected by its counterpart. The first is preferred over the two others. The second is preferred over the third except in the case of a violation of norms, where the third is preferred. Even in that scenario, however, if there is a disagreement on whether we have a violation of norms then the second is preferred over the third.

Defining the Options

The first task of SoDA is to identify the options. In our case we model the

  • propose(regret_yihan)
  • propose(regret_baoqian)
  • propose(apology_baoqian)

All are complementary to each other. Moreover, since there is a case where they are not valid we also have their negations:

  • not propose(regret_yihan)
  • not propose(regret_baoqian)
  • not propose(apology_baoqian)

Figure 1 shows a screenshot of the Gorgias-B tool and the Options view with the above information inserted. The figure shows how the user can insert the propose(apology_baoqian) option and its negation at the same time. The user writes the option predicate and in the next text box its parameter and checks the box to add its negation. Then, the user adds the option(s) by clicking the Create Option button. After the options have been created the user can define the conflicts on the right hand side of the dialog. He selects pairs of options that are conflicting. In the figure the propose(regret_yihan) and propose(apology_baoqian) are selected. Then the user clicks the Add button to define the conflict. Note that two conflicts are inserted each time the button is pressed (the first option conflicts with the second and vice-versa, this is Gorgias-specific setting).

Figure 1. Defining the options

The options view

Identify Knowledge

The next SoDA task is to identify the knowledge related with the decision making process. The user does this by taking a careful look at the requirements:

?unless it has been rejected by its counterpart. ? for saving face, ? in the case of a violation of norms?if there is a disagreement on ? violation of norms...

The following facts can influence the negotiation process:

  • goal(saving_face)
  • violation_of_norms
  • disagreement_on_violation
  • rejected(Proposal)

The latter does not drive the negotiation process as a context, it is used to invalidate an option at the start of the process. The user must order the first three circumstantial facts from general to specific. In this case:

  1. goal(saving_face), violation_of_norms
  2. disagreement_on_violation

I.e. we can have the goal of saving face regardless on whether there is a violation of norms. However, the disagreement on violation can only take place as a specific context of the violation of norms. In Figure 2 the facts definition View is presented with the fact rejected(Proposal) having just been entered. If the predicate doesn't have a parameter the user just leaves the second text box empty.

Figure 2. Defining the facts

The facts view

Defining the Arguments

After defining the facts the user can go to the Arguments definition. This can be done either by clicking the Edit->Arguments menu, by pressing Alt-A on the keyboard or by clicking the Add Arguments for Options button on the Options View. To generate arguments the user must use non-circumstantial knowledge, in our case rejected(Proposal). In figure 3 the Arguments view for the USA policy is presented. All options are possible, however the rejected(Proposal) negates the propose(Proposal). See in the figure how the user has defined the last argument. At the combobox on the left-hand side the user has selected the not propose(apology_baoqian), then the user has selected at the predicates combo box the rejected/1 predicate (the /1 reminds the user that this predicate takes one parameter) and in the next text box the user inserts the grounded parameter apology_baoqian. The user clicks Add Predicate and then can inspect the current argument above the list box. The user can add as many predicates and expressions as desired. Now this predicate is enough, the user likes the argument and by clicking the Add argument button adds it to the list of arguments.

Figure 3. Defining the arguments

The Arguments view

Arguing - Resolving Conflicts

By clicking the Resolve Conflicts button on the Arguments view (or the Edit-Argue menu or by pressing Alt-U) the user opens the Argue dialog (see figure 4). There all possible scenarios based on the arguments are presented numbered in a combo box. The user selects the scenaria and assigns preferences over the conflicting options. E.g. in the general scenario #4 the conflicting options are propose(regret_baoqian) and propose(apology_baoqian).

From the requirements the user reads:

  • ? the same holds (prefer) for the second over the third,
  • except in the case of a violation of norms, where the third is preferred (over the second)...

The user defines these two preferences. For the second, the user selects the second and adds the predicate violation_of_norms and then by clicking the Add model button adds the preference:

When [violation_of_norms] prefer propose(apology_baoqian) over propose(regret_baoqian)

Figure 4. Arguing at the second level

The argue view (2nd level)

By clicking the level of arguing 3 at the combo box on the top of the Argue View the user goes to a next level. There all possible scenarios based on the previous level preferences are presented numbered in the combo box. Again, the user selects the scenaria and assigns preferences over the conflicting options. E.g. in the goal(saving_face), violation_of_norms scenario #1 (the one coming from the combination of the contexts defined in the previous level - the ones presented in figure 4) the conflicting options are propose(regret_baoqian) and propose(apology_baoqian).

From the requirements the user reads:

  • ? except in the case of a violation of norms, where the third is preferred.
  • Even in that scenario, however, if there is a disagreement on whether we have a violation of norms then the second is preferred over the third.

The user defines these two preferences. For the first, the user selects the second and adds the predicate disagreement_on_violation and then clicks the Add model button (see figure 5).

Figure 5. Arguing at the third level

The argue view (3rd level)

The fourth level is easy, just add priority to the specific context of disagreement_on_violation. Figure 6 shows the view.

Figure 6. Arguing at the fourth level

The argue view (4th level)

Testing the decision policy

After defining the decision policy, the user can verify its properties by defining scenarios and checking the system functionality (through the menu Run->Execute or pressing Alt-E).

Let?s try a scenario where: goal(saving_face), violation_of_norms, disagreement_on_violation all hold. Using the combo box and text box at the top of the view along with the Add fact button the user can add as many facts as desired. Then, as all our options just contain grounded terms we can try to Explore all options. The output is presented in figure 7.

Figure 7. Executing a scenario

The execution view

Now let?s consider the fact that the Chinese rejected the regret yihan announcement. In the scenario we add a new fact: rejected(regret_yihan). Now the regret baoqian option is the only one with an argument (see figure 8).

Figure 8. Executing a refined scenario

The execution view

Download files

You can download this tutorial's file from the following link:

Then, start Gorgias-B and select File->Import Gorgias File and open the file. The file assumes that you have unzipped the Gorgias-B system in C:\ and that you stored the downloaded files in the C:\GorgiasB folder. If something is different in your system then, after importing the Gorgias file, select File->Gorgias Lib Folder and select the gorgias-src-0.6d folder (it is located in the GorgiasB installation folder). Now you are ready to work with this project...

Resources - Relevant papers and booksTop of Page

  • Fraser, N., Hipel, K.: Conflict analysis: models and resolutions. North-Holland series in system science and engineering, North-Holland (1984)
  • Shakun, M.F.: Modeling and supporting task-oriented group processes: Purposeful complex adaptive systems and evolutionary systems design. Group Decision and Negotiation 5(4), 305?317 (1996),
  • Shakun, M.F.: United states?china plane collision negotiation. Group Decision and Negotiation 12(6), 477?480 (2003),
  • Spanoudakis N., Kakas A.C., Moraitis P.: Conflicts Resolution with the SoDA Methodology. In the 2nd International Workshop on Conflict Resolution in Decision Making (COREDEMA 2016), held in conjunction with ECAI 2016, The Hague, Holland, 29 Aug, 2016