Skip to main content

Cooperation and Competition Kernel Model (Proposal)

Status

Proposal. This page describes a further generalization beyond the Feedback Kernel proposal. It is not yet an implemented canonical case study in the EvolvedCooperation repository.

This page extends the cooperation-only General Feedback Kernel proposal by adding routed negative effects and competition.

Why Another Proposal

The Feedback Kernel proposal generalizes Retained Benefit by replacing one retained-benefit fraction with a more flexible return operator for positive cooperative effects.

That is already a useful abstraction, but it still treats the routed object as positive benefit only.

The next step is broader:

allow actions to generate both positive and negative fitness-relevant effects, and route both through explicit kernels

That makes it possible to represent cooperation and competition within one shared formal framework.

Examples:

  • helping can create positive effects for others
  • exclusion can impose negative effects on rivals
  • territorial defense can benefit allies while harming competitors
  • predatory or antagonistic actions can create mixed positive and negative downstream consequences

So this proposal is not just a more general cooperation model. It is a more general interaction model.

Core Idea

The basic chain becomes:

actionproduced positive/negative effectsrouted effectsfitness\text{action} \rightarrow \text{produced positive/negative effects} \rightarrow \text{routed effects} \rightarrow \text{fitness}

The key design choice is:

K+0,K0K^{+} \ge 0,\qquad K^{-} \ge 0

That is, the model uses two nonnegative kernels rather than one signed kernel.

Interpretation:

  • K+K^{+} routes positive effects
  • KK^{-} routes negative effects

This is cleaner than one signed kernel because it avoids cancellation inside a single operator and keeps normalization easier to interpret.

General Equations

Let agent jj take action aj(t)a_j(t) at time tt.

That action may produce both:

Bj+(t)0B_j^{+}(t) \ge 0

and

Bj(t)0B_j^{-}(t) \ge 0

where:

  • Bj+(t)B_j^{+}(t) is the positive, fitness-relevant output generated by the action of agent jj
  • Bj(t)B_j^{-}(t) is the negative, fitness-relevant output generated by the action of agent jj

Those effects are then routed separately:

Ri+(t)=jτ0Kji+(τ,Xt)Bj+(tτ)R_i^{+}(t) = \sum_j \sum_{\tau \ge 0} K^{+}_{j \to i}(\tau, X_t)\,B_j^{+}(t-\tau) Ri(t)=jτ0Kji(τ,Xt)Bj(tτ)R_i^{-}(t) = \sum_j \sum_{\tau \ge 0} K^{-}_{j \to i}(\tau, X_t)\,B_j^{-}(t-\tau)

where:

  • Ri+(t)R_i^{+}(t) is the total positive returned effect received by agent ii at time tt
  • Ri(t)R_i^{-}(t) is the total negative returned effect received by agent ii at time tt
  • Kji+(τ,Xt)K^{+}_{j \to i}(\tau, X_t) is the positive-effect kernel from producer jj to recipient ii
  • Kji(τ,Xt)K^{-}_{j \to i}(\tau, X_t) is the negative-effect kernel from producer jj to recipient ii
  • τ\tau is the delay between production and return
  • XtX_t is the world state, such as space, lineage, memory, institutions, or ecology

Then a simple fitness score is:

Wi(t)=w0+Ri+(t)Ri(t)Ci(t)W_i(t)=w_0 + R_i^{+}(t) - R_i^{-}(t) - C_i(t)

where:

  • Wi(t)W_i(t) is the fitness or selection-relevant score of agent ii
  • w0w_0 is baseline fitness
  • Ci(t)C_i(t) is the private cost paid by agent ii

So:

positive routed effects raise fitness\text{positive routed effects raise fitness} negative routed effects lower fitness\text{negative routed effects lower fitness}

Why Two Nonnegative Kernels Are Better Than One Signed Kernel

One could try to write a single signed kernel:

KjiRK_{j \to i} \in \mathbb{R}

but that makes interpretation harder.

Using two nonnegative kernels is cleaner because:

  1. Positive and negative channels stay conceptually separate.

  2. Normalization is easier to inspect:

    iKji+1,iKji1\sum_i K^{+}_{j \to i} \le 1,\qquad \sum_i K^{-}_{j \to i} \le 1
  3. Different mechanisms can use different routing logic for help versus harm.

  4. It avoids accidental cancellation inside the kernel itself.

  5. It keeps “who gets helped?” and “who gets harmed?” as separately analyzable questions.

So the sign lives in the type of routed effect, not in negative kernel weights.

Minimal Interpretation

This proposal does not say that “negative fitness” is directly distributed.

A better statement is:

actions generate positive and negative fitness-relevant effects, and the kernels route those effects to recipients

Fitness comes later, after routing:

