Вы здесь

Новости LessWrong.com

Подписка на Лента Новости LessWrong.com Новости LessWrong.com
A community blog devoted to refining the art of rationality
Обновлено: 1 час 3 минуты назад

Models predicting significant violence in the US?

25 октября, 2020 - 21:45
Published on October 25, 2020 6:45 PM GMT

Do you have a model predicting >1% chance of significant political violence (>5,000 deaths) in the US in the next year? Pls share.

Also welcome: models predicting <.1%

Metaculus has been walking around 1-5% probability of a US civil war before July 2021. While 1% is the lowest probability one can give on Metaculus, rumor has it some reasonable people put more than 1% probability of significant political violence (SPV) happening.

I am[was] confused about this, and want[ed] to get a better sense of what models lead people to assign credence on this order of magnitude.

[it turns out this exercise led me to no longer feel disbelief, but I'm preserving it below. See Changing My Mind for my update]

My model borrows a bit from Samo Burja's civil war typology and goes something like: "while there's some probability of small-scale violence (e.g. a few hundred deaths from scattered violence), there simply doesn't exist the mechanisms for SPV". In my mind, mechanisms include:

  • Military: e.g. military vs. government (coup), military vs. military (split along e.g. leadership lines), or a weak/disorganized military that doesn't withstand a revolutionary offensive. I don't see any of this happening with the US military (e.g. <.01%). ThirdEyeOpen on Metaculus outlines cases where the military 'sides' with the democrats or republicans, which blows my mind. Is this a blind spot for me? Is there some small chance that any coherent part of the military defects in this way?
  • State (proxy wars): Both sides of a conflict having support from states. I guess there's some 'foreign interference' in our politics already, but if I'm Russia I really don't want to get caught supplying significant amounts of money/training/arms to insurgent groups in the US.  That feels like much more risk (to Russia) than the incremental gain. But maybe there's some situation where it's worthwhile? Seems pretty close to WWIII, but I guess that's tail risks?
  • Insurgency: I currently have this as a large bucket that spans from haphazard terrorism to organized attempts to replace the government. It seems like the US might experience some things on this scale, but how far? I’m having a hard time imagining violence worse than e.g. The Troubles. What am I missing here? Maybe it's easier to kill more people these days? Is the main concern effective terrorism from a few actors, or more like thousands of insurgents? Because organizing insurgents requires a bunch of stuff...
Changing My Mind

So I started to read about insurgencies, specifically looking for the kinds of qualities that give insurgencies 'oomf'. I felt confident that US extremist groups didn't have these qualities, and if I kept reading about insurgencies (e.g. by skimming articles in Wikipedia's list of revolutions and rebellions) I would find them. I was roughly right, but in the process of articulating these qualities and digging into the specific messy ways insurgencies go, my curve of ways-things-could-go-in-the-US started to change:

from this......to this
(where SPV lies further to the right)

Looking back, I think my model was something like:

  • There are a bunch of prerequisites to SPV.
  • We are missing too many prereqs and they are too difficult to reach from here. It would be like threading 6 needles in a single go.

Now my model is something like:

  • Prereqs can snowball, and the US has some proto-prereqs.
  • The political violence nerds think it's possible (if unlikely)

I'll add an answer below for more detail on my model.

Feely feelings

N.B. I'm not sure why I included this section... maybe I think other versions of myself would benefit from knowing that the inside experience of writing/researching/mind-changing is a feeling-heavy process.

There were at least three occasions where I sat down and tried to write down the gears of my own model so that I could make it abundantly clear why 1% chance of civil war was loony. The first two times I got increasingly irritated, like: why am I doing this? This is such a waste of time, it's just so obvious that this is not something to worry about. I'm having a bad experience, and also this is probably just making my life worse by taking up time and making me worry about things that don't need to be worried about. I'm just at a complete loss about what would cause people to believe civil war is possible, it feels like the burden of proof is on them. Why do I need to build these complicated models myself?

"Because a few reasons" went the response "but mostly I'm feeling a kind of feeling... a feely feeling... I'm not sure what it means but I have a suspicion that following it will lead to some cool discovery like:
  a) a useful implicit model
  b) the reason why people believe there might be SPV
  c) actually changing my mind
And regardless, I'll get a better sense of what's up with this feeling."

Often times the feeling was demotivating, so the first two times I gave up / respected the feeling. The third time it led me to drafting the post above, and then shifted (like the felt shift in focusing) when I was reading about insurgencies.



Discuss

Some criticisms of polling

25 октября, 2020 - 21:45
Published on October 25, 2020 6:45 PM GMT

POLLING 1. WHAT DO YOU INTEND?

As we approach the 3 November election, there are many polls promising to predict the outcomes. Looking back, many people were surprised by the outcome of the 2016 presidential. Late polls had given H Clinton a win probability over 80%. Were those polls in error? Not necessarily. An 80+% chance falls short of certainty. Still, the surprise result raises questions, and a lot of thought has gone into how polls arrive at a representative sample of the voting public. Something that gets a less attention is the method used to aggregate and present data. I think the usual methods are sloppy and misleading. 

Suppose you were conducting a poll predicting the outcome of the upcoming election. The usual method is to go out and ask people their preferences, taking care to collect a representative cross section of voters, and applying well-reasoned principles weighing the chances of their voting. Then you report that candidate X is expected to achieve A% of the vote, with candidate Y achieving B%. The result is continuous, and therefore gives an impression of exactness. But the impression lies. In fact, this type of report aggregates data after compressing it through a binary filter. 

Imagine you were a candidate and wanted to know where to spend your limited time and resources. You might look to the poll figures and concentrate on big localities where the polls show nearly equal voter support. That is the best you could do with this kind of poll data, but it is a mediocre guide to resource allocation, and a poor way to predict which locality are likely to flip. Here is a better alternative: instead of just asking a person their X/Y preference, the pollster try to determine that strength of a person’s commitment to a candidate. 

Since we will eventually want to aggregate responses, we need a way to express strength of commitment according to some uniform scale. One idea could be to ask the interviewee to rank how resistant he would feel to changing his vote to the opposition candidate compared with his strength of allegiance going into previous elections. (This is an imperfect measure, and I’d welcome suggestions for improvements). The pollster registers this “percentile allegiance score” and can later report on average and variance (alternatively: publish the distribution).      

How does this help? Consider two localities. In locality A, one candidate has a fair-sized lead, but voter allegiance is weak, i.e. many voters are still open to changing their mind. While in locality B, support for the candidates are nearly evenly split, but there is a high allegiance score. According to the usual way of thinking, the candidates should concentrate on locality B. But, depending on the details of the allegiance distribution function, paying attention to locality A might be the better decision. 

 

POLLING 2: WHAT TO YOU THINK WILL HAPPEN?

Not all polls are about people’s intended actions. Some aim to assess public sentiment about the likelihood of upcoming events. Here as well, polls lose information by passing data through a binary filter. 

Suppose a politician makes a claim that a corona virus vaccine will be approved for widespread use before 1 May 2021, and a pollster wants to measure public confidence in his statement. The usual way would be for pollsters to ask people whether they believe the statement, then report back that X% have confidence. But there is a much more insightful way to frame the question, namely: With what probability do you expect a corona virus vaccine to be approved for widespread use before 1 May 2021? The distribution of answers to this question gives a more reliable and robust picture of public confidence. 

To see the difference, consider what would happen if everyone believed there was about a 50% chance of meeting the 1 May deadline.  In this case, a small event, say a newspaper article reporting on the success or failure of some minor research investigation, could shift the public’s confidence ever so slightly. With the traditional data aggregation approach, this could produce a huge difference in the percentage of positive responses. The poll, which purports to reflect public confidence, dominated by a small and reversible event. 

The novel polling policy is resistant to minor fluctuations in public outlook. The effect of the minor news story wouldn’t shift the aggregated average by more than a couple of percent, thus providing a more faithful report of belief in the politician’s statement. 

 

REFLECTIONS

One thing I am starting to understand about polling: The most appropriate type of question and aggregating principle depend on the character of what is under investigation. 

The type 2 poll works best in situations where there are just two distinctive choices. The method can be extended to cover multiple options, but when things start to get hairy it becomes increasingly difficult to define intuitive metrics. 

For both question types, I am arguing for a change in approach and promising greater predictive power. It would be fair for someone challenge me with the question: 'What makes you think so?' My argument is plausible, but it is not definitive. For instance, it doesn't answer quantitative questions: How much of an improvement?

Here's a related problem: predicting the outcome of a sports contest, based not on polling, but on previous performances against many competitors. The only quantitative approach I've encountered to this is the Elo Rating System, widely used in chess. But when you take a close look at Elo, it turns out to be based on all sorts of heuristic assumptions (for instance, use of the logistics curve because the shape “looks right”) and pragmatic adjustments. In my private research, I've developed a family of prediction algorithms based on analogies between sporting events and various probabilistic contests. The obvious next step is to collect historical data and hold a contest between the algorithms. This would answer the question about quantitative determination. 

The same thing should be done for my polling innovations: Conduct a series of parallel polls on the same question according to the traditional and new paradigms, then evaluate the results to assess the improvement in predictive power.



Discuss

Reply to Jebari and Lundborg on Artificial Superintelligence

25 октября, 2020 - 16:50
Published on October 25, 2020 1:50 PM GMT

Jebari and Lundborg have recently published an article entitled Artificial superintelligence and its limits: why AlphaZero cannot become a general agent. It focuses on the thorny issue of agency in superintelligent AIs. I’m glad to see more work on this crucial topic; however, I have significant disagreements with their terminology and argumentation, as I outline in this reply. Note that it was written rather quickly, and so might lack clarity in some places, or fail to convey some nuances of the original article. I welcome comments and further responses.

Their paper runs roughly as follows: Jebari and Lundborg first discuss the belief–desire model for intentional action, under which agents act in ways that they believe will bring about their desires. They then distinguish between different degrees of generality that agents can have: “general agency is, loosely speaking, the ability to act in a diverse set of situations.” They consider thermostats to be very specialised agents, and dogs to be fairly general agents. They then introduce introduce Legg and Hutter’s definition of intelligence as “an agent’s ability to achieve its goals in a wide range of environments”. This is, unfortunately, a misquotation of Legg and Hutter, and one which leads Jebari and Lundborg astray, as they follow it with:

Claim 1: If an agent has very specialized goals or desires, it can be superintelligent with regards to those desires without being a general agent.

The actual definition given in both A collection of definitions of intelligence and Universal intelligence is: “Intelligence measures an agent’s ability to achieve goals in a wide range of environments”. Note the important distinction between an agent which can achieve its goals versus one which can achieve goals in general. In the original context, it is clear that to be highly intelligent according to this definition, an agent doesn’t just need to be able to achieve a single (potentially specialised) set of goals, but rather a wide variety of them! More specifically, in Universal intelligence goals are formalised as a reward function implemented by the environment, with intelligence measured over all computable environments (and therefore all computable reward functions). So Legg and Hutter’s definition does not allow us to call a non-general agent superintelligent. Bostrom, too, defines superintelligence to refer specifically to "intellects that greatly outperform the best current human minds across many very general cognitive domains".


Perhaps Jebari and Lundborg aren’t making a claim based on Legg and Hutter’s definition, but rather trying to define a new concept: intelligence with respect to a set of desires. But this is still a highly misleading use of the term ‘intelligence’, because there are many possible desires whose achievement doesn’t require any of the cognitive faculties traditionally associated with intelligence (planning, memory, and so on). Consider an agent with a goal that is trivially easy to fulfil in almost all environments - for example, the goal of never taking any actions. Claim 1 implies that, even if this agent has no other cognitive faculties beyond the possession of that goal, it can nevertheless be superintelligent with respect to that goal, because it achieves the goal in almost all environments. Yet why would it be useful to conclude that an agent with nearly no cognitive abilities is superintelligent in any way? Or, perhaps more pithily: if this definition forces us to conclude that rocks could be superintelligent if only they possessed the goal of behaving in a rocklike way, we should suspect that it’s a misuse of the term.


In their next paragraph, Jebari and Lundborg argue that superintelligence also requires the ability to perform a task better than humans. But this doesn’t salvage claim 1, because there are many tasks on which intelligence is not needed to outperform humans - e.g. both of the examples I discussed in the previous paragraph. Humans, unlike rocks, are notoriously bad at taking no actions; eventually we need to eat and sleep, or just get bored. They also note, in defense of their argument, that “the term “intelligence” has a lot of connotations that are misleading”. But at some point, when you separate a term from all of its connotations, you are merely talking about a different concept. We can already say that objects have the property of x, or a strong ability or capability to do x; we do not need to claim that this is equivalent to them being superintelligent at x.


Having said all this, I do agree with them that it’s reasonable and indeed necessary to separate agency and intelligence. I think this will require us to move beyond Legg and Hutter’s definition of intelligence, in a way which I discuss briefly here and hope to explicate further soon.


Ascribing desires to simple agents

Jebari and Lundborg go on to note: “In many situations, machines acting in our environment are often described as trying to attain some general aim, for example, the goal of a vacuum cleaner robot is often described as “clean a room”… But vacuum cleaner robots are not literally trying to clean a room. Rather they follow a set of specific instructions that often results in cleaning a room.”


This is a very reasonable observation. To me, the implication is that it is not very useful to ascribe goals to vacuum cleaner robots; saying that they have the goal to “follow a set of specific instructions that often results in cleaning a room” adds nothing. In Dennett’s terminology, we can take the design stance towards such objects, and merely say that they have been designed to clean rooms without needing to invoke any goals belonging to the vacuum cleaner itself.


But Jebari and Lundborg disagree. For example, they claim that “[a] thermostat has no desire with respect to the temperature of the room. It only has a desire to activate the AC if the temperature, as registered by its thermometer, reaches a certain threshold.” They introduce a distinction between these and other desires: they call desires like the ones they ascribe to thermometers and vacuum cleaners unproductive desires.


