[PromiseBook] / trunk / chap_influencecoop.tex Repository:
ViewVC logotype

View of /trunk/chap_influencecoop.tex

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1 - (download) (as text) (annotate)
Wed Jan 19 20:20:17 2011 UTC (2 years, 4 months ago) by mark
File size: 33384 byte(s)
Initial import


\chapter{Promise Mechanics}\label{coordination}

Having considered the elementary properties of $\mu$-promises, the
next step is to consider how patterns of such promises can be studied
for practical application. We refer to this as `promise mechanics', by
straightforward extension of the physics of bodies.  The mechanics of
a system of agents may be divided into three parts:

\begin{itemize}
\item {\em Statics}: the study of equilibrium configurations of agents.
\item {\em Kinematics}: analysis of change and other phenomena in agents.
\item {\em Dynamics}: the study of change in relation to external influences.
\end{itemize}
In this chapter we begin with statics, and we proceed with the latter in
subsequent chapters.


\section{Collective behaviour}

To make predictions about a system, i.e. discern its probable
behaviour we need to know the promises made by its component
parts. The extent to which a system behaves in a collective manner or
as independent agents is about the existence of promises to direct
their activities in a coordinated manner.  Two kinds of collective
behaviour receive special interest:

\begin{definition}[Coordinated behaviour]
Agents are said to exhibit coordinated behaviour if 
they make promises to one another.
\end{definition}
Coordination need not imply a correlation between agents, 
only that they have made their intentions known to one another.
For example, the two promises `I will do the shopping' and `I will watch the kids'
are coordinated promises that are uncorrelated.

Cooperation implies more than coordination. It is a form
of programming towards a single collective goal.

\begin{definition}[Cooperative behaviour]
Two agents are said to engage in cooperative behaviour if each agent
makes promises to other agents (possibly each other) that contribute
to a common outcome.
\end{definition}
Cooperative behaviour includes, of course, `non-cooperative' behaviour.
Agents that work together towards a common goal will therefore exhibit
coordinated cooperative behaviour.

It is not always a simple matter for an observer to distinguish
coordinated behaviour from cooperative behaviour, if the observer does
not have access to the underlying promises. We shall argue that this
is the origin of so-called `emergent behaviour' in chapter
\ref{chap_force}. The ability to distinguish behaviour through
observation will eventually play an important role understanding
systems with real and apparent promises.

\section{Goals, or special intentions}