action(B+,B)(R+,R)W\text{action} \rightarrow (B^{+}, B^{-}) \rightarrow (R^{+}, R^{-}) \rightarrow W

So:

  • produced effects are not yet fitness
  • routed effects are not yet final selection outcome
  • fitness is the resulting score after combining returned positive effects, returned negative effects, and private costs

Special Cases

One reason this proposal is useful is that many familiar models become special cases.

Retained Benefit

Retained Benefit is recovered when:

Bj(t)=0B_j^{-}(t)=0

and the positive kernel is the usual open-plus-retained structure:

K+=Kopen+KretainedK^{+}=K^{open}+K^{retained}

So:

  • only positive cooperative output exists
  • some of it is open to the local neighborhood
  • some of it is protected for same-lineage recipients

Feedback Kernel Model

The Feedback Kernel proposal is recovered when:

Bj(t)=0B_j^{-}(t)=0

but K+K^{+} is allowed to vary across a broad family of positive return structures.

So:

General Feedback KernelCooperation and Competition Kernel Model\text{General Feedback Kernel} \subset \text{Cooperation and Competition Kernel Model}

Competition-Only Case

A pure competition case appears when:

Bj+(t)=0B_j^{+}(t)=0

and actions only generate negative routed effects.

Examples:

  • interference
  • exclusion
  • sabotage
  • competitive suppression

Mixed Interaction Case

An action can also create both:

Bj+(t)>0,Bj(t)>0B_j^{+}(t) > 0,\qquad B_j^{-}(t) > 0

Examples:

  • coalition defense that protects allies and harms rivals
  • parental investment that helps descendants while imposing competitive pressure on unrelated others through resource capture
  • territorial behavior that benefits the local group while excluding competitors

Selection And Relative Competition

Once competition is introduced, absolute fitness scores are often not enough.

Selection usually depends on relative success, not only on each agent's own absolute score.

So it is useful to define a selection operator:

Pi(t)=Si(W1(t),W2(t),,Wn(t))P_i(t)=S_i\big(W_1(t),W_2(t),\dots,W_n(t)\big)

where:

  • Pi(t)P_i(t) is the probability that agent ii survives, reproduces, or is copied
  • SiS_i is the selection rule that converts the vector of scores into relative success

This matters because a harmful action can be favored even if it does not directly increase the actor's own absolute score, as long as it lowers rivals enough to improve the actor's relative success under the selection rule.

So in the generalized model:

  • positive routed effects matter through increasing WiW_i
  • negative routed effects matter through decreasing WiW_i
  • competition can also matter through how changes in one agent's score alter the relative selection probabilities of others

Aggregate Fitness Versus Relative Selection

It is useful to separate two levels of the model.

At the score level:

iWi(t)=nw0+iRi+(t)iRi(t)iCi(t)\sum_i W_i(t) = n w_0 + \sum_i R_i^{+}(t) - \sum_i R_i^{-}(t) - \sum_i C_i(t)

Nothing in the proposal forces that aggregate quantity to be conserved.

So total fitness-relevant score can:

  • rise if routed positive effects are large relative to routed negative effects and private costs
  • fall if negative effects and private costs dominate
  • remain roughly unchanged in approximately zero-sum regimes

This is possible because the kernels are routing operators, not conservation laws. Their row sums are constrained for interpretability, but they are not required to preserve a fixed total returned quantity.

By contrast, the selection layer is often closer to fixed-sum or zero-sum. If the selection rule maps scores into a fixed number of survival, reproduction, or copying opportunities, then one agent's gain in relative success can come partly or entirely at the expense of others.

So the distinction is:

  • aggregate fitness-relevant score is not intrinsically zero-sum in this model
  • relative selection often is fixed-sum or zero-sum in practice
  • strict conservation would require an additional assumption, not currently built into the proposal

Minimal Conditions For Cooperation And Competition

Let xix_i denote the action tendency or strategy parameter of agent ii.

The most general condition is:

xiE[Pi(t)]>0\frac{\partial}{\partial x_i}\mathbb{E}[P_i(t)] > 0

That is:

an action is favored when increasing it raises the expected selection probability of the actor

In a simpler score-based view, cooperation-like action is favored when:

xiE[Ri+(t)Ri(t)]>Ci(t)xi\frac{\partial}{\partial x_i}\mathbb{E}\big[R_i^{+}(t)-R_i^{-}(t)\big] > \frac{\partial C_i(t)}{\partial x_i}

Interpretation:

  • positive feedback helps
  • negative feedback hurts
  • private cost must still be paid by the actor

So the generalized law is no longer just about cooperation. It becomes:

