Share
Explore

# Credence Algorithm Criteria

Terminology
Term
Definition
1
Point
A statement made in the Negation Game, representing a belief
2
Conviction
A stake placed on a Point by players to represent their belief in the Point
3
Credence
Credence: The score calculated for Points by the algorithm. It's intended as a measure of how defensible a Point's belief is.
4
Counterpoint
The negation relationship from a Point to another Point, attacking that belief and reducing it's credence. Implicates a mutual negation relationship
5
Objection
The link between a Point and a Negation. Represents the questioning of the relevance of that Negation.
6
Negation
The link between a Point and another Point or between a Point and a Negation.
7
Relevance
The score calculated for a negation link. Represents how relevant the relationship is between the two endpoints, and modulates how much impact one can have over the other.
8
Slashing
Slashing is a mechanism that allows a player to remove his conviction from a Point by paying a slashing fee. That fee is shared between the stakers of direct counterpoints of that Point
9
Error Bounty
A player makes a statement that this point would change their mind if it were true. They get extra influence for doing so. They can then voluntarily slash. Error bounty could also be referred to as “betting against a point”
There are no rows in this table

# Current Approach

import { Core, EdgeSingular, NodeSingular } from "cytoscape";

export const assignCredence = (cytoscape: Core, iterations: number) => {
const points = cytoscape.nodes(".point");
const negations = cytoscape.edges(".negation");

points.forEach((point) => {
point.data("credence", point.data("conviction"));
});
negations.forEach((negation) => {
negation.data("credence", negation.data("conviction"));
});

for (let i = 0; i < iterations; i++) {
points.forEach((point) => {
point.scratch("roundCredence", point.data("credence"));
});
negations.forEach((negation) => {
negation.scratch("roundCredence", negation.data("credence"));
});
negations.forEach((negation) => {
const source = negation.source().hasClass("point")
? negation.source()
: getNegationEdge(negation.source());
const target = negation.target().hasClass("point")
? negation.target()
: getNegationEdge(negation.target());
const relevance = negation.scratch("roundCredence");
attack(source, target, relevance);
attack(target, source, relevance);
});
}

cytoscape.style().update();
};

const attack = (
source: NodeSingular | EdgeSingular,
target: NodeSingular | EdgeSingular,
relevance: number
) => {
const attackSign = source.scratch("roundCredence") > 0 ? 1 : -1;
const attackPower = Math.min(
Math.abs(source.scratch("roundCredence")),
relevance
);
target.data(
"credence",
target.data("credence") - attackPower * attackSign
);
};

const getNegationEdge = (auxNode: NodeSingular) =>
auxNode.cy().getElementById(auxNode.data("edgeId")) as EdgeSingular;

Very simply, the current credence algorithm treats negating points as though they are symmetrically incompatible, and mutually reduces their impact, modulated by their relevance. This is an incredibly simple approach, which nonetheless has decent behavior.

# Criteria

## Selection of most defensible beliefs

The game should attribute a higher credence score to the most defensible Points. That is: the points that whose staked conviction exceeds the combined conviction of all of its counterpoints

## Rationality incentives

The game should reward players that stake their conviction on the most defensible Points (Higher credence), so that:
Players try assign their stakes rationally, considering possible weaknesses of their points before assigning their conviction
Players are incentivized to keep playing, because they are rewarded
Players that prove to be rational get more conviction to stake, so they can have a bigger impact in the game

## Epistemic leverage

Players should be able to leverage their conviction in a Point by "betting" against its counterpoints. This is intended because
This makes their position precarious, because if the counterpoint gathers enough conviction, it can undermine their original stake. If they take that risk, we should consider their conviction to be worth more.
The bounty on the counterpoints incentivizes players to allocate more resources to try and displace a Point with high conviction. If a Point has high bounties on its counterpoints, but it still stands with high conviction, we should consider that it is a highly defensible point, so it should get a bigger credence score

## Rhetorical resilience

The Game should be designed in a way that makes it resilient to rhetorical argumentation
Some way to achieve that:
Epistemic leverage can disincentivize Points that are non-falsifiable, because they should fall behind their counterpoints that can employ leverage.
Allowing points to be reused in the whole game can make it easier to detect fallacious points, because if the point gathers enough conviction, there's an incentive for players to try and debunk it because they stand to gain some of its stakes

## Chain of reasoning

The credence of a Point should be able to affect the credence of Points that are distant from it by permeating through a chain of high-relevance negations

## Self-consistency

Players should be encouraged to be self-consistent with their conviction, so that we can prove that they are being intellectually honest. If they place conviction on Points that form a relevant cycle of self-contradiction, their stakes should be penalized.

## Intellectual dishonesty penalty

The game should penalize players that are intellectually dishonest (that place high conviction on points that are obviously false) to prevent players with access to lots of funds to disrupt the game by brute force.
This can be indirectly achieved with the properties listed above

# Some ideas

## Contextual leverage

Players that are doing well in the vicinity of a point get more leverage. They would acquire a local reputation

Multiple players placing stakes can have a bigger impact than a single player placing the same amount of stakes.

## Plurality leverage

If players that don't have a lot of overlap on their stakes both stake on the same point, it should have a bigger score, because it's showing something that both sides of a discussion agree on something.
This is somewhat what they do on Twitter Community Notes, where they assign polarity scores to profiles, and then only consider a note to be good enough when people from both sides agree with it.

## Reuse conviction stake for relevance

To avoid having players allocate double the funds to stake on both a point and the relevance of counterpoints, we could allow them to distribute the same value of the conviction they placed on a point to the vicinity of that point as relevance. This would empower the epistemic leverage mechanism.

## Good explanations should require less conviction than bad ones

This is more a reflection on the viability of the Negation Game than a mechanism of it.
Borrowing from the ideas of David Deutsch, that defends that good explanations are simpler than bad explanations, and in accordance with the principle of Occam's Razor, it stands that it should be cheaper to defend good explanations than to defend bad ones, because bad explanations need to explain away more complexity, so they require more conviction to defend themselves.

## Putting an error bounty on a point enlists its counterpoints

When the red player bets against this point, they recruit the strength of the counterpoints to that point

## Putting an error bounty on a point increases the strength of counterpoints

When the red player bets against this point, they’re actually increasing the strength of the counterpoints

## Use Connection Oriented Cluster Match (Enhanced Quadratic Voting) for doubting influence

This gives us a natural bridging incentive. See a primer an