When agents work together, one often speaks about the goal of their
activities, implying an alignment of purpose.  The term goal is not
significantly different from an `intention', indeed there is no reason
to inflate the terminology with a new concept. Just as commitments are
merely promises that an agent has singled out as being deserving of a
special name due to a sense of priority, so goals are special
intentions that may or may not have been made public. When agents work
together, they might or might not share the same goals, even if they
make the same promises.

\begin{definition}[Goal]
A goal is an intention with special significance to the agent that maintains is.
\end{definition}
The idea of a goal brings back the issue of value judgement, or
how an agent singles out particular promises as being special.
We return to this issue more fully in chapter
\ref{chap_value}.
In short, if a goal is met, i.e. the intention was realised with a
positive outcome, then it can be said to yield positive value to an
agent.  There is thus a simple numerical or economic approach to
the identification of special intentions.


\section{The laws of promise composition}\label{compose}


\subsection{Multiple promises by a single agent}
Promise bodies are defined mathematically in terms of sets.  This
allows for a very general formulation of micropromises, and rather
simple laws of composition by direct sum. Put simply, the promise
bodies of promises between a single pair of agents combine by adding
directly together. Moreover, any repetition in the bodies from multiple
promises is only counted once, in virtue of rule \ref{idemp}.

\begin{law}[Composition of promises between identical agents]
Let $b_1$ and $b_2$ be the bodies of two promises between
two ensembles of agents $\{ A \}_1$ and $\{ A \}_2$.
Then, in virtue of the assumed body semantics, and idempotence of micro-promises:
\beq
\frac{
\frac
{
A_1 \promise{b_1} A_2 \with ~A_1 \promise{b_2} A_2
}
{
A_1 \promise{b_1 \with b_2} A_2
}
}
{
A_1 \promise{b_1 \union b_2} A_2
}
\eeq
\end{law}
The proof of this followed trivially from the set nature of the bodies.
To make this explicit, we write the promise body $\pi
= \langle \tau,\chi\rangle$ and consider how these parameters combine.
We can now form trivial bundles of promises between a single pair of agents by union.
\beq
\frac{A_1 \promise{b_1} A_2 \with A_1 \promise{b_2} A_2 \with \ldots A_1 \promise{b_N} A_2}
{A_1 \promise{b_1 \union b_2 \union \ldots b_N} A_2}
\eeq
and 
\beq
b_1 \union b_2 = \langle \tau_1\union\tau_2 , \chi_1\union \chi_2\rangle
\eeq
The types $\tau$ may overlap here.


\subsection{Ensemble promises}
We can compose {\em bundles} of promises by union of the promisers
into an ensemble.
\beq
A_1 \promise{\pi} \{ n \}\nonumber\\
\{ n \} \promise{\pi} A_1\nonumber\\
\eeq
This means a promise from one agent to every member of a ensemble and vice versa.
\beq
\{ n \}_1 \promise{\pi} \{ n \}_2
\eeq
This means a promise from every agent in one ensemble to every agent in another.
We can write
\beq
\odot( \{ n \}_1) \promise{\pi} \odot( \{ A_2\} )
\eeq
to mean one agent from the ensemble $\{A_1\}$ makes a promise to one agent from
the ensemble $\{ A_2\}$.




\section{Bindings}

Suppose one agent promises $\tau_1,\chi_1$ but the recipient of the promise
accepts only $\tau_2,\chi_2$. The transferred effect of the promise binding
is then given by the overlap or intersection of what is offered and what is
accepted:
\beq
\frac{a \promise{\langle \tau_1,\chi_1 \rangle} b , a \promise{U(\langle \tau_2,\chi_2\rangle)} b}
{a \promise{(\langle \tau_1\cap\tau_2,\chi_1\cap\chi_2\rangle=\langle \tau_1,\chi_1\rangle) } b}
\eeq
Or, put another way
\beq
\frac{a \promise{\langle \tau_1,\chi_1 \rangle} b , a \promise{U(\langle \tau_2,\chi_2\rangle)} b}
{a \promise{ (\langle \tau_1\subseteq \tau_2,\chi_1\subseteq\chi_2\rangle } b}
\eeq
The implied semantics here are to say that a conditional promise is
kept if {\em at least} the condition is kept. i.e. we don't need an
exact match, since the condition is an enabler, not a constraint.

A binding or handshake may be described by the asymmetric notation
$A_1 \handshake{b} A_2$, which is an irreversible replacement rule
defined as follows.
\beq
\frac{A_1 \promise{\langle \tau_1,\chi_1 \rangle} A_2 , 
      A_2 \promise{U(\langle \tau_2,\chi_2\rangle)} A_1}
{A_1 \handshake{ \langle \tau_1\subseteq \tau_2,\chi_1\subseteq\chi_2\rangle } A_2}
\eeq
The arrow implies that the promise of something is being offered from $A_1$ to $A_2$
and there is acceptance in the opposite direction\endnote{One might want to call this
construction an interface\cite{bergstra1}.}.

The implied semantics here are to say that a conditional promise is
kept if {\em at least} the condition is kept. i.e. we don't need an
exact match, since the condition is an enabler, not a constraint.

What if the use-promise does not match the conditional promise?
Then the promise is still conditional unless the condition is met, i.e. the
intersection of the guarantee and the condition includes the full condition.




\section{Assessable promises with conditions attached}

Not all promises are made without attached conditions. For instance,
we might promise to pay for something `cash on delivery', i.e. only
after a promised item has been received. Such promises will be of
central importance in discussing processes and trading later in this
book. The truth or falsity of a condition $C$ may be promised by an agent
that is able to assess the condition as
follows.
\beq
A_1 \promise{{\rm T}(C)} A_2
\eeq
is a promise from $A_1$ to $A_2$ of accurate information that the condition $C$ holds.  
Similarly, 
\beq
A_1 \promise{{\rm F}(C)} A_2
\eeq
is a promise from $A_1$ to $A_2$ of accurate information that the condition $C$ is false.  

