SQLiteは同時書き込みできるようにならないです(当面)

Publickeyの記事をきっかけに話題になっているようです。

www.publickey1.jp

ネタ元はHacker Newsなんですかね。

news.ycombinator.com

残念ながら、リンクされているページは開発中のブランチであり、まだSQLite本流にはマージされていません
また、現状ではマージする予定もありません

sqlite.org

ちなみに、このブランチは楽観的ロックを実装しているので、マージされたとしても使うときにはアプリケーション側でちょっと気を付ける必要がありそうですね。リトライすればいいんですかね?

28000円分世界を変える

皆さん、こんにちは!

今回のブログでは、私が最近行った28000円の寄付についてお話しします。私は昨年から効果的利他主義に基づいて寄付を続けており、この記事が皆さんに善行を広めるきっかけになればと思っています。

効果的利他主義とは?

効果的利他主義(Effective Altruism, EA)とは、人々を助ける際に最大限効果のある方法を採用することを重視する考え方のことであり、効果的利他主義に従って慈善活動を行っている人々やプロジェクトが多数存在します。今回私は、その中でも次の2つのファンドにそれぞれ$100ずつ(PayPal経由で14000円ずつ)寄付しました。

funds.effectivealtruism.org
www.givewell.org

これらのファンドは、特に最貧国に住む人々の衛生環境や経済状況を直接改善するプロジェクトに寄付金を分配しています。

寄付プロジェクトの具体例

これらのファンドが寄付しているプロジェクトをいくつか見てみましょう*1

マラリアコンソーシアム

www.malariaconsortium.org

マラリアコンソーシアムはアフリカやアジアの地域でマラリアやその他の感染症の対策を行っている団体です。例えば、子どもたちに抗マラリア薬を投与することによってマラリア感染を予防しています*2。このプロジェクトでは$5500で一人の命を救うことができるようです。すごいですね*3

New Incentives

www.newincentives.org

New Incentivesはナイジェリアの非営利団体です。New Incentivesの「All Babiesプログラム」はナイジェリアの家庭に対して、乳児をワクチン接種に連れて行くことに対して少額のインセンティブを与えています。このインセンティブによって、ワクチン接種を全部済ませた乳児の割合を2倍にすることに成功したとのことです。

寄付をするメリット

あなたが寄付をすることには次のようなメリットがあります。

  • 最貧国の人々を直接助けることができます。世界レベルで見たときの所得格差はとても大きく、一日数百円程度で生活せざるを得ない人が数億人居ます。)私達のように世界でも高所得の国々に住んでいる人々にとってはあまり大したことのない出費でも、これらの人々にとっては生活を一変させるほどの価値があるのです。
  • あなたの人間としての道徳的地位を向上させることができます。寄付は善いことであり、それをする人は徳の高い素晴らしい人です。そして、その徳の高さは(この記事のように)他人に見せびらかすと気分の良いものです。皆さんも私の徳を羨ましく思うのであれば、ぜひ私に張り合って寄付してみてくださいね。

世界を良くしていきましょう。

*1:https://www.givewell.org/top-charities-fundを参照。EA Fundsの方もだいたい同じようなところに寄付しています。

*2:www.malariaconsortium.org

*3:Top Charities Fund | GiveWellより

状態の概念無しで表現できる計算も大事です

私が主張したいのは「私たちが計算*1と呼ぶもののモデル化には、必ずしも状態の概念が現れるとは限らない」です。これを立証するために、ブーリアン回路族という状態の概念を必要としないモデルが、計算をしていると言えるほど十分強力であることを前の記事で紹介しました。
一方、私は「全ての計算は状態の概念を利用せずにモデル化できる」と言いたいのではありません。なぜならば、状態の概念を必要とする計算はあるからです。

状態の概念を必要とする計算はあります

世の中には状態の概念が必要な問題領域が存在します。例えば、時計は現在の時間を状態として持つでしょうし、自動販売機はユーザが投入された金額を状態の形で追跡する必要があります。
当然、このような問題を解く計算機やそのモデルには状態の概念が存在します。ミーリ・マシンがこういった計算機の一つのモデルです。

ja.wikipedia.org

