Вы здесь

Новости LessWrong.com

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

ODE to Joy: Insights from 'A First Course in Ordinary Differential Equations'

25 марта, 2020 - 23:03
Published on March 25, 2020 8:03 PM GMT

.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')} Foreword

Sometimes, it's easier to say how things change than to say how things are.

From 3Blue1Brown: Differential Equations

When you write down a differential equation, you're specifying constraints and information about e.g. how to model something in the world. This gives you a family of solutions, from which you can pick out any function you like, depending on details of the problem at hand.

Today, I finished the bulk of Logan's A First Course in Ordinary Differential Equations, which is easily the best ODE book I came across.

A First Course in Ordinary Differential Equations

As usual, I'll just talk about random cool things from the book.

Bee Movie

In the summer of 2018 at a MIRI-CHAI intern workshop, I witnessed a fascinating debate: what mathematical function represents the movie time elapsed in videos like The Entire Bee Movie but every time it says bee it speeds up by 15%? That is, what mapping t↦x(t) converts the viewer timestamp to the movie timestamp for this video?

Suppose f(t) counts how many times a character has said the word "bee" by timestamp t in the movie. Since the viewing speed itself increases exponentially with f, we have x′(t)=1.15f(x(t)). Furthermore, since the video starts at the beginning of the movie, we have the initial condition x(0)=0.

This problem cannot be cleanly solved analytically (because f is discontinuous and obviously lacking a clean closed form), but is expressed by a beautiful and simple differential equation.

Gears-level models?

Differential equations help us explain and model phenomena, often giving us insight into causal factors: for a trivial example, a population might grow more quickly because that population is larger.

Equilibria and stability theory

This material gave me a great conceptual framework for thinking about stability. Here are some good handles:

Let's think about rocks and hills. Unstable equilibria have the rock rolling away forever lost, no matter how likely the rock is nudged, while locally stable equilibria have some level of tolerance within which they'll settle back down. For a globally stable equilibrium, no matter how hard the perturbation, the rock comes rolling back down the parabola.

Resonance

A familiar example is a playground swing, which acts as a pendulum. Pushing a person in a swing in time with the natural interval of the swing (its resonant frequency) makes the swing go higher and higher (maximum amplitude), while attempts to push the swing at a faster or slower tempo produce smaller arcs. This is because the energy the swing absorbs is maximized when the pushes match the swing's natural oscillations. ~ Wikipedia

And that's also how the Tacoma bridge collapsed in 1940. The second-order differential equations underlying this allow us to solve for the forcing function which could induce catastrophic resonance.

Also note that there is only at most one resonant frequency of any given system, because even lower octaves of the natural frequency would provide destructive interference a good amount of the time.

Random notes
  • This book gave me great chance to review my calculus, from integration by parts to the deeper meaning of Taylor's theorem: that for many functions, you can recover all of the global information from the local information, in the form of derivatives. I don't fully understand why this doesn't work for some functions which are infinitely differentiable (like logx), but apparently this becomes clearer after some complex analysis.
  • Bifurcation diagrams allow us to model the behavior, birth, and destruction of equilibria as we vary parameters in the differential equation. I'm looking forward to learning more about bifurcation theory. In this video, Veratasium highlights stunning patterns behind the bifurcation diagrams of single-humped functions.
Forwards

I supplemented my understanding with the first two chapters of Strogatz's Nonlinear Dynamics And Chaos. I might come back for more of the latter at a later date; I'm feeling like moving on and I think it's important to follow that feeling.



Discuss

Tales From the Borderlands

25 марта, 2020 - 22:11
Published on March 25, 2020 7:11 PM GMT

Cross-posted as always from Putanumonit.com

Dear United States Customs and Border Protection, I was honored to receive your invitation to apply to the Border Patrol.

Not at first: at first I was bemused, and joked about this being the most mistargeted targeted ad in the history of the internet. After all, I represent a dramatic failure of your agency: an immigrant from the Middle East who infiltrated your nation, took your jobs, seduced your women, and undermined your democracy. But perhaps that is your strategy — if I could beat you, let me join you.

But then I remembered: half a lifetime ago I did wear a uniform that gave me a purpose. I spent a good deal in that uniform patrolling a border. Perhaps I went beyond. You must be familiar with that time since your ad found me, but allow me to share some details anyway. A young man sees and learns many things while on guard duty.

My country is small, shaped like a long chef’s knife, and surrounded by hostile neighbors. It has a very high ratio of miles-of-border-that-need-to-be-watched to teenagers. So on any given day many of its teenagers are employed by watching its borders. Demand creates its own supply, as they say.

I just turned 18 when they gave me a rifle and two sets of uniforms. One crisp and clean that I would almost never wear, one grimy and rough and suitable for the work of infantry boot camp: running, push-ups, shooting, washing toilets, catching naps, guard duty.

Guard duty is no one’s main job in the army, but almost everyone has to do a lot of it throughout their service. It has a lot in common with Vipassana meditation — a quiet, solitary affair whose ultimate goal is “seeing”. One’s practice starts in boot camp doing 30 minute stints, then one graduates to practicing for 4 or 8 hours in a row and going on retreats.

I wish I knew about Vipassana when I enlisted, I surely would have been enlightened twice over for all the hours I spent standing guard. Instead, I mostly entertained myself by singing Russian pop songs in my head. I learned the lyrics to hundreds of those, along with the entire Marshall Mathers LP and an eclectic selection of French hip hop and German metal. It has always been my gift and curse: I have a perfect memory for song lyrics in any language, but I can’t carry a tune to save my life. I sing often to myself, but at karaoke I’m resigned to cringing as my vocally talented friends butcher the lyrics to what are supposedly their favorite tracks.

One night the list of shifts came out; I had the terrible fourth slot: 12:30-1:00 AM. It meant that I would just be falling asleep when the third shift would wake me to stand guard groggily, and afterward I wouldn’t have enough time to get a full night’s sleep before reveille at 5 AM. I climbed onto my field bed at 11 PM, sullen. I woke up at 5, confused.

The third shift never woke me up because the second shift guy never woke him up. Instead, the second shift got up at 11:30, went to the guard post, put his his uniform and rifle in a neat pile, climbed the fence, and set off in his boxers toward the southwest. Military police picked him up at sunrise, parched and exhausted, a couple of miles from the border with Egypt.

I never saw that guy again. I assume he was sent to military prison for a month or two until the cell had to be vacated for fresh offenders. Then he was discharged and let loose, having demonstrated to the army’s satisfaction that he is not fit to be a GI. Today he is probably eating falafel somewhere in Tel Aviv, reminiscing about the night he ran through the desert to allow me to a get a good night’s sleep.

Four years later, I was back at the Egyptian border for my final week-long guard retreat. No longer a fresh-faced recruit, I was a fresh-faced Sergeant First Class with a degree in mathematics. But guard duty doesn’t care about honorifics and academics, the border still needs watching.

This particular outpost consists of a small barracks with a bed and six bunks, a toilet, a fence, a gate in the fence, a tower. Around the fence the lone and level sands stretch far away, boundless and bare. The six soldiers are guarding 4/8: 4 hours at the gate, 8 hours to sleep, 4 hours at the tower, 8 hours to play cards or backgammon. Repeat x7 and you’re done. The officer is usually sleeping 12 hours a day and reading weeks-old magazines left by previous rotations of guards.

Aside from your six fellow men, the only living beings you’d see are one fox and twenty billion flies. The Egyptians guard towers and patrol routes are out of sight. The Bedouin smugglers, transporting drugs from Latin America and prostitutes from Eastern Europe and contraband from Asia, know exactly where the outposts are and easily avoid them. If you think you see someone while on tower duty, you can assume that you’re hallucinating from the heat.

The first five days passed uneventful. The officer was chill, and the daily inspection consisted of little more than making sure the number of soldiers and rifles stayed at six. I passed the 8 AM – noon slot at the gate solving math puzzles in my head. I spent the 8 PM – midnight tower watch listening to music in one earphone, the ear that wasn’t visible from the barracks.

At 1 AM on Friday I just tucked in to bed when the radio suddenly came alive.

– “Base, this is tower. I see three figures approaching from the west.”

– “Everyone up! Tower, do you see weapons?”

– “Negative, sir. I turned the spotlight on them and they froze and lay still.”

– “Stay on them and look for more hostiles. Everyone wake the fuck up and get your fucking gear!”

– “Base, they’re standing up.”

– “Take cover, soldier! What are they doing?”

– “Sir, the’re shouting and hugging each other. One of them is dancing. I think the other one is praying.”

It turned out that the three men were refugees from Darfur, having just walked the last mile of a 3,000 mile trek. The South Sudanese make their way north across Sudan to the Sudan-Egypt border, then they pay everything they own for smugglers to take them across Egypt to Israel.

But the Egyptian Army patrols the Israeli border, and the smugglers don’t want to get close to it. They drop the refugees ten miles from Israel and tell them: “Keep walking east, you’ll be fine. Unless the Egyptians see you, then they’ll probably shoot you. But if you don’t get shot, you’ll be in Israel before dawn. Inshallah!”

So when the three dudes got spotted but no one was shooting, they knew that they had made it to the promised land. As the other guys stood in a circle “guarding” the three thin men in ragged clothes, I went to the barracks to get them sandwiches and the cold bottle of Coke we were saving for Saturday. Half an hour later a military police jeep picked them up.

I don’t know what happened to them afterward. Most likely they were sent to a detention center for a week or two until the cell had to be vacated for fresh refugees. Then they were discharged and let loose. Today they are probably washing dishes at a falafel joint somewhere in Tel Aviv, reminiscing about the night they ran through the desert to prevent me from getting a good night’s sleep.

There are many other stories I could tell you, my dear United States Customs and Border Protection agency. The time I was guarding in the West Bank and spent the week smoking shisha with an Arab friend. The time I guarded the border with Lebanon during the war, when what kept me alert were the rockets and artillery instead of the usual threat of being written up by a stickler officer for slouching. The time I was guarding a checkpoint and saw first-hand that the politics of Israel and Palestine you read about in the New York Times have less than nothing to do with how Israelis and Palestinians actually live together and deal with each other in that small patch of land. The time that other guy went on guard duty and didn’t come back.

But I think I have made a strong enough case for my application. I spent four years watching the border, and the border was still there when I left. I never ran half-naked into the desert. I only dozed off once or twice, and was never caught. The one time people came across the border illegally we let them in and I gave them sandwiches, but in my defense it wasn’t my watch anyway and the looked real hungry.