An action is favored when its feedback-weighted positive effects, minus its feedback-weighted negative effects, improve expected selection success enough to outweigh its private cost.\boxed{ \text{An action is favored when its feedback-weighted positive effects, minus its feedback-weighted negative effects, improve expected selection success enough to outweigh its private cost.} }

Why This Generalization Matters

The cooperation-only Feedback Kernel proposal is already useful for asking:

when does enough positive return flow back to cooperators or copies of the cooperative rule?

The Cooperation and Competition Kernel proposal asks a broader question:

how do both helping and harming flow through structured populations, and when do those routed effects favor one action over another?

This is closer to a general theory of social interaction under selection than a cooperation-only law.

It allows the same framework to study:

  • cooperation
  • competition
  • exclusion
  • antagonism
  • mixed social strategies
  • ecological and evolutionary tradeoffs between help and harm

What Still Needs To Be Specified

To become a closed interaction model rather than a high-level law, the proposal still needs a few additional rules.

Action-To-Effect Production Rule

Right now the model says that action aj(t)a_j(t) generates Bj+(t)B_j^{+}(t) and Bj(t)B_j^{-}(t), but it does not yet specify how.

A fuller version should include a production map such as:

(Bj+(t),Bj(t))=F(aj(t),zj(t),Xt)\big(B_j^{+}(t), B_j^{-}(t)\big) = F\big(a_j(t), z_j(t), X_t\big)

where zj(t)z_j(t) is the internal state, trait, or strategy parameter of agent jj.

This determines when an action produces help, harm, both, or neither.

State Transition Rule

The world state XtX_t already appears inside the kernels, but the proposal does not yet specify how the world itself changes over time.

A fuller version should include something like:

Xt+1=G(Xt,a(t),R+(t),R(t))X_{t+1} = G\big(X_t, a(t), R^{+}(t), R^{-}(t)\big)

This lets space, resources, memory, institutions, or ecological conditions be altered by prior interactions rather than treated as fixed background.

Inheritance Or Updating Rule

The proposal defines a selection operator Pi(t)P_i(t), but it still needs a rule for what is transmitted or updated after selection.

For an evolutionary version, one can write:

zi(t+1)U(z(t),P(t),M)z_i(t+1) \sim U\big(z(t), P(t), M\big)

where UU is the reproduction, replacement, or copying rule and MM represents mutation or transmission noise.

For a learning version, the same slot could be replaced by a policy-update operator rather than a reproduction operator.

Resource And Budget Constraints

The proposal also needs to say whether positive and negative outputs are unconstrained, budget-limited, or drawn from a shared ecological stock.

One simple option is:

0Bj+(t)+Bj(t)Qj(t)0 \le B_j^{+}(t) + B_j^{-}(t) \le Q_j(t)

where Qj(t)Q_j(t) is the total interaction budget available to agent jj.

Without a constraint of this kind, the scale of produced positive and negative effects remains underdetermined.

Information And Targeting Constraints

The current kernels determine where effects go, but a fuller version may also need to specify what agent jj can observe when choosing actions or targets.

That can be written by letting action choice and routing depend on an information state Ij(t)I_j(t):

aj(t)=Aj(Ij(t),zj(t),Xt)a_j(t) = A_j\big(I_j(t), z_j(t), X_t\big) Kji±(τ,Xt,Ij(t))K^{\pm}_{j \to i}(\tau, X_t, I_j(t))

This matters when help and harm depend on recognition, signaling, reputation, deception, or uncertainty.

Together, these additions would turn the current proposal into a more fully specified generative model of interaction, ecology, and selection.

Proposed Python Module Layout

The canonical implementation should live as a new top-level module in the sibling EvolvedCooperation repository.

signed_interaction_kernel_model/
__init__.py
README.md
signed_interaction_kernel_model.py
positive_kernel.py
negative_kernel.py
selection.py
metrics.py
config/
signed_interaction_default_config.py
retained_equivalent_config.py
competition_only_config.py
mixed_interaction_config.py
utils/
export_github_pages_demo.py
plot_phase_diagrams.py
experiments/
compare_help_vs_harm_regimes.py
sweep_positive_negative_coupling.py

Core responsibilities:

  • signed_interaction_kernel_model.py: simulation loop and state update logic
  • positive_kernel.py: routing rules for positive effects
  • negative_kernel.py: routing rules for negative effects
  • selection.py: relative-success rule based on the vector of agent scores
  • metrics.py: cooperation, competition, mean positive return, mean negative return, and regime-boundary diagnostics
  1. Reproduce Retained Benefit as the positive-only baseline.
  2. Add a competition-only case with routed negative effects and explicit relative selection.
  3. Add a mixed case where one action creates both positive and negative downstream effects.
  4. Compare the boundaries under which helping, harming, or mixed strategies spread.

That would let the sibling Python repo move from a cooperation-only theory toward a more general interaction theory.

References