例えば、きしださんの言う「1を無限に出力する」機械はミーリ・マシンを使って以下のように表現できます。

  • 状態は1つです
  • 単一の入力(例: 時間経過)に応じて状態が遷移します。状態が1つしかないので遷移先も同じ状態ですが。
  • 状態遷移に伴って1を外部に出力します。

状態の概念無しで表現できる計算も大事です

ですが、計算が全てこのようなものであるとは限りません。例えば、コンパイラソースコードを入力として受け取り機械語を出力するような計算機だと考えられます。
コンパイラが行うような計算はブーリアン回路族でシミュレートできます。つまり、コンパイラを表現するために状態概念は必要ありません。

コンパイラのような計算は私たちが計算と呼ぶもののうち重要な部分をなしていると私は考えます。実際、これらの計算は決定問題という部分に少しの工夫*2で対応します。回路族とチューリングマシンの等価性も決定問題の文脈において示されています*3

この話題の大元はプログラミング教育についてでした。私たちがプログラミングを学ぶとき、決定問題に対応するような計算をたくさん扱うでしょう。例えば、入力を二つ受け取って足し算するようなプログラムもこの部分に入ります。

話をずらしていくのはやめましょう

結局、きしださんは構文解析がブーリアン回路族で計算できることには合意されるのでしょうか?どんどん話題を変えられるとそもそも何の話をしているか分からなくなってしまいますし、不誠実です。

*1:しかも、決定問題が解けるくらい強力なもの

*2:決定問題は入力に対して停止してyes/noを返す問題なので、例えば「ソースコードXをコンパイルした結果が機械語Yである、という関係はyesかnoか」のように読み替える必要があります。

*3:詳しくは次の記事を見てください。構築の仕方がうまい。cs.stackexchange.com

状態の概念が存在しない計算モデルはあります (例: ブーリアン回路)

きしださんは(チューリング完全な)計算モデルにはかならず状態の概念がある、と主張しています。文脈は次のツイートのあたりを見るとまあわかると思います。

この主張に対する反例として、ブーリアン回路による計算モデルを紹介します。

ブーリアン回路とチューリングマシンの等価性

ブーリアン回路*1とは、ANDやORといった組み合わせゲートを集めてできる回路のことです。
ブーリアン回路に対する入力をnビットのビット列、出力をmビットのビット列としましょう。
ブーリアン回路を構成するゲートとして{AND, OR, NOT}の三種*2を用いると、ブーリアン回路はnビットのビット列をmビットのビット列に移すどのような関数も表現することができます。

1つのブーリアン回路では入力サイズが固定されてしまっているので、代わりに各入力サイズnごとに異なる回路を利用することにしましょう。例えば、1ビット加算器、2ビット加算器、3ビット加算器…といったブーリアン回路の族(列)を考えると、この回路族全体で足し算という計算を表現していると考えることができます。

それぞれの入力サイズについてブーリアン回路はどのような関数も表現できたわけですから、それぞれの入力サイズに対応する回路に入力してあげることによって、ブーリアン回路族はチューリングマシンで表現可能などのような計算も再現することができます*3

ブーリアン回路に状態は無い

上で書いた通り、ブーリアン回路は組み合わせ回路だけでできています。反対に言えば、ラッチ回路やフリップフロップのような状態回路は全く使っておらず、回路に対する入力を決めると出力はただ一つに決まります。従って、ブーリアン回路には状態の概念は(少なくとも陽に)存在しないと言えるでしょう。

ブーリアン回路に状態概念は暗に存在するか?→しないと思う

この意見に対する反論として、ブーリアン回路の実行には状態が暗黙的に存在するという主張が考えられます。

例えば、ANDゲートの出力に対してNOTゲートをくっつけることでNAND回路を構築したとしましょう。このNAND回路に対して[1, 0]というビット列を入力したとき、

  1. まず、ANDゲートが[1, 0]という入力に対して0を出力する。
  2. 次に、NOTゲートが0という入力に対して1を出力し、結果としてNAND回路が1を出力する。

というステップで回路の出力が分かります。そして、きしださんはこのステップをNAND回路に暗に存在する状態であると主張するかもしれません。