I look forward to hearing back from you about my candidacy,

Kind regards,

Jacob



Discuss

[AN #92]: Learning good representations with contrastive predictive coding

25 марта, 2020 - 20:20
Published on March 25, 2020 5:20 PM GMT

[AN #92]: Learning good representations with contrastive predictive coding View this email in your browser Newsletter #92
Alignment Newsletter is a weekly publication with recent content relevant to AI alignment around the world. Find all Alignment Newsletter resources here. In particular, you can look through this spreadsheet of all summaries that have ever been in the newsletter.
Audio version here (may not be up yet). SECTIONS HIGHLIGHTS
TECHNICAL AI ALIGNMENT
        TECHNICAL AGENDAS AND PRIORITIZATION
        ROBUSTNESS
OTHER PROGRESS IN AI
        REINFORCEMENT LEARNING
        DEEP LEARNING
NEWS    HIGHLIGHTS

Representation Learning with Contrastive Predictive Coding (Aaron van den Oord et al) (summarized by Rohin): This paper from 2018 proposed Contrastive Predictive Coding (CPC): a method of unsupervised learning that has been quite successful. At its core it is quite simple: it simply combines the ideas of predictive coding and contrastive losses, both of which have been significantly studied in the past.

The simplest form of unsupervised learning would be data compression via generative models (as in e.g. VAEs), in which to model the data p(x), you attempt to encode x into a latent (hidden) state z in such a way that you can then recover the original data point x from z. Intuitively, we want z to have high mutual information with x.

For sequential data in a partially observed setting, you need to deal with the full sequence. Consider natural language: in this setting, each x would be a single word. Consider the sentence "I sat on the chair". If the z corresponding to the word "the" only has to reconstruct the word "the", it's not going to "remember" that the past context involved sitting, and so that z would be terrible at predicting that the next word will be chair. To fix this, we can use predictive coding, where we instead require that we can predict future words using z. This now incentivizes z_t to have high mutual information with x_{t+k}.

There is still a problem: reconstructing the entire input x would require a lot of irrelevant information, such as e.g. the background color of the environment in RL, even if that never changes. How can we get rid of these irrelevant features? Contrastive losses allow us to do this: intuitively, since the irrelevant features are the ones that are common across all the xs (and so are fully captured by p(x) ), if we train the neural net to distinguish between various xs, we can incentivize only the relevant features. In particular, given a latent state z_t, we take the true x_{t+k}, and throw in a bunch of other xs sampled from p(x) (known as negative samples), and train the network to correctly classify x_{t+k}. The authors show that the optimum of this loss function is indeed for the neural net to compute p(x | z) / p(x), which implies that it is maximizing a lower bound on the mutual information between X and Z.

This gives us a pretty simple overall algorithm. Take a sequence x_1 ... x_T, compute z_t using a recurrent model on x_1 ... x_t, put x_{t+k} and some negative samples into a set, and train a classifier to correctly predict which of the samples is the true x_{t+k}. In practice, we do batches of these at the same time, and for every data point in the batch we use all of the other data points as our negative examples. The features you learn are then the ones that help distinguish between x_{t+k} and the negative samples, and you'll ignore any features that are common across all the samples. This means that the results depend quite a lot on how you choose your samples (this effectively determines what p(x) you are using).

The authors evaluate their algorithm on several domains and show that it achieves or surpasses state of the art on them.



Rohin's opinion: I like this paper: the intuition makes sense, the math is straightforward, and the empirical results are strong, and have continued to be strong when looking at later work that builds on it.



On Variational Bounds of Mutual Information (Ben Poole et al) (summarized by Rohin): This paper is a pretty dense and technical explanation of various ways in which we can estimate and/or optimize the mutual information between two variables. I specifically want to highlight that it provides a proof that the Contrastive Predictive Coding objective (summarized above) is a lower bound on the mutual information between the input and the representation, and compares it to other lower bounds on mutual information.

   TECHNICAL AI ALIGNMENT
 TECHNICAL AGENDAS AND PRIORITIZATION

An Analytic Perspective on AI Alignment (Daniel Filan) (summarized by Asya): In this post, Daniel Filan presents an analytic perspective on how to do useful AI alignment research. His take is that in a world with powerful AGI systems similar to neural networks, it may be sufficient to be able to detect whether a system would cause bad outcomes before you deploy it on real-world systems with unknown distributions. To this end, he advocates for work on transparency that gives mechanistic understandings (AN #15) of the systems in question, combined with foundational research that allows us to reason about the safety of the produced understandings.



Rohin's opinion: My broad take is that I agree that analyzing neural nets is useful and more work should go into it, but I broadly disagree that this leads to reduced x-risk by increasing the likelihood that developers can look at their trained model, determine whether it is dangerous by understanding it mechanistically, and decide whether to deploy it, in a "zero-shot" way. The key difficulty here is the mechanistic transparency, which seems like far too strong a property for us to aim for: I would expect the cost of making a neural network mechanistically transparent to far exceed the cost of training that neural network in the first place, and so it would be hard to get developers to mechanistically understand trained models to detect danger.

Right now for e.g. image classifiers, some people on OpenAI's Clarity team have spent multiple years understanding a single image classifier, which is orders of magnitude more expensive than training the classifier. My guess is that this will become superlinearly harder as models get bigger (and especially as models become superhuman), and so it seems quite unlikely that we could have mechanistic transparency for very complex AGI systems built out of neural nets. More details in this comment. Note that Daniel agrees that it is an open question whether this sort of mechanistic transparency is possible, and thinks that we don't have much evidence yet that it isn't.

  ROBUSTNESS

The Conditional Entropy Bottleneck (Ian Fischer) (summarized by Rohin): While I've categorized this paper under robustness because it can apply to most forms of training, I'll talk about it specifically in the context of unsupervised learning (and in particular its relation to Contrastive Predictive Coding (CPC), summarized in the highlights).

One potential problem with deep learning is that there might be too much information in the input, causing the model to learn spurious correlations that do not actually generalize well (see Causal Confusion in Imitation Learning (AN #79) as an example). The idea with the Conditional Entropy Bottleneck (CEB) is to penalize the model for learning irrelevant information, using a form of information bottleneck.

We consider a setting where we want to learn a representation Z of some input data X in order to predict some downstream data Y. In CPC, X would be the inputs from time 1 to t, Z would be the latent representation z_t, and Y would be the future data x_{t+k}. Then, we want Z to capture the minimum necessary information needed for Z to predict Y as best as possible. The necessary information is I(Z; Y), that is, the mutual information between Z and Y: we want to maximize this to maximize our accuracy at predicting Y. Since Y depends on X, and Z is computed from X, this will necessarily mean increasing I(Z; X): Z must capture all the information in X that is useful for predicting Y. Maximizing just this I(Y; Z) term gives us Contrastive Predictive Coding.

However, we don't want to capture any extra irrelevant information (the minimality criterion), which means that Z shouldn't capture any more information about X beyond what it captured to maximize I(Z; Y). In information-theoretic terms, we want to minimize I(X; Z | Y). Thus, we have the CEB objective: minimizing I(X; Z | Y) - γ I(Y; Z), where γ is a hyperparameter controlling the tradeoff between the two terms. The authors then use some fairly straightforward math to reduce the objective to simpler terms which can be bounded using variational approximations, leading to an algorithm that can work in practice.

The authors perform experiments on Fashion MNIST and CIFAR10 (where Y corresponds to the labels for the images, so we're in the supervised learning setting). Since the main benefit of CEB is to remove unnecessary information from the model, they evaluate adversarial robustness and out-of-distribution detection in addition to standard performance checks. They find that models trained with CEB perform better than ones trained with a variational information bottleneck, or ones trained with vanilla SGD.



Rohin's opinion: While I'm not sure to what extent models learn truly irrelevant information (see Adversarial Examples Are Not Bugs, They Are Features (AN #62)), it seems good to add an incentive against learning information that won't be useful for a downstream task, and the empirical results (especially of the next paper) suggest that it is providing some benefit.



CEB Improves Model Robustness (Ian Fischer et al) (summarized by Rohin): This empirical paper finds that ImageNet classifiers trained with the CEB objective (summarized above) are already somewhat adversarially robust, without having any decrease in accuracy, and without any adversarial training. Notably, since CEB does not rely on knowing the attack method ahead of time, its adversarial robustness generalizes to multiple kinds of attacks, whereas models that were adversarially trained tend to be fragile in the face of previously unseen attacks.

   OTHER PROGRESS IN AI
 REINFORCEMENT LEARNING

Illuminating Generalization in Deep Reinforcement Learning through Procedural Level Generation (Niels Justesen et al) (summarized by Zach): Deep reinforcement learning has been able to use high-dimensional input, such as images, to learn optimal policies. However, when neural networks are trained in a fixed environment, such as on a single level in a video game, they will usually over-fit and fail to generalize to new levels. This paper uses procedurally generated levels during training in attempt to increase the generality of deep RL. They make use of General Video Game AI framework (GVG-AI) which allows rapid design of video games through the specification of rewards, objects, etc. Moreover, they introduce Progressive PCG (PPCG) to smoothly control the difficulty of generated levels to build a curriculum for the agent. The authors show that for some games procedural level generation enables generalization to new levels within the same distribution.



Zach's opinion: The GVG-AI framework seems like a useful tool to explore learning videogames. Setting up curriculum learning by using PPCG is also a clever idea. However, the results are a bit mixed. On two of the games they tested, training on a single difficult level works better than training on a variety of levels for generalization. Having said this, the method can learn the game Frogs (57% win rate) while DQN/A2C make zero progress even after 40 million steps. It seems as though certain conditions make PPCG a good method to use. It'd be interesting to investigate what those conditions are in a future publication.

  DEEP LEARNING

SLIDE : In Defense of Smart Algorithms over Hardware Acceleration for Large-Scale Deep Learning Systems (Beidi Chen et al) (summarized by Asya): This paper presents an algorithmic technique called SLIDE (Sub-LInear Deep learning Engine) which takes advantage of sparsity in inputs and activations to speed up the training of large neural networks.

Suppose that activations at layer k are a_k. Then, the ith element of a_{k+1} is given by the dot product of a_k and w_i for some weight vector w_i. Call w_i the ith neuron of layer k + 1. The largest activations in a_{k+1} are the ones for whom w_i has high magnitude and points in the same direction as a_k. The core proposal of SLIDE is to only compute the largest elements of a_{k+1}, which they call the “activated neurons”, and approximate all of the others are zero, allowing us to avoid a lot of computation.

In order to do this, we maintain a data structure called a locality-sensitive hash table, which when given an activation a_k can tell us which neurons (w_is) are most similar. We can then compute the outputs for just those neurons to get a_{k+1}. In this way, we can effectively ‘sparsify’ the network, calculating the activations and updating the weights of only a small subset of the neurons. This is what gives us our computational gains.

SLIDE randomly initializes weights in the network and generates the locality-sensitive hash table that maps activations to activated neurons. To take a gradient step on an input, it calculates the activated neurons in a forward pass, then backpropagates through the activated neurons, and then updates the locality-sensitive hash table. The hash table update is computationally expensive, and SLIDE uses several mechanisms to make it less costly, such as updating hash tables less frequently later in the training process since gradients are likely to change less then. Due to the sparsity, the gradients for different inputs are often changing different neurons, and so SLIDE asynchronously parallelizes gradient updates without worrying about race conditions, allowing for much better scaling with additional cores.

The paper evaluates SLIDE on large multi-label classification tasks, which must run on neural networks with extremely wide final layers. It finds that the CPUs running SLIDE are 1.8 times faster in clock-time than the GPU on the Delicious 200k dataset, and 2.7 times faster than the GPU on the Amazon-670K dataset, with an additional ~1.3x speed-up after performing cache optimization on SLIDE. Scalability tests suggest that the SLIDE CPUs beat GPU performance even when using only 8 cores. The paper claims that SLIDE’s computational benefits come because the number of neurons sampled in the wide final layer is extremely small-- fewer than 0.5% of active neurons.



Asya's opinion: The tasks they test on are extremely sparse: since there are hundreds of thousands of possible labels, even if you take the top ~thousand predictions in the final layer (which corresponds to most of the computation), that’s only 1% of the total number of predictions, saving you 99% of the arithmetic you would have had to do. The input features are also very sparse: in both datasets, less than 0.06% (yes, percent) of features are non-zero. It’s cool that under such conditions you can design an algorithm that is ~an order of magnitude better on cost, but it’s not going to be “the death of NVIDIA” or anything like that — without further optimizations, SLIDE will be worse than regular Tensorflow on GPU for something like ImageNet.

I'm also not sure I agree with the 'thesis' of the paper that smart algorithms beat hardware acceleration-- it seems to me like there are large gains from investing in the combination of the two. Even if GPUs aren't optimized to run SLIDE, I can imagine specialized hardware optimized for SLIDE creating even bigger performance gains.



Linear Mode Connectivity and the Lottery Ticket Hypothesis (Jonathan Frankle et al) (summarized by Flo): Instability analysis looks at how sensitive neural network training is to noise in SGD. A network is called stable if the test error remains approximately constant along the line connecting network weights obtained by training on differently ordered data.

The authors find that most popular networks in image classification are instable at initialization for more challenging tasks but become stable long before convergence. They also find that winning tickets (AN #77) found by iterative magnitude pruning are usually stable, while unstable subnetworks don't manage to match the original network's performance after training. As the original network, pruned subnetworks become more stable when they are initialized with weights from later stages of the training process. This is consistent with previous results showing that resetting subnetwork weights to states in early training leads to increased performance after retraining, compared to resetting to the initial state. While stability seems to correspond to better accuracy for subnetworks, very sparse subnetworks perform worse than the unpruned network, even if they are stable.



Flo's opinion: The correspondence between subnetwork stability and performance after retraining might just be an artefact of both (somewhat obviously) improving with more training. What is interesting is that small amounts of training seem to have disproportionate effects for both factors, although one should keep in mind that the same is true for the loss, at least in absolute terms.

   NEWS

Careers at the Joint AI Center (summarized by Rohin) (H/T Jon Rodriguez): The Joint AI Center is searching for ML experts for a variety of roles.



Rohin's opinion: You might be wondering why I've included these jobs in the newsletter, given that I don't do very many promotions. I think that it is reasonably likely that the US government (and the military in particular) will be a key player in the future of AI, and that there could be a lot to learn from their testing, evaluation, validation & verification (TEV&V) framework (which often seems more risk-averse to me than many alignment schemes are). As a result, I would be excited if readers of this newsletter interested in how the military thinks about AI filled these positions: it seems great to have a flow of ideas between the two communities (so that the government learns about alignment concerns, and so that we learn about TEV&V).

FEEDBACK I'm always happy to hear feedback; you can send it to me, Rohin Shah, by replying to this email. PODCAST An audio podcast version of the Alignment Newsletter is available. This podcast is an audio version of the newsletter, recorded by Robert Miles.
Subscribe here:

Copyright © 2020 Alignment Newsletter, All rights reserved.

Want to change how you receive these emails?
You can update your preferences or unsubscribe from this list.
 

Discuss

True Habits

25 марта, 2020 - 17:00
Published on March 25, 2020 2:00 PM GMT

Photo by My Name on Unsplash

Habits have been extensively written about in pop-literature for the last couple of years. Many claims have been made! 

Want to get an awesome body? Habitify it!

Want to become great at your studies? Place gummy-bears on each page to train your pesky mind.

Want to get rid of stress? Sit in the same spot and breathe through your nose for 5 minutes, and to ensure you keep doing it, track it in a spreadsheet.

But how well does this fit with the habit literature? And why don’t more people train themselves with gummy-bears? Let’s find out!

A note on “why now”

Many of us are in unfamiliar contexts, being forced to work from home to reduce contagion.

This presents to us both a challenge and an opportunity. 

We’re forced to work in unfamiliar contexts and, if you’re anything like me, this means that your work time is now being intruded upon by a bunch of thoughts relating to habits that are great when you relax – but gaming isn’t going to get your thesis done.

Luckily, habits are more easily changed when contexts change. If you want to get new, appropriate habits at home, or get rid of something you’ve been doing, the time is now!

(A short side-note: This will not be a review of all habit-literature, but rather small dives into results I’ve encountered that were interesting and/or ran counter to what I expected).

What defines a true habit?

If you’re like me, you’re slightly provoked by the title. “True habits” you say? What are “false” habits?

I used to think that doing the same task repetitively would be sufficient to form habits, or was in fact, the entire definition of a habit.

To question that assumption, we must first ask ourselves, “why do we prefer habits to to-do lists?”. If we can just do what we want, when we want to, without getting tired, why bother with this habit business at all?

The answer lies in automaticity. We want to be able to perform our morning routine without thinking too much about it, while tired, stressed and under time-pressure.

It turns out that some actions that change behavior are detrimental to forming automaticity. This is (obviously) really important, and runs counter to much of what’s written in the pop-psych litterature.

But first, what is automaticity?

In the habit literature, it’s operationalised as a high score on the Self-Report Behavioural Automaticity Index (SRBAI) (Gardner 2012). Once again, science excels at acronyms that are both impossible to pronounce and remember.

Luckily, the questionnaire is simple. Participants are asked to rate how much they agree with the statement: “Behavior X is something I”:

  1. do automatically
  2. do without having to consciously remember
  3. do without thinking
  4. start doing before I realize I’m doing it

Impressively, this explains a large amount of the variance in whether the behavior is executed (r+ = .47, 95% CI .39; .43), (Gardner 2012).

How do habits work?

Habits work through a simple loop, Cue->Action->Feedback. You see popcorn (cue), you buy and eat popcorn (action), you taste the salty, buttery goodness of popcorn (feedback) (Duhigg 2012).

The cue initiates the action which is reinforced or weakened by the reward.

How come, then, that we don’t masturbate furiously when we see a sexy person on the street? After all, sexy features are a typical cue, and masturbation feels good (feedback). Few of us have tried it, so we haven’t gotten any negative feedback either.

We’ll turn to this question, and how to use the answer(s) to our advantage, in the next section.

Taking charge: Intentional (de)training

Before undertaking any endeavour, we must consider the costs and the benefits. Changing habits, especially ones that don’t fit our goals, can obviously come with great benefits – but how much effort must we invest?

You may have heard that “it takes 66 days to form a habit”. Like any fact without confidence intervals or error bars, being skeptical of this number is good practice. Where does it come from?

Turns out this is all from one study, Lally 2009. They had 39 participants train a variety of habits, like doing 50 sit-ups after their morning coffee or going for a 10 minute walk after breakfast. Once each day, each participant filled out the Self-Report Behavioural Automaticity Index (SRBAI).

Fit a quadratic regression, measure time to 95% of asymptote (ie. when the curve flattens out) and hey presto, you’ve got yourself a pop-psych number!

66 is a pretty number, I’ll admit. And I think the methodology of the study is sound, if the Self-Report Behavioural Automaticity Index (SRBAI) can be used sequentially. The authors acknowledge these limitations.

But what is often forgotten is the variance. The 25% and 75% percentile are at 39 and 102 days. This means that only 50% of participants reached 95% of “peak automaticity” somewhere between 39 days and 102 days after starting the habits. 25% took a shorter amount of time, 25% took a longer amount of time.

What can we take away from this? Habits are formed over weeks or months, so expect to wait some time before you can do them without paying attention. And don’t expect there to be a magic threshold; expect steady improvement.

The effort is often worth it, though.

Bad habits and good habits

The point of mastering your habits is, at least in my view, not to force ourselves to do things we don’t want, or to remove fun and pleasurable experiences. Guilty pleasures are still pleasures after all.

But sometimes the cost of a habit is higher than the benefit. And sometimes a habit is activated in circumstances where it doesn’t bring much benefit at all! 

Consider Neal 2011. Participants were sent to a theater to watch a movie and served either fresh or stale popcorn. 

To the surprise of no one, participants liked fresh popcorn more than stale.

For participants with low habitual popcorn-eating, the stale popcorn was less attractive, so they ate less of it. But for participants with high habitual popcorn-eating, the taste of the popcorn had no effect on the amount consumed! 

This is the first half of the answer to “why don’t we masturbate in the street”. For actions with low habituality or strong intentions, we choose what suits our goals best. Since very few of us enjoy a night in jail, masturbating doesn’t even enter consciousness.

However, gabitual behavior can clearly be maladaptive. How, then, do we take charge?

Breaking conflicting habits

For strong habits, your intention is weak sauce. We saw this already with fresh vs. stale popcorn. What about something stronger than a taste cue, like Implementation Intentions (Trigger-Action-Plans)?

Some success has been noted, but only 1 study was done outside of the lab. Webb 2009 randomised adolescent smokers who wanted to stop smoking to either implementation intentions or a control condition (listing advantages of seatbelt use).

They found a moderate effect of forming implementation intentions, moderated by habit strength.

If intention is weak, what works, then?

1. Remove the cues/change the context

Context-changes are a great time to change habits! Some habits don’t even generalize across contexts; for the popcorn eating experiment, no difference was found if the movie was shown in a meeting room rather than a theater.

Be it changing travel habits during office relocations (Walker 2015), optimising your commute during worker strikes (Larcom 2017), or a host of other cases (Verplanken 2016, Bamberg 2006, Thøgersen 2012), context-changes are where it’s at!

This is the second half of why we don’t masturbate in the street: It’s an unknown (and inappropriate) context.

How can you implement this in your life? Personally, during the beginning of the COVID-19 quarantine I had tremendous difficulties focusing on work. Every time I was switching between tasks, I was tempted to “just play one game”. I had to fight urges all the time. This led to me getting much less work done.

Armed with the insights above, I added two desks to my room; 1 for work, 1 for leisure. Two days later, my desire for gaming during work was completely gone. 

2. Make the habit harder to perform

If you like gaming with your friends, but you find yourself gaming more than you’d like, why not change your password to something randomly generated and give it to your friend?

If you find that visiting reddit or hacker news has become encoded in muscle memory, you can break the cue->action->reward cycle.

You can use the Chrome add-on Leechblock to block websites. Or, if you want something stronger, don’t just block, redirect it to a website that’s aversive to you. I used a political party I’m strongly opposed to. This will break the near-unconscious habit in no time.

> Have you detrained habits? Which benefits did that bring you?

Once again, the goal is not to remove all guilty pleasures. Leechblock allows manual overrides, so I can still access those sites when I choose to deliberately. But the habitual “this task is difficult” (cue) -> browse reddit (action) -> fun gifs (reward) loop has been broken.

If Leechblock isn’t your cup of tea, you might consider Crackbook or In Motion. For Gmail, I highly recommend Inbox When Ready.

These two rather simple strategies have been tremendously useful for me. Now we turn to how to add new habits to your stack.

Forming endorsed habits

To intentionally form habits, we must change our behavior and/or our environment to facilitate habit formation. 

Use Implementation Intentions as training wheels

Implementation intentions are based on a trigger and an action, eg. “When I sit on the edge of my bed, I will do 10 push-ups”. They are pretty good at changing behavior, too! A 2006 meta-analysis (Gollwitzer 2006) found a medium-large effect size (Cohen’s d = 0.65).

However, as implied in the techniques name, implementation intentions need intention. They’re dependent on you remembering to do the action based on the trigger.

However, if you choose your trigger carefully, implementation intentions can transition into habits. 

Which triggers are good, then? Most habit-apps would have you believe that you can rely on their reminders – but is that really a good idea?

Stawarz 2015 had participants send in a text with what they ate after each meal. The trigger group were told to do it right after lunch, and the reminder group received a text at a set interval.

Unsurprisingly, the reminder group were reminded to send the text and had higher adherence.

Error bars are standard-deviations.

However, they also had a lower automaticity score, implying that they performed the action not out of habit, but because they were reminded.

Error bars are standard deviations.

This implies that acting on reminders requires intentionality. That’s all fine and good, but that’s not why we’re trying to habitify our actions.

Instead, set a good trigger. Make it specific (rather “after finishing my plate” than “after dinner”), choose something that’s consistent (prefer “after getting dressed” to “after getting ready for work”) and preferably chain it to something else in your routine.

There is a bunch more good advice out there for implementing habits. I’ve made a short spreadsheet here, with some added motivation from the WOOP-technique. It’s definitely a little rough around the edges, but rather share something that isn’t perfect, right?

Conclusion

I hope you found this interesting! We’ve talked about what separates habits from repeat intentional behavior, how long it takes to make or break a new habit, when habits are strong and weak and how to use these insights to your advantage.

Now is the time to put it to use. Which habits would you like to add? And which habits are standing in your way? They’re in your hands now.

If you have any questions/comments, I’d love to hear them below.



Discuss

LW-related iOS Shortcuts?

25 марта, 2020 - 15:42
Published on March 25, 2020 12:08 PM GMT

The Shortcuts app in iOS lets people puzzle together scripts which can accomplish a wide range of functions with supported apps, files etc. directly from the home screen.

What are useful, LW-related shortcuts you have built, use, or know of? Or what are ideas that would benefit from a shortcut form?



Discuss

3 Interview-like Algorithm Questions for Programmers

25 марта, 2020 - 12:05
Published on March 25, 2020 9:05 AM GMT

.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')}

These are my favorite interview-style algorithm questions for programmers. I like these questions because they test how well you understand information density instead of your ability to regurgitate facts.

Comments to help clarify puzzle details such as how the Enigma machine works are allowed. Otherwise, comments with hints, answers and spoilers will be deleted, even if they use special formatting to hide spoilers. PM me if you are unsure.

1. Sorting

What is the fastest you can sort a list of ints in Java?

Answer: O(n) time where n is the length of the list

2. Search

You have 1000 saliva samples. Exactly 1 of them is from someone infected by COVID-19. You have unlimited testing strips. Each day the CDC has resources to process up to 10 testing strips for you. You must send all 10 testing strips to the CDC at the same time. The next day, the CDC will tell you which of the 10 strips has been exposed to infected saliva. What is the fewest number of days required to figure out which sample is infected?

Answer: 1 day

3. Cryptography

It is the year 1932. You work for the Polish government. They have captured a German Enigma machine. The Enigma machine has three rotating rubber rotors (disks). Each rotor has 26 copper wires feeding from one side to the other. At the back of the machine is a reflector, reflecting 13 of the contact points on the back of rotor 3 to the 13 other contact points on the back of rotor 3. In this way, the current gets scrambled forward through rotors 1, 2, and 3 and then scrambled backwards through rotors 3, 2 and 1. Each time someone presses a key, the first rotor rotates forward one letter. Every full rotation of the first rotor, the second rotor rotates one letter. Every full rotation of the second rotor, the third rotor rotates one letter.

Each letter of the alphabet is thus mapped to another letter of the alphabet in a symmetric cipher. This cipher changes each keystroke. You can configure the Enigma machine by setting the dials with a 3-letter code. The Germans change this code once per day. Today the daily code might be SEC. Tomorrow it could be UNK. The Germans another create a unique 3-letter code separately for each message. The daily code is used to transmit the message code twice.

For example, if the daily code is SEC and the message code is MES then the Germans will use the daily code SEC to encode MESMES. This might result in the ciphertext XFYZQM. Only these first 6 letters are encrypted with SEC. The rest of the message is encrypted with MES. The next message (on the same day) might have a message code COD. In this case, the daily code SEC is used to encode CODCOD which might result in the ciphertext IWVUBB.

Design the cheapest machine you can to break the German cryptosystem. You have access to neither vacuum tubes nor transistors. You may assume the Germans always use the same three rotors and never use the plugboard.

Hint: Marian Rejewski



Discuss

Authorities and Amateurs

25 марта, 2020 - 06:40
Published on March 25, 2020 3:40 AM GMT

People are writing a lot about the coronavirus, and I've seen a lot of pushback on how pieces often haven't been written by people with epidemiology or public health credentials. For example, Flatten the Curve of Armchair Epidemiology, Listen To Actual Experts On Coronavirus, and comments like this one. The argument that we should be listening to experts and not random people would make a lot of sense if the "armchair" folks didn't keep being right.

Let's look at the articles they're criticizing for having non-expert authors:

With two weeks of perspective, however, these articles were exactly right. They clearly laid out the case for decisive action, and if we had followed their prescriptions more closely we would be in much better shape right now.

This goes beyond a few articles, however. All the aspects of this crisis that have involved planning more than a couple weeks out have been very poorly handled:

  • People weren't told to stock up on food so that they'd be able to reduce trips outdoors, and so that they'd have food in case they were quarantined for 2+ weeks. Stores weren't told to prepare for a rush. A government that was on top of things could have started advocating this in early February in an "if you can afford to" way. This would have spread people's buying over a longer period and avoided the empty shelves we see now. Instead, once restaurants were closing and people realized that they could be quarantined at any time, everyone simultaneously tried to buy weeks worth of ingredients and we had widespread shortages of basic goods starting in mid March.

  • Hospitals weren't told (or allowed?) to ration personal protective equipment such as masks until they had shortages. The CDC didn't publish guidelines for sanitization and reuse, and start telling people to conserve. In weeks of handling initial cases, hospitals burned through amounts that would have lasted months with careful rationing.

  • The federal government, state governments, or even hospitals could have placed emergency ventilator production orders in February, but didn't. Because we don't allow price gouging, ventilator companies can't ramp up production speculatively figuring that if there is really an epidemic then they'll make their money back. By mid March it was obvious that we were far short of where we needed to be and the companies started ramping up but we lost about a month of production increase.

  • Masks were sitting on shelves across the country, and the government could have requisitioned them for emergency medical use, or even just gone and bought them. Instead the Surgeon General tweeted a request that people not buy them.

  • Testing has been completely messed up, though it's hard to tell how much was bad luck vs reasonable rationing of scarce tests. But we should have been quarantining people who seemed to have it based on symptoms, instead of saying "well, since we can't test you we have to assume you don't have it, so you're welcome to continue living your life".

  • We could have planned and built out COVID-specific facilities to reduce the risk of others getting sick and make more efficient use of ventilators and personal protective equipment. We're just starting to do this now, much too late.

  • The passengers of the Grand Princess were offered testing but told that if they tested positive they would be required to undergo quarantine. Of 858 passengers, 568 declined testing and were released without even advice to self-isolate.

  • The CDC is still (3/24) not recommending the general public avoid contact with others unless you're sick, they're sick, or you know covid-19 is spreading in your community. They're only recommending people stay home if they're sick.

And I understand: this is moving very quickly, and authorities aren't used to needing to respond so rapidly. But there was a meme going around:

Neil Diamond: touching hands
CDC: no don't touch hands
Neil Diamond: reaching out
CDC: please avoid that
Neil Diamond: TOUCHING YOU-
CDC: everyone is Boston is doomed
 —@actioncookbook (2/27)

This joke and its many copycats feature the CDC we wish we had. A CDC that would have been pushing social distancing a month ago, when it would have helped so much more.

If we had listened to the warnings and prepared better we would have the experts we need, with the influence to get policies changed, and we wouldn't need the advice of the armchair epidemiologists. But that's not the world we've found ourselves in, and the amateurs have been doing critical work filling in for them in pushing policy.



Discuss

March 22nd & 23rd: Coronavirus Link Updates

25 марта, 2020 - 04:08
Published on March 25, 2020 1:08 AM GMT

Update: We just launched a new version of our link database. We now have over 350 links categorized in total, and the database is now properly integrated into LessWrong and even works on mobile! 

You can find the full database here: https://www.lesswrong.com/coronavirus-link-database

As part of the LessWrong Coronavirus Link Database, Ben, Elizabeth and I are publishing update posts with all the new links we are adding each day that we ranked a 3 or above in our importance rankings. Here are all the top links that we added over the last two days (March 22nd and 23rd), by topic.

Aggregators

Sources of state and local legal info (USA)

Collection of resources to follow specific states, and a spreadsheet of each state's current, uh, state in regard to C19

Financial Times C19 Coverage

Rob Wiblin describes FT's coverage of C19 as ahead of the curve and worth paying for

(EV): I can't verify this as I'm not yet paying for FT coverage

Chinese language version of Quora on COVID

Chinese Q&A site discussing Covid.

(RS) Interesting to see general day to day activity and response to international news from the Chinese mainland perspective. Lots of thought provoking questions being discussed.

Dashboards

Current state of states and localities (USA)

Columns like "contacts", "executive orders", "travel restrictions"

Map of tests per capita by country

Worldwide map with countries colored by testing per capita, with exact counts in a table

Economics

Cost of coronavirus reaction

Two approaches to calculating how much the money lost from the economy due to shutdowns could have saved lives

(EV) Starts with the current death count, no projected uncontrolled death count, which is a terrible sign. Leaves out lives saved for non-C19 reasons from shut downs (via e.g. polllution and reduced driving)

Diagnostics briefing

22 page doc on the current state of C19 testing and what you need to know to make decisions to increase it

Medical System

Census of USA hospital resources

Society for Critical Care Medicine's newly conducted census of US ICU beds, vents, and other medical resources. Staffing strategies to cope with overload

Virologist explains why vaccine may be possible

Virologist/investor explains why people are unnecessarily pessimistic about creating a vaccine for C19.

Standards for a minimally acceptable ventilator

This is a specification of the minimally (and some preferred options) clinically acceptable ventilator to be used in UK hospitals during the current COVID-19 pandemic caused by SARS-CoV-2 virus. It sets out the clinical requirements based on the consensus of what is ‘minimally acceptable’ performance in the opinion of the anaesthesia and intensive care medicine professionals and medical device regulators. 

Review of evidence around chloroquine

Summarizes all available evidence around chloroquine and finds it worth further study but not particularly established.

USArmy Engineers have plans for fast creation of new medical facilities, starting to act

US Army plans to create field hospitals out of existing structures (e.g. hotels) and initial action in NY.

FDA bans at home C19 testing

FDA specifically ammends rules to bar at-home collection of samples for C19 tests.

(EV) I am so angry about this

Other

Summary of Metaculus Covid19 Forecasts

Goes through the main predictions, showing how they changes over time.

Progression & Outcome

Half of patients reported to hospital with digestive issues as their chief complaint

84% of digestive cases reported anorexia, 29% diarrhea. 3.5% of patients had digestive but no respiratory symptoms

Loss of smell an early indicator of C19?

Several doctors anecdotally report a lot of patients presenting with loss of sense of smell (anosmia).

Science

What does C19 do to your lungs?

An "Explain it to me like I'm 5" for how lungs should work and how C19 interferes with them.

Why is C19 so successful

Layman-accessible description of why C19 is so infectious and so dangerous.

Spread & Prevention

Model of multiple outcomes based on configurable inputs

High polish visualization of multiple outcomes (spread, effect of intervention, hospital capacity..) based on inputs configurable by slider

Flattening the curve is shrinking the curve

Basic SIR models demonstrate that flattening the curve (by shrinking R0) also shrink the total number of people infected

Estimates prevalence by looking at exports

Estimates C19 prevalence using data from countries that check travelers at the border

Can we conserve tests by pooling?

In a world where most tests are negative, you could pool samples and test them together to get results for more people

Lit Review on Melatonin As Covid Treatment

Fairly substantial amount of literature covered by a Human Biology PhD. Key takeaway: "Melatonin appears to reduce exacerbated immune responses by lowering production of pro-inflammatory cytokines including IFN-gamma and IL6 which are responsible for inflammation in the lung and loss of function during 'cytokine storm' a feature of COVID19. This is found in both animal studies and in human studies."

Type A blood especially susceptible to C19?

Pre-print says that those with type A blood are more likely to test positive in a hospital (implying hospitalization?) than B or AB, who are in turn more likely than those with type O. All differences were statistically signficant but modest

Chef claims restaurant food is safe

Pretty thorough article on why C19 is not transmissible through food, and precauations to take around food.

(EV): I am not 100% convinced on this given the digestive symptoms evidence

Work & Donate

When do donate PPE to hospitals?

Model of when to do the most good with donations to hospitals, given institutional resistance to change

Possible donation targets

Currently 10 options, some of which are aggregators but some of which I haven't seen elsewhere.

Request for volunteers to find local testing data

Oxford PhD student looks for volunteers to find up-to-date testing numbers for all countries

Prophylactic hydroxychloroquine trial for medics

A project recruiting front line healthcare workers to test using hydroxychloroquine as a preventative measure against C19

Link to Full Database

Discuss

Are HEPA filters likely to pull COVID-19 out of the air?

25 марта, 2020 - 04:07
Published on March 25, 2020 1:07 AM GMT

Could hospitals install HEPA filters in common spaces and run them 24/7 to decrease COVID-19 spread?



Discuss

Advice on reducing other risks during Coronavirus?

25 марта, 2020 - 02:30
Published on March 24, 2020 11:30 PM GMT

I've seen tons of great, useful advice on reducing coronavirus risk, and prepping for the fallout. What I haven't seen is advice on reducing other day-to-day risks which would be unexpectedly dangerous (due to strained infrastructure, reduced medical capacity, etc) during the current period. Some obvious suggestions might include:

  • If you have to drive, do so more slowly and defensively than usual. Try to walk places (while not looking at your phone) if you can.
  • Don't operate power tools.
  • Don't do anything involving significant heights.
  • Be extra careful cooking (burns) and cleaning (chemicals), and handling things like glasses or knives that might cut you if they slip or break.

What other suggestions do people have?



Discuss

Announcement: LessWrong Coronavirus Links Database 2.0

25 марта, 2020 - 01:07
Published on March 24, 2020 10:07 PM GMT

There is a massive amount of information and discussion about the coronavirus, and a lot of people have been feeling overwhelmed trying to keep track of all the things coming in from different sources. 

To combat that, 11 days ago we announced that the LessWrong team built and is maintaining a database with all the links that we think are useful, categorizing them, summarizing them, and prioritizing them.

We've just built a major update for the database. We integrated it into LessWrong and improved the information structure. You can find the new version at lesswrong.com/coronavirus-link-database. (The google sheets version is now deprecated.)

You can also get to the database using the big green button on the frontpage.It now works on mobile too.

The database now has 360 links. 

We publish daily updates of the added links (here's the most recent one) and you can get notification of those by going to Habryka's profile page and subscribing to his posts.

You can submit links using the Link Submission Form, which is also findable from the Link Database page itself.

If you'd like to help out further with the LessWrong response to the coronavirus, here is my post on 3 low-key ways to help out.



Discuss

How to Contribute to the Coronavirus Response on LessWrong

25 марта, 2020 - 01:04
Published on March 24, 2020 10:04 PM GMT

The LessWrong team is currently focusing full-time on the coronavirus (Why?). We’ve made some pretty big asks with open questions like The LessWrong Research Agenda, and we’re super appreciative of everyone who’s participated and generally written really useful lit reviews and data analyses. But there are smaller ways to help as well. In order to shrink the barrier to entry as much as possible, here are three suggestions for Minimum Viable Help:

  1. Add a link to the LessWrong Coronavirus Link Database.
  2. Leave a comment with a link relevant to ongoing coronavirus discussion.
  3. Help proofread someone's post/comment before they post it.

Last updated: 23rd March. I will update this page as more opportunities arise. 

1. Add to the LessWrong Coronavirus Link Database

We built a daily-updating database of links about the coronavirus. We've just moved it from Google Sheets to LessWrong.com so better analytics are incoming, but from looking at the google sheet I believe the database is getting traffic within a factor of 5 of LessWrong's total traffic (LW typically has ~60 active users at any given moment of the day). 

The current page on "Progression & Outcome".

Habryka, Elizabeth and I have been updating it daily for the past week. It currently has 306 links, organised into sections including "Spread & Prevention", "Work & Donate" and "Dashboards", ranked from 1 to 5 on how important we think that they are.

The goal of this database is to make it easy to find important information. Some examples of questions it can help you answer:

  • "What's the best dashboard to follow global case counts?"
  • "What's the best link to send to my parents?"
  • "How long does COVID-19 last on different material surfaces?"
  • "Where can I find that really good thread by Rob Wiblin I read last week?"

You can help out by entering links into the Link Submission Form

It just has 3 entries: the URL, where you found it, and who you are (so we can thank people later). We processing links every day, so expect to see it added tomorrow. Please add any links you personally find valuable like papers, news articles, tweets and facebook posts. If you're not sure whether a link is valuable err on the side of inclusion and one of us will sort it out.

If you'd like to get daily updates of the links we have, Habryka's account publishes daily lists of the most important links (scoring 3+), and you can subscribe to him by clicking 'Subscribe to posts' at the top of his profile page.

(If you're one of the rare people who think both that this is a valuable public service and that you would like help build the database, you can help us with the data entry work using the more detailed LWC19 Database Data Entry Form, which takes ~5 mins to fill out per link (varying time depending on the link). If you submit 5 links this way, we'll reach out to thank you and give you better access to the database.)

To repeat: you can help out by entering links into the LW Covid Database with the Link Submission Form. If you'd like to make it easier for yourself, I recommend opening the page and adding it to your bookmarks (Cmd-D in Chrome) so that you can open it with one click.

2. Leave a comment with a coronavirus link on some relevant LW discussion

There's lots of coronavirus research being done on LessWrong. Jim Babcock has written many posts, Connor, Julia, Finan and Elizabeth contributed to the Justified Practical Advice Thread, Bucky did some work analysing the growth rate of outbreaks, and Elizabeth laid out concrete open questions in her LessWrong research agenda.

You can help out LW's research by leaving a comment with a relevant link.

Where to find links?

  • Search the Links Database and find the links that are relevant that haven't been discussed.
  • Add a link to discussion on another part of the internet that you've already seen in your news feeds.
  • Do a little googling yourself for relevant material and share what you find.

Remember: Partial progress is still progress! Share your work! 

Connecting work like this is very helpful; it helps us build on others' work, gives more information and reduces the time spent retreading others' steps.

Where to find the coronavirus discussion on LessWrong? To find all on-site Coronavirus content and to look for places to help out, follow the Coronavirus Tag page.

3. Proofread Someone's Post/Comment/Question

One barrier to publishing is worrying about stupid mistakes in your posts or comments. One way to remove that barrier is to have a second set of eyes look over it. 

If you’re looking for those eyes or feel like you could be those eyes, the Open Thread this month is experimenting with a proofreading-and-editing matchmaking thread.

Leave a comment if you'd like to offer to proofread people's posts/comments, and also leave a comment if you have something you'd like to get proofread!

(If you're down for some full-on editing work, then that's also something you can also help out with in that thread.)

Thanks for all of your contributions. Please make sure you and your family are safe before helping others.



Discuss

Adding Up To Normality

25 марта, 2020 - 00:53
Published on March 24, 2020 9:53 PM GMT

Pretty Similar To: Leave a Line of Retreat

"It all adds up to normality." Greg Egan, Quarantine

You're on an airplane at 35,000 feet, and you strike up a conversation about aerodynamic lift with the passenger in your row. Things are going along just fine until they point out to you that your understanding of lift is wrong, and that planes couldn't fly from the effect you thought was responsible.

Should you immediately panic in fear that the plane will plummet out of the sky?

Obviously not; clearly the plane has been flying just fine up until now, and countless other planes have flown as well. There has to be something keeping the plane up, even if it's not what you thought, and even if you can't yet figure out what it actually is. Whatever is going on, it all adds up to normality.

Yet I claim that we often do this exact kind of panicked flailing when there's a challenge to our philosophical or psychological beliefs, and that this panic is entirely preventable.

I've experienced and/or seen this particular panic response when I, or others, encounter good arguments for propositions including

  • My religion is not true. ("Oh no, then life and morality are meaningless and empty!")
  • Many-worlds makes the most sense. ("Oh no, then there are always copies of me doing terrible things, and so none of my choices matter!")
  • Many "altruistic" actions actually have hidden selfish motives. ("Oh no, then altruism doesn't exist and morality is pointless!")
  • I don't have to be the best at something in order for it to be worth doing. ("Oh no, then others won't value me!") [Note: this one is from therapy; most people don't have the same core beliefs they're stuck on.]

(I promise these are not in fact strawmen. I'm sure you can think of your own examples. Also remember that panicking over an argument in this way is a mistake even if the proposition turns out to be false.)

To illustrate the way out, let's take the first example. It took me far too long to leave my religion, partly because I was so terrified about becoming a nihilist if I left that I kept flinching away from the evidence. (Of course, the religion proclaimed itself to be the origin of morality, and so it reinforced the notion that anyone else claiming to be moral was just too blind to see that their lack of faith implied nihilism.)

Eventually I did make myself face down, not just the object-level arguments, but the biases that had kept me from looking directly at them. And then I was an atheist, and still I was terrified of becoming a nihilist (especially about morality).

So I did one thing I still think was smart: I promised myself not to change all of my moral rules at once, but to change each one only when (under sober reflection) I decided it was wrong. And in the meantime, I read a lot of moral philosophy.

Over the next few months, I began relaxing the rules that were obviously pointless. And then I had a powerful insight: I was so cautious about changing my rules because I wanted to help people and not slide into hurting them. Regardless of what morality was, in fact, based on, the plane was still flying just fine. And that helped me sort out the good from the bad among the remaining rules, and to stop being so afraid of what arguments I might later encounter.

So in retrospect, the main thing I'd recommend is to promise yourself to keep steering the plane mostly as normal while you think about lift (to stretch the analogy). If you decide that something major is false, it doesn't mean that everything that follows from it has to be discarded immediately. (False things imply both true and false things!)

You'll generally find that many important things stand on their own without support from the old belief. (Doing this for the other examples I gave, as well as your own, is left to you.) Other things will collapse, and that's fine; that which can be destroyed by the truth should be. Just don't make all of these judgments in one fell swoop.

One last caution: I recommend against changing meta-level rules as a result of changing object-level beliefs. The meta level is how you correct bad decisions on the object level, and it should only be updated by very clear reasoning in a state of equilibrium. Changing your flight destination is perfectly fine, but don't take apart the wing mid-flight.

Good luck out there, and remember:

It all adds up to normality.



Discuss

The Solution is Inaction

25 марта, 2020 - 00:07
Published on March 24, 2020 6:01 PM GMT

I'm trying to get my current mental model of the Covid crisis in writing, to see both where it leads and where it is incorrect. This is an economic model. Section 1 is defining the problem and vocabulary, section 2 is a description of my mental model, and section 3 is comparing my model to reality.

A couple assumptions I'm making: I assume that we cannot over-isolate (i.e. we should social distance as much as possible, and not worry about overshooting); I assume that this crisis will last about 2 months in its current form, by which time (as in China right now) the situation will look different enough that there's no way to predict and no use in forecasting now; lastly, despite being generally fairly libertarian, I see a strong centralized government like owning Volcano Insurance in Iowa, it's generally a waste of money but when Yellowstone erupts it's a good time to soak them for every last dollar.

Let's separate the American workforce into three groups. The first group is remote-workers. These people are generally able to maintain their economic output while maintaining heavy social isolation. Not only can they work remotely, their customers can utilize their product remotely. I imagine most in the LW community are in this category. While output may be reduced by having to work from home, work continues to get done, and we can in principle ride this thing out for a few months without too much intervention or life-destroying change. Note that e.g. retirees and the long-term unemployed count as remote-workers, vacuously.

The second group is essential-workers. These people can't stop working. They are farmers, grocery-store cashiers, Amazon deliverymen. I would hate to be one of them right now, because their needs will inevitably be the last consideration.

The last group is non-essential non-remote workers, or Eloi (from H.G. Wells, I know Eloi are supposed to be upper class but the point is they are worthless and vulnerable and remnants of an obsolete economic model). The Eloi will destroy our economy. They are the 30% unemployment rate I've heard predicted. They can't have any economic output for the next two months.

How should we deal with these different workers? The optimal thing is for all the Eloi to go into hibernation for a while, neither working nor buying anything. Everyone sits in the room they are currently in for two months, wait for this whole thing to blow over. It's honestly kind of perfect, since they cannot labor but also can't buy much with their wages anyways, they can't go out to eat or catch a movie, they can't go on trips, they can't go shopping, so why not hibernate? The problem of course is that humans need at least food and shelter. Okay, so we shut down the whole economy for a while, where there used to be America there is now a bunch of farms making eggs and bread and milk, truck drivers transporting them to cities, and grocery workers handing them to Eloi. The Eloi sit in bed and eat all day. No one is paid, the essential-workers keep feeding the Eloi, and in two months the government snaps its fingers and everything goes back to the way it was. Oh, the remote-workers keep working this whole time (why not?), for them everything is normal, and if the lack of customers makes them useless, we just keep designating more people as Eloi until there are no more remote-workers or until the crisis dies down/changes fundamentally.

This model has problems, obviously. What are they and how can we fix them? Well, first of all, why do the essential-workers keep working? They can just quit their jobs, stay at home, and the government will take care of them. This is just the well-known welfare trap! The solution is to give them free rent and groceries as well, and in exchange for working they are given access to some of the cushy remote-worker economy (e.g. they can order luxury goods on Amazon).

This model seems roughly reasonable to me. There are details about how to get the right number of people into the right categories, but we only have to hold it together for a couple months and in the worst case scenario, the government can just hold essential-workers at gunpoint. I'm not too worried about civil liberties, if the crisis lasts too long the government will be overthrown anyways (and any civil liberty they violate in the final days will definitely get covered by the new constitution, so there's kind of an upside).

Okay, so that's not actually all that reasonable. The government isn't just gonna declare all groceries free. That much radical change would have incalculable downstream costs. How can we jerry rig our existing capitalist system to approximate this emergency-economy I've described? Well, it looks roughly like what we're seeing out of Washington right now, so that's good.

Imagine an Eloi that used to work at a bar that is now closed. He needs to pay the Krogers and his landlord.

1) Either the government demands that Krogers and the landlord give him free stuff,

2) or the government gives him free money,

3) or the government demands that the bar continue to pay him (but the government pays the bar).

These are of course all equivalent, modulo details. The second option looks like the payment-to-Americans plan that Congress is working on right now (remember, it's very important that they pay essential-workers as well to avoid the welfare trap, but phase-outs for remote-workers including the unemployed can be thought of with the normal economic frame). The third option looks (as far as I understand it) like what the fed is doing with interest rates, or like the bailouts people are talking about.

On a tangent, I'm honestly not sure why we can't do option (1) with regard to rent, but for Chesterton's Fence reasons, I assume that landlords have to burn a certain amount of money per month in offering to the Elder Gods or else we will all die.

Now, the bar that our hypothetical Eloi works at presumably has other costs. The corporation needs to pay rent, it may need to keep up maintenance of some sort, though it won't be paying distributors. For this reason we need to funnel some money into small businesses, even if government checks take over their payroll.

A lot of the criticism of the government's response coming from certain circles seems to be predicated on the usual circumstance where the government's goal is to spur economic development. The goal is to stop economic development in its tracks (at least for the Eloi and, in part, the essential-workers) so the current strategy seems mostly spot-on to me. The true goal is to maintain stasis in such a way that startup costs are minimized when the economy does get going again.

My criticism of the government's response is that, if I were a small business owner right now, I wouldn't be sure if I should fire my employees so they can take advantage of unemployment, or keep them on with reduced wages supplemented by government checks (all of their wages are paid by the government, the only difference is an agreement that they will come back to work when it's over). I think the most important thing now is for the government to articulate a clear plan so people know what they should be doing as we transition out of the economy and into the, well, whatever this is.



Discuss

How do you study a math textbook?

24 марта, 2020 - 21:43
Published on March 24, 2020 6:43 PM GMT

My own personal routine:

I start reading, whenever I feel there is a problem presented in the text (mostly theorems and examples but sometimes questions arise in the text itself), I’ll try solving it. I invest time in this endeavor proportionally to my belief that it can be solved in a reasonable amount of time. If this time runs out, I’ll start reading a little of the solution and trying again. I usually postpone the end-of-chapter exercises to “later” because of spaced repetition and lack of time (I have to have studied a certain amount of chapters for exams so I have to prioritize the quantity.). Sometimes interesting ideas/quasi-problems/ways of looking at things come to mind during the study, and I think on them as well.

When I’m solving a problem, I’ll usually walk around and try to solve it mentally, because I have this uncertain belief that if my math needs paper and pencil, then I can hardly use it “at will.” I’m the kind of person who forgets stuff and needs to repeatedly derive them from first principles when needed, and I can’t quite do that if those derivations rely on writing stuff out. (I also hate memorizing theorems. It feels stupid. :D )

By the way, if the solution is not in the text and I’m stumped, I websearch around. I hate the professors who give grades for the text’s problems and thus disincentiviz solution manuals economically and socially. These take-home exercises correlate more with people’s social skills and network than their effort or knowledge. Quizzing people instead is a much better choice.



Discuss

SARS-CoV-2, 19 times less likely to infect people under 15

24 марта, 2020 - 21:11
Published on March 24, 2020 6:10 PM GMT

SARS-CoV-2, 19 times less likely to infect people under 15Is a small volume of low quality data sufficient for making meaningful claims about CFR and R0 ?

Epistemic Status: Wild off-the-cuff speculation

Note: This post was written on 24-03-2020 during the srars-cov-2 pandemic

DISCLAIMER !

This is NOT an article claiming that we should stop caring about the covid-19 pandemic, nor is it claiming that the number presented in the title is actually correct, rather, it’s a punny attempt to show the kind of data-driven uncertainty that leads to us not fully understanding the behavior of the disease in terms of spread and frequency of symptoms.

If you wish to crucify me for claiming “Maybe the current measure we are taking are not ideal based on what we know so far”, please do me the favor of actually reading the whole thing first.

NOR is this an article claiming that our current measures are “killing the economy at the cost of saving lives”… I find that position almost absurd and lacking in understanding about this whole “social contract thing” we have going that means we value life over material goods.

The very uncertain hypothesis I am presenting here is that we are engaging in a “panic response” which might be unjustified given current data and could lead to both a higher number of people dying from coivd-19, higher numbers of people dying overall and worse economic damage than the proper response.

Lastly, and very importantly, I am not an MD nor an epidemiologist and taking a though piece as a guide for deciding to isolate yourself or to break quarantine is pretty stupid. If this encourages any action other than “Hmh, interesting, let me try to find some data and look at it”, then I will claim right now said action is misguided.

Are children less likely to be infected by srars-cov-2 ? (No)

It’s fairly hard to get raw data about covid-19 cases, the mos comprehensive dataset of individual cases I could find is compiled by the medical community at DXY.cn (a Chinese medical discussion board):

https://docs.google.com/spreadsheets/d/1jS24DjSPVWa4iuxuD4OAXrE3QeI8c9BC1hSlqr-NMiU/edit#gid=1187587451

I find it curios that out of 397 cases with a reported age in the US, only 4 were under the age of 15.

I say I find this curios because based on the 2018 census data, 18.71% of the US population is under 15 years of age.

This leads me to the clickbaity number in the title (round(0.187/(4/397)) == 19
).

However, I did not pick the US specifically to get this high of a number, indeed, China yields an even higher one. I simply thought 19 had a nice ring to it considering the disease’s name… and the whole point of this article is to explain why this observation is blatantly wrong anyway.

While this particular coronavirus is indeed novel, coronaviruses in general are a pretty wide spread species and some of them have symptoms we label under “common cold”, together with the original SARS and the MERS coronavirus, I think enough data to say with a very high certainty:

  • The claim that it’s less likely for a kid to get infected by a coronavirus is bullshit, most certainly so when the number claimed is as high as 19 times less likely.

Even more so, kids are particularly bad at not licking random surface, touching strangers, eating random stuff off the ground and overall doing stuff that is unsafe in terms of not getting infected by almost any given virus or bacteria.

So why are so few kids getting infected ?

Well, you could say:

  • It’s because kids are less likely to be in tightly packed places (e.g. nursing homes, planes)
  • It’s because kids are less likely to be in places where infected people reside (i.e. hospitals and triage centers)
  • It’s because the data of patients under 18 is less likely to be made fully available (however, I could be making the same point for people under 65 or under 40 here, it’s just that the number would be lower)

But I could say:

  • Kids are more likely to be in tightly packed places with some of the lowest interpersonal sanitary norms on earth (e.g. kindergartens and schools)
  • Newborns kids are very likely to be in hospitals (all be it in the maternity wards) and there doesn’t seem to be a bump for newborns
  • Kids, unlike adults, are almost always nearby other adults. I can isolate myself alone in my house, but most kids in this demographic would still need at least one guardian near them at all times.

I think the real explanation is more along the lines of:

  • Kids have a very well functioning immune system. Our impression to the contrary comes partially from niche viruses ala influenza who provoke symptoms via causing an over-reaction from the immune system. Partially from the fact that kids don’t have anti-bodies ready for a host of infections to which we have built immunity. Partially because kids are gross and don’t understand the concept of personal space or not eating dirt and are thus more prone to come into contact with large quantities of pathogens. But overall I would trade and arm and a leg to have the lymphatic system of a 14 year old again.
  • The tests used to monitor sars-covid-2 are usually the cheap and quick kind, which have sensitivities as low as 70% in the first 4-10 days of the infection. But of course, this measure is mainly based on testing adults (mainly older adults), it might well be that a young person (read: an organism with extremely well functioning in immune system, cell MHC1 and MHC2 protein presentation mechanism and cell apoptosis mechanism) is able to stop the infection in it’s tracks much quicker before IgM or IgG levels get noticeably high.
  • Many of the people tested for the disease are those presenting to hospitals, those people are presenting to hospitals because they are having symptoms that bother them. Even if someone under 15 has a noticeable raise in IgM or IgG levels, the immune reaction might be enough in order for symptoms not to go past a mild fever and some coughing… which are basically omnipresent in young kids during the spring, so nobody will bring them to a hospital for those reasons alone.

However, if this is the case, this reasoning need not extent to children alone. All of the reasons listed above are not specific to children, it just so happens that well functioning immune system are overly represented in children.

There’s plenty of older people with well functioning organisms that could react to an infection similar to how most children could. Although this breaks down past a certain age, since our thymus is slowly replaced by adipose tissue in the morbid, painful and not yet reversible process we call “aging”.

In some ways this article is a “layman’s defense for the layman” of this analysis by Oxford’s center for evidence-based medicine: https://www.cebm.net/global-covid-19-case-fatality-rates/. Which claims CFRs (case fatality rates) way bellow what’s being currently reported and places much more of the blame or comorbidities.

That is to say, this is hopefully an intuition as to why “A lot of people in retirement homes dying in Bergamo” doesn’t translate to “This virus will kill 1-5% of Earth’s population”.

It’s also hopefully an explanation of why R0 (the basic reproductive rate) ranges from 1.4 to 3.9 (which is huge, even compared to the ranges we get for most seasonal influenza strains) and thus it could really be anywhere from “if left unchecked it will spread like a vengeful medieval plague” to “it spreads more or less like the flu”.

Two things that keep me awake at night

However, it does leave me curios as to two things.

I’ve seen the CFR and R0, or various facts derived from them, used by physicians and authorities in terms of communicating information to the public and enacting quarantine measures.

These two things would heavily influence how that information is communicated and how said measures are encated.

1.

If the data for this disease is so poor (e.g. respectable institutions have numbers order of magnitude different for the estimated CFR), why go ahead and make claims based on R0 and CFR to being with ?

I’m not claiming the diseases is not dangerous, on the contrary, I am claiming that it could be potentially MUCH MORE dangerous than we think or MUCH LESS dangerous than we think.

That’s an issue, because that’s how you get to under-reacting and causing millions of deaths or over-reacting and causing millions of death (due to a horrible recession, even though they won’t be in Europe or the USA, they will be in Africa, as people start tightening the belt and donations to charities are among the first inessential things to go away).

Would the wise thing here not be to try and gather more data as aggressively as possible ? Rather than going on TV and making claims around numbers for which no degree of certainty exists.

2.

If the current data indicates that kids and most likely healthy young adults are not at risk, while old people and people with comorbidities are at very high risk. Why not act along those lines:

Allow young people that want to break quarantine to do so, monitor them closely and test them in order to figure out what the consequences of spreading in a young demographic is… after all, it seems that they aren’t very significant based on current numbers.

If the consequences seem worrisome, revert the measure before hospitals get overwhelmed.

If the consequences seem on par with a bad strain of rhinovirus or influenza, progressively advise more and more people that they can break isolation (but make sure to inform them that the risk of death exists and that they will be assuming it), thus getting the economy partially back on track and increasing the cohort you are monitoring.

On the other hand, if we are petty certain that old people and people with certain comorbidities (e.g. diabetes and CVD) are at very high risk. Why not target those people directly in terms of aid, quarantine measures and messaging.

Why do we have broad sweeping messages about “stay at home”, which seems to be mainly causing a panic in young well-educated adults (aka the kind of healthy demographic that is prone to leading an overly-healthy lifestyle which could lead them to not even noticing an infection) whilst not at all disturbing grandma and grandpa (aka the kind of people you really really really want to stay at home) ?

Wouldn’t a functioning economy better allow for long-term quarantine of those at risk ?

I’d personally be pretty glad to go around shopping for a few old people in my local community and pass on the supplies to a guy wearing a hazmat suit that will disinfect them to the best of his abilities and then hand them over.

I feel like this kind of “allow young volunteers to boost herd immunity, keep the economy going and provide data, at least until our data tells us otherwise” approach would be preferable to the progressively worsening quarantine that is not discriminating based on age or comorbidities.

But

Again, I don’t think based on current data I am qualified in terms of proposing the kind of measure we should enact.

I do however strongly think that any measures should revolve around “how do we gather better quality data and making it more widely available for people to build models and hypothesis based on”.

I also think that throwing anyone in the same bucket in terms of risk and thus throwing them in the same bucket in terms of the measures we enact is silly.

To me it seems that young healthy people are:

  • An issue because of asymptomatic spread of the diseases
  • An asset because if they gain immunity they could help with blood donations for plasma therapy

Whilst old or unhealthy people are:

  • An issue because of the severity of symptoms and risk of death
  • An asset because they provide an easy way to track spread (since they are more likely to be symptomatic)
  • An ideal target for protective measures if our goals it to reduce cases with severe symptoms and fatality

Obviously, “young” and “old” or “healthy” and “unhealthy” are pretty vague terms, but we can pick some arbitrary limits, e.g. you are “young and healthy” if you are bellow 25, exercise daily, have no diagnosis of metabolic diseases, CVD, CVD risk factor or respiratory disease… start from there, and broaden or tighten the definition based on the data we gather.

I think some people might read some form of “moral hazard”, after all out of those people a few might still get severe symptoms or even die from the disease… but it’s not like the current approach has stopped deaths and it’s not like there’s an end in sight. We can’t just quarantine people forever and we can’t hope that the kind of quarantine measures we enact are going to completely empty all human and (potential) animal reservoirs.

At most, what we are doing right now is stalling for time in order to get a cure… but what is a cure ?

Antivirals seldom have the efficacy we’d be looking for.

A vaccine seems to be 12 months away under the most optimistic estimates and is far from a guarantee.

The two things that everyone agrees would help are:

  • Plasma from people with immunity
  • More data about the virus (sars-cov-2) and the disease (cov-19)

Those are the very things the policies in the US and in most European countries are not going to help us with.

DISCLAIMER !

This is NOT an article claiming that we should stop caring about the covid-19 pandemic, nor is it claiming that the number presented in the title is actually correct, rather, it’s a punny attempt to show the kind of data-driven uncertainty that leads to us not fully understanding the behavior of the disease in terms of spread and frequency of symptoms.

If you wish to crucify me for claiming “Maybe the current measure we are taking are not ideal based on what we know so far”, please do me the favor of actually reading the whole thing first.

NOR is this an article claiming that our current measures are “killing the economy at the cost of saving lives”… I find that position almost absurd and lacking in understanding about this whole “social contract thing” we have going that means we value life over material goods.

The very uncertain hypothesis I am presenting here is that we are engaging in a “panic response” which might be unjustified given current data and could lead to both a higher number of people dying from coivd-19, higher numbers of people dying overall and worse economic damage than the proper response.

Lastly, and very importantly, I am not an MD nor an epidemiologist and taking a though piece as a guide for deciding to isolate yourself or to break quarantine is pretty stupid. If this encourages any action other than “Hmh, interesting, let me try to find some data and look at it”, then I will claim right now said action is misguided.

Main references

The main references used for getting the numbers and factual information claimed in this article are (in order of importance):

General information about covid-19 (the disease), cov-sars-2 (the virus) and the measures proposed against the pandemic:

https://idpjournal.biomedcentral.com/articles/10.1186/s40249-020-00646-x

https://www.elsevier.com/connect/coronavirus-information-center

https://peterattiamd.com/peterhotez2/

https://peterattiamd.com/peterhotez/

The study on which I’m basing my claims for age and comorbidities being the main driver of death and severe symptoms:

https://www.cebm.net/global-covid-19-case-fatality-rates/

Information about the COVID-19 test:

https://www.nature.com/articles/d41587-020-00010-2

Information about DXY & DXY dataset:

https://docs.google.com/spreadsheets/d/1jS24DjSPVWa4iuxuD4OAXrE3QeI8c9BC1hSlqr-NMiU/edit#gid=1187587451

http://www.dxy.cn/

Demographic data used to extract the original numbers:

https://www.statista.com/statistics/270000/age-distribution-in-the-united-states/

https://www.statista.com/statistics/251524/population-distribution-by-age-group-in-china/



Discuss

Breaking quarantine is negligence. Why are democracies acting like we can only ask nicely?

24 марта, 2020 - 17:58
Published on March 24, 2020 2:58 PM GMT

One of the earliest angles on the coronavirus pandemic was that this was
a story of the draconian extremes that an authoritarian government can impose on its people. This angle on the events in Wuhan flourished especially while the media and most governments were not taking the pandemic seriously. So we’ve had a lot of hand-wringing: what can western governments do about this, because obviously we can’t do that?

At the worst extremes we have people throwing up their hands and saying, “well we’re screwed, white people will never do what they’re told, unlike those obedient Asians — and it’s not like we can make them, right?”. That attitude is completely crazy. It’s not true, and it’s part of the general atmosphere of extremely mixed messages that have made the crisis so bad.

For instance, consider the Imperial College report to the British government,
which modelled out the likely effects of different policies. Their model
assumes that only 70% of people instructed to self-isolate after a coronavirus diagnosis will comply, for a total reduction in contacts of 75%. For stricter measures that quarantine entire households on one positive diagnosis, they assume a compliance rate of only 50%. We’re shutting down entire economies, and yet we view ourselves as helpless to enforce quarantine on confirmed or presumed positive cases?

People who are tested or presumed positive will obey quarantine if they understand that they might go to prison if they don’t. This is in no way an extreme or authoritarian response. It’s completely consistent with civil liberties. Any individual freedom is always constrained by reasonable expectations of harm. None of us have a general-purpose freedom to act however we want regardless of the risks other people. The specifics of the coronavirus pandemic are unusual, but the general principle isn’t.

Take the most extreme case: someone has tested positive and been instructed to self-isolate, but the person ignores the instruction and infects someone else, who later dies of the infection. This is an act of extreme and callous negligence. The person who left quarantine was informed of a specific risk, they ignored that information, and they have caused someone else’s death for a frivolous purpose. It is not unreasonable to imprison that person for many years in order to deter that sort of negligence.

That’s the general standard we have in our societies for actions that are actually negligent, that really could cause foreseeable harms and risks of death. So what message does it send to someone if they test positive for coronavirus, and the state merely asks them nicely to comply with quarantine procedures? What reasonable inferences does that invite?

People aren’t taking self-isolation and quarantine procedures seriously because our governments aren’t actually acting like they’re serious. We’re all constantly presented with arguments that aim to persuade them to change their behaviour to reduce some remote risks, or achieve some remote benefit. We’ve all learned to pick over these arguments and weigh them up against our own considerations. This also leads to a bit of an arms race: arguments convincing us to recycle, practice safe sex, use less water, buy local etc are all competing, so we expect their claims to be at least a little overstated.

If we say that obeying quarantine orders are an urgent matter of life-and-death, but don’t act accordingly, people will notice the subtext. They won’t bother to argue. They’ll think sure that’s a thing I should do…But there are lots of things I “should” do, right? They’ll see it as just another optional supererogatory thing. They’ll weigh it up, and take it or leave it.

Our society is built on both individual freedom and individual
responsibility. If you fail to take due caution in your actions, and you cause
easily foreseeable harm, your actions may result in criminal penalties. The simple problem is that we’re not framing it this way, and that's hopelessly confusing. We’re in the rare situation where it would actually help to have some
zero-tolerance rhetoric from governments and prosecutors. We desperately need guidance from governments that the situation is grave, the risks are real, and if you are not careful you could find yourself in prison for the rest of your
life, precisely because other people may well be found dead.

Think of it this way. If you get in your car and drive around drunk, the
maximum number of families you might kill is one. If you’re confirmed or even presumed positive for coronavirus and you just go about your day, there’s no real limit to how many additional deaths your actions could eventually cause. Why should anyone have any sympathy if you’re punished for such extreme negligence? You weren’t even drunk when you did it.



Discuss

SSC - Face Masks: Much More Than You Wanted To Know

24 марта, 2020 - 09:59
Published on March 24, 2020 6:59 AM GMT

Face Masks: Much More Than You Wanted To Know



Discuss

What will be the economic effects of no restrictions

24 марта, 2020 - 09:48
Published on March 24, 2020 6:48 AM GMT

Many advocate against restrictions like travel bans, quarantine, lockdowns, etc., because they think the economic damage from those aren't worth the benefit in fighting the pandemic.

But clearly there's would also be economic impact from not putting down restrictions and letting the virus run its course.

What are they?



Discuss

History's Biggest Natural Experiment

24 марта, 2020 - 05:56
Published on March 24, 2020 2:56 AM GMT

Faced with the threat of COVID-19, most countries in the world are suddenly, dramatically improving their hygiene and infectious disease control. This won't just slow the spread of COVID-19. As a byproduct, it will also suppress almost every other contagious disease. This creates a natural experiment, which answers the question:

What would happen if we fully suppressed influenza, the common cold, and all the other ignored, minor infectious diseases, all at once?

About 13% of cancers worldwide are attributable to known infectious causes. Many other health problems are suspected to be related to infectious disease, including chronic fatigue syndrome, type 1 diabetes, hypothyroidism, obesity, Alzheimers disease, bipolar disorder, and some mechanisms of aging. (And obesity again but this time it's a bacterium instead of a virus.)

In the coming year, we're going to see large reductions in many diseases we never realized were infectious-disease related. As bad as COVID-19 is, this will be a pretty substantial silver lining.

Most of the diseases won't stay gone; social distancing and citywide lockdowns are costly, and most diseases will retain enough reservoirs to bounce back after we return to normal. What we'll get is a period we can study retrospectively, different in different countries, in which almost no disease transmission occurred.

This will be confounded by COVID-19 itself, of course. People who themselves had COVID-19 will have a lot of health problems, which studies will need to account for. The isolation of social distancing, the anxiety of watching the disaster unfold, and the poverty of job-less and economic decline will leave their mark. In countries where COVID-19 took hold, during the height of the pandemic, cancers and autoimmune disorders and other conditions will have been left undiagnosed due to the shortage of hospitals. We won't easily be able to tell which diseases matched with which health conditions. With clever methodology and access to data in countries which had different outcomes, all of these issues will be possible to work around.

The world's attention is now very focused on the short term. Let's give a little thought to what next year will look like.



Discuss

Страницы