I should note, however, that this is primarily a semantic dispute. I say that unproductive desires shouldn’t qualify as desires; Jebari and Lundborg think that they are a special type of desire. I think that their terminology is misleading because, like their definition of intelligence, it’s too permissive - it allows us to ascribe unproductive desires to rocks and other inanimate objects. And I expect that if this terminology becomes more common, there’ll be a lot of unnecessary contention between people who use this terminology and people who think that rocks and thermostats don’t really have desires. But it’s not a crucial issue.


Two ways of acquiring desires


A more serious disagreement arises in the subsequent section, where they argue that “an AI with a set of desires constrained to a specific domain cannot acquire desires relevant to other domains”, because “desires can only be reinforced from within”. We should immediately be suspicious of this argument, because it gives rise to a regress problem: how does an AI acquire its first desire in any given domain? In fact, Jebari and Lundborg are conflating two ways in which new desires can arise. The first is that new desires can arise by thinking about ways to achieve old desires; these are often called instrumental desires. But the second is that desires can arise via a modification to the system itself. For example, if I train an AI to play Starcraft, then that AI goes from an initial state in which it has no desires, to a state in which it desires (whether “productively” or “unproductively”) to win at Starcraft, due to the parameter updates implemented by its optimiser.


In this case, I have described the situation as if there is a “policy” agent which chooses what actions to take, and a separate optimiser. But we could also think about this as one system: a single agent which contains a policy module and an optimiser module that updates the policy module. Some sources use the former terminology, some use the latter. Yet in either case, the “agent” starts off without general agency, and might develop general agency during training if the training environment is complex enough. Because of this, the distinction Jebari and Lundborg draw between “spontaneous emergence” and “accidental emergence” of generality seems to merely reflect the arbitrary choice of where we draw the line of what qualifies as an “agent”.


Perhaps Jebari and Lundborg might reply that the combination of a randomly initialised policy and an optimiser already constitutes a general agent, because the optimiser is able to update the policy in a wide range of circumstances. Yet if so, then they are incorrect to claim that Bostrom argues for the possibility of spontaneous emergence of a general agent from a non-general agent. In fact, the example Bostrom uses is of evolutionary search processes, which are a type of optimisation algorithm. So if an optimiser updating a randomly initialised policy constitutes a general agent, then so does Bostrom’s proposed evolutionary search process. But I think that saying that either of these are “general” agents is too much of a stretch; they’re simple, blind optimisation processes that are able to give rise to general agents. I consider this distinction to be crucial in thinking about agency and what behaviour we should expect from superintelligences.



Discuss

Reply to Jebari and Lundborg on Artificial Superintelligence

25 октября, 2020 - 16:30
Published on October 25, 2020 1:30 PM GMT

Jebari and Lundborg have recently published an article entitled Artificial superintelligence and its limits: why AlphaZero cannot become a general agent. It focuses on the thorny issue of agency in superintelligent AIs. I’m glad to see more work on this crucial topic; however, I have significant disagreements with their terminology and argumentation, as I outline in this reply. Note that it was written rather quickly, and so might lack clarity in some places, or fail to convey some nuances of the original article. I welcome comments and further responses.

Their paper runs roughly as follows: Jebari and Lundborg first discuss the belief–desire model for intentional action, under which agents act in ways that they believe will bring about their desires. They then distinguish between different degrees of generality that agents can have: “general agency is, loosely speaking, the ability to act in a diverse set of situations.” They consider thermostats to be very specialised agents, and dogs to be fairly general agents.

They then introduce introduce Legg and Hutter’s definition of intelligence as “an agent’s ability to achieve its goals in a wide range of environments”. This is, unfortunately, a misquotation of Legg and Hutter, and one which leads Jebari and Lundborg astray, as they follow it with:

Claim 1: If an agent has very specialized goals or desires, it can be superintelligent with regards to those desires without being a general agent.

The actual definition given in both A collection of definitions of intelligence and Universal intelligence is: “Intelligence measures an agent’s ability to achieve goals in a wide range of environments”. Note the important distinction between an agent which can achieve its goals versus one which can achieve goals in general. In the original context, it is clear that to be highly intelligent according to this definition, an agent doesn’t just need to be able to achieve a single (potentially specialised) set of goals, but rather a wide variety of them! In Universal intelligence goals are formalised as a reward function implemented by the environment, with intelligence measured over all computable environments (and therefore all computable reward functions). So Legg and Hutter’s definition does not allow us to call a non-general agent superintelligent. Bostrom, too, defines superintelligence to refer specifically to "intellects that greatly outperform the best current human minds across many very general cognitive domains".

Perhaps Jebari and Lundborg aren’t making a claim based on Legg and Hutter’s definition, but rather trying to define a new concept: intelligence with respect to a set of desires. But this is still a highly misleading use of the term ‘intelligence’, because there are many possible desires whose achievement doesn’t require any of the cognitive faculties traditionally associated with intelligence (planning, memory, and so on). Consider an agent with a goal that is trivially easy to fulfil in almost all environments - for example, the goal of never taking any actions. Claim 1 implies that, even if this agent has no other cognitive faculties beyond the possession of that goal, it can nevertheless be superintelligent with respect to that goal, because it achieves the goal in almost all environments. Yet why would it be useful to conclude that an agent with nearly no cognitive abilities is superintelligent in any way? Or, perhaps more pithily: if this definition forces us to conclude that rocks could be superintelligent if only they possessed the goal of behaving in a rocklike way, we should suspect that it’s a misuse of the term.

In their next paragraph, Jebari and Lundborg argue that superintelligence also requires the ability to perform a task better than humans. But this doesn’t salvage claim 1, because there are many tasks on which intelligence is not needed to outperform humans - e.g. both of the examples I discussed in the previous paragraph. Humans, unlike rocks, are notoriously bad at taking no actions; eventually we need to eat and sleep, or just get bored. They also note, in defense of their argument, that “the term “intelligence” has a lot of connotations that are misleading”. But at some point, when you separate a term from all of its connotations, you are merely talking about a different concept. We can already say that objects have the property of x, or a strong ability or capability to do x; we do not need to claim that this is equivalent to them being superintelligent at x.

Having said all this, I do agree with them that it’s reasonable and indeed necessary to separate agency and intelligence. I think this will require us to move beyond Legg and Hutter’s definition of intelligence, in a way which I discuss briefly here and hope to explicate further soon.

Ascribing desires to simple agents

Jebari and Lundborg go on to note: “In many situations, machines acting in our environment are often described as trying to attain some general aim, for example, the goal of a vacuum cleaner robot is often described as “clean a room”… But vacuum cleaner robots are not literally trying to clean a room. Rather they follow a set of specific instructions that often results in cleaning a room.”

This is a very reasonable observation. To me, the implication is that it is not very useful to ascribe goals to vacuum cleaner robots; saying that they have the goal to “follow a set of specific instructions that often results in cleaning a room” adds nothing. In Dennett’s terminology, we can take the design stance towards such objects, and merely say that they have been designed to clean rooms without needing to invoke any goals belonging to the vacuum cleaner itself.

But Jebari and Lundborg disagree. For example, they claim that “[a] thermostat has no desire with respect to the temperature of the room. It only has a desire to activate the AC if the temperature, as registered by its thermometer, reaches a certain threshold.” They introduce a distinction between these and other desires: they call desires like the ones they ascribe to thermometers and vacuum cleaners unproductive desires.

I should note, however, that this is primarily a semantic dispute. I say that unproductive desires shouldn’t qualify as desires; Jebari and Lundborg think that they are a special type of desire. I think that their terminology is misleading because, like their definition of intelligence, it’s too permissive - it allows us to ascribe unproductive desires to rocks and other inanimate objects. And I expect that if this terminology becomes more common, there’ll be a lot of unnecessary contention between people who use this terminology and people who think that rocks and thermostats don’t really have desires. But it’s not a crucial issue.

Two ways of acquiring desires

A more serious disagreement arises in the subsequent section, where they argue that “an AI with a set of desires constrained to a specific domain cannot acquire desires relevant to other domains”, because “desires can only be reinforced from within”. We should immediately be suspicious of this argument, because it gives rise to a regress problem: how does an AI acquire its first desire in any given domain? In fact, Jebari and Lundborg are conflating two ways in which new desires can arise. The first is that new desires can arise by thinking about ways to achieve old desires; these are often called instrumental desires. But the second is that desires can arise via a modification to the system itself. For example, if I train an AI to play Starcraft, then that AI goes from an initial state in which it has no desires, to a state in which it desires (whether “productively” or “unproductively”) to win at Starcraft, due to the parameter updates implemented by its optimiser.

In this case, I have described the situation as if there is a “policy” agent which chooses what actions to take, and a separate optimiser. But we could also think about this as one system: a single agent which contains a policy module and an optimiser module that updates the policy module. Some sources use the former terminology, some use the latter. Yet in either case, the “agent” starts off without general agency, and might develop general agency during training if the training environment is complex enough. Because of this, the distinction Jebari and Lundborg draw between “spontaneous emergence” and “accidental emergence” of generality seems to merely reflect the arbitrary choice of where we draw the line of what qualifies as an “agent”.

Perhaps Jebari and Lundborg might reply that the combination of a randomly initialised policy and an optimiser already constitutes a general agent, because the optimiser is able to update the policy in a wide range of circumstances. Yet if so, then they are incorrect to claim that Bostrom argues for the possibility of spontaneous emergence of a general agent from a non-general agent. In fact, the example Bostrom uses is of evolutionary search processes, which are a type of optimisation algorithm. So if an optimiser updating a randomly initialised policy constitutes a general agent, then so does Bostrom’s proposed evolutionary search process. But I think that saying that either of these are “general” agents is too much of a stretch; they’re simple, blind optimisation processes that are able to give rise to general agents. I consider this distinction to be crucial in thinking about agency and what behaviour we should expect from superintelligences.



Discuss

Increasing Isolation Again

25 октября, 2020 - 16:10
Published on October 25, 2020 1:10 PM GMT

The coronavirus is getting much worse in Massachusetts, as it is in many places. Wastewater levels do not look good:

Neither does the percentage of tested individuals who are positive:

This is p8 of the daily coronavirus dashboard for today, and each day's is available at mass.gov when ready. The "percentage of all molecular tests that are positive" number is much less useful: we also don't want to think things are good just because MIT is retesting their students at an incredible rate.

When our house relaxed our strict isolation in early July things were looking good: rates were down, testing was up. The per-individual positive test percentage was ~1.5-2%:

Hospitalizations are starting to trend upwards as well, though are still far below their peak:

COVID Tracking Project

We talked yesterday as a house, and decided on new house rules:

  • Our default is the same as it has been since March: you can only interact with other people outside the household if you're outside, masked, and at least six feet apart. I recommend buying snowpants for comfortable outdoor cold-weather socializing.

  • We're still treating a small number of people who have had coronavirus and tested positive for antibodies on a reliable test as fully safe. There is still some chance that they could get it again, with immunity feeding overtime, but we think the additional risk from them is very low.

  • Previously Each of us could pick one person each week to spend time with us unrestricted: no masks, kissing etc ok. We're not doing this anymore.

  • Now, each of us can pick one person each week to spend time with inside, as long as we wear a high-quality mask keep faces at least 2ft apart. It's now possible to get KN-95 (Chinese-spec N95) masks at about $2/mask (ex).

  • We're still not going into stores to shop etc.

These rules don't bring our risk down to zero, but we think they're a reasonable trade off between danger of getting or spreading the coronavirus and the benefits of spending time with people.

We will of course revisit as things continue to change.



Discuss

Yet another world spirit sock puppet

25 октября, 2020 - 08:30
Published on October 25, 2020 5:30 AM GMT

Crossposted from world spirit sock puppet.

I have almost successfully made and made decent this here my new blog, in spite of little pre-existing familiarity with relevant tools beyond things like persistence in the face of adversity and Googling things. I don’t fully understand how it works, but it is a different and freer non-understanding than with WordPress or Tumblr. This blog is more mine to have mis-built and to go back and fix. It is like not understanding why your cake is still a liquid rather than like not understanding why your printer isn’t recognized by your computer.

My plan is to blog at worldspiritsockpuppet.com now, and cross-post to my older blogs the subset of posts that fit there.

The main remaining thing is to add comments. If anyone has views about how those should be, er, tweet at me?



Discuss

Which headlines and narratives are mostly clickbait?

25 октября, 2020 - 04:19
Published on October 25, 2020 1:19 AM GMT

Or: What do superforecasters tend to think of the topics that get tweets and airtime these days? The following questions get put into my attention (consensually and otherwise) and I am genuinely uncertain about the answers.
 

  • Is Trump really gearing up for a fascist takeover? Is fascism truly resurgent?
  • Does the elite left really endorse looting?
  • If Biden doesn't win in a landslide, will this really cause a national crisis?
  • Are we really seeing an incipient purge of non-leftwing thinkers from academia? Just how much of the putative "Great Awokening" is an illusion due to (social) media hype?
  • Have Silicon Valley and the mainstream media really gone to "war"? What will be the course of this war, and how will it end? Will I be much affected if I am not an investor nor a news consumer?
  • Is California really about to be swallowed by leftwing politics and lose all its golden geese to Texas, New Hampshire, or wherever?
  • Are regular Americans being driven into poverty en masse, soon to all be wage slaves to a technocratic elite?
  • Will higher education be drastically affected by the coming era of Work From Home?
  • How ought one view statements from the CDC henceforth? How much did its behavior and credibility in 2020 differ from other years or other administrations?
  • Are we going to see massive migrations out of cities? A world of "red zones and green zones" where large gatherings become a way for societies to flex their public health?
  • Is the general issue of misinformation (including but not limited to conspiracy theories and fake news) really much worse now than in decades past? By what metrics?
  • How much divisive mental malware have entities like the Internet Research Agency really managed to get into our brains? Are countries other than Russia getting in on the action?
  • Is China really running a global surveillance operation by compromising people's smartphones via TikTok? Are they really going to match the US in influence in the next 20 years? Will this require them to ease up on the Uighurs or not?

