From 3af9103010579fff01b9b48724c062b9a42a555c Mon Sep 17 00:00:00 2001 From: Andrew Date: Fri, 7 Mar 2025 10:43:39 +0000 Subject: [PATCH] [CT421]: Add WK08-1 lecture notes --- year4/semester2/CT421/notes/CT421.pdf | Bin 805174 -> 816239 bytes year4/semester2/CT421/notes/CT421.tex | 143 ++++++++++++++++++++++++++ 2 files changed, 143 insertions(+) diff --git a/year4/semester2/CT421/notes/CT421.pdf b/year4/semester2/CT421/notes/CT421.pdf index c0c2dce0f509146b43166e462a96a6d605a84a23..8a1dc3a4a3ea496960f1d5b40061a84ed43ed7f6 100644 GIT binary patch delta 34281 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%0A0s=Rh;ob`_N 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 FMhYT$MI!(J delta 23357 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

LytEp>u*i#8a`_aD?rQ?`{ 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 diff --git a/year4/semester2/CT421/notes/CT421.tex b/year4/semester2/CT421/notes/CT421.tex index 22811eee..f5758336 100644 --- a/year4/semester2/CT421/notes/CT421.tex +++ b/year4/semester2/CT421/notes/CT421.tex @@ -736,5 +736,148 @@ We sill have some problems though: \item In auctions, agents agree on a price; can we deal with more dimensions of negotiation? \end{itemize} +\section{Automated Negotiation} +\textbf{Negotiation} is a means for a group to arrive at an agreement. +It is a process of joint decision-making where parties with different preferences seek to reach a mutually acceptable solution. +It is a fundamental mechanism in multi-agent systems \& human society. +Negotiation research deals with three topics: +\begin{itemize} + \item Negotiation protocols; + \item Negotiation objects; \& + \item Agents' decision-making models. +\end{itemize} + +\subsection{Negotiation Protocols} +\textbf{Negotiation protocols} are a set of rules that govern the interaction: +\begin{itemize} + \item Includes the permitted type of participants; + \item Negotiation states; + \item Events that change states; + \item Actions of participants; + \item Rules for agreement formation; \& + \item Termination conditions. +\end{itemize} + +\subsection{Negotiation Objects} +\textbf{Negotiation objects} consist of a range of issues over which agreement must be reached. +Related issues include the type of operations on agreements and altering the structure of the negotiation. + +\subsection{Agents' Decision-Making Models} +The \textbf{agents' decision-making models} are influenced by protocol, the nature of the negotiation objects, \& the range of operations. +The relative importance of the components varies depending on the domain. + +\subsection{Domain Variation in Negotiation} +In some domains, the negotiation protocol is the dominant concern. +For example, in some auction settings, the best strategy for an agent is to bid to their true evaluation --- hence no strategic analysis is really required. +In other domains, the converse is true; +given the wide range of possibilities, there is no best technique for automated negotiation. + +\subsection{Negotiation as Distributed Search} +Negotiation can be viewed as a \textbf{distributed search} through a space of potential agreements; +the dimensionality \& topology of this space is determined by the structure of the negotiation object. +One could consider each attribute of the negotiation object to have a separate dimension associated with it. +As dimensions are added (or removed), the number of points of agreement may increase (or decrease). +Similarly, if an agent changes one of the values, it is moving from one point in the agreement space to another. +\\\\ +In a negotiation, participants are the active components that determine the direction of the search. +Initially, each agent will have a portion of the space in which it will be willing to make an agreement. +Also, agents will have some means to rate the points in the space. +Negotiation involves the agents suggesting points or spaces. + +\subsection{Minimal Negotiation Capabilities} +The \textbf{minimal negotiation capabilities} are: +\begin{itemize} + \item To propose some point of space as being acceptable; \& + \item To respond to such a proposal by indicating whether or not it is acceptable. +\end{itemize} + +A simple setting is a Dutch auction: +\begin{itemize} + \item One agent (the auctioneer) calls out prices. + \item If there is no signal of acceptance by an agent, then the auctioneer makes a new offer which it believes will be more acceptable. + \item The process repeats. +\end{itemize} + +If agents can only accept or reject offers, the negotiation will be very time-consuming \& inefficient. +The proposer is effectively picking points in the agreement space based on what it perceives \& hopes to stumble upon correct point. +For negotiation to be more efficient, the recipient needs to offer feedback. + +\subsection{Feedback in Negotiation} +\textbf{Feedback} can be a critique, or a counter-proposal. +A \textbf{critique} provides two forms of feedback: +it suggests constraints on issues, and indicates acceptation or rejection of particular negotiation issues. +The more information placed in the critique, the easier it is for the original agent to determine the boundaries of the agreement space. +\\\\ +A \textbf{counter-proposal} is a proposal that is more favourable to the sender, made in response to a previous proposal. +It can suggest amendments or additions, provides implicit information about preferences, and can significantly speed up the negotiation process. + +\subsection{Limitations of Simple Proposals} +Proposals, critiques, \& counter-proposals are mere statements of what the agents want; hence, the scope is confined. +Agents can't justify their negotiation stance or persuade one another to change the negotiation stance. +This leads to the idea of \textbf{argumentation-based negotiation}: allow agents to offer more information than available proposals, critiques, \& counter-proposals. + +\subsection{Approaches to Negotiation} +Approaches to reasoning in a negotiation setting can be loosely categorised as game-theoretic, heuristic, or argumentation-based. + +\subsubsection{Game-Theoretic Approach} +The \textbf{game-theoretic approach} can be applied in two manners: +\begin{itemize} + \item Designing appropriate protocols that will govern agent's interactions; \& + \item Design of a particular agent's strategy. +\end{itemize} + +Properties of the game-theoretic approach include: +\begin{itemize} + \item We usually assume that a rational agent will choose the best strategy; + \item Finding the best strategy can be computationally intractable; \& + \item Disadvantages include that it may be difficult to characterise agent's preferences with respect to all possible outcomes. +\end{itemize} + +\subsubsection{Heuristic Approach} +The \textbf{heuristic approach} seeks to search the negotiation space in a non-exhaustive fashion. +It produces good solutions rather than optimal solutions. +Disadvantages of the heuristic approach include: +\begin{itemize} + \item Sub-optimality: it adopts an approximate notion of rationality and does not fully examine the negotiation space; + \item Models need extensive analysis true simulation; \& + \item It is usually difficult to predict behaviour. +\end{itemize} + +\subsubsection{Argumentation-Based Approach} +In the \textbf{argumentation-based approach}, agents aim to persuade or change the opponent's ratings over the agreement space. +Additional information is provided in addition to proposals, etc., usually taking the form of: +\begin{itemize} + \item \textbf{Threats:} ``if you don't accept, I'll have to...''; + \item \textbf{Rewards:} ``if you accept this offer, in the future I'll...''; \& + \item \textbf{Appeals:} ``this is standard practice in our industry...''. +\end{itemize} + +\subsection{Extended Topics in Negotiation} +\subsubsection{Learning in Negotiation} +Agents can adapt strategies based on past interactions. +Types of learning: +\begin{itemize} + \item Learning opponent's preferences; + \item Learning effective negotiation strategies; \& + \item Learning from past negotiation outcomes. +\end{itemize} + +\subsubsection{Trust \& Reputation} +\textbf{Trust \& reputation} are critical when agreements must be enforced overtime. +\textbf{Trust} models help agents to decide with whom to negotiate. +\textbf{Reputation} systems aggregate experiences across multiple agents. +There are mechanisms for: +\begin{itemize} + \item Preventing reneging on agreements; + \item Handling deception in negotiation; \& + \item Building long-term relationships. +\end{itemize} + + + + + + + \end{document}