A promise with body $b$ made conditionally on such a Boolean condition
$C$ is now written in a notation reminiscent of conditional probabilities, as:
\beq
A_1 \promise{b|C} A_2.
\eeq
Moreover, since the condition is merely a promise itself, 
we can generalize this notion of conditionals to include any kind of promise
that must be kept to satisfy the pre-requisite.
\begin{definition}[Conditional promise]
Let $b$ be the promise body, and $X$ be a pre-requisite promise must
be kept before $b$ can be kept, then we denote the promise of $b$
given $X$ also by
\beq
A_1 \promise{b|X} A_2.
\eeq
\end{definition}



\subsection{The Laws of Conditional Assistance}\label{assistance}

To make conditional promises work in an intuitive way, we need some
basic assumptions. We assert that a promise that is made conditionally
is not an assessable promise, unless the condition that predicates has
also been promised. Further, a conditional promise is exactly `empty'
if it is predicated on something that is known to be false. Any other
case simply cannot be assessed and is hence null-potent.
These are rules of logic that complete the rules of set composition.

\begin{myrule}[Exact quenching of conditionals]
In a promise made conditionally on $C$, promising simultaneously the the truth of condition
leads to an unconditional promise of the full magnitude:
\beq
\frac{
A_1 \promise{b|C} A_2, ~
A_1 \promise{{\rm T}(C)} A_2
}
{
A_1 \promise{b} A_2
}
\eeq
Conversely, when the condition is false, the remaining promise is rendered empty:
\beq
\frac{
A_1 \promise{b|C} A_2, ~
A_1 \promise{{\rm F}(C)} A_2
}
{
A_1 \promise{\emptyset} A_2
}
\eeq
\end{myrule}
Note that, since promising $T(C)$ and promising $b$ are two different
types of promise, this rule does not follow directly by the normal set algebra
in section \ref{compose}.  We must deduce it from the fact that both of these
promises are: (i) made to and from the same set of agents, and therefore (ii)
calibrated to the same standards of trustworthiness. Thus, logically we must define
it to be so.


We can generalize these results for promises of a more general nature,
by the following rules.

\begin{myrule}[Exact quenching of pre-requisite]
If a promise with body $S$ is provided subject to the provision of
a pre-requisite promise $X$, then the provision of the pre-requisite by
the same agent is logically equivalent to the unconditional promise being made:
\beq
\frac{A_1 \promise{S|X} A_2 \with A_1 \promise{+X} A_2}
{A_1 \promise{S} A_2}
\eeq
Indeed, we define this to be an identity:
\beq
A_1 \promise{S} A_2 \equiv
A_1 \promise{S|X} A_2 \with A_1 \promise{+X} A_2
\eeq
\end{myrule}
This gives us a rewriting rule for promises made by a single agent in the promise graph.
The $+$ is used to emphasize that $X$ is being offered, and to contrast this with the next
case.

Consider now the first case in which one agent assists another in
keeping a promise. According to our axioms, an agent can only promise
its own behaviour, not that of other agents, thus the promise
basically comes from the principal agent, not the assistant, which
might not even be known to the final promisee\endnote{When a
conditional promise is made and quenched by an assistant, the
`contact' agent is directly responsible by default. We shall refine
this view with alternative semantics later, since this is all a matter
of managing the uncertainty of the promise being kept. As soon as we
allow rewriting rules of this basic type, it is possible to support
multiple solutions for bringing certainty with graded levels of
complexity.}.  Assistance is purley a matter of voluntary cooperation
on the part of the tertiary agent.