Sorry, that was a lot to drop all at once, but the cacophony is the point. I know headlines are headlines, clickbait is clickbait, but I frequently hear smart people (including rationalists) giving ample conversational time to any of the above topics. I suspect that with a moderate amount of effort, a smart person could identify and ignore whichever of these topics are pure distraction. What I want to know is if such efforts have already been done systematically and semi-credibly (for example, a collection of rigorous blog posts by a superforecaster). Ultimately, I'm hoping I can get some sense of how to weigh e.g. the resurgence of fascism vs. The Great Awokening vs. silent attacks by foreign states--without having to do tons of my own research. (I already skimmed Metaculus and I remain unsatisfied.)



Discuss

Why Huntington-Hill?

25 октября, 2020 - 03:50
Published on October 25, 2020 12:50 AM GMT

The US House of Representatives uses the Huntington-Hill method to figure out how many representatives each state should have. First you give each state one representative, because even the smallest state is guaranteed one, and then you assign the remaining spots, one at a time, to whichever state has the highest "priority". Priority being ratio of its population to the geometric mean of the number of seats it currently holds and the number it would hold if it received this extra seat:

Ps = state population Rs = state reps Ps --------------- sqrt(Rs*(Rs+1))

Where does this come from? I had a shot at deriving it, and it actually makes a lot of sense. First, we restate the problem has one of error minimization. At every stage, we want to assign the next seat wherever it would most minimize representational inaccuracy. Current error is, summed over all states:

Pt = total population Rt = total (target) reps | Pt Ps | | -- - -- | * Ps | Rt Rs |

For each state we might give a seat to, the effect that would have on total error is:

| Pt Ps | | Pt Ps | | -- - ---- | * Ps - | -- - -- | * Ps | Rt Rs+1 | | Rt Rs |

We would like to identify the state that minimizes this quantity. Since we are adding representatives one by one, Pt/Rt will always be greater than Ps/Rs [1] and we can remove the absolute value and distribute the Ps.

PtPs PsPs PtPs PsPs ---- - ---- - ---- + ---- Rt Rs+1 Rt Rs

Cancel the PtPs/Rt and we have:

PsPs PsPs ---- + ---- Rs Rs+1

Combine the two fractions and cancel again:

PsPs --------- Rs*(Rs+1)

Since we're trying to identify the state that minimizes the quantity, we can instead identify the state that minimizes its square root:

Ps --------------- sqrt(Rs*(Rs+1))

Which is in the prioritization of Huntington-Hill.

I initially tried to derive this from squared error, which did not work and ended up with an enormous amount of scribbles on paper.


[1] This is not quite true, as we get to assigning the very last representatives, but I think it still works?

Comment via: facebook



Discuss

Courage, and how to get some

25 октября, 2020 - 01:32
Published on October 24, 2020 10:32 PM GMT

This post examines the virtue of courage and explores some avenues for how to improve it. This could be a starting point for expanding the LessWrong Wiki entry on Courage, and I encourage you add comments/questions to help guide that effort.

Courage (sometimes “bravery” or the closely-related virtue of “valor”) is one of the most frequently-mentioned virtues in virtue-oriented traditions. It was one of the four “cardinal virtues” of ancient Greece, for example.

Courage is also often recommended as something that undergirds other virtues. C.S. Lewis wrote, for instance, that “Courage is not simply one of the virtues but the form of every virtue at the testing point, which means at the point of highest reality.” And Maya Angelou wrote that “Courage is the most important of all the virtues because without courage, you can’t practice any other virtue consistently.”

Fear

Courage has to do with our response to fear. This response has at least three components:

  1. One concerns the way we judge how threatening a situation is — how easily spooked we are (emotional) and how sensible our risk assessment is (cognitive).
  2. Another is how we act when we are immediately confronted with a frightening scenario — how well we think and perform while afraid.
  3. The third is how we respond to the possibility of being in a fearful scenario at some future time — that is, how risk-averse we are (sometimes “fear” in this anticipatory context is called “anxiety” or “dread”).

Fear is an unpleasant good in the same sort of way that pain and nausea are: Such things are no fun, but they are useful. Fear (when it is operating properly) informs you that you have managed to put yourself in a situation in which you run the risk of harm, and the unpleasantness of the sensation of fear prompts you to be averse to doing it again. Fear also can prepare you for an immediate, protective fight-or-flight response.

(Although we are averse to fear, we sometimes also perversely seek it out. In a similar way perhaps to how some people crave the pain of ghost chilies or spankings; some people crave the fright of horror movies and roller-coasters. Is this perhaps a way of helping to regulate our fear response through practice or inoculation?)

The visceral fear response is adaptive and it’s no surprise that we see it in other animals and that it seems to be to some extent a “deep,” subconscious part of our mental make-up. This can also make our fears difficult to work with on a conscious, rational level, as the experiences of people with phobias, panic disorders, anxiety disorders, or post-traumatic stress show.

Is there One Courage or Many?

In a lot of my reading from virtue-based traditions, courage is exemplified by the bravery of the warrior in battle. Aristotle, for example, started there and then generalized this to courage in the face of other deliberate human-caused threats, but he was reluctant to go further and say that the courage of someone who behaves bravely when threatened with disease or impoverishment was quite in the same ballpark. Nowadays we’re more likely to recognize a variety of fears as being things we need courage to confront: fear of rejection, fear of mortality, fear of humiliation, fear of standing out, and so forth. We may speak of the “intellectual courage” it takes to resist the temptation to sweep an inconvenient truth under the rug, or the “moral courage” it takes to stand up for what you know is right in the face of social disapproval. (See for example, Rushworth M. Kidder’s Moral Courage.)

But it may be that when you stretch the word courage to cover so much territory, you are no longer describing a single virtue. When I was putting together this post I saw this tweet from Zach Weinersmith (of SMBC comics fame) who has been researching the history of space exploration: “For the space book, I am reading about people in extreme environments. Interesting thing: bravery is not cross contextual. You can be a brave mountaineer and still not brave at social situations.”

Counterfeit Courage

In addition to the more common failure of cowardice, our response to fear can also fail in the opposite direction. There are brain disorders that can disable the ability to feel fear viscerally (see this brief Smithsonian article for example), thus throwing you back on mere conscious evaluation. Alcohol use is notorious for inducing temporary YOLO-recklessness and failure to recognize and respond appropriately to danger. Aristotle for this reason put the courageous “golden mean” at a mid-point between the vice of over-sensitivity to fear (cowardice) and the vice of under-sensitivity (rashness).

People without real courage will often try to counterfeit courage in social situations (“braggadocio”), as Shakespeare so vividly put it:

How many cowards, whose hearts are all as false
as stairs of sand, wear yet upon their chins
the beards of Hercules and frowning Mars,
who inward searched, have livers white as milk;
and these assume but valour’s excrement
to render them redoubted.

Another form of counterfeit courage is exhibited by someone who is forced to to choose between fearful things — a soldier who seems brave in battle only because he fears being shot for desertion or being disgraced in his community, for instance. Sometimes people suggest “hacks” for changing behaviors that seem to rely on this sort of thing (i.e. set up an artificial scenario in which if you fail to do frightening thing X, $100 will be donated in your name to something you would be horrified to be associated with).

There is also a way of resolving fear that mostly side-steps the issue of cowardice or courage: that is, to make the fearful situation less fearful. One way to do this is to increase your competence. So for example if you have a fear of public speaking, you might participate in Toastmasters, which is designed to create a non-threatening environment in which to practice a variety of public speaking skills. As your abilities improve, so does your confidence, and what was fear-inducing no longer is. This in a way is another form of counterfeit courage (Aristotle said, for example, that in a storm, sailors were not exhibiting more courage than their frightened passengers, but merely a better handle on the situation). On the other hand, it is a way of meeting a frightening situation head-on and proving your mastery over it, which strikes me as something that could be a helpful way of bolstering courage.

Becoming Courageous

Zach Weinersmith, in that tweet above, cited the book Extreme: Why some people thrive at the limits by Emma Barrett and Paul Martin. Barrett & Martin conclude that “We all have a greater capacity to be brave than we sometimes appreciate” and identify three elements of the fear response — “physiological, cognitive, and behavioral” — each of which comes with handles we can learn to manipulate in order to take more conscious control over how we respond to fear and thereby develop more courage:

  1. If you are aware and observant of your physiological response to fear, you can (once the initial shock passes, perhaps) take conscious steps to regulate it rather than just reacting to it or letting it take the reins. This implicates the additional virtues of mindfulness and emotional intelligence.
  2. If you assess risk more rationally, you will save your anxiety for situations that deserve it.
  3. And with deliberation and practice, you can adjust how you respond while in fearful or anxiety-provoking scenarios.

Another suggestion, and again this comes from Aristotle, is to try to look on courage as a valuable end in itself and not just as something instrumental. In other words, rather than just saying “I wish I were more courageous, for then I could do scary things like X, Y, & Z, which I value” say also “and furthermore I would exhibit courage, which I also value.” This may improve the motivation you have for being courageous, and increase the pleasure you feel from your courageous acts (and therefore the reward you receive).

Additional Resources

If you’re fond of audio/visual learning, there are a couple of nice short videos out there: How to stop feeling scared all the time from School of Life, which concerns how to short-circuit excess anxiety, and How to stop being a coward from Academy of Ideas, which is a bit more on the philosophical side.

The Getselfhelp.co.uk site has some worksheets and suggestions you can use if anxiety is causing you to avoid situations that would be beneficial to you. Skills You Need has a page on courage.



Discuss

(How) should we pursue human longevity?

24 октября, 2020 - 22:13
Published on October 24, 2020 7:13 PM GMT

Shameless linkpost, but I'd really appreciate any LW feedback:

https://milan.cvitkovic.net/writing/longevity/

Citations include @Emanuele_Ascani and @Matthew_Barnett

TL;DR:

  • We shouldn’t overestimate how much we understand aging, and we shouldn’t underestimate how much progress we can make without full understanding.
  • On the margin I agree with Open Phil that basic research and engineering for biotech tools are likely to have the biggest impact on longevity, whether this research is called “longevity research” or not. I’d say this is especially true for tools to do large-scale phenotypic assays. The hard(er) part of building the atomic bomb wasn’t the nuclear physics, it was building the bomb, and I suspect longevity is similar.
  • There are a million problems to be solved in the drug discovery ecosystem that will help achieve human longevity. Solving them may accomplish more for longevity than any direct work on aging at this point.
  • Many problems in the drug discovery ecosystem don’t require primary expertise in biological science. And most of them aren’t specific to longevity and require no explicit association with longevity. This is useful for decoupling longevity progress from the longevity brand.
  • Despite how depressingly underrated longevity research is, technologies directly targeting the experience of suffering are underrated even more, with the possible exception of psychedelic therapy (by tech) and non-addictive painkillers (by pharma). I’d prefer work on neuromodulation, mood adjustment, and new forms of analgesia to be getting as much attention as longevity.


Discuss

“Prediction” and “explanation” are not causation

24 октября, 2020 - 21:55
Published on October 24, 2020 6:55 PM GMT

Everyone knows that correlation is not causation. Many people don't know that in scientific jargon, “predict” and “explain” are also not causation. They are forms of correlation.

(Technically, “association” might be a better term than “correlation”, which can have a narrower technical meaning in statistics. But since I'm writing this for non-experts, I'm going to use the term “correlation” in the colloquial, wider sense.)

These terms can cause extreme miscommunication:

In lay usage, “X predicts Y” implies that X comes before Y. Predictions are about the future. In statistics, there is no time implication at all. It is just a type of correlation. If I said that I could use 2020 data to “predict” things that happened in 2019 (or 1920), most people would laugh at me. But this is a perfectly legitimate usage of statistical “prediction”.

Similarly, the general sense of “explanation” means a conceptual understanding of a phenomenon. In statistics, “explanation” implies no such understanding, only a certain type of correlation.

Because of the time-implication of “prediction” and the conceptual-understanding implication of “explanation”, most people are likely to interpret these as evidence for or even proof of causation. But in many cases, they merely mean correlation.

If you are reading scientific papers, be careful with how you interpret these terms. If you are reading reports about science, know that the reporter might not be clear on this point. If you are reporting science yourself, be responsible with what you write.