しかし、私はこの主張は成立しないと考えます。なぜならば、このステップはNAND回路をシミュレートする私たちの頭の中に存在するのであり、NAND回路の本質ではないと考えているからです。やはり、NAND回路自体は状態の無いブーリアン回路でしかないと考えます。

同様の再反論がラムダ計算についても言えるでしょう。確かに、私たちはラムダ項の書き換えプロセスに状態を見出すことはできます。しかし、その状態は項書き換えプロセスをシミュレートする私たちの頭(もしくはラムダ計算をシミュレートするチューリングマシン)の方にあるのであって、ラムダ計算自体には無いのでは無いでしょうか。

*1:https://en.wikipedia.org/wiki/Logic_gate

*2:NANDだけでもOKです。

*3:本当はほかにも色々と考えることがあります。例えばhttps://cs.stackexchange.com/a/96618を見てください

トゥイッター休止します

最近のゴタゴタは流石に目に余るので一時離れておきたいと思います。
アプリのアンインストールはしてないので連絡来たら通知は届くはず。

目標は一週間だけどそんなに長く離れられるかな。。。

本『実力も運のうち』第2章

pandaman64.hatenablog.jp の続き

サンデルは第2章の冒頭で次のように述べている。

能力に基づいて人を雇うのは悪いことではない。それどころか、正しい行為であるのが普通だ。 (中略)

仕事をあてがう際に能力が重要な理由は、少なくとも二つある。一つ目は有効性。配管工や歯科医が無能であるよりも有能であるほうが、私の置かれた状況は改善するだろう。二つ目は公正さ。人種的・宗教的・性差別的偏見から、その仕事に最もふさわしい応募者を差別し、ふさわしくない人物を代わりに雇うのは間違いだ。自分の偏見のおもむくままに、私が粗雑な配管修理や歯根管治療を進んで受け入れたとしても、差別が不公正であることに変わりはない。その仕事によりふさわしい候補者が、自分は不正の犠牲者だと不平を言うのは当然である。

これはその通りであり、能力主義には良い点がある。それでまあ「一体全体、能力主義の何が悪いというのだろうか?」ということを歴史の視点から扱っていくのだが、何の話をするかというとキリスト教の話なんだよね。

正直あまり興味が無くてちゃんと読んでない…

音楽を聴くこと、モノ化

最近、長瀬有花の『異世界うぇあ』という曲にハマっている。サビがすごいいい(MVも含め)し長瀬有花さんが時折見せる大人っぽい目にドキッとしちゃう。自分的には2022年のベストソングだ。

それはそれとして、近年のツイッターでよく目にする話題と言えばフェミニズム的な話だろう1。 その中で面白いトピックとして「(性的)モノ化」の概念がある。

ヌスバウムの定義によれば、人をモノとして扱うことは次にあげる7つのこと(のどれか)をすることである(日本語訳は探せばあると思います)。以下SEPからの引用(リンク)。

Martha Nussbaum (1995, 257) has identified seven features that are involved in the idea of treating a person as an object:

  1. instrumentality: the treatment of a person as a tool for the objectifier’s purposes;
  2. denial of autonomy: the treatment of a person as lacking in autonomy and self-determination;
  3. inertness: the treatment of a person as lacking in agency, and perhaps also in activity;
  4. fungibility: the treatment of a person as interchangeable with other objects;
  5. violability: the treatment of a person as lacking in boundary-integrity;
  6. ownership: the treatment of a person as something that is owned by another (can be bought or sold);
  7. denial of subjectivity: the treatment of a person as something whose experiences and feelings (if any) need not be taken into account.

もちろん、ここでいうモノ化として想定されているものは(女性を)性的なかたちで見たり扱ったりすることであろうが、ここでは性の文脈を落としたうえで、「(録音された)音楽を聴く」という行為について考えたい。 私はYouTubeで一番音楽を聴くので、それを想定してこの文章を書いているが、この文章における議論はそのほかの媒体(サブスク・CD・レコード・もしかしたら生演奏)にも適用できるだろう。

