cab· er + quep· a + cup· iera + cabr· ía I have been living part-time in Madrid for the past three years, and my Spanish is still not as fluent as I want it to be. The thing that trips me up most is irregular verb conjugation. So I decided to start studying deliberately. My goal was to conjugate every irregular verb confidently in every tense I was likely to use. At first, the task felt daunting.…
When 2 + 2 Does Not Equal 4.0 Introduction: What Do You Mean by Equal? What does it mean for two values to be equal? When designing a programming languages or a type, the wrong answer can create problems. It can lead to counter-intuitive surprises like in JavaScript where "" and [0] both are equal to 0 but not to each other. It can confuse programmers who expect two equal values to be the same,…
Introduction Quadratic funding has received a lot of attention recently as a mechanism for funding public goods. The Gitcoin grants program alone has distributed over $59M through QF funding rounds as of January 2024 1 . QF is appealing because it is theoretically optimal under certain assumptions 2 . The problem is that these assumptions don’t ever hold in reality. The theory behind QF is sound…
Introduction The rules that determine what gets attention on social platforms are often called “algorithms,” but algorithms are only part of the story. Another way to understand social platforms is as social protocols , or sets of formal and informal rules that groups use to allocate their collective attention. Like parliamentary procedure or courtroom rules, social protocols shape…
Introduction: Scalable Group Decision-Making A deliberative consensus protocol is a process that online groups can use to make decisions. It’s designed to produce good decisions that are fair and manifest the collective intelligence of the group. And it’s designed to work at scale. This is not easy. Once a group gets large enough, people will start trying to manipulate the results. And…
Introduction In my article on Understanding Community Notes , I describe the basic Matrix Factorization algorithm used to identify notes that are helpful despite user polarization. In this article, I introduce a way to break this algorithm and describe an variation of the algorithm that uses 2-factor Matrix factorization. Breaking the Algorithm The algorithm uses Matrix Factorization to find a…
UPDATE : See a discussion of this article on Hacker News . Introduction Bridging-Based Ranking is a way of scoring and ranking online content that bridges divides. The term “Bridging-Based Ranking” was introduced in this essay by Aviv Ovadya of the Harvard Kennedy School Belfer Center. In his essay Ovadya explains how social media algorithms today tend to promote polarization and…
Every online community has rules that determine how the attention of the community is directed. For example in an online forum, the most up-voted posts may be shown on at the top of the page. This rule concentrates attention on popular content. But this is a terrible rule. It creates perverse incentives for people to share content that people will reflexively upvote based on first impressions. It…
This article is part of the series on distributed Bayesian reasoning. It assumes you have read the previous article on the Basic Math . The Problem: Small Samples In Basic Math , we used the informed probability $ P_i $ as the prior beliefs of the meta-reasoner. We calculated this as the ratio: $$ P_i(𝐴=1|𝐵=1) = \frac{P(𝐴=1,𝐵=1|B≥0)}{P(𝐵=1|B ≥ 0)} = \frac{c(𝐴=1,𝐵=1)}{c(𝐵=1) } $$ But this…
In this article we develop the basic mathematical formula for calculating the opinion of the meta-reasoner in arguments involving a single main argument thread. Background Reading To understand this article you should first read: Introduction to Distributed Bayesian Reasoning The Meta-Reasoner For a deeper understanding of some of the assumptions we make in this article, it may also help to read:…
“When you have eliminated the impossible, all that remains, no matter how improbable, must be the truth.” – Sherlock Holmes (Arthur Conan Doyle) For a long time Bayesian inference was something I understood without really understanding it. I only really got it it after reading Chapter 2 of John K. Kruschke’s textbook Doing Bayesian Data Analysis , where he describes Bayesian Inference…
In the Introduction to Distributed Bayesian Reasoning , we argue that the rules of Bayesian inference can enable a form of distributed reasoning. In this article we introduce the idea of meta-reasoner , which is the hypothetical fully-informed average juror . The meta-reasoner resembles the average juror in that it holds prior beliefs equal to the average beliefs of the participants, but it is…
In this article we introduce an argument model : a set of terms for analyzing arguments by naming their parts. There are various argument models in the academic literature on argumentation theory and related fields but none provide us with precise definitions for all the concepts behind our algorithms for improving online conversations. So we will define those concepts here. Anatomy of an Argument…
Introduction This essay explains how you can pay people to tell the truth, even if you can’t verify their answers. The key is to create the right incentives. This can be done by making payments using a formula that takes into account how people’s answers correlate with those of their peers. For this reason these techniques are often referred to as Peer Prediction mechanisms. More…
In this article, I argue that we can apply game theory to explain and control the behaviors that dominate in an online community. Not only can game theory explain why misinformation and abuse are so common in social platforms, it can be used to design social platforms that will be filled with honest, informed, civil, and behavior. Attention Games “If a tree falls in a forest and no one is…
How To Get People on the Internet to Tell the Truth Everyone knows that you can’t believe what you read on the Internet. That is, unless it comes from people you trust. Except…many of us also trust content from websites such as Wikipedia and Stack Overflow, which accept anonymous contributions from random people on the Internet. How can these sites consistently produce trusthworthy…
Brief Introduction Distributed Bayesian Reasoning is a kind of hypothetical opinion poll . It tells us not what people actually believe, but what they would believe if they knew more. The purpose is to produce more intelligent group judgments that better represent a group’s collective knowledge. The method starts by surveying the informed opinion of a group of people who have participated in…
“There can be no liberty for a community which lacks the information by which to detect lies.” – Walter Lippmann, Liberty and the News, 1920 The Algorithms Everyone knows that the infamous social media algorithms promote the spread of false and misleading information on the Internet. But could they be engineered to do the opposite? Obviously, we can’t prevent people on the…
The Democratization of Misinformation “Who actually saw, heard, felt, counted, named the thing, about which you have an opinion? Was it the man who told you, or the man who told him, or someone still further removed? And how much was he permitted to see?” – Walter Lippmann, Public Opinion , 1922 We depend on other people for most of what we know about the world. I can observe for…
In this article I argue that a decentralized community moderation system can be seen as is a kind of consensus protocol , similar to those used to secure blockchains; and that such a protocol can be designed to produce a Nash equilibrium where users reliably enforce a commonly-understood set of community standards of relevance and civility. The Fundamental Moderation Problem Most casual users of…
A deliberative poll measures the informed opinion of a group of people who have participated in a discussion about the topic of the poll. This essay introduces a method for integrating deliberative polling into online discussions in social platforms, in order to discover the informed opinion of a group. Summary Discussion is necessary for a group to produce logically consistent, informed…
The other day a friend of mine watched an online documentary about the wet markets in Wuhan, and decided not to share it with others. She thought it might contribute to racism against Chinese people, because it suggested that their cultural practices were to blame for COVID-19. Although the documentary seemed objective, she said, why share something that can do no good but might cause harm? Her…
Many of us struggle to separate the information from the misinformation on social media , especially in the past weeks and months as we seek facts regarding COVID-19 . The platforms themselves do not help much. It seems increasingly clear that the algorithms used to determine which posts and tweets show up at the top of your feed, having been optimized for engagement, are inadvertently optimized…
In public political debate today, there seems to be little capacity for nuance. For example, many conservatives seem unable, or unwilling, to differentiate between marijuana and “drugs”. Or for example, many liberals seem unable, or unwilling, to differentiate between legal and illegal immigration. I believe politicians and pundits often understand the nuance, but just pretend not to.…
Components of Belief None of us are omniscient. We can't observe the world and arrive independently at the truth of all things. Instead we depend on other minds. We trust others to delve deeply into questions of science, politics, and religion, about which we may know little, and then we add our own reason and experience to form our own opinions. Thus our belief is influenced by: Our own…
Politics and Social Status People’s politics are partly driven by a desire for status. People tend to express political views that will win the approval of their peers. They tend to remain silent if they hold opinions that would be criticized by their peers. These belief systems become self-reinforcing in each subgroup of society. Churchgoers tend to adopt the beliefs of their congregation.…
Many political issues end up being framed as “pro vs “anti”. Pro/anti immigration. Pro/anti drugs. Pro/anti choice. Pro/anti life. But a pro/anti framing is almost always subtly dishonest. When you say you are pro-life, do you really believe people who disagree with you are against life !? When you say you are pro-choice, do you really believe people against you are against…
The Problem Why were keywords and vectors added to LISP, a language that was already based on symbols and lists? The answer: because keywords and vectors are self-evaluating. The expression :foo evaluates to :foo . The expression [1,2] evaluate to [1,2] . Like string and number literals, they are what they are. Unlike symbols and lists, they are never treated as code that is replaced with some…
In my post on Procedures in a Pure Language , I discuss how even pure functional languages can be used to create procedures that have effects, and how that is how things should be. I propose a little language where these impure procedures can coexist with pure functions in a way that makes the line between pure and impure very clear. In this post, I propose adding a stricture to this language that…
Global environment variables violate a core principle of functional programming. For example, this is not very acceptable in the FP world: def hello = if ( locale == ' en . US ' ) 'hello' elsif ( locale == ' fr . FR ' ) 'bonjour' locale shouldn’t just be there as a global. In an pure functional language it should be passed as a parameter, according to the the principle of referential…
In this post I’ll talk about dependency injection and IoC in functional programming languages, and propose a solution for achieving IoC with given/inject preprocessing. The terms Dependency Injection and Inversion of Control tend to be used in OOP circles, though these concepts are applicable to virtually any language. Dependency Injection for Dummies A good summary of the definitions of…
The Problem The fact that you can write procedures, which produce side-effects, in Haskell, which is supposed to be a pure language, can be confusing. I think the key to clearing up the confusion is to understand that most Haskell programs are actually programs that produce programs – like preprocessors in CPP. Conal Elliott’s post The C language is purely functional explores this…
Implicit currying and folded application are language feature that render moot the distinction between curried and un-curried functions, allowing functions written in curried style to be called as un-curried functions and vice-versa. Quick Background: Currying Currying is the technique of translating a function that takes multiple arguments, or a tuple of arguments (an n-ary function) into a…
The pass-through list is a programming-language feature intended to make it easier for programmers to modify functions to return additional values without breaking backwards compatibility, in the same way it is easy to modify functions to take additional parameters without breaking backwards compatibility. This is done by, in a sense, unifying the semantics of passing parameters to functions and…
Today I have been thinking about Prediction Markets, and thought I would share some thoughts on how the Decision Engine could be designed to behave very much like a Prediction Market. If you aren’t familiar with prediction markets, check out this explanation from Argon Group . Verifiable Events Prediction markets rely on events that will at some point in the future be objectively and…
Is it really necessary to invent a new syntax, complete with a new grammar and parser, for every new programming language? Is there a generic syntax that can conveniently express the semantics of many languages? Since all languages, whatever the syntax, are eventually parsed into an abstract syntax tree, couldn’t we just use a general language for expressing abstract syntax trees? XML and…
In my last post, I introduced the general idea behind the decision engine. This post walks you through an example of what the decision engine might look like from a user’s point of view, and hopefully give you an idea of how it could result in more intelligent group conversations. You see a screen that says: Consider the following statement: "Romney would make a better President than Obama"…
My big project right now is something called a “decision engine”. Put simply, a decision engine is: "a conversation-based process for group decision making" At its simplest it is a comments system that facilitates better online discourse, by adding a layer of structure and process designed to unlock the potential of the group to arrive at positive, useful results -- a mechanism for…
The Mystery Abdul wanted to see the Mekong Lights . He had seen a Thai movie eight years ago called Mekong Full Moon Party . It was a fictional story featuring one of the world’s most fascinating unexplained phenomena: mysterious balls of light that up shoot from the Mekong every year, as the full moon rises on the eleventh month of the lunar calendar. Ever since, Abdul had been saving money…
Measuring Uncertainty How do you measure “uncertainty”? That may seem like an odd question. But let’s just dive right into it, because starting down this path of inquiry will lead us step by step to the definition of the fascinating concept of Shannon entropy . “I’m 99% Certain” We can start with one common way people express certainty . You might say…
Quantifying Argument What is a good argument? From a logical point of view, a good argument is logically sound. But in the real-world people rarely argue with pure logic. From a rhetorical point of view, a good argument is one that is persuasive. But how can this be measured? In this series of essays, I consider this question from a Bayesian point of view. Introductory Example 1 Consider the…
Definition of Relevance In the previous essay in this series, we introduced the basic ideas and terminology of Bayesian argumentation, including the concept of relevance . In this essay I explore a precise mathematical definition of relevance and the related concept of acceptance . A premise $B$ is relevant to conclusion $A$ (in the mind of the subject) iff : $$ P(A|B) ≠ P(A|\bar{B}) $$ If the…
Argument and Information In the previous essay in this series, we introduced the idea of relevance , and said that a premise is relevant to the conclusion iff $P(A \vert B) > P(A \vert \bar{B})$. Consider the argument (𝐴) this is a good candidate for the job because (𝐵) he has a pulse . Having a pulse may not be a very persuasive reason to hire somebody, but it is probably quite relevant ,…
Why Accept the Premise? In the previous essay in this series, we defined the ideas of necessity and sufficiency from the perspective of a Bayesian rational agent. If an argument is necessary , then if the subject were to reject the premise, they would decrease their acceptance of the conclusion. And if an argument is sufficient , then if the subject were to accept the premise, they would increase…
This is the final article in my series on Bayesian Argumentation. To understand this essay, read the introductory article and the article on Relevance and Acceptance . Corelevance and Conditional Relevance Relevance exists in the context of the subject’s other prior beliefs. For example, if the subject believes that ($\bar{𝐶}$) the car is out of gas , and also ($\bar{B}$) the battery is…
Bayesian Argumentation: Summary of Definitions Below is a summary of all the terms and equations defined in the essays in this series, followed by a detailed example. Claim : A statement that one can agree or disagree with Premise : A claim intended to support or oppose some conclusion Conclusion : The claim supported or opposed by the premise Argument : A premise asserted in support of or…
Jonathan Warden a philosophical software engineer working on building technologies to make conversations on the Internet more intelligent and less polarizing. Contact https://github.com/johnwarden https://twitter.com/johnwarden @jonathanwarden.com
To use this feature, add links section to frontmatter. This page’s frontmatter: 1 2 3 4 5 6 7 8 9 links : - title : GitHub description : GitHub is the world's largest software development platform. website : https://github.com image : https://github.githubassets.com/images/modules/logos_page/GitHub-Mark.png - title : TypeScript description : TypeScript is a typed superset of JavaScript that…