(By the way, without @NeuroStats I wouldn't know this stuff either. Any value in this post is thanks to her; errors are mine alone.)



Discuss

How to Catalyze Cooperation in Media Sharing

24 октября, 2020 - 19:14
Published on October 24, 2020 4:14 PM GMT

Say Alice and Bob like to share media over a communication channel. Previously, I formalized this as a communication game between two predictive coders. Alice consumes media from pA.mjx-chtml {display: inline-block; line-height: 0; text-indent: 0; text-align: left; text-transform: none; font-style: normal; font-weight: normal; font-size: 100%; font-size-adjust: none; letter-spacing: normal; word-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0; min-height: 0; border: 0; margin: 0; padding: 1px 0} .MJXc-display {display: block; text-align: center; margin: 1em 0; padding: 0} .mjx-chtml[tabindex]:focus, body :focus .mjx-chtml[tabindex] {display: inline-table} .mjx-full-width {text-align: center; display: table-cell!important; width: 10000em} .mjx-math {display: inline-block; border-collapse: separate; border-spacing: 0} .mjx-math * {display: inline-block; -webkit-box-sizing: content-box!important; -moz-box-sizing: content-box!important; box-sizing: content-box!important; text-align: left} .mjx-numerator {display: block; text-align: center} .mjx-denominator {display: block; text-align: center} .MJXc-stacked {height: 0; position: relative} .MJXc-stacked > * {position: absolute} .MJXc-bevelled > * {display: inline-block} .mjx-stack {display: inline-block} .mjx-op {display: block} .mjx-under {display: table-cell} .mjx-over {display: block} .mjx-over > * {padding-left: 0px!important; padding-right: 0px!important} .mjx-under > * {padding-left: 0px!important; padding-right: 0px!important} .mjx-stack > .mjx-sup {display: block} .mjx-stack > .mjx-sub {display: block} .mjx-prestack > .mjx-presup {display: block} .mjx-prestack > .mjx-presub {display: block} .mjx-delim-h > .mjx-char {display: inline-block} .mjx-surd {vertical-align: top} .mjx-mphantom * {visibility: hidden} .mjx-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 2px 3px; font-style: normal; font-size: 90%} .mjx-annotation-xml {line-height: normal} .mjx-menclose > svg {fill: none; stroke: currentColor} .mjx-mtr {display: table-row} .mjx-mlabeledtr {display: table-row} .mjx-mtd {display: table-cell; text-align: center} .mjx-label {display: table-row} .mjx-box {display: inline-block} .mjx-block {display: block} .mjx-span {display: inline} .mjx-char {display: block; white-space: pre} .mjx-itable {display: inline-table; width: auto} .mjx-row {display: table-row} .mjx-cell {display: table-cell} .mjx-table {display: table; width: 100%} .mjx-line {display: block; height: 0} .mjx-strut {width: 0; padding-top: 1em} .mjx-vsize {width: 0} .MJXc-space1 {margin-left: .167em} .MJXc-space2 {margin-left: .222em} .MJXc-space3 {margin-left: .278em} .mjx-test.mjx-test-display {display: table!important} .mjx-test.mjx-test-inline {display: inline!important; margin-right: -1px} .mjx-test.mjx-test-default {display: block!important; clear: both} .mjx-ex-box {display: inline-block!important; position: absolute; overflow: hidden; min-height: 0; max-height: none; padding: 0; border: 0; margin: 0; width: 1px; height: 60ex} .mjx-test-inline .mjx-left-box {display: inline-block; width: 0; float: left} .mjx-test-inline .mjx-right-box {display: inline-block; width: 0; float: right} .mjx-test-display .mjx-right-box {display: table-cell!important; width: 10000em!important; min-width: 0; max-width: none; padding: 0; border: 0; margin: 0} .MJXc-TeX-unknown-R {font-family: monospace; font-style: normal; font-weight: normal} .MJXc-TeX-unknown-I {font-family: monospace; font-style: italic; font-weight: normal} .MJXc-TeX-unknown-B {font-family: monospace; font-style: normal; font-weight: bold} .MJXc-TeX-unknown-BI {font-family: monospace; font-style: italic; font-weight: bold} .MJXc-TeX-ams-R {font-family: MJXc-TeX-ams-R,MJXc-TeX-ams-Rw} .MJXc-TeX-cal-B {font-family: MJXc-TeX-cal-B,MJXc-TeX-cal-Bx,MJXc-TeX-cal-Bw} .MJXc-TeX-frak-R {font-family: MJXc-TeX-frak-R,MJXc-TeX-frak-Rw} .MJXc-TeX-frak-B {font-family: MJXc-TeX-frak-B,MJXc-TeX-frak-Bx,MJXc-TeX-frak-Bw} .MJXc-TeX-math-BI {font-family: MJXc-TeX-math-BI,MJXc-TeX-math-BIx,MJXc-TeX-math-BIw} .MJXc-TeX-sans-R {font-family: MJXc-TeX-sans-R,MJXc-TeX-sans-Rw} .MJXc-TeX-sans-B {font-family: MJXc-TeX-sans-B,MJXc-TeX-sans-Bx,MJXc-TeX-sans-Bw} .MJXc-TeX-sans-I {font-family: MJXc-TeX-sans-I,MJXc-TeX-sans-Ix,MJXc-TeX-sans-Iw} .MJXc-TeX-script-R {font-family: MJXc-TeX-script-R,MJXc-TeX-script-Rw} .MJXc-TeX-type-R {font-family: MJXc-TeX-type-R,MJXc-TeX-type-Rw} .MJXc-TeX-cal-R {font-family: MJXc-TeX-cal-R,MJXc-TeX-cal-Rw} .MJXc-TeX-main-B {font-family: MJXc-TeX-main-B,MJXc-TeX-main-Bx,MJXc-TeX-main-Bw} .MJXc-TeX-main-I {font-family: MJXc-TeX-main-I,MJXc-TeX-main-Ix,MJXc-TeX-main-Iw} .MJXc-TeX-main-R {font-family: MJXc-TeX-main-R,MJXc-TeX-main-Rw} .MJXc-TeX-math-I {font-family: MJXc-TeX-math-I,MJXc-TeX-math-Ix,MJXc-TeX-math-Iw} .MJXc-TeX-size1-R {font-family: MJXc-TeX-size1-R,MJXc-TeX-size1-Rw} .MJXc-TeX-size2-R {font-family: MJXc-TeX-size2-R,MJXc-TeX-size2-Rw} .MJXc-TeX-size3-R {font-family: MJXc-TeX-size3-R,MJXc-TeX-size3-Rw} .MJXc-TeX-size4-R {font-family: MJXc-TeX-size4-R,MJXc-TeX-size4-Rw} .MJXc-TeX-vec-R {font-family: MJXc-TeX-vec-R,MJXc-TeX-vec-Rw} .MJXc-TeX-vec-B {font-family: MJXc-TeX-vec-B,MJXc-TeX-vec-Bx,MJXc-TeX-vec-Bw} @font-face {font-family: MJXc-TeX-ams-R; src: local('MathJax_AMS'), local('MathJax_AMS-Regular')} @font-face {font-family: MJXc-TeX-ams-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_AMS-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_AMS-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_AMS-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-cal-B; src: local('MathJax_Caligraphic Bold'), local('MathJax_Caligraphic-Bold')} @font-face {font-family: MJXc-TeX-cal-Bx; src: local('MathJax_Caligraphic'); font-weight: bold} @font-face {font-family: MJXc-TeX-cal-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-frak-R; src: local('MathJax_Fraktur'), local('MathJax_Fraktur-Regular')} @font-face {font-family: MJXc-TeX-frak-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-frak-B; src: local('MathJax_Fraktur Bold'), local('MathJax_Fraktur-Bold')} @font-face {font-family: MJXc-TeX-frak-Bx; src: local('MathJax_Fraktur'); font-weight: bold} @font-face {font-family: MJXc-TeX-frak-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-math-BI; src: local('MathJax_Math BoldItalic'), local('MathJax_Math-BoldItalic')} @font-face {font-family: MJXc-TeX-math-BIx; src: local('MathJax_Math'); font-weight: bold; font-style: italic} @font-face {font-family: MJXc-TeX-math-BIw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Math-BoldItalic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Math-BoldItalic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Math-BoldItalic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-sans-R; src: local('MathJax_SansSerif'), local('MathJax_SansSerif-Regular')} @font-face {font-family: MJXc-TeX-sans-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-sans-B; src: local('MathJax_SansSerif Bold'), local('MathJax_SansSerif-Bold')} @font-face {font-family: MJXc-TeX-sans-Bx; src: local('MathJax_SansSerif'); font-weight: bold} @font-face {font-family: MJXc-TeX-sans-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-sans-I; src: local('MathJax_SansSerif Italic'), local('MathJax_SansSerif-Italic')} @font-face {font-family: MJXc-TeX-sans-Ix; src: local('MathJax_SansSerif'); font-style: italic} @font-face {font-family: MJXc-TeX-sans-Iw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Italic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Italic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Italic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-script-R; src: local('MathJax_Script'), local('MathJax_Script-Regular')} @font-face {font-family: MJXc-TeX-script-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Script-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Script-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Script-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-type-R; src: local('MathJax_Typewriter'), local('MathJax_Typewriter-Regular')} @font-face {font-family: MJXc-TeX-type-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Typewriter-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Typewriter-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Typewriter-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-cal-R; src: local('MathJax_Caligraphic'), local('MathJax_Caligraphic-Regular')} @font-face {font-family: MJXc-TeX-cal-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-main-B; src: local('MathJax_Main Bold'), local('MathJax_Main-Bold')} @font-face {font-family: MJXc-TeX-main-Bx; src: local('MathJax_Main'); font-weight: bold} @font-face {font-family: MJXc-TeX-main-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Main-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Main-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Main-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-main-I; src: local('MathJax_Main Italic'), local('MathJax_Main-Italic')} @font-face {font-family: MJXc-TeX-main-Ix; src: local('MathJax_Main'); font-style: italic} @font-face {font-family: MJXc-TeX-main-Iw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Main-Italic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Main-Italic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Main-Italic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-main-R; src: local('MathJax_Main'), local('MathJax_Main-Regular')} @font-face {font-family: MJXc-TeX-main-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Main-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Main-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Main-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-math-I; src: local('MathJax_Math Italic'), local('MathJax_Math-Italic')} @font-face {font-family: MJXc-TeX-math-Ix; src: local('MathJax_Math'); font-style: italic} @font-face {font-family: MJXc-TeX-math-Iw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Math-Italic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Math-Italic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Math-Italic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size1-R; src: local('MathJax_Size1'), local('MathJax_Size1-Regular')} @font-face {font-family: MJXc-TeX-size1-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size1-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size1-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size1-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size2-R; src: local('MathJax_Size2'), local('MathJax_Size2-Regular')} @font-face {font-family: MJXc-TeX-size2-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size2-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size2-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size2-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size3-R; src: local('MathJax_Size3'), local('MathJax_Size3-Regular')} @font-face {font-family: MJXc-TeX-size3-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size3-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size3-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size3-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size4-R; src: local('MathJax_Size4'), local('MathJax_Size4-Regular')} @font-face {font-family: MJXc-TeX-size4-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size4-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size4-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size4-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-vec-R; src: local('MathJax_Vector'), local('MathJax_Vector-Regular')} @font-face {font-family: MJXc-TeX-vec-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Vector-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Vector-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Vector-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-vec-B; src: local('MathJax_Vector Bold'), local('MathJax_Vector-Bold')} @font-face {font-family: MJXc-TeX-vec-Bx; src: local('MathJax_Vector'); font-weight: bold} @font-face {font-family: MJXc-TeX-vec-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Vector-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Vector-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Vector-Bold.otf') format('opentype')} and Bob from pB and then they send each other media from the distributions pmA and pmB and have the following objectives, JA(pmA|pmB)=αDKL(12(pmA+pmB)||pA)+(1−α)DKL(pmB||pmA),0≤α≤1JB(pmB|pmA)=βDKL(12(pmA+pmB)||pB)+(1−β)DKL(pmA||pmB),0≤β≤1 The first term is prediction error for received media and the second term is prediction error for preferences. The basic takeaway is that both needs to be sufficiently cooperative (social) in order to avoid a situation where one of the players is sent media outside their support.

One seemingly technical detail of media sharing is that, in practice, Alice and Bob will need to model one another's preferences using a finite number of samples. For high-dimensional sample spaces, this is going to be problematic. However, if media can be clustered into categories then it would be possible to project the information gained about a person's preferences onto a larger set of unseen/unlabeled media.

Say there is a network of players where each edge represents a communication channel between two players. I will assume that each of these communication channels are independent and equally viable. Now Alice and Bob can share on one channel while Charlie and Dan share on another. Moreover, each player has a media consumption pattern. More specifically, they obtain media from somewhere. They need media in order to send things to their communication partners. In fact, the throughput of a particular player is bounded by the rate at which they can aquire media. This is a demand.

Say there is an additional player, Com, on the network. The player is special in that they are the frame or edges of the network. Their goal is to maximize the amount of media being shared on the network. However, since everyone is a predictive coder this is equivalent to making it easy for players to predict what other people like being sent. Such a player could be provided by a media supplier which would aggregate media being shared on the network. What does the aggregator get out of this? Data. The more data is being sent through the network the easier it is to predict preferences. This is no different than coopeartive objective of the players.

So how does Com achieve it's objective? Here's on approach. The larger the difference between Alice and Bob's preferences the harder it is for the player's to share media. However, if Com is watching to see which media Alice and Bob share with each other they can use this information to relabel all of the media being shared on the network in terms of whether or not Alice/Bob would like it. Using this information, whenever Alice sends media to Bob that he likes Com can use this information to supply Alice with predictions about more things to send Bob. Com receives feedback based on whether or not Bob responds/likes what is sent to him.

Com reduces the amount of cooperation required for communication because now Alice doesn't have to fully understand whether or not Bob will enjoy a particular piece of media. Instead she can rely on Com to give her hints about Bob's preferences. Alice and Com work together to do this. In the limit, Alice only has to predict that if she sends certain types of media through the Com channel she'll receive back media she enjoys. This works because the same principle for Bob, and every other player on the network, is the same. Ultimately, Com catalyzes cooperative interaction over it's network. This could be a sense in which the network augments the media to a social media.



Discuss

Babble and Prune : 5 new ideas

24 октября, 2020 - 12:12
Published on October 23, 2020 11:42 PM GMT

I did something similar to the recent babble challenges here on Lesswrong over the past week. I was looking for five brand new ideas, like reverse all advice by SSC.  The criterion was that each idea should be at least as interesting as the question "Should you reverse any advice you hear?"

  • Infinite Minds
    • According to the MUH, everything mathematically possible must exist. So surely infinite minds with infinite computational power exist. 
    • This brings us to something like a Fermi Paradox. Where are the infinite minds?
  • Air Conditioning
    • For a brain emulation, fluctuations in the ambient temperature are easy to create.
    • These fluctuations could be used as thermal music.
  • Antigraph
    • Capture the LessWrong social graph.
    • Make it more strongly connected, via Zoom chats etc. Actively reduce the degree of separation from 6 to 2, by video chats among random LessWrong members.
  • AntiSignalling
    • Intentionally underperforms in exams and walks out of the exam hall early because it is a waste of time to answer questions that ve already knows how to solve
  • Noticing Confusion
    • Why are there no non-profit phone/laptop manufacturing organizations? Where all the hardware design etc is open source? This is especially strange since they are not making much money in the first place. As far as I can tell, this is mostly due to social inertia and norms in the industry. Please correct me if I'm wrong.


Discuss

The Darwin Game - Rounds 0 to 10

24 октября, 2020 - 05:17
Published on October 24, 2020 2:17 AM GMT

The most important change between my game and Zvi's original is that bots can read each others' source code. They can simulate each other and predict each others' behavior. Within a day of the tournament launching—and an entire week before entries closed—Zack_M_Davis had already written a bot to simulate opponents and then open-sourced it to everyone.

That's what happens when a significant contributor to an open source Lisp dialect participates in a software competition.

Taleuntum wanted to write an even better simulator but was informed that it would take too many years to run.

Muticore solved the limited compute problem and wrote a safe, effective, obfuscated simulator, with randomization.

The Phantom Menace

Three separate people asked me what happens if a bot crashes the game while simulating an opponent with malware in it. This turned out not to matter because nobody deployed malware to destroy simulators. Only one player, Measure, deployed malware—and the malware didn't crash the game. Instead, it attempted to replace its opponent's move method with a method that returned 0 instead. But the threat of getting disqualified seemed to scare away other potential simulators.

Taleuntum did write a MatrixCrashingBot that crashes simulators but did not submit it. This is a disappointment, as Taleuntum would have been allowed to submit this bot as a separate entry on the grounds that it does not coordinate with Taleuntum's CloneBot. To my knowledge, nobody else took advantage of this deliberate loophole in the rules either.

RaterBot safely combed through its opponent's source code for "2"s and "3"s to estimate aggression without the dangers associated with running untrusted code.

Computer programs attempting to simulate each other can produce complex behavior. The behavior is to complex it is provably undecidable—and that's totally ignoring the real-world sandboxing problem.

Nevertheless, two contestants requested I write code to simulate their opponents. I refused these requests. Zvi[1] accepted a simpler bot and the other contestant dropped out.

I'm surprised running the enemy is complicated though—it should just be a function call.

―quote from the contestant who dropped out

But the most significant use of the opponent's source code came from Vanilla_cabs.

Attack of the Clones

Zvi's original game was dominated by a clique of players who coordinated out-of-game to defect the non-clique players. This have worked great—and then defectors within the clique dominated both the non-clique players and the clique players.

Vanilla_cabs observed that players could use each other's source code to detect (and therefore punish) defection from a clique. Leveraging this insight, Vanilla_cabs created a CloneBot template that would cooperate only for the first 90 rounds—long enough to eliminate all non-clones—and then allow players to do whatever they wanted afterward.

Brilliantly, the CloneBots used the lexographic length of custom code to break parity symmetry and guarantee perfect coordination between CloneBot instances instead of having to fumble around for the initial rounds of each pairing.

At the same time, Vanilla_cabs worried that someone might attempt to bypass the CloneBot's self-recognition system. As a first line of defense, Vanilla_cabs kept the source code secret from non-cloners. As a second line of defense, Vanilla_cabs deliberately left open a weakness as a honeypot. Among the first co-conspirators in the clone army, only Lanrian reported this weakness.

Taleuntum, in contrast, contributed two lies to the clique intrigue.

I lied that I've already submitted one program detecting and crashing simulators…obviously I did not even plan to do so. Some time later…I added another lie that the method of detecting simulators was my friend's idea (hopefully suggesting that there is another contestant with the same method outside the clique).

Taleuntum

One player discovered a way to defect from the CloneBots.

Multicore

The original CloneBot template used splitlines() to parse source code. But the Python3 interpreter behaves slightly differently from splitlines(). In particular, splitlines() splits on the groups separator character 0x1D, which Python3 does not treat as a newline. By placing 0x1D group separator characters inside of a comment, Multicore's EarlyBirdMimicBot bypassed the CloneBot self-recognition system.

Multicore did a lot of things.

  • Wrote a simulator.
  • Optimized the simulator via a branching algorithm to perform efficient searches.
  • Used randomization to disrupt opposing simulators.
  • Protected the simulator from malware.
  • Joined the CloneBots.
  • Defected from the CloneBots via a zero-day exploit in the CloneBot code.
  • Recruited two friends to submit password bots to serve as fodder.
  • Adjusted strategy based on the round number.

When I hosted this tournament, I hadn't expected anyone to "[read] through the C code for the python lexer".

For a complete write-up of Multicore's strategy, including source code, see here.

On a side note, I really love this site. I can't really recall any other game I've been in getting this tangled.

Emiya

The First Game

The first iteration of the game was run by Taleuntum who ran "a simulation of the whole tournament till the 160th round with 8 bots" despite the tournament's source code not being public at the time.

Taleuntum's tournament was unofficial and does not count.

The Real Game Teams

In order to make sense of the 54 participating bots, I have bucketed them into teams.

  • [Blue] Clone Army. 10 players pledged to submit clone bots. 8 followed through, 1 didn't and Multicore submitted a mimic bot.
  • [Red] Multics. Multicore's friends submitted 2 password bots to aid Multicore's mimic bot.
  • [Green] Norm Enforcers. Ben Pace joined forces with jacobjacob to form their own little duo.
  • [Black] Chaos Army. 20 players wrote individual bots.
  • [Magenta] NPCs. I wrote 21 Silly Bots. Some of them had synergies.

The clones [Blue] begin the game are outnumbered 6-to-1.

Round 1

5 bots died on turn 1 including 4 NPCs and the jacobjacob bot.

Rounds 2-3

Another 4 NPCs died.

Rounds 4-10

S_A and BenBot die, along with 3 more NPCs. Thus ends team Norm Enforcers.

The clone army is mostly doing well, except for CloneBot which is doing poorly and AbstractSpyTreeBot which is doing almost as well as the average clone.

EarlyBirdMimicBot is doing better than average but not by much. The MimicBot's 0x1D exploit succeeded in defecting, but the bot appears not to have leveraged this defection to gamebreaking effect.

The clones have built up a critical mass of >50%. If their coordination mechanisms work then they ought to crush the rest of the competition.

If Zack_M_Davis' AbstractSpyTreeBot can survive in a world of clones until turn 90 when the clone treaty breaks then there may be some hope for the Confederacy.

If not then, begun, the clone wars have.

Everything so far

Today's Obituary Bot Team Summary Round jacobjacob-Bot Norm Enforcers Plays aggressively while coordinating with Ben. 1 Silly 5 Bot NPCs Always returns 5. 1 Silly 0 Bot NPCs Always returns 0. 1 Silly Invert Bot 0 NPCs Starts with 0. Then always returns 5 - previous. 1 Silly Invert Bot 5 NPCs Starts with 5. Then always returns 5 - previous. 1 Silly 4 Bot NPCs Always returns 4. Then always returns 5 - previous. 2 Silly Invert Bot 1 NPCs Starts with 0. Then always returns 5 - previous. 2 Silly Chaos Bot NPCs Plays completely randomly. 4 Silly Invert Bot 4 NPCs Starts with 4. Then always returns 5 - previous. 4 S_A Chaos Army Plays 1 79% of the time, 5 20% of the time and randomly 1% of the time 5 Silly Random Invert Bot 4 NPCs Starts randomly. Then always returns 5 - previous. 6 Silly 1 Bot NPCs Always returns 1. 7 Ben Bot Norm Enforcers Always returns 3. 10 Silly 3 Bot NPCs Always returns 3. 10

The next installment of this series will be posted on October 26, 2020 at 5 pm Pacific Time.

  1. Zvi's specification did address the halting problem, sandboxing problems and unpredictable resource consumption. ↩︎



Discuss

What is our true life expectancy?

24 октября, 2020 - 02:17
Published on October 23, 2020 11:17 PM GMT

I recently learned that when they talk about a life expectancy of eg. 80 years, it's assuming that the future looks similar to the past. But with exponential progress in technology, that doesn't seem like a good assumption. For example, according to Bostrom's survey (90% likelihood), the median pessimistic year for AGI is 2075.

So then, taking into account technological progress, what do we expect life expectancy to be?



Discuss

Finding Leverage: System Thinking & Change Management

24 октября, 2020 - 01:39
Published on October 22, 2020 11:31 PM GMT

Change Management is an enormous field. Both academically and in terms of industry, the study and practice of transformation within organisations is vast. Many schools of thought exist as to why transformations succeed or fail. Academics unpack the data and devise theories, practitioners spot patterns over the course of their career and provide consulting advice on how to bring about change successfully. However, despite fields of academic study devoted to change management, and millions of dollars spent annually on business transformation, there is no definitive theory or set of principles to guide a company undergoing change.

A brief search reveals suggestions for: The 4 Pillars of Successful Change Implementation; The Three Components of Organisational Change; The 5 Key Elements for Successful Change Management; Changing Change Management; and more.

Suggestions as to the critical components that lead to a successful organisational change abound: Clear Vision, Accountability, Accessibility, Alignment; or maybe it's Planning, Leadership, and Maintenance of Change; but could it be Communication, Engagement, and Enrolment?

All of these concepts no doubt contribute to making organisational change a success. It seems unlikely that any project could succeed without a clear vision or communication, planning or leadership. What appears to be lacking though, is a cohesive way of thinking about organisational transformation and change management holistically. Transformation doesn't happen person by person, or department by department. It succeeds when all of the interconnected and interdependent relationships between individuals, teams, departments, and business units all work as a synergistic whole. In other words, it succeeds when all of the elements within the system work as a collective unit.

One useful way to think about the interconnected relationships between elements is with system thinking. Applying a system thinking lens to organisational transformation enables a change leader to think through not just the key pillars of change, or the human components of an organisation, but to encapsulate all of the different ways that the elements within the system interrelate to form the whole company.

 

What is System Thinking?

System thinking and systems theory seeks to understand the relationships between structure and behaviour. Understanding how systems work allows us to identify the causes of substandard performance and to make interventions that lead to better behaviour patterns. In other words, system thinking doesn't just tell you what is happening, but also helps explain why.

A system is a set of things — people, cells, molecules... — interconnected in such a way that they produce their own pattern of behaviour over time.

- Donella Meadows, Thinking in Systems

When applied to organisational change, system thinking focuses on the connectivity between people. One of the key insights of system theory is that systems involve interconnected relationships and feedback loops. Feedback and feedback loops can quickly produce exponential effects on the system, causing unintended or unforeseen outcomes. Feedback loops are easily missed in a traditional analytical approach to problem solving since analytical thinking focuses on breaking the whole down into the constituent element and looking at each element individually. Thus, system thinking provides a way of approaching problems that enables one to account for non-linearity, and importantly in our context, to take into consideration a dynamic collection of relationships that change over time.

How Can System Thinking Be Applied to Change Management?

When undergoing organisational transformation, many managers struggle to find ways to think holistically about the change. Fires spring up across many different teams, departments, or business units — all seemingly urgent — resulting in a disorganised and unprioritised list of independent action items to resolve the problems that are occurring. This leaves change managers feeling like they are playing a game of whack-a-mole where solving one problem causes two more to spring up elsewhere.

One of the most significant benefits of applying a system lens to organisational change projects is that it allows a change agent to identify points of leverage in a system — a small number of crucial relationships that produce outsize impacts on the system as a whole. By communicating this information to the appropriate managers, change leaders can direct resources to these points of leverage and make informed, meaningful interventions. During times of transformation, budgets, resources, and time may be in short supply. Thus, concentrated effort on a small number of points of leverage at a single point in time provides both a logical approach to transformation and an effective use of constrained resources.

Not all leverage is created equal...

Donella Meadows and the Academy for Systems Change suggest that there are four layers of leverage. Meadows suggests thinking about it in terms of an iceberg. Using the iceberg model, we can recognise that there may be more to a system than meets the eye. The tip of the iceberg — events — are what we experience in the world. The rest of the iceberg reveals three levels of "hidden" parts in a system that influence the way the system works. These are: patterns of behaviour, systems structure, and mental models. As we go deeper toward the bottom of the iceberg, leverage increases. However, there is a balance here: since it may require significantly more effort and creativity to change people's mental models than to change behaviours, managers must think carefully about where to direct their time and energy.

 

The Iceberg Model from the Academy for Systems Change

Create a Causal Loop Diagram

Causal loop diagrams are frameworks for exploring and understanding systems. It allows a manager to identify the elements that make up a system and map the relationships that link them together. This is important because it provides a way to visualise potential causes for confusing behaviours or unintended system outcomes.

A causal loop diagram is made up of:

  1. Elements
  2. Relationships or links
  3. Signs on the links indicating how the elements are related
  4. Signs on the loops indicating the behaviour produced by the loop

The illustration below shows a very simple causal loop diagram of how money in a savings account is increased by interest earned. Interest earned is also increased by the amount of money that is in the savings account. Since the two relationships between the elements are positive (indicated by an 's' next to the arrow), and there are no negative relationships in the loop — it is known as a reinforcing loop. Reinforcing loops produce exponential growth or decay in a system which can often lead to unexpected outcomes.

a very basic reinforcing loop example

The next illustration below represents a vey simple balancing loop. Balancing loops have an odd number of negative relationships (indicated by an 'o' next to the arrow) and tend to produce outcomes that oscillate and eventually trend toward equilibrium.

a very basic balancing loop

With all of the key elements in place and the interconnections between them mapped, change managers can apply a system view to organisational transformation. Furthermore, complex patterns of behaviour may be more easily understood once the reinforcing loops between elements are identified. This allows resources to be targeted toward solving problems at the source without getting carried away dealing merely with symptoms.

 

Change Structure to Change Behaviour

The key insight of causal loop diagrams is that there is often a structural reason, or cause, for the emergent behaviour within a system. Moreover, the important thing to recognise is that the behaviour of a system is an outcome of the way a system is structured. In other words, the behaviour we see is a result of the interplay between the way the elements in a system are organised and connected — not always due to a pre-specified purpose. The reason why this is useful is because it frees a change leader to focus on creating better structures in an organisation rather than making futile attempts to control people's behaviour.

Get the Whole System in the Room

In order to make meaningful organisational change, it requires buy-in. It is not enough for a leader to make decisions in isolation and then disseminate that information in a trickle-down fashion. To be truly effective and to make real progress in transforming an organisation (and thereby a system), it is crucial to get the whole system in the room.

Getting the whole system in the room means identifying all of the stakeholders that have a say in the change and bringing them together to co-create systemic (rather than single problem) solutions. It may take the form of a town hall meeting, or a three day retreat. Although administratively challenging, a system-wide meeting enables every stakeholder in a system to have a voice and take part in the change. When people participate in change and feel a sense of ownership, they are far more likely to enact and sustain it.

Another benefit of ensuring that the whole system is present when planning for organisational transformation is that it helps to uncover blind spots. Groups composed of one person from each stakeholder group quickly come to realise that their department/function/workstream is part of a much larger system and that challenges faced by one group have knock-on (or reinforcing) effects that impact the rest. Equipped with a mutual understanding, it becomes possible for stakeholders to begin co-creating systemic solutions to previously intractable problems. Furthermore, a critical point here is that when solutions are proposed and plans are created — having the whole system in the room means that those with the authority to make decisions and direct resources are already there, and already bought in. This is absolutely critical in organisational transformations that often have tight timelines and constrained budgets to work within. Suddenly, problems are turned into solutions and then into actionable plans that have buy in, very quickly — and all of the admin to get the whole system in the room was worth the effort.

A useful moniker to guide thinking around who needs to be in the room has been proposed by Weisbord and Janoff (2007): ARE IN

Authority to act — decision-making responsibility

Resources to enact change (time, capital, contacts, energy)

Expertise on the topic or issues under consideration

Information that everyone needs or that no others have

Need — they are going to be impacted by the outcome and can articulate the consequences

 

System Thinking Can Change How You Do Change Management

System thinking is an incredibly valuable mindset that can be applied broadly. The system thinking approach focuses on the interconnected relationships between elements and the emergent behaviour of the system as a whole. Understanding the connections in a system enables change agents to concentrate their efforts on points of leverage and create a meaningful impact with their limited resources. Causal loops diagrams enable leaders to take a system view to organisational change and visualise the reinforcing and balancing loops within a system. This helps in identifying and understanding the causes behind the unexplained behaviours in a system and illuminates potential adjustments that can be made to the structure of a system to get the desired results. To enact systemic change that lasts, leaders need to ensure the whole system is in the room and understand that if the right mix of people ARE IN it together, meaningful change can happen.



Discuss

Just For Fun

24 октября, 2020 - 00:35
Published on October 23, 2020 9:35 PM GMT

It’s OK to have hobbies.

Crossposted from Curious Human.

Last Saturday night, I recorded this cover of Justin Bieber and benny blanco's new song, “Lonely”, in the backseat of my car:

[SoundCloud link - click to listen]

I'll be the first to admit that I'm not the best singer, but I love creating music. And I do it mostly for myself: I enjoy the physical and mental release of singing, the artistry involved in conveying a wide range of moods and emotions, and the challenge of hitting tough notes and putting songs together.

The little social validation that I have received has been cool though. I've gotten some pretty flattering feedback online and in person. My cover of Sasha Sloan's "Too Sad To Cry" has somehow been played over 30 thousand times.

Many people have also asked me what else I do with music, like if I have a successful YouTube channel or if I'm part of a band or something. When I tell them no, and that I don't have plans to ever really do anything with it, the follow up question is always an incredulous "Why not? You should try ___!".

I feel like we live in a time where people can’t just have hobbies anymore. There's this weird societal pressure to turn everything you’re interested in into a venture or side hustle. Enjoy painting? Better open up an Etsy shop and start selling art. Into video games? Where's your Twitch account? Love to write? You need to create a paid newsletter!

Growing up, I tried my hand at a bunch of sports: soccer, table tennis, baseball, basketball, football, tennis, badminton, fencing, and swimming. That almost seems like it's a thing of the past; most kids nowadays are pushed towards the 1-2 sports they're most talented in, and trained year-round in them so they can take them as far as they can. Because if you're good enough at soccer when you're 7, you should be able to play travel soccer, then move onto the AAU circuit, then make your high school varsity team and potentially more. If you're not, you shouldn't even be wasting time playing soccer; you should be focusing on what you’ll eventually have something to show for instead. There's this mindset now where everything done has to be done for a specific purpose. Doing it “just for fun" is a dying concept.

Basketball is by far my favorite sport, and I’ve definitely spent over 10,000 hours of my life playing and watching it. I once strongly considered majoring in journalism and covering the NBA for a living. That desire is no longer there, but I recently started casually writing about basketball in a newsletter called medium lights, where I break down plays and strategies that I find interesting. My posts are essentially recollections of the mental notes I instinctively make while watching games. They’re intentionally informal: it takes me ~30 minutes to write a post, I never use capitalization, and my "logo" is literally Apple's light bulb emoji.

Three weeks ago, I cross-posted some of my stuff to Reddit to see what would happen. It blew up, and I received over 25 thousand upvotes and several Reddit Gold and Platinum awards. medium lights hit 8,000 visitors in a single day, and 700 people subscribed to my newsletter. I even received several offers: a job offer to become a full-time sportswriter, a couple of affiliate and sponsorship deals, and readers offering to donate and/or opt into paid subscription plans.

I was super humbled, but graciously declined them all. Writing about a game I love, and having a few internet strangers appreciate it, is already rewarding enough. When you flip the switch from "hobbyist" - even if you're an expert hobbyist - to "professional", you open the floodgates. You can't simply create for the sake of creating anymore - you have a responsibility to think about what your audience wants. You have to deal with capitalism and pageantry. You’re compensated for your work, but you also acquire something to lose. And that's often enough to suck some of the joy out of it.

In “Lonely”, Justin Bieber reflects on the obstacles he faced and the feelings of loneliness he experienced as he was gaining fame in his teenage years:

Everybody knows my past now // Like my house was always made of glass

And maybe that's the price you pay // For the money and fame at an early age

What if you had it all // But nobody to call? // Maybe then you'd know me

'Cause I've had everything // But no one's listening // And that's just fuckin' lonely

I’m not saying that your hobbies should never turn into something bigger. It can be awesome when your passions and occupations overlap, but it should be because you want them to. Not because you feel like you have to.



Discuss

No Causation without Reification

23 октября, 2020 - 23:28
Published on October 23, 2020 8:28 PM GMT

I don't know how inspiring "no causation without reification" is as a rallying cry. Probably not very. But as a pithy description of an important insight, I think it's quite nice.

There's lots of reason to care about causation. In fact, it's hard to talk about much of anything without causation showing up. We need some way to talk about the fact that stuff happens, then other stuff happens, and that other stuff happens only because the first stuff happened, or so we hope to claim. The idea that one event causes another seems fairly fundamental to how humans perceive the world.

Formally, we often model causation as the action of one thing implying another, and we might formalize this with mathematical notation like A⟹B.mjx-chtml {display: inline-block; line-height: 0; text-indent: 0; text-align: left; text-transform: none; font-style: normal; font-weight: normal; font-size: 100%; font-size-adjust: none; letter-spacing: normal; word-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0; min-height: 0; border: 0; margin: 0; padding: 1px 0} .MJXc-display {display: block; text-align: center; margin: 1em 0; padding: 0} .mjx-chtml[tabindex]:focus, body :focus .mjx-chtml[tabindex] {display: inline-table} .mjx-full-width {text-align: center; display: table-cell!important; width: 10000em} .mjx-math {display: inline-block; border-collapse: separate; border-spacing: 0} .mjx-math * {display: inline-block; -webkit-box-sizing: content-box!important; -moz-box-sizing: content-box!important; box-sizing: content-box!important; text-align: left} .mjx-numerator {display: block; text-align: center} .mjx-denominator {display: block; text-align: center} .MJXc-stacked {height: 0; position: relative} .MJXc-stacked > * {position: absolute} .MJXc-bevelled > * {display: inline-block} .mjx-stack {display: inline-block} .mjx-op {display: block} .mjx-under {display: table-cell} .mjx-over {display: block} .mjx-over > * {padding-left: 0px!important; padding-right: 0px!important} .mjx-under > * {padding-left: 0px!important; padding-right: 0px!important} .mjx-stack > .mjx-sup {display: block} .mjx-stack > .mjx-sub {display: block} .mjx-prestack > .mjx-presup {display: block} .mjx-prestack > .mjx-presub {display: block} .mjx-delim-h > .mjx-char {display: inline-block} .mjx-surd {vertical-align: top} .mjx-mphantom * {visibility: hidden} .mjx-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 2px 3px; font-style: normal; font-size: 90%} .mjx-annotation-xml {line-height: normal} .mjx-menclose > svg {fill: none; stroke: currentColor} .mjx-mtr {display: table-row} .mjx-mlabeledtr {display: table-row} .mjx-mtd {display: table-cell; text-align: center} .mjx-label {display: table-row} .mjx-box {display: inline-block} .mjx-block {display: block} .mjx-span {display: inline} .mjx-char {display: block; white-space: pre} .mjx-itable {display: inline-table; width: auto} .mjx-row {display: table-row} .mjx-cell {display: table-cell} .mjx-table {display: table; width: 100%} .mjx-line {display: block; height: 0} .mjx-strut {width: 0; padding-top: 1em} .mjx-vsize {width: 0} .MJXc-space1 {margin-left: .167em} .MJXc-space2 {margin-left: .222em} .MJXc-space3 {margin-left: .278em} .mjx-test.mjx-test-display {display: table!important} .mjx-test.mjx-test-inline {display: inline!important; margin-right: -1px} .mjx-test.mjx-test-default {display: block!important; clear: both} .mjx-ex-box {display: inline-block!important; position: absolute; overflow: hidden; min-height: 0; max-height: none; padding: 0; border: 0; margin: 0; width: 1px; height: 60ex} .mjx-test-inline .mjx-left-box {display: inline-block; width: 0; float: left} .mjx-test-inline .mjx-right-box {display: inline-block; width: 0; float: right} .mjx-test-display .mjx-right-box {display: table-cell!important; width: 10000em!important; min-width: 0; max-width: none; padding: 0; border: 0; margin: 0} .MJXc-TeX-unknown-R {font-family: monospace; font-style: normal; font-weight: normal} .MJXc-TeX-unknown-I {font-family: monospace; font-style: italic; font-weight: normal} .MJXc-TeX-unknown-B {font-family: monospace; font-style: normal; font-weight: bold} .MJXc-TeX-unknown-BI {font-family: monospace; font-style: italic; font-weight: bold} .MJXc-TeX-ams-R {font-family: MJXc-TeX-ams-R,MJXc-TeX-ams-Rw} .MJXc-TeX-cal-B {font-family: MJXc-TeX-cal-B,MJXc-TeX-cal-Bx,MJXc-TeX-cal-Bw} .MJXc-TeX-frak-R {font-family: MJXc-TeX-frak-R,MJXc-TeX-frak-Rw} .MJXc-TeX-frak-B {font-family: MJXc-TeX-frak-B,MJXc-TeX-frak-Bx,MJXc-TeX-frak-Bw} .MJXc-TeX-math-BI {font-family: MJXc-TeX-math-BI,MJXc-TeX-math-BIx,MJXc-TeX-math-BIw} .MJXc-TeX-sans-R {font-family: MJXc-TeX-sans-R,MJXc-TeX-sans-Rw} .MJXc-TeX-sans-B {font-family: MJXc-TeX-sans-B,MJXc-TeX-sans-Bx,MJXc-TeX-sans-Bw} .MJXc-TeX-sans-I {font-family: MJXc-TeX-sans-I,MJXc-TeX-sans-Ix,MJXc-TeX-sans-Iw} .MJXc-TeX-script-R {font-family: MJXc-TeX-script-R,MJXc-TeX-script-Rw} .MJXc-TeX-type-R {font-family: MJXc-TeX-type-R,MJXc-TeX-type-Rw} .MJXc-TeX-cal-R {font-family: MJXc-TeX-cal-R,MJXc-TeX-cal-Rw} .MJXc-TeX-main-B {font-family: MJXc-TeX-main-B,MJXc-TeX-main-Bx,MJXc-TeX-main-Bw} .MJXc-TeX-main-I {font-family: MJXc-TeX-main-I,MJXc-TeX-main-Ix,MJXc-TeX-main-Iw} .MJXc-TeX-main-R {font-family: MJXc-TeX-main-R,MJXc-TeX-main-Rw} .MJXc-TeX-math-I {font-family: MJXc-TeX-math-I,MJXc-TeX-math-Ix,MJXc-TeX-math-Iw} .MJXc-TeX-size1-R {font-family: MJXc-TeX-size1-R,MJXc-TeX-size1-Rw} .MJXc-TeX-size2-R {font-family: MJXc-TeX-size2-R,MJXc-TeX-size2-Rw} .MJXc-TeX-size3-R {font-family: MJXc-TeX-size3-R,MJXc-TeX-size3-Rw} .MJXc-TeX-size4-R {font-family: MJXc-TeX-size4-R,MJXc-TeX-size4-Rw} .MJXc-TeX-vec-R {font-family: MJXc-TeX-vec-R,MJXc-TeX-vec-Rw} .MJXc-TeX-vec-B {font-family: MJXc-TeX-vec-B,MJXc-TeX-vec-Bx,MJXc-TeX-vec-Bw} @font-face {font-family: MJXc-TeX-ams-R; src: local('MathJax_AMS'), local('MathJax_AMS-Regular')} @font-face {font-family: MJXc-TeX-ams-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_AMS-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_AMS-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_AMS-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-cal-B; src: local('MathJax_Caligraphic Bold'), local('MathJax_Caligraphic-Bold')} @font-face {font-family: MJXc-TeX-cal-Bx; src: local('MathJax_Caligraphic'); font-weight: bold} @font-face {font-family: MJXc-TeX-cal-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-frak-R; src: local('MathJax_Fraktur'), local('MathJax_Fraktur-Regular')} @font-face {font-family: MJXc-TeX-frak-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-frak-B; src: local('MathJax_Fraktur Bold'), local('MathJax_Fraktur-Bold')} @font-face {font-family: MJXc-TeX-frak-Bx; src: local('MathJax_Fraktur'); font-weight: bold} @font-face {font-family: MJXc-TeX-frak-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-math-BI; src: local('MathJax_Math BoldItalic'), local('MathJax_Math-BoldItalic')} @font-face {font-family: MJXc-TeX-math-BIx; src: local('MathJax_Math'); font-weight: bold; font-style: italic} @font-face {font-family: MJXc-TeX-math-BIw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Math-BoldItalic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Math-BoldItalic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Math-BoldItalic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-sans-R; src: local('MathJax_SansSerif'), local('MathJax_SansSerif-Regular')} @font-face {font-family: MJXc-TeX-sans-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-sans-B; src: local('MathJax_SansSerif Bold'), local('MathJax_SansSerif-Bold')} @font-face {font-family: MJXc-TeX-sans-Bx; src: local('MathJax_SansSerif'); font-weight: bold} @font-face {font-family: MJXc-TeX-sans-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-sans-I; src: local('MathJax_SansSerif Italic'), local('MathJax_SansSerif-Italic')} @font-face {font-family: MJXc-TeX-sans-Ix; src: local('MathJax_SansSerif'); font-style: italic} @font-face {font-family: MJXc-TeX-sans-Iw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Italic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Italic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Italic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-script-R; src: local('MathJax_Script'), local('MathJax_Script-Regular')} @font-face {font-family: MJXc-TeX-script-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Script-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Script-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Script-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-type-R; src: local('MathJax_Typewriter'), local('MathJax_Typewriter-Regular')} @font-face {font-family: MJXc-TeX-type-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Typewriter-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Typewriter-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Typewriter-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-cal-R; src: local('MathJax_Caligraphic'), local('MathJax_Caligraphic-Regular')} @font-face {font-family: MJXc-TeX-cal-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-main-B; src: local('MathJax_Main Bold'), local('MathJax_Main-Bold')} @font-face {font-family: MJXc-TeX-main-Bx; src: local('MathJax_Main'); font-weight: bold} @font-face {font-family: MJXc-TeX-main-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Main-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Main-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Main-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-main-I; src: local('MathJax_Main Italic'), local('MathJax_Main-Italic')} @font-face {font-family: MJXc-TeX-main-Ix; src: local('MathJax_Main'); font-style: italic} @font-face {font-family: MJXc-TeX-main-Iw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Main-Italic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Main-Italic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Main-Italic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-main-R; src: local('MathJax_Main'), local('MathJax_Main-Regular')} @font-face {font-family: MJXc-TeX-main-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Main-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Main-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Main-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-math-I; src: local('MathJax_Math Italic'), local('MathJax_Math-Italic')} @font-face {font-family: MJXc-TeX-math-Ix; src: local('MathJax_Math'); font-style: italic} @font-face {font-family: MJXc-TeX-math-Iw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Math-Italic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Math-Italic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Math-Italic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size1-R; src: local('MathJax_Size1'), local('MathJax_Size1-Regular')} @font-face {font-family: MJXc-TeX-size1-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size1-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size1-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size1-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size2-R; src: local('MathJax_Size2'), local('MathJax_Size2-Regular')} @font-face {font-family: MJXc-TeX-size2-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size2-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size2-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size2-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size3-R; src: local('MathJax_Size3'), local('MathJax_Size3-Regular')} @font-face {font-family: MJXc-TeX-size3-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size3-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size3-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size3-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size4-R; src: local('MathJax_Size4'), local('MathJax_Size4-Regular')} @font-face {font-family: MJXc-TeX-size4-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size4-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size4-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size4-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-vec-R; src: local('MathJax_Vector'), local('MathJax_Vector-Regular')} @font-face {font-family: MJXc-TeX-vec-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Vector-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Vector-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Vector-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-vec-B; src: local('MathJax_Vector Bold'), local('MathJax_Vector-Bold')} @font-face {font-family: MJXc-TeX-vec-Bx; src: local('MathJax_Vector'); font-weight: bold} @font-face {font-family: MJXc-TeX-vec-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Vector-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Vector-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Vector-Bold.otf') format('opentype')}  to mean some event or thing A causes some other event or thing B to happen.

Hopefully that all sounds boring and obvious to you, and has you wondering when I'm going to get to the point.

My point is that the entirety of what we think we mean when we say A⟹B is ontological, i.e it's in the map. Not once ever has causality existed in the territory.

Okay, I know, time to smash the downvote button, but hear me out.

Try to imagine what the world is like if you're not modeling it. Are you picturing atoms? Particles? Wave functions? Strings?

Wrong!

Those are all models we impose on the world to make sense of it. Useful ones, usually, but still models.

The territory, noting that the notion that such a thing exists is itself another model, is a kind of soup of stuff that's all mixed up and irreducible. You either have everything or nothing, for all time or no time. If you want anything else, you have to draw a map, make distinctions, and make choices.

Those distinctions are hopefully correlated with how the territory works, because that makes them useful for things like predicting what will happen (and we often call this correspondence "truth"), but they are not the territory itself. The territory just is; always has been, always will be.

This means that there's no aspect of the territory that is causality. There's no A, there's no B, there's no ⟹, there's just "is".

But if it's not in the territory, why is causality so useful that it's largely invisible to us, and why is it so hard for us to wrap our minds around what the world would be like if we didn't perceive its presence?

Well, there clearly is some feature of the territory we're carving out, making into a thing ("reifying"), and calling causality. But, we often forget, almost the instant we've done this, that we were the ones who did the carving, and then imagine that our perception of the world is how it really is.

This is important because it can lead us to making mistakes by thinking we understand something we don't. We fail to notice how confused we are about the aspect of reality we call causality because it's so close to our faces we don't realize it's a lens through which we are looking all the time.

And yet, everything still adds up to normality. That causation feels so natural to us is a sign that its describing something normal. So why worry about this, beyond perhaps philosophical interest?

Because sometimes it does matter. If you're trying to build an AI, and you only get one shot at avoiding existential catastrophe, and if you decide it all hinges on something about how the AI reasons about cause and effect, you better make damn sure you know what you mean here since there's no guarantee the AI will respect your notions of what cause and effect mean and not do something unexpected because you failed to realize the AI could just do something else you didn't expect it could do.

I sometimes see people get sloppy when thinking about causality and forgetting that they are the ones perceiving causality and instead pretending causality is just a natural feature of the world that exists in the territory, totally independent of our perception of it. To be sure, the territory is naturally doing something that we identify as causality, except the territory cares not one bit what we think that is, and so we cannot take for granted that what we think it means for one thing to cause another is as meaningful as we think it is.

This is a hard insight to feel in your bones, and it's tempting to gloss over it because we can tell ourselves that we can ignore uncertainty about causality just this one time because so often everything works out okay when we do. Resist that temptation. The world might just depend on it.



Discuss

Local Solar Time

23 октября, 2020 - 22:40
Published on October 23, 2020 7:40 PM GMT

Sometimes we talk about how society is "path dependent": what things would be different if history had not followed its particular path? One place that's fun to think about is time. Until the development of railways, places used local solar time. Washington DC is at 77°W while NYC is at 74°, so clocks in NYC would be set ~12min ahead of those in DC.

Initially, this didn't matter: traveling from NYC to DC was a multi day endeavor, so a 12 minute difference in clocks was trivial. As roads got better and then railroads were built, however, travel times decreased enormously:

Atlas of the Historical Geography of the United States, 1932

If you're running a railway system, it's really very useful to choose a single location's time to use internally. Your workers are moving East and West, fast enough for this sort of discrepancy to become a problem, and they certainly don't want to be continuously changing their watches as they move from town to town. Railway schedules are much easier to work with if they use railway time, people start using railway time in their regular life, the government adopts a system of time zones.

Imagine, however, that things had gone differently and we were still on local solar time. At this point it would not be hard to make our phones always report the correct time as we move east and west, since our phones know where we are. Automated calendar software could deal with local solar time with about as much effort as it could with time zones. Do all routes to the present pass through a system of time zones, or is there an alternative history where we really could be on local solar time today?

Railroads need shared time much more than other forms of transportation. There are a small number of high-capacity tracks, and the same with vehicles. Efficient use requires central organization, coordinated operation, and shared scheduling, which is far easier with a shared time system. If instead of railroads we had developed cars, it would still be annoying to need to reset your watch as you move between places, but it would be much less of an issue. Perhaps we could have had political systems which made private railways impractical, combined with governments that were not competent enough to run their own? Or progress in making lighter engines could have been much faster?

Alternatively, if you had lots of North-South rivers or a society distributed among islands in an archipelago, railroads would not be practical and boats are much slower. Perhaps you could have the the development of computers before the speedy East-West travel that pushes for time zones?

The telegraph is also an interesting case, since it allows rapid communication over long distances, if not travel. I don't think the telegraph or even the telephone provide enough impetus to move society to switch to time zones. It's just not much of a problem if the telegraph operator in NYC thinks it's noon when the operator in DC thinks it's still 11:48. You could have big tables showing the offset of every city, and allowing quick time calculations when necessary.

With radio and television people do care about what time different things are going to be broadcast. On the other hand, they are naturally geographically limited:

Visualizing the Geography of FM Radio, Erin Davis

This is probably enough to expand local time from being immediately local to being maybe a ~40mi radius, but that is only about a 2min time difference. On the other hand, an overlapping chain of broadcast areas would have pressure to all use the same scheduling time, and at least in continuously built-up areas like the Northeast United States that would probably be enough to pull everyone onto the same time.

While the time zone system gives awkward discontinuities, where time can jump a whole hour in a single step, at this point I would not seriously push for us to move to local solar time. Still, it's fun to imagine histories that would have left us with that system.



Discuss

Adjusting probabilities for the passage of time, using Squiggle

23 октября, 2020 - 21:55
Published on October 23, 2020 6:55 PM GMT

Most times I go to update a forecast, nothing has happened. There are several ways to update on this, which I explore below.

This post was written after Ozzie Gooen suggested I play around with Squiggle, following up on his earlier Multivariate estimation & the Squiggly language. Squiggle is an experimental domain-specific language for working with probabilities, which is currently in the very early stages of its existence. It can probably do anything Guesstimate can do, while being more easily copied and pasted, at the cost of not having a graphical interface. It currently uses vim as a text editor, so the user has to press i to switch to insert mode and edit the code, and in general it's on the very early stages, e.g., syntax and functionality are still being figured out.

1. Naïve decay

Perhaps the most straightforward way of updating on the passage of time is as follows: If one assigns a probability pyearly=0.9.mjx-chtml {display: inline-block; line-height: 0; text-indent: 0; text-align: left; text-transform: none; font-style: normal; font-weight: normal; font-size: 100%; font-size-adjust: none; letter-spacing: normal; word-wrap: normal; word-spacing: normal; white-space: nowrap; float: none; direction: ltr; max-width: none; max-height: none; min-width: 0; min-height: 0; border: 0; margin: 0; padding: 1px 0} .MJXc-display {display: block; text-align: center; margin: 1em 0; padding: 0} .mjx-chtml[tabindex]:focus, body :focus .mjx-chtml[tabindex] {display: inline-table} .mjx-full-width {text-align: center; display: table-cell!important; width: 10000em} .mjx-math {display: inline-block; border-collapse: separate; border-spacing: 0} .mjx-math * {display: inline-block; -webkit-box-sizing: content-box!important; -moz-box-sizing: content-box!important; box-sizing: content-box!important; text-align: left} .mjx-numerator {display: block; text-align: center} .mjx-denominator {display: block; text-align: center} .MJXc-stacked {height: 0; position: relative} .MJXc-stacked > * {position: absolute} .MJXc-bevelled > * {display: inline-block} .mjx-stack {display: inline-block} .mjx-op {display: block} .mjx-under {display: table-cell} .mjx-over {display: block} .mjx-over > * {padding-left: 0px!important; padding-right: 0px!important} .mjx-under > * {padding-left: 0px!important; padding-right: 0px!important} .mjx-stack > .mjx-sup {display: block} .mjx-stack > .mjx-sub {display: block} .mjx-prestack > .mjx-presup {display: block} .mjx-prestack > .mjx-presub {display: block} .mjx-delim-h > .mjx-char {display: inline-block} .mjx-surd {vertical-align: top} .mjx-mphantom * {visibility: hidden} .mjx-merror {background-color: #FFFF88; color: #CC0000; border: 1px solid #CC0000; padding: 2px 3px; font-style: normal; font-size: 90%} .mjx-annotation-xml {line-height: normal} .mjx-menclose > svg {fill: none; stroke: currentColor} .mjx-mtr {display: table-row} .mjx-mlabeledtr {display: table-row} .mjx-mtd {display: table-cell; text-align: center} .mjx-label {display: table-row} .mjx-box {display: inline-block} .mjx-block {display: block} .mjx-span {display: inline} .mjx-char {display: block; white-space: pre} .mjx-itable {display: inline-table; width: auto} .mjx-row {display: table-row} .mjx-cell {display: table-cell} .mjx-table {display: table; width: 100%} .mjx-line {display: block; height: 0} .mjx-strut {width: 0; padding-top: 1em} .mjx-vsize {width: 0} .MJXc-space1 {margin-left: .167em} .MJXc-space2 {margin-left: .222em} .MJXc-space3 {margin-left: .278em} .mjx-test.mjx-test-display {display: table!important} .mjx-test.mjx-test-inline {display: inline!important; margin-right: -1px} .mjx-test.mjx-test-default {display: block!important; clear: both} .mjx-ex-box {display: inline-block!important; position: absolute; overflow: hidden; min-height: 0; max-height: none; padding: 0; border: 0; margin: 0; width: 1px; height: 60ex} .mjx-test-inline .mjx-left-box {display: inline-block; width: 0; float: left} .mjx-test-inline .mjx-right-box {display: inline-block; width: 0; float: right} .mjx-test-display .mjx-right-box {display: table-cell!important; width: 10000em!important; min-width: 0; max-width: none; padding: 0; border: 0; margin: 0} .MJXc-TeX-unknown-R {font-family: monospace; font-style: normal; font-weight: normal} .MJXc-TeX-unknown-I {font-family: monospace; font-style: italic; font-weight: normal} .MJXc-TeX-unknown-B {font-family: monospace; font-style: normal; font-weight: bold} .MJXc-TeX-unknown-BI {font-family: monospace; font-style: italic; font-weight: bold} .MJXc-TeX-ams-R {font-family: MJXc-TeX-ams-R,MJXc-TeX-ams-Rw} .MJXc-TeX-cal-B {font-family: MJXc-TeX-cal-B,MJXc-TeX-cal-Bx,MJXc-TeX-cal-Bw} .MJXc-TeX-frak-R {font-family: MJXc-TeX-frak-R,MJXc-TeX-frak-Rw} .MJXc-TeX-frak-B {font-family: MJXc-TeX-frak-B,MJXc-TeX-frak-Bx,MJXc-TeX-frak-Bw} .MJXc-TeX-math-BI {font-family: MJXc-TeX-math-BI,MJXc-TeX-math-BIx,MJXc-TeX-math-BIw} .MJXc-TeX-sans-R {font-family: MJXc-TeX-sans-R,MJXc-TeX-sans-Rw} .MJXc-TeX-sans-B {font-family: MJXc-TeX-sans-B,MJXc-TeX-sans-Bx,MJXc-TeX-sans-Bw} .MJXc-TeX-sans-I {font-family: MJXc-TeX-sans-I,MJXc-TeX-sans-Ix,MJXc-TeX-sans-Iw} .MJXc-TeX-script-R {font-family: MJXc-TeX-script-R,MJXc-TeX-script-Rw} .MJXc-TeX-type-R {font-family: MJXc-TeX-type-R,MJXc-TeX-type-Rw} .MJXc-TeX-cal-R {font-family: MJXc-TeX-cal-R,MJXc-TeX-cal-Rw} .MJXc-TeX-main-B {font-family: MJXc-TeX-main-B,MJXc-TeX-main-Bx,MJXc-TeX-main-Bw} .MJXc-TeX-main-I {font-family: MJXc-TeX-main-I,MJXc-TeX-main-Ix,MJXc-TeX-main-Iw} .MJXc-TeX-main-R {font-family: MJXc-TeX-main-R,MJXc-TeX-main-Rw} .MJXc-TeX-math-I {font-family: MJXc-TeX-math-I,MJXc-TeX-math-Ix,MJXc-TeX-math-Iw} .MJXc-TeX-size1-R {font-family: MJXc-TeX-size1-R,MJXc-TeX-size1-Rw} .MJXc-TeX-size2-R {font-family: MJXc-TeX-size2-R,MJXc-TeX-size2-Rw} .MJXc-TeX-size3-R {font-family: MJXc-TeX-size3-R,MJXc-TeX-size3-Rw} .MJXc-TeX-size4-R {font-family: MJXc-TeX-size4-R,MJXc-TeX-size4-Rw} .MJXc-TeX-vec-R {font-family: MJXc-TeX-vec-R,MJXc-TeX-vec-Rw} .MJXc-TeX-vec-B {font-family: MJXc-TeX-vec-B,MJXc-TeX-vec-Bx,MJXc-TeX-vec-Bw} @font-face {font-family: MJXc-TeX-ams-R; src: local('MathJax_AMS'), local('MathJax_AMS-Regular')} @font-face {font-family: MJXc-TeX-ams-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_AMS-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_AMS-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_AMS-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-cal-B; src: local('MathJax_Caligraphic Bold'), local('MathJax_Caligraphic-Bold')} @font-face {font-family: MJXc-TeX-cal-Bx; src: local('MathJax_Caligraphic'); font-weight: bold} @font-face {font-family: MJXc-TeX-cal-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-frak-R; src: local('MathJax_Fraktur'), local('MathJax_Fraktur-Regular')} @font-face {font-family: MJXc-TeX-frak-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-frak-B; src: local('MathJax_Fraktur Bold'), local('MathJax_Fraktur-Bold')} @font-face {font-family: MJXc-TeX-frak-Bx; src: local('MathJax_Fraktur'); font-weight: bold} @font-face {font-family: MJXc-TeX-frak-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Fraktur-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Fraktur-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Fraktur-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-math-BI; src: local('MathJax_Math BoldItalic'), local('MathJax_Math-BoldItalic')} @font-face {font-family: MJXc-TeX-math-BIx; src: local('MathJax_Math'); font-weight: bold; font-style: italic} @font-face {font-family: MJXc-TeX-math-BIw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Math-BoldItalic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Math-BoldItalic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Math-BoldItalic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-sans-R; src: local('MathJax_SansSerif'), local('MathJax_SansSerif-Regular')} @font-face {font-family: MJXc-TeX-sans-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-sans-B; src: local('MathJax_SansSerif Bold'), local('MathJax_SansSerif-Bold')} @font-face {font-family: MJXc-TeX-sans-Bx; src: local('MathJax_SansSerif'); font-weight: bold} @font-face {font-family: MJXc-TeX-sans-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-sans-I; src: local('MathJax_SansSerif Italic'), local('MathJax_SansSerif-Italic')} @font-face {font-family: MJXc-TeX-sans-Ix; src: local('MathJax_SansSerif'); font-style: italic} @font-face {font-family: MJXc-TeX-sans-Iw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_SansSerif-Italic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_SansSerif-Italic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_SansSerif-Italic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-script-R; src: local('MathJax_Script'), local('MathJax_Script-Regular')} @font-face {font-family: MJXc-TeX-script-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Script-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Script-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Script-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-type-R; src: local('MathJax_Typewriter'), local('MathJax_Typewriter-Regular')} @font-face {font-family: MJXc-TeX-type-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Typewriter-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Typewriter-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Typewriter-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-cal-R; src: local('MathJax_Caligraphic'), local('MathJax_Caligraphic-Regular')} @font-face {font-family: MJXc-TeX-cal-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Caligraphic-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Caligraphic-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Caligraphic-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-main-B; src: local('MathJax_Main Bold'), local('MathJax_Main-Bold')} @font-face {font-family: MJXc-TeX-main-Bx; src: local('MathJax_Main'); font-weight: bold} @font-face {font-family: MJXc-TeX-main-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Main-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Main-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Main-Bold.otf') format('opentype')} @font-face {font-family: MJXc-TeX-main-I; src: local('MathJax_Main Italic'), local('MathJax_Main-Italic')} @font-face {font-family: MJXc-TeX-main-Ix; src: local('MathJax_Main'); font-style: italic} @font-face {font-family: MJXc-TeX-main-Iw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Main-Italic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Main-Italic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Main-Italic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-main-R; src: local('MathJax_Main'), local('MathJax_Main-Regular')} @font-face {font-family: MJXc-TeX-main-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Main-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Main-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Main-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-math-I; src: local('MathJax_Math Italic'), local('MathJax_Math-Italic')} @font-face {font-family: MJXc-TeX-math-Ix; src: local('MathJax_Math'); font-style: italic} @font-face {font-family: MJXc-TeX-math-Iw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Math-Italic.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Math-Italic.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Math-Italic.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size1-R; src: local('MathJax_Size1'), local('MathJax_Size1-Regular')} @font-face {font-family: MJXc-TeX-size1-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size1-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size1-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size1-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size2-R; src: local('MathJax_Size2'), local('MathJax_Size2-Regular')} @font-face {font-family: MJXc-TeX-size2-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size2-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size2-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size2-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size3-R; src: local('MathJax_Size3'), local('MathJax_Size3-Regular')} @font-face {font-family: MJXc-TeX-size3-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size3-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size3-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size3-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-size4-R; src: local('MathJax_Size4'), local('MathJax_Size4-Regular')} @font-face {font-family: MJXc-TeX-size4-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Size4-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Size4-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Size4-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-vec-R; src: local('MathJax_Vector'), local('MathJax_Vector-Regular')} @font-face {font-family: MJXc-TeX-vec-Rw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Vector-Regular.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Vector-Regular.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Vector-Regular.otf') format('opentype')} @font-face {font-family: MJXc-TeX-vec-B; src: local('MathJax_Vector Bold'), local('MathJax_Vector-Bold')} @font-face {font-family: MJXc-TeX-vec-Bx; src: local('MathJax_Vector'); font-weight: bold} @font-face {font-family: MJXc-TeX-vec-Bw; src /*1*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/eot/MathJax_Vector-Bold.eot'); src /*2*/: url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/woff/MathJax_Vector-Bold.woff') format('woff'), url('https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.2/fonts/HTML-CSS/TeX/otf/MathJax_Vector-Bold.otf') format('opentype')} to an event happening in a year, then the monthly probability pmonthly is such that (1−pmonthly)12=1−0.9, or pmonthly=1−(1−0.9)1/12. Now, if a month has passed, then the remaining probability is pupdated=1−(1−pmonthly)11.

In Squiggle, this would look as follows:

## Press i to edit. ## Initial setup yearly_probability=0.9 period_probability_function(epsilon)=1-(1-yearly_probability)^(1/epsilon) probability_decayed(t, total_time, period_probability) = 1-(1-period_probability)^(total_time-t) ## Monthly decomposition total_time_monthly=12 # months in a year monthly_probability=period_probability_function(total_time_monthly) probability_decayed_monthly(t)=probability_decayed(t, total_time_monthly, monthly_probability) probability_decayed_monthly ### probability_decayed_monthly(6)

And this would look like so:

The type signature of this function is p→(t→p). That is, I take a probability (0.9), and output a function that goes from time passed, t, to probability remaining after time t. If I wanted to know what the probability is after 6 months, I'd uncomment the last line, probability_decayed_monthly(6), in this case equal to 0.684.

2. Unprincipled decay.

A strategy which works well as a forecasting technique in practice, but which is totally unprincipled, is to consider probabilities over probabilities. I can ask myself what the lowest and upper bets I'd be willing to take would be, and they might be something like

  • 1:9, where I receive 9 if the event doesn't happen
  • 1:4, where I pay 4 if the event doesn't happen.

This bets correspond to a 90% and 80% probability, respectively. So I might consider the decay as before, except that this time I add some uncertainty.

To make the shape of the decay more salient, I'll use 1:20 vs 1:2 (95% vs 66%), rather than 1:9 vs 1:4 (90% vs 80%).

## Initial setup yearly_probability_max=0.95 yearly_probability_min=0.66 period_probability_function(epsilon, yearly_probability)=1-(1-yearly_probability)^(1/epsilon) probability_decayed(t, time_periods, period_probability) = 1-(1-period_probability)^(time_periods-t) ## Monthly decomposition months_in_a_year=12 monthly_probability_min=period_probability_function(months_in_a_year, yearly_probability_min) monthly_probability_max=period_probability_function(months_in_a_year, yearly_probability_max) probability_decayed_monthly_min(t)=probability_decayed(t, months_in_a_year, monthly_probability_min) probability_decayed_monthly_max(t)=probability_decayed(t, months_in_a_year, monthly_probability_max) probability_decayed_monthly(t)=probability_decayed_monthly_min(t) to probability_decayed_monthly_max(t) probability_decayed_monthly ## probability_decayed_monthly(6) ## mean(probability_decayed_monthly(6))

Here, probability_decayed_max and probability_decayed_max are similar to the probability_decayed_monthly of the previous section.

And this would look as follows:

probability_decayed_monthly(6) is now a distribution:

The type signature of this function is: (p,p)→(t→(θ→d)). That is, I take a pair of probabilities (0,66, 0.95), and output a function that goes from time passed, t, to a probability density function. If I wanted to know what the probability of the event happening was after six months had passed, I'd look at the mean of the last picture, or uncomment the last line, mean(probability_decayed_monthly(6)), changing the type signature to (p,p)→(t→p).

In practice, Squiggle doesn't represent (θ→d) as a function, but as its own type for probability distributions, which allows for some optimizations. But writing the type signature as above makes the point that Squiggle, though a domain specific language, can deal with convoluted inputs.

Laplace's rule

So far, we've been decaying our probabilities without giving thought to the information we gain about the process which produces our events. For example, if the monthly probability of an event happening used to be 20%, but it hasn't happened in the last several years, maybe the probability isn't 20% anymore.

In particular, consider the following question on Good Judgement Open: Will Venezuelan opposition leader Juan Guaidó be detained or arrested by Venezuelan authorities before 1 January 2021?. Guaidó was last arrested the 13th of January 2019, very shortly after he became a major public figure, and the GJO question opened a year afterwards. One consideration when using Laplace's rule is whether to begin just before or just after the last incident; in this case I chose to begin just afterwards, because this produces a more reasonable initial probability.

## Setup number_of_arrests_since_last_time=0 time_passed_since_arrest_before_question_opened=12 ## months remaining_time_until_question_resolution=12 ## ## Updating according to Laplace's rule monthly_probability_Laplace(t) = (number_of_arrests_since_last_time+1)/(time_passed_since_arrest_before_question_opened+t+2) probability_decayed_monthly_Laplace(t)=1 - (1-monthly_probability_Laplace(t))^(remaining_time_until_question_resolution-t) probability_decayed_monthly_Laplace

Note that Laplace's rule comes from a very weak prior, so one might in general want to update even faster. In any case, decay according to Laplace's rule would look like:

The type signature is t→(t→p), where we take the amount of time already passed, and we produce a function which tells us the remaining probability after even more time has passed.

Compare to the actual decay on GJO, which is both slower and discontinuous.

Conclusion

Updating because time has passed and nothing has happened is a time intensive but perhaps easily automatable part of forecasting. One level of automation might be to have a button to automatically apply any of different types of decay. Another level of automation might be to decay probabilities automatically according to a predetermined schedule unless some news pops up in Google News, in which case forecasters are alerted. I'd also imagine that this sort of thing could be more integrated with a platform like Metaculus, such that the user doesn't have to input the current date, or the days passed since the last update, because these are automatically pulled by the platform.



Discuss

Страницы