Once again, we cannot derive the following, we merely define it to be so:
\begin{myrule}[Assisted quenching of pre-requisites]\label{assistedquench}
If a promise with body $S$ is provided subject to the provision of
a pre-requisite promise $X$, then the provision of the pre-requisite by
an assistant is acceptable if and only iff the principal promiser also promises
to acquire the service $X$ from an assistant (promise labelled $-X$):
\beq
A_1 \promise{S} A_2 \sim
A_3 \promise{+X} A_1,
A_1 \promise{S|X} A_2 \with A_1 \promise{-U(X)} A_2
\eeq
\end{myrule}
We refer to this as an {\em assisted promise}. The principal $A_1$ promises both
that it will keep $S$ provided $X$ is given, and that it will both procure and use $X$.
Then to complete the picture, a third party $A_3$ must provide $X$ to $A_1$.

This gives us another rewriting rule, though not a true equivalence this time, because
there is the introduction of a third party, whose skills and
properties are not known by the agent $A$. However, we can define it to be thus,
understanding that the responsibility
belongs with agent $A_1$ if $A_3$ does not deliver.

Henceforth, for brevity, we define the notation:
\beq
A_1 \promise{S|X} A_2 \with A_1 \promise{-U(X)} A_2
\equiv A_1 \promise{S(X)} A_2.
\eeq


\subsection{Chaining promises - intermediaries and logistics}

Promise chains are sequences of agents that assist one another in the
keeping of a promise. Promise chains are important in workflow
processes and end-to-end delivery problems such as data transmission.
As we can already see from the foregoing sections, assisted promises
are non-trivial. There is a whole spectrum of achievable levels of
certainty depending on how many promises we can obtain from the different
parts of the chain. We return to this issue in section \ref{workflow}.

\subsection{Transitivity of promises}

Promises are not transitive in general, but agreement is transitive.

Describe the approach to 

\subsection{Transmission and distortion of information}

As an addendum, we note that whenever an intermediate agent
handles information and passes it on, in the manner of a relay,
the integrity of the information cannot be guaranteed. This follows
from the autonomy of the agents. Basically, no other agent is necessarily
privy to what other promises this agent might have made. Only
a promise of direct communication with the course can provide
certainty in data transmission.
Refer to section \ref{integrity} for more on this.



\section{Coordinated behaviour}\label{coordinated}

We have established that when autonomous agents make promises, they do
so without any {\em a priori} regard for one another. Their promises
do not have any notion of global consistency, nor form a complementary
whole.  This is both the advantage and the price of autonomy. For
management, we are interested in understanding what promises are
needed to make nodes behave according to a standard. To understand the
incentives for promising something standard we must look at the economics of
the network\cite{siri2}. For the time being, however, we shall merely
assume that coordination is a desirable property between such agents
and we seek a mechanism for allowing agent nodes to agree without
violating the assumption of autonomy.

The meaning of coordination is to be observably similar to a third party.
Consider the three nodes in fig. \ref{pserial}. 
\begin{figure}[ht]
\begin{center}
\includegraphics[width=4cm]{figs/serial1}
%\psfig{file=serial.eps,width=4.5cm}
\caption{Serial composition of promise and subordination, leads to
limited transitivity. The dashed arrow is implied by the $C(b)$ promise.\label{pserial}}
\end{center}
\end{figure}
On the surface, a
promise made by node $A_2$ to node $A_3$ does not imply any constraint or
information about a promise from node $A_1$ to node $A_3$: the nodes are
autonomous. But, what if we introduce an additional promise from $A_1$
to $A_2$? Then, we can ask node $A_1$ to coordinate with node $A_2$ about its
behaviour towards $A_3$. This requires additional promises.
We shall often use a shorthand notation for a {\em coordination} (or
subordination) promise, denoting its body $C(b)$. This is the promise to do the
same as another agent with respect to a promise body $b$. This is not
a primitive type, but we denote it by the shorthand:
\beq
A_1 \promise{C(b)} A_2
\eeq
This means that $A_2$ informs $A_1$ about its 
promises of type $b$, and the receipt and usage of that information
by $A_1$. This promise is a subordination for the agent because $A_1$ is
willingly giving up its autonomy in the matter of $b$ by agreeing to
follow $A_2$'s lead. We might call this a `slave' promise.