例えば私は作業をするとき、洗濯物を畳んだり食器を洗ったりするとき、にこれらの曲をBGMとして日常的に流している。 このとき、私はシンガー2の歌声を私の耳を楽しませたり空間に心地よい音を広げるための道具として用いている。 この行為はモノ化の定義1 "instrumentality"にあてはまるだろう。カントの有名なアレに由来するやつだ。

ほかの定義についてはどうだろうか。定義2 "denial of autonomy"や定義3 "inertness"は長瀬有花さんの自己決定や主体性を無視したときに引っかかる部分だろう。 これらについてはまあ大丈夫なんじゃないだろうか。もちろん長瀬有花さんはRIOT MUSICという企業所属だし楽曲も複数の人が関わって作り上げられているので気苦労が色々あったりしてもおかしくはない。 でも、これらの楽曲は長瀬有花さんの自主的かつ強制されていない行為によって生まれたものであろうし、意向も十分反映されてるんじゃないかな。

定義4 "fungibility"はちょっと面白い。この場合は『異世界うぇあ』を歌っているのは長瀬有花さんしかいないので、fungibilityは存在し得ない。 ただし、状況が少し変わればあてはまるかもしれない。例えば『フォニィ』が聴きたいと思ったとき、誰でもいいからと検索に一番に出てきた人を選んだなら、そのときそのシンガーにはfungibilityがあてはまるだろう。

定義5 "violability"は正直このコンテキストではあてはめるのは難しい。指示コメント連投してる厄介オタクとかになるんかな。 定義6 "ownership"もあてはまらないと思う。私は長瀬有花さんに何かをさせることはできないし売買なんてできそうもない。 でも金出して卯月コウの『アイシー』を再投稿させられるならいくらでも積めるな…

定義7 "denial of subjectivity"というのも面白い論点だ。私は長瀬有花さんの経験や感情を考慮に入れているのだろうか。 もちろん、私は長瀬有花さんが楽曲に打ち出している「だつりょく」的な価値観に共感している。Vの者でありながらも実写も取り入れ、境界を揺らがせようとしている挑戦的な面も評価している。 しかし、正直に言えば、私が『異世界うぇあ』を聴くときに長瀬有花さんの経験や感情は考慮に入れていないだろう。これは私がそう思っているというだけではなく、実際にそうである。

長瀬有花さんは楽曲だけではなく、ショート動画として日記もアップロードしている。

なんだかゆるやかで、ほのぼのとした内容で「だつりょく」的な楽曲と地続きな世界が描かれている。 しかし、私はこれらの動画を全然見ていない。長瀬有花さんの日々の経験や感情には興味が薄いのだろう。 この意味では、私の聴き方は定義7 "denial of subjectivity"にあてはまるのである。

結局のところ、私は楽曲を聴くときにそのシンガー、もしくは作曲者や作詞者の人格に対して目的的に振舞うということは典型的にはしていない3。むしろ、私を楽しませることの手段としてのみに扱っているのだ。 このカント的な悪さはほかの人々が楽曲を聴くときにもあてはまっているように思われる。

では、楽曲を聴くことはモノ化であって悪い行為なのだろうか。これは難しい話だ。 まず、モノ化というのは人間を(特に男性が女性を)性的な対象として見たり扱ったりする行いについての話であり、それを音楽を聴くことにあてはめるのはこじつけも良いところだ。 さらに、たとえ音楽を聴くことがモノ化であったとしても、ヌスバウムの言うような問題が無い、もしくは良いモノ化であるかもしれない。 (おそらく)望んで収録し公開している楽曲に対して私たちが熱狂する、このことが悪くなってしまうのは正直、困ってしまう。 もうちょっと義務論を掘ったらうまく正当化できたりするのかな?

ということで、モノ化の定義に対して(変な)具体例をあてはめて色々考えてみました。 このやり方はよく数学を学ぶときに推奨されています。数学的対象が定義されたり定理を読んたりしたときに、具体例を考えてみると理解が深まるというやつです。 少なくともこの記事を書くためにSEPを1ページ読んだので私の理解も深まったことでしょう。そうだといいな。


  1. TL構築に失敗しているだけという話でもある。

  2. 倫理学者の方ではない。

  3. VTuber最協決定戦S4で卯月コウのチームが優勝したときはコウに思いを馳せながら歌ってみたに浸っちゃった。