自由意志は幻か? テッド・チャン『What’s Expected of Us』と科学が突きつける問い

自由意志は幻か? テッド・チャン『What’s Expected of Us』と科学が突きつける問い

テッド・チャンの短編「What’s Expected of Us(予期される未来)」は、我々が長らく信じてきた「自由意志」という概念を根底から揺るがす警告に満ちた作品だ。物語は、未来を予知する奇妙な装置「予言機」の普及がもたらす人類の精神的崩壊を描いている。手のひらサイズでボタンを押す「1秒前」にライトが光るというこの単純な機械は、人間の行動がすでに決定されていることを実体験として突きつけ、多くの人々を「目覚めた昏睡状態」ともいうべき無動無言症へと追いやる。これは、物理学や純粋な論理で自由意志の不在が語られても「知っているだけ」で済んでいた概念が、実体験によって「わかってしまった」時に、人類がいかに脆いかを鮮烈に示している。 予言機が示す「未来は変更不可能である」という事実、そして「光は常にボタンに先行する」という抗いがたい現実は、人間の自由な選択が幻想に過ぎないことを冷徹に経験させる。興味深いのは、この概念がそれ自体は無害であったにもかかわらず、体験として認知されることで「認知伝染病」のように広がっていく点だ。作中の医師が「今も、先月と同じように振る舞えばいい」と説いても、患者は「でも、いまは知ってるんです」と答え、選択を放棄する。これは、知識が信念に変わった時、人間の行動原理が根本から覆されることを示唆している。 そして、この作品は、未来から予言機と同じ技術で未来から送られてきたメッセージという体裁を取っている。その未来から送られてくるメッセージは、「自由意志を持っているふりをしろ。現実がどうなのかは重要じゃない。重要なのはなにを信じるかだ」と、自己欺瞞(ぎまん)によって文明を存続させるという、絶望的な処方箋を提示する。 しかし、このメッセージが何処の誰に届こうとも、予言機を誰が使って、誰が何をどう感じるかは全て決まっている… 科学が問い質す自由意志の真偽 この作品が提示する問いは、まさに現代の神経科学が直面している問題と深くリンクしている。1980年代のリベットの実験以来、脳科学は「人間には自由意志など存在せず、脳が無意識的に決定を下した後に、それが『自分の意志』として意識にのぼる」という衝撃的な研究結果を数多く発表してきた。我々が意識的な決定をする約0.2秒前には、既に脳内で無意識的な「準備電位」が発生しているという事実は、「我々の行動は全て、脳の化学プロセスによって決定されているのではないか」という疑念を抱かせる。 しかし、自由意志の存在を完全に否定するだけではない希望の光も見える。ドイツのシャリテ病院による最新研究では、脳の無意識的決定後でも、ボタンを押す約0.2秒前までならば、意識的にその動作を「拒否」できることが示された。これは、脳が用意する生体的な決断に対し、我々の自由意志が「拒否権」という形で介入する余地があることを示唆している。我々は完全に「生体学的な操り人形」ではないのかもしれない。 参考: [ 「自由意志」は存在する(ただし、ほんの0.2秒間だけ):研究結果 われわれに自由意志は存在するのか? 熟考した末の意識的な決断は、自由意志の表れではないのか? 長年にわたって繰り広げられてきた思索と研究の末、いま興味深い研究結果が発表された。 wired.jp ](https://wired.jp/2016/06/13/free-will-research “「自由意志」は存在する(ただし、ほんの0.2秒間だけ):研究結果”) 法的責任と神経科学の未来 自由意志の有無に関する議論は、法的な責任の概念にも大きな波紋を投げかける。ジョージア州の殺人事件弁護や、ジョン・ヒンクリー・ジュニア被告の暗殺未遂事件における心神喪失の抗弁に見られるように、行動の生物学的・神経科学的根拠が明らかになるにつれて、「善悪の判断ができても、器質的に行動を制御できない」可能性が浮上する。スタンフォード大学のロバート・サポルスキー教授は、160年前の科学に基づいた「マクノートン・ルール」のような法的基準の再評価を訴え、神経科学の理解が深まることで、我々の刑罰に対する考え方も変化するだろうと指摘する。 プリンストン大学のジョシュア・グリーン博士の「パペット氏」のたとえ話は、神経科学の知識が、すべての行動を物理的な出来事の連鎖として捉えさせ、処罰への直感的な見方を変化させる可能性を示唆している。感情が強い人間の判断を理性的に律するのは難しいが、将来的に神経科学が提供する知識が広く認知されれば、我々は人間行動の本質をより正確に理解し、法律的な意志決定においても感情を排した判断ができるようになるかもしれない。 参考: [ 神経科学が問いなおす「自由意志と責任」 米国では現在、被告人の弁護側が心神喪失を主張する場合、善悪の認識なしに犯行におよんだことの証明が義務付けられている。しかし、神経科学的研究から、前頭葉に損傷があった場合、善悪の判断ができても行動を制御できない人がいることがわかってきた。「自… wired.jp ](https://wired.jp/2004/12/16/%E7%A5%9E%E7%B5%8C%E7%A7%91%E5%AD%A6%E3%81%8C%E5%95%8F%E3%81%84%E3%81%AA%E3%81%8A%E3%81%99%E3%80%8C%E8%87%AA%E7%94%B1%E6%84%8F%E5%BF%97%E3%81%A8%E8%B2%AC%E4%BB%BB%E3%80%8D “神経科学が問いなおす「自由意志と責任」”)

2025年11月3日 · 1 分
C++における return 0; の役割と必要性

C++における return 0; の役割と必要性

C++で一番最初に書くプログラムといえば次のようなものです。 #include <bits/stdc++.h> using namespace std; int main() { cout << "Hello, world!\n"; return 0; } この最後の return 0;、みんななんとなく書いていますが、「なぜ要るのか」「なくても動くのになぜ書くのか」をはっきり説明できる人は案外少ないと思います。この記事では公式ドキュメントや標準に沿って整理します。 1. C++標準は main の戻り値をどう書けと言っているか C++ のアーリードラフト(N3337, C++11 時点)にははっきりこう書かれています。 “This function shall not be overloaded. It shall have a return type of type int, but otherwise its type is implementation-defined.” 「main は int を返す型でなければならない。それ以外の細かいところ(引数の取り方など)は処理系が決めてよい。その代わり処理系はどう決めたかを文書にしておくこと。」 「implementation-defined」はこういう意味です。 標準が『ここは処理系に任せる』と決めている部分のこと。 ただし 好き勝手にしていいのではなく、その処理系(コンパイラやライブラリ)がどうするかを文書に書いて公開しなければならない、という義務つきです。 main は int を返す関数として書きなさい、というのが公式のルールです。なので正しい形は次のどちらかです。 int main() { // ... return 0; } // または int main(int argc, char* argv[]) { // ... return 0; } 2. 「書かなくても 0 を返す」は main にだけ許された特別ルール cppreferenceのMain functionの節にはこうあります。 ...

2025年11月2日 · 2 分
「気圧差」が命の世界で、彼らが遺した銅板の記録 | テッド・チャン『息吹』感想

「気圧差」が命の世界で、彼らが遺した銅板の記録 | テッド・チャン『息吹』感想

SF小説の価値は、その発想にある。テッド・チャンの短編『息吹』は、この命題を完璧に体現する作品である。 物語の形式は、思考能力を持った或る知的存在が「銅板」に残した記録、という体裁をとる。この時点で、我々読者は既にこの未知の世界の探検家あるいは考古学者としての役割を与えられる。 肺を交換する文化と、世界の「ズレ」 彼らの世界は、我々とは根本的に異なる。彼らは金属の体ち、毎日の「肺」の交換によって生命を維持している。それは数百年の寿命を可能にする日常的な行為だ。 作中では、ガソリンスタンド兼サロンのような場所で、彼らが集い、お喋りをしながら肺を交換する文化が描かれている。 彼らの体の構造は、その大部分が解明されていた。しかし、唯一「脳」の構造だけは、長らく謎に包まれていたのである。 物語は、ある奇妙な「ズレ」から動き出す。 彼らの文化には、詩を暗証する職業が存在し、その詩は正確に「1時間」で暗唱し終わるはずだった。しかし、ある時から「時計が1時間を告げた後も、暗唱が終わらない」という現象が各地で報告され始めた。 時計の仕組みは、振り子時計や水銀を使ったものなど、場所によって異なる。だが、その仕組みの違いに関わらず、同様の事例が報告された。 この日常に忍び寄る些細(ささい)な違和感。この詩的で静かな「ズレ」が、最終的に宇宙の終焉という壮大すぎる真実へと繋がっていく構成は、見事である。 自らの脳を分解する「狂気」の探求心 この事態を解明するため、銅板の筆者である主人公は、或る決断を下す。 自らの思考能力を司る部分(=脳)を分解し、その仕組みを解明しようと試みる。 彼は部屋の四方にプリズムを配置し、顕微鏡のような拡大装置を通して、自分の後頭部が目の前に映るように展望鏡をセッティングする。さらに、極小の作業ができる作動ロッド群を使う。展望強の先には、上下左右に動かすことのできる台に載せた双眼顕微鏡が装着されている。この装置を使って主人公は後頭部を自ら分解し始める。 これは、自らの意識を保ったまま、その意識の源泉である脳を「手術」する行為である。主人公も例に漏れず、毎日肺を交換しなければならない。彼らの文化では、この手術は狂ったものと見られる為、協力を仰ぐことはできない。更に、手術中は身動きができない。その為、主人公は満杯にした12個の肺を部屋に持ち込み、多岐管に接続した後、自分が座る席の前にある作業テーブルの下に肺を据え付け、胸の内側にある気管支の先端部に給気管を直付けにした。これによって、6日分の空気供給が確保できた。 「記憶」の物理的実体と「命」のエネルギー源 脳を分解していくと、稠密なパーツ群が現れる。筆者はパーツを一つずつ外し、機能を維持するために管を差し替えていく。 そして、脳の中心部に到達する。 そこにあったのは、無数の極小の金箔の欠片が蝶番のように備わった機構だった。空気の流れがこの金片を動かし、その相対的な位置こそが記憶を保持する仕組みであった。 ここで我々は哲学的な問いに直面する。心や記憶とは、単なる物理的な配置に過ぎないのか。もしそうなら、「私」という存在とは一体何なのか。本作は、その問いを冷徹なメカニズムとして提示する。 さらに、彼は世界の根本的なエネルギー源をも発見する。 彼らの文化では「空気」そのものが命の源だと考えていた。だが、実際はそうではなかった。 彼らの思考と体を動かしていたのは、空気そのものではなく、「気圧差」によって流れる空気の「本流」だったのである。 エントロピーの寓話と、不可逆な「死」 この発見から、筆者は恐ろしい仮説にたどり着く。 詩の暗唱と1時間の「ズレ」が生じた理由。それは、脳に流れる空気の本流が、ほんの少し「遅く」なったからではないか。 つまり、彼らの世界を覆う空は無限ではなく、何処かに限界がある。そして、世界全体の「気圧差」が徐々に均一になりつつあるのだ。 気圧差が完全に均等になった時、空気の流れは止まり、彼らの思考は完全に停止する。 それは「死」である。 さらに絶望的なのは、一度思考が停止すれば、記憶を保持していた金片の位置はすべて「ゼロ」に戻ってしまうことだ。たとえその後、何らかの方法で再び空気を流したとしても、そこにはもう何の記憶も残っていない。 この設定は、我々の宇宙における「エントロピー増大の法則(熱的死)」の寓話である。エネルギーは常に一方通行で拡散し、やがて宇宙全体が均一で静的な「死」を迎える。この冷徹な物理法則が、気圧差という詩的な物語に昇華されている。 滅びへの「態度」と、遺された言葉 この気圧差の減少は、不可逆である。銅板の筆者は、それに抗う装置を作ろうとしても、気圧を軽くする(エネルギーを生み出す)分よりも多くの空気(エネルギー)を消費してしまい、気圧の収支は必ず赤字になると結論づける。 抵抗は、無意味なのだ。 世界の終わりが確定し、数世紀かけて自らの思考が少しずつ鈍くなっていく。その中で、筆者は何を選んだか。 ただ事実を受け入れ、自分たちが見出した知の記録を、後の誰かのために「銅板」に刻むことを選んだ。 筆者は、この宇宙以外にも別の宇宙が存在する可能性を夢想する。いつか、世界の端にあるクロムの壁を、外から探検家が貫いてくれるのではないか、と。 『息吹』が我々に問いかけること この物語のタイトル『息吹(Exhalation)』は、彼らの生命線である「空気の流れ」を指すと同時に、滅びゆく主人公が最後の力を振り絞って銅板に刻んだ「言葉」そのもの、彼らの最後の「ため息」をも象徴しているのだろう。 銅板の記録は、こう締めくくられる。 探検家よ、あなたがこれを読んでいるいま、私はとうの昔に死んでいるが、それでもわたしは、あなたに別れの言葉を贈ろう。存在するという奇跡についてじっくり考え、自分にそれができることを喜びたまえ。わたしにはそう伝える権利があると思う。なぜなら、いまこの言葉を刻みながら、わたし自身がおなじことをしているからだ。 この最後のメッセージは、作中の「別宇宙の探検家」に向けられたものであると同時に、時空を超え、ページをめくっている「我々読者」の胸に突き刺さる。 我々もまた、有限の生と、いつか熱的死を迎える宇宙の中で、「存在するという奇跡」を享受している。思考できるという奇跡を、どう使うべきか。 『息吹』は、静かに、だが鋭く、我々自身の存在の重さを問うてくる傑作である。

2025年11月2日 · 1 分
Pythonにファイルのパスを教える際、クォーテーションで囲むのを忘れてしまった

Pythonにファイルのパスを教える際、クォーテーションで囲むのを忘れてしまった

初歩的すぎるミス。わざわざ書くまでもないほど初歩的だが備忘録として書いておく。 原因 これがエラーコード。 ------------------------- NameError Traceback (most recent call last) /tmp/ipykernel_37/4006798392.py in <cell line: 0>() 1 # データの読み込み ----> 2 train_df = pd.read_csv(kaggle/input/rossmann-store-sales/train.csv) 3 store_df = pd.read_csv(kaggle/input/rossmann-store-sales/store.csv) 4 test_df = pd.read_csv(kaggle/input/rossmann-store-sales/test.csv) 5 NameError: name 'kaggle' is not defined エラーの原因は、pd.read_csv(パス)のパスがクォーテーションで囲まれていなかった事が原因。クォーテーションが無かったため、Pythonはkaggleやinputという変数を使った割り算だと認識し、「NameError: name ‘kaggle’ is not defined」を吐いた。 解決策 解決策は、パスをクォーテーションで囲むだけ。Pythonはシングルクォーテーションでもダブルクォーテーションでも可。 つまりこうなる。 # データの読み込み # ファイルパスをクォーテーション(')で囲んで、ただの文字列であることをPythonに教える train_df = pd.read_csv('/kaggle/input/rossmann-store-sales/train.csv') store_df = pd.read_csv('/kaggle/input/rossmann-store-sales/store.csv') test_df = pd.read_csv('/kaggle/input/rossmann-store-sales/test.csv') # データの結合 (trainとstoreを結合) train_merged_df = pd.merge(train_df, store_df, on='Store') # testとstoreも同様に結合 test_merged_df = pd.merge(test_df, store_df, on='Store') # 結合できたか最初の5行を確認 print("結合後の学習データ:") display(train_merged_df.head()) ここから得られる教訓 「Pythonに、ファイルパスや文章など、何かの “文字” そのものを伝えたい時は、必ずクォーテーションで囲む」 ...

2025年10月19日 · 1 分
Kaggle Notebookで、出力の画像をコピーする方法

Kaggle Notebookで、出力の画像をコピーする方法

Kaggleでは、単に右クリックしても「Copy image」や「Save image as…」は出てこない。テキストはCtrl + Cでコピーできるが、画像はできない。じゃあどうすればいいのか? 結論 Shiftを押しながら右クリックする。ノートパソコンなら、Shiftを押しながらタッチパッドを二本指で押してもできる。 実際の様子 右クリックの様子 Shiftを押しながら右クリック

2025年10月17日 · 1 分
Better late than never

した方が良いと分かっているのに、面倒に感じる…こういう時に効く箴言「Better late than never」

朝のランニングや、風呂上がりのストレッチなど、した方が良いと分かっているのに面倒なことがたくさんある。そういうときは、この言葉を思い出そう. Better late than never そんなことは分かってる?ならあとはやるだけだ! 定義 和訳すると、「遅くともやらないよりはいい」という意味。フランス語だとMieux vaut tard que jamais。 CambridgeDictionaryの定義 said when you think that it is better for someone or something to be late than never to arrive or to happen [ better late than never 1. said when you think that it is better for someone or something to be late… dictionary.cambridge.org ](https://dictionary.cambridge.org/us/dictionary/english/better-late-than-never?utm_source=chatgpt.com “better late than never”) CollinsDictionaryの定義 If you say better late than never when someone has done something, you think they should have done it earlier. ...

2025年10月14日 · 3 分
nmapコマンドのオプション一覧と具体例

nmapコマンドのオプション一覧と具体例

nmap :「指定したホストやネットワークに対してポートやサービスを検出する」ネットワークスキャナ nmap の典型オプション -p: ports。nmap が対象ポート範囲を指定する。 -sV: scan + Version。nmap がサービスの版数を推定する。 -sS: scan + SYN。nmap がTCP SYNスキャンを行う。 -sT: scan + TCP connect。nmap がTCPコネクトスキャンを行う。 -sU: scan + UDP。nmap がUDPスキャンを行う。 -sN: scan + NULL。nmap がNULLフラグスキャンを行う。 -sF: scan + FIN。nmap がFINスキャンを行う。 -sX: scan + Xmas。nmap がXmasスキャンを行う。 -sC: scan + “default Scripts”。nmap が既定スクリプト集合を使う(Cは歴史的略記で厳密頭字語ではない)。 -O: Operating-system。nmap がOS推定を行う。 -A: Aggressive。nmap が包括的検出(-sV -O -sC等)を有効化する。 -Pn: Ping no。nmap がホスト発見を省略してスキャンを強行する。 -T0..5: Timing。nmap がスキャン速度テンプレートを選ぶ。 -oN: output Normal。nmap が通常テキスト出力を保存する。 -oG: output Grepable。nmap がgrepしやすい形式で保存する。 -oX: output XML。nmap がXMLで保存する。 -oA: output All。nmap がN/G/Xの三種を同時保存する。 -v/-vv: verbose。nmap が冗長度を上げる。 -n: no DNS。nmap が名前解決を行わない。 -R: Resolve always。nmap が必ず逆引きする。 補足: 文字は「意味の頭文字」を指すことが多いが、歴史的経緯で必ずしも厳密な頭字語ではない。各実装差異を避けるために、長い形式(例: --human-readable, --script=default)を併記して使うことを推奨する。 ...

2025年10月12日 · 3 分
ls(List)コマンドのオプションの意味メモ

ls(List)コマンドのオプションの意味メモ

lsコマンドを多用する割に、オプションの意味や使い方をきちんと覚えていないかったので、ここにまとめておく。 ls の典型オプション -l: long。ls が詳細形式で表示する。 -a: all。ls が隠しファイルを含めて表示する。 -h: human-readable。ls がサイズを人間向け表記にする。 -t: time。ls が更新時刻順に並べる。 -r: reverse。ls が並び順を逆にする。 -R: recursive。ls が下位ディレクトリも再帰表示する。 (参考) -S: size。ls がサイズ順に並べる。 -d: directory。ls がディレクトリの中身ではなくそのものを表示する。 -i: inode。ls がinode番号を表示する。 -n: numeric。ls が所有者やグループを数値IDで表示する。 -F: file-type indicator。ls が種別記号(/ * @ | =>)を付ける。 結論: 代表的な ls オプションごとに、入力コマンドと想定出力を示す。出力はサンプルだ。環境やロケールで細部は変化する。 前提: カレント ~/demo に以下が存在すると仮定する。 .env .hidden README.md app.py script.sh* big.iso app.sock latest -> logs/ bin/ data/ logs/ -l(long) 入力 ls -l 出力 total 2052 drwxr-xr-x 2 user user 4096 Sep 14 10:12 bin -rw------- 1 user user 12 Sep 14 09:42 .env -rw-r--r-- 1 user user 0 Sep 14 09:40 .hidden lrwxrwxrwx 1 user user 4 Sep 14 10:20 latest -> logs drwxr-xr-x 5 user user 4096 Sep 14 10:00 data drwxr-xr-x 3 user user 4096 Sep 14 10:15 logs -rw-r--r-- 1 user user 1234 Sep 14 09:55 README.md -rwxr-xr-x 1 user user 42 Sep 14 10:05 script.sh -rw-r--r-- 1 user user 98 Sep 14 09:50 app.py srw-rw---- 1 user user 0 Sep 14 10:25 app.sock -rw-r--r-- 1 user user 2097152 Sep 14 10:30 big.iso -a(all) 入力 ...

2025年9月19日 · 4 分
JPEG画像のExif情報から写真が撮られた位置を特定する方法

JPEG画像のExif情報から写真が撮られた位置を特定する方法

[ CpawCTF - Main page ctf.cpaw.site ](https://ctf.cpaw.site/questions.php?qnum=10 “CpawCTF - Main page”) 結論 JPEGファイルには、Exif情報という撮影時の日時や撮影場所などの情報が付加されることがある。それをexiftoolコマンドで調べて、座標を基にグーグルマップで検索する。 解法 Step①画像ファイルをLinux上にコピーする cp "mnt/c/Users..." ~ Step②exiftool Exif情報はexiftoolコマンドまたはexifコマンドで調べることができる。 exiftool river.jpg exif river.jpg 他にも、Exif情報を読み取れるサイトを使う方法もある。 [ Exif Info: view meta-data in your files Online tool to analyze and display the meta-data in images and other media files. exifinfo.org ](https://exifinfo.org “Exif Info: view meta-data in your files”)[ Check files for metadata info This online metadata viewer will show you all hidden metadata info of audio, video, document, ebook & image files. Onlin… ...

2025年8月14日 · 1 分
シェルにおける ~ の意味

シェルにおける ~ の意味

1. ホームディレクトリを指すショートカット ~ は シェル(bash など)によって展開されて、現在のユーザーのホームディレクトリのパスに置き換わります。 たとえばユーザー alice のホームが /home/alice なら、~/Documents は /home/alice/Documents と同じ意味になります。 2. 別のユーザーのホーム参照 ~bob のように書くと、ユーザー bob のホームディレクトリに展開されます。 ただし、この書き方は、~moretext のようにユーザー名として解釈できない場合には展開されず、そのまま文字列扱いになります。 3. 環境変数 $HOME と同義 ~ は $HOME を簡略化した表現で、同様にホームディレクトリを指します。 cd ~ cd $HOME どちらも同じ効果です。 補足:実用上の注意点 引用符(”" や ')で囲むと、~ は展開されず、文字として扱われることがあります。一部のスクリプトでは $HOME を使った方が安全です。 ユーザー名付きの ~bob/dir は、そのユーザーがシステムに存在しない場合は展開されずそのまま残ります。 まとめ 表記 解釈・意味 ~ 現在ログイン中ユーザーのホームディレクトリ ($HOME) ~/path ホームディレクトリからの相対パス ~username/dir 指定したユーザーのホームディレクトリ "$HOME" ~ と同じだが引用による展開の違いあり

2025年8月10日 · 1 分