\bigskip
\begin{definition}[Coordination/subordination promise]
Let $\psi(b)$ mean `knowledge about the promises with body $b$.
We define the coordination promise:
\beq
\left.
A_1 \promise{C(b)} A_2 ~\equiv ~ 
\right\lbrace
\begin{array}{c}
A_2 \promise{+\psi(b)} A_1\\
A_1 \promise{-\psi(b)} A_2\\
A_1 \promise{\Upsilon(b)} A_2\\
\end{array}
\eeq
The slave agent promises to do the same as the master agent.
This requires the master node to inform the slave of its intentions
and for the slave to agree to comply with these.
\end{definition}
\bigskip
Notice that, by agreeing to follow another agent's promises, this is
also a voluntary subordination of the agent. It is not an obligation, 
because the promise can easily be withdrawn, but it is as close as we
can get voluntarily.

We may now write an equivalent promise for the case in which $A_1$ promises
$A_2$ that it will coordinate on the matter of $b$, given that
$A_2$ promises $A_3$ $b$, and we use the symbol ``$\with$'', as above, to signify
the composition of these promises.
\beq
\underbrace{\stackrel{C(b)}{A_1 \rightarrow A_2}}_{\rm `Coordinate~ with'} \with \underbrace{\stackrel{b}{A_2\rightarrow A_3}}_{\rm Promise}~~ \Rightarrow ~~\stackrel{b}{A_1\rightarrow A_3}.\label{pxx}
\eeq
This allows us to deduce something about a `global consistency' of
interaction with a third-party, such as might be observed by an
external observer of the agents with global knowledge. We see that
this combination of promises implies that there ought logically to be
a promise of type $b$ from $A_1$ to $A_3$.  It has the appearence of
transitivity, but it is more subtle. In this example, we have one agent
following the other. If the first agent changes its mind, then both
promises can drift together like a `swarm'\cite{siriAIMS1}.
To remove this privileged leadership, we can symmetrize the promises
(fig \ref{mm}):

\begin{figure}[ht]
\begin{center}
\includegraphics[width=4cm]{figs/coop2}
%\psfig{file=coop2.eps,width=4cm}
\caption{Coordination and the use of third parties to measure the equivalence of agent-nodes in a region. Agents form groups and roles by agreeing to coordinate policy.\label{mm}}
\end{center}
\end{figure}

If two nodes pledge their promise to an external party (a form of
allegiance), then they have made an implicit agreement with one
another also, which binds them together. This result is important for
seeing the actual groupings of roles and structures in a policy graph
(see proof in appendix).

A complete structure, using the shorthand cooperative notation, looks like this:
\begin{itemize}
\item $A_1$ promises $p$ to $A_3$.
\item $A_2$ promises $A_1$ to collaborate about $p$ (denote this as a promise $C(p)$).
\item $A_1$ promises $A_2$ to collaborate about $p$ (denote this as a promise $C(p)$).
\item $A_2$ promises $p$ to $A_3$
\end{itemize}
The cooperation promise will turn out to be an importance point of contact
with the theory of games and voluntary cooperation\cite{axelrod1,axelrod2};
this is discussed in a separate paper\cite{siri2}.




\section{Subordination and autonomy}

Subordination is a partial ordering on agents. Define the ordering operator
\beq
A <_{\rm sub} B
\eeq
meaning that agent $A$ is subordinate to agent $B$. Then,
\beq
A &<_{\rm sub}& B ~ \rightarrow ~ A \not= B\\
A &\le_{\rm sub}& B ~ \iff ~ (A=B) \AND (A <_{\rm sub} B)\\
A &\not <_{\rm sub}& A
\eeq
And agent $A$ is autonomous if it is the maximal element in this ranking, i.e.
an arbitrary agent $a$ satisfies
$\forall a: a \le_{\rm sub} A$.

\begin{figure}[ht]
\begin{center}
\includegraphics[width=8cm]{figs/oblig.pdf}
%\psfig{file=oblig.eps,width=8cm}
\caption{Voluntarily simulated obligation.\label{ob1}}
\end{center}
\end{figure}

An agent cannot voluntarily give up its autonomy, since it is free to revoke such
a promise, but we can easily simulate subordination voluntarily.

\begin{definition}[Subordination promise]
The so-called coordination promise introduces a voluntary obligation by giving
up autonomy in the matter of a promise body $\pi = \langle\tau,\chi\rangle$.
We already have a way of making something like an obligation in
the promise theory. This is a limited undestanding of an obligation
within the promise framework. Let $A$ be an authority and $a,C$ be
agents.
\beq
\frac{a \promise{C(\pi)} A \with A \promise{\pi} C}
{a \promise{O(\pi)} C}
\eeq
Then by subordinating to $A$'s wishes, $a$ becomes obliged to promise $\pi$ 
to $C$. However, $a \not<_{\rm sub} C$.
\end{definition}



\subsection{Obligations}

Obligations are `deontic' modal statements like: X must comply with Y, A should
do B, C is allowed to do D, and so on. They assume that one can force
a system to bow down to a decision made externally.
Obligations can lead to pitfalls and complications in modelling
as they lead to distributed inconsistency (see chapter \ref{chap_intro}).

Obligations are imposed on an agent from outside, i.e. by exteral agents.
Autonomous agents are, by definition, never obliged to do anything
they have not decided for themselves. To accept an obligation, an
autonomous agent must sacrifice some of its autonomy. This assumes the
existence of an {\em authority}.

\begin{assume}[Obligation requires three parties]
There are three agents involved in an obligation: an agent imposing
the obligation (an authority), and agent that is obliged to promise
something to another and an agent and the receiving agent.
\end{assume}

For example, the law obliges me to promise not to steal from you.
We would like to avoid the notion of obligation, since it is
problematic.  Obligations to an agent could be made from many
distributed locations, so consistency is unlikely. Each agent's
promises are all made in one place, so inconsistencies are more easily uncovered.

We can use the same bodies to talk about obligations.
\beq
a \promise{O: b} c
\eeq
means that $a$ is obliged to comply with $b$ for $c$. How does this differ from
a promise?
\begin{itemize}
\item $a$ might not know about an obligation, but it is always aware of its promises.
\item $c$ might not know about the obligation.
\item An obligation comes from a different agent than the one obliged.
\item An obligation cannot be withdrawn by $a$, nor was it declared by $a$.
\end{itemize}

We might want to compare something like the following rule, as a
simulation of an obligation (see fig \ref{ob1}).
\beq
\frac{a \promise{\pi \not\in K} b}{a \promise{O(\pi)} b}
\eeq
where $O(\pi)$ is an implicit self-imposed obligation derived from the
voluntary promise.  i.e. any promise that is not automatically kept
places a voluntary `obligation' on the promiser. This is not the most
general idea of an obligation, because it doesn't show how autonomy is
sacrified. It applies in the sense that the obligation was imposed by
oneself, and since this is both redundant and does not enhance our
discussion of promises we shall not discuss this further.



\section{Orchestration, subordination and coordination}

This is where one agent agrees to follow the lead (orders) of another...
This is not a fundamental promise type -- we can make it from
give/take promises. But it is convenient shorthand.

\begin{figure}[ht]
\begin{center}
\includegraphics[width=10cm]{figs/subord}
%\psfig{file=subord.eps,width=12cm}
\caption{\small A coordination promise (implying a subordination) implies a promise from one agent
to another (dotted line). If coordination promises do not agree with actual promises, then we see this
as a broken promise from the agent $b$.\label{subord}}
\end{center}
\end{figure}

See fig. \ref{subord}. When an agent promises to follow another
agent's example, it can optionally limit its compliance.  Suppose an
agent sets an example by promising:
\beq
a \promise{\pi=\langle \tau_1,\chi_1 \rangle} c
\eeq
A second agent $b$ can promise to follow $a$ using a coordination promise $C(\langle\tau,\chi\rangle)$:
\beq
b \promise{\langle \tau_1,\chi_1 \rangle} a
\eeq
which would have the immediate consequence:
\beq
\frac{a \promise{\langle \tau_1,\chi_1 \rangle} c , b \promise{C(\langle \tau_1,\chi_1\rangle)} a}
{b \promise{\langle \tau_1,\chi_1\rangle } c}
\eeq
This is one of the few examples of transitivity in promise theory.
But what if agent $b$ does not entirely agree to follow agent $a$? He
wishes to retain some control, or set his own limits. Then the
resulting implied promise is an intersection:
\beq
\frac{a \promise{\langle \tau_1,\chi_1 \rangle} c , b \promise{C(\langle \tau_2,\chi_2\rangle)} a}
{b \promise{\langle \tau_1\cap \tau_2,\chi_1\cap\chi_2\rangle } c}
\eeq
If the agent should further wish to deviate from this by promising an
amount that deviates from this intersection, then the implied promise
would combine with that promise to form a broken promise:
\beq
\frac{b \promise{\pi_1 \cap \pi_2 } c ,
b \promise{\pi_3 } c}
{\rm Broken~promise: \pi_1\cap\pi_2 \not=\pi_3}
\eeq
Or in fig. \ref{subord} notation:
\beq
\frac{b \promise{\pi \cap \Pi } c ,
b \promise{\rho } c}
{\rm Broken~promise: \pi\cap\Pi \not=\rho}
\eeq










\section{Cooperation}

Consider a simple model of interaction that we shall return to
throughout the book.  Cooperation implies that agents coordinate
their promises for mutual gain. Cooperation is thus more than
coordination: it has an economic basis.

\subsection{The economic motivation for cooperation}

Suppose the goal of an agent (such as a business) is to deliver a
service $S$ in exchange for some form of remuneration. The exact
nature of the service is unimportant, e.g. delivery of a physical
product, provision of information, etc); similarly, the exact nature
of remuneration could be money transfer, exchange of goods, or even
profit of something more abstract like ``goodwill''. The important
feature is a trade of value that creates a binding\endnote{In physics
the bindings are motivated by energy considerations. Energy is the economic
currency of physics.}.

The simplest way to model this kind of interaction is view it as two
promises, back to back: a promise to provide a service and a promise
to pay.  In fact, most parties will only make promises on the
condition that they are promised something in return (see fig
\ref{if1}), so we can add the notion of conditionals also. This will
have considerable consequences for the complexity of the agreements
between the parts of the business.

\begin{figure}[ht]
\begin{center}
\includegraphics{figs/BM}
%\epsfig{file=BM.eps,width=4cm}
\caption{A simple business relationship with a client: the business provides
a service if money is promised, the customer promises money if service is
promised.\label{if1}}
\end{center}
\end{figure}
In the basic configuration, $A$ promises $B$ the service $S$ if it
receives money $M$, and $B$ promises $A$ money $M$ if it receives
service $S$. This of course results in deadlock which we shall return to
at the end of this chapter. Assuming that this deadlock is broken, i.e.
that one of the agents begins by keeping its promise, this loop becomes a
valuable economic cooperation.

\subsection{Cooperation defined as goal alignment}

We may define cooperation to be the keeping of promises that support
or align with the goal of keeping this economic relationship in
place. What does it mean for agents to align with a goal to provide
$S$? We may assume that the agent $B$ has the goal of providing the
service $S$, and as the originator of this goal, thus it is aligned
with it by definition, but what about other cooperating agents? To
more general cooperation, we may introduce an intermediate agent $I$ in the
execution of the service.

We can display this as the workflow diagram shown by the dotted lines
in fig
\ref{intermediate}.  The business $B$ would like to provide service
$S$ to its customer $C$; in actuality this requires the help of
intermediary $I$. The cooperation of this agent $I$ must lead to value
if it is aligned with the goal of delivering $S$.  Goals can be
considered promises that that yield positive value to an agent in any
abstract currency.

It is unimportant to whom goal promises are made, or even what the
currency of remuneration is. For a business, some of them are promises to business
associations, some are perhaps promises to self or to society at
large.  Others might be promises to the law courts, or whatever
representative agent is the considered custodian of litigious
correctness. All that is important from the viewpoint of promise
theory is that the `business agent' is linked to some other agent by
such a promise, and that the business agent itself places a value on
that promise, whether it be coming or going, positive or negative.


\begin{figure}[ht]
\begin{center}
\includegraphics{figs/intermediate}
%\epsfig{file=intermediate.eps,width=8cm}
\caption{Inserting an intermediate agent into a business process. The dotted
lines show a work flow path. The arc shows a promise the business
would like to make to the end customer -- but promise theory says that
it cannot if it does not have direct contact.\label{intermediate}}
\end{center}
\end{figure}
The flow of work must now proceed through a
chain of intermediary promises that includes the agent $I$.
From the perspective of promises, an intermediate agent's alignment
will be judged by the agent $B$ if it keeps a promise
that confers value to $B$'s service promise.

\begin{itemize}
\item A promise might be a ``make or break'' i.e. an {\em enabler} without which the service $S$ cannot be provided.
\beq
I \promise{\rho} B \promise{S/\rho} C
\eeq
By promising to provide $\rho$, $I$ aligns with $B$'s promised goal to provide service $S$.

\item A promise is more often an {\em effector} or amplifier which parametrically increases business result.
\beq
I \promise{\rho} B \promise{S(\rho)/\rho} C
\eeq
By promising to provide $\rho$, $I$ aligns with $B$'s promised goal to improve service $S$.

\item Any miscellaneous promise is aligned with business goal if it confers a positive value to the business agent $B$
according to its own judgment.
\beq
v_B\left({\rm Any} \promise{b} B\right) > 0.
\eeq
\end{itemize}

We may therefore conclude that cooperation is the keeping of a promise that
is viewed as valuable to another agent. A goal is a promise that brings value,
and alignment with a goal implies keeping a promise that supports the successful
keeping of the goal promise.


\section{Deadlock in conditional promises}\label{sb1}

\begin{definition}[Conditional promise to act]
A statement by an agent $A$ to another agent $A'$ that it has decided
to perform an action $a$ at some time after it learns the truth of a condition $c$.
\end{definition}

Suppose now that two agents are involved in a statement of willingness
to perform two independent actions $A_1$ and $A_2$ that are linked
through a conditional, namely that one is predicated by the
other. e.g. ``I am willing to perform $A_1$ if I get $A_2$''.  This
statement of willingness could also expressed ``If I get $A_2$, I am
willing to perform $A_1$''. There is no causal ordering in these
actions. The temporal ordering is symmetrical as far as the preference
of the agent is concerned.

To understand the scenario better, we can imagine that the agents are
bargaining and $A'$ says ``I am willing to perform $A_2$ if I get
$A_1$''. Even if the agents' turn these expressions of willingness
into promises, there is a conundrum.  The two agents express complete
symmetry and there can be no causal outcome.  In fact the situation is
a deadlock.

In order to break this deadlock, i.e. for something to happen, or for
a meaningful promise to be made, we have to break this symmetry. One
of the the agents must make an unconditional statement (promise) or
action, i.e. it must recind its condition and simply act. This then
allows the trade of promises to be made. We shall use this in chapter
\ref{chap_force} to explain time and deviation from equilibrium.

\begin{figure}[ht]
\begin{center}
\includegraphics{figs/BM}
%\epsfig{file=BM.eps,width=4cm}
\caption{A simple exchange of actions between agents results in a causal
symmetry. There is temporal equilibrium and the preferences are
balanced as long as the actions are valued by one another. This is the
basis of trade. One agent must concede its condition and act unconditionally
to set the initial condition that generates a causal evolution.\label{bm}}
\end{center}
\end{figure}
The occurrence of unconditional promises to act suggests that all
promises to act would begin with the expression of a conditional
promise, which then motivates an unconditional promise in return from
the counter-agent to release the preferred course of action.


\section{Entangled promises}

Correlated promises that preserve a global symmetry.



Administrator
ViewVC Help
Powered by ViewVC 1.0.3