はてなキーワード: piとは
かわいそうなやつw
←誰もそんな話してないしお前がいまさっき勝手に言い出したこと。そんな話してない。
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20250929164256# -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaNo4gwAKCRBwMdsubs4+ SNdaAQDJc1CodyDqLMzPk/N+3kBiHKOyvV7UW8689p3WzzE6CQD/VDyKkqUMmGlf FTGGCZqEqS+n+9usFizaGsWiKyKJVAg= =0+pI -----END PGP SIGNATURE-----
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20250910175736# -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaME9hAAKCRBwMdsubs4+ SODIAQDsNWSs+N4fPbJh8Xvw1ZhwAcVf9loeuL3Wk1jxIi6wHAEAtoh90st8dn9+ kOnYpAZjsz5i3d3yUEMPdZbCjdb+RA8= =U+Pi -----END PGP SIGNATURE-----
はてなブックマークをするときのリクエストの実体がわからない。
とりあえず保存するボタンを押した瞬間に作られるリクエストの送信先urlをurl:/api/で絞ったものの一覧がこれ。
どれ見てもコメントを格納してるっぽいリクエストが見つからない。
https://b.hatena.ne.jp/api/internal/bookmarks/shares_and_clicks
b.hatena.ne.jp/api/related_entries/https%3A%2F%2Fanond.hatelabo.jp%2F20250809150325
b.hatena.ne.jp/api/my/bookmark/https%3A%2F%2Fanond.hatelabo.jp%2F20250809150325
b.hatena.ne.jp/api/my/recommended_tags?url=https%3A%2F%2Fanond.hatelabo.jp%2F20250809150325
b.hatena.ne.jp/api/entry/https%3A%2F%2Fanond.hatelabo.jp%2F20250809150325/editing_ability
b.hatena.ne.jp/api/entry/https%3A%2F%2Fanond.hatelabo.jp%2F20250809150325/editing_ability
b.hatena.ne.jp/api/my/ignore_users?limit=10000
b.hatena.ne.jp/api/my/following_bookmarks
b.hatena.ne.jp/api/my/external/share_config
o148425.ingest.sentry.io/api/4504286861066240/envelope/?sentry_key=cbbc3ab77bbb42fa8c09ca0f1b7dc3cb&sentry_version=7&sentry_client=sentry.javascript.browser%2F7.47.0
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA512 https://anond.hatelabo.jp/20250809200738# -----BEGIN PGP SIGNATURE----- iHUEARYKAB0WIQTEe8eLwpVRSViDKR5wMdsubs4+SAUCaJcr+wAKCRBwMdsubs4+ SLTYAP4pb8fMaDacP69j8aAlqgmTDqimUmU6I6bvh/yREFo7+AEAq2ibhp1t4MwK a+5esw/9FyuZavaPZ02HmmHMmLey+Aw= =kEhJ -----END PGP SIGNATURE-----
てんぷら @TEMPUrA_y
よく人生において音ゲーが何の役に立つの?って言う人がいるけど正しい努力は報われるという成功体験は人生において重要だと思うのでそれが音ゲーによって得られるならば大いに役立つと言えると思う
https://x.com/TEMPUrA_y/status/1788125549988360556?t=WgmrtJ9AYHKNVP4HmzlEDw&s=19
てんぷら @TEMPUrA_y
それが音ゲーである必要はないが、努力の結果が数値としてはっきり映し出される音ゲーは他に比べて努力が成功したと実感しやすいので成功体験を得るには向いていると思う
1曲約2分の短い勝負をする音ゲーの性質上PDCAサイクルを回すのにも向いている
https://x.com/TEMPUrA_y/status/1788127138362818583?t=GrF2KbjO_GrP5xVfVkIagA&s=19
のん @non_otoge
これなんだよな〜〜〜〜〜
僕は音ゲーで初めて「努力のコツ」を知って、そこから誇張抜きで人生変わった
どんくらい変わったかって言うと32×32のモノクロドット絵がフルHDのカラー動画になった感じ これも誇張抜きね
ただ、みんながみんなこれをできる訳じゃない でも選択肢があった方が良い(続く)
https://x.com/non_otoge/status/1788131676562006257?t=ja3xeFfSG-SS1qwfyq2N-A&s=19
しそごはん用研究者(薬学部講師PI)@ONODA_in_Onodac
大学教員やっていると、「この子は本当に努力の仕方がわからないんだな」って思う大学生に出会うことが多々あるんだけど、そういう学生には、ここ最近のワールドトリガーを読んでって言いたい。
努力するには、目標を正しく「刻んで」、「期限」を設けるんだ。
https://x.com/ONODA_in_Onodac/status/1864606915696972059?t=NCtRNdKGl0Pf7VR3sXuvLA&s=19
Kuroly @Kuroly7
何かに本気で取り組んだり挫折した経験がなく、現実との折り合いをつけ成長する機会を逃すと、根拠のない自信に満ち溢れて自負と現実のギャップが取り返しのつかないことになる『幼児的万能感』ってやつ
https://x.com/Kuroly7/status/1930108365763387528?t=3Q3QNlkA_LIAwcPawaewBQ&s=19
こういうの見るたびに、努力したことない自分が悲しくなってくる。
そもそも先延ばし癖があるせいで習慣化できないのと、習慣化に成功してもPDCAサイクルを回すコツがわからない。
rieru£ @r_02er
偏差値60台の高校、"高校受験までノー勉でなんとかなってしまったせいで勉強習慣が身についていない層"が存在する
https://x.com/r_02er/status/1938583747634643386?t=3jIDbDK214q20eYPlLxiHg&s=19
これのさらに酷い版で、大学受験も推薦でなんとかなってしまった故に、全く努力の習慣が身についていない。
なんというかなあ、はてな界で言うなら、黄金頭氏が一番自分の人生に近いものがあるかもしれない。
https://goldhead.hatenablog.com/entry/2018/01/18/215038
ただ、一瞬、一瞬。運良く持って生まれた何らかの才気の単発的な発現。わかりやすく言えば「その場しのぎ」。こればかりがおれを救い、そして苦しめる。人生の底、社会の底に着くところまで行かせない。安定飛行させるわけでもなく、超低空飛行を続ける。賽の河原で石を積んでは、すぐさま鬼に崩される。積むのはおれ、崩すのもおれ。いったいぜんたい、おれは詰んでいる。おれにはその詰将棋は解けないし、何手詰めかもわかりゃあしない。でも、詰将棋の本に載ってしまっている。それはわかる。わかっていながら、ここまで生きてきてしまった。死ぬのはたやすい。それでも死ぬのは怖い。八方塞がりだ。八方塞がって、上も下もない。タイマーが切れるまで、アルコールで精神を安寧にしておきたい。アルコールを買う金はせめてほしい。それだけだ。それだけなんだ。
https://goldhead.hatenablog.com/entry/2019/11/25/201810
努力してなにかを得る? はて。勉強して資格に合格する? さて。なんなんだろうかね、それは。なにが人間をそれに向かって起動させて、どういった心境の持続力があってそれを続け、達成したらどんな気持ちになるのかしらん。
追記(2025/07/09)
ブクマ結構ついてる。ありがとうございます。
コメントを見て、なぜ努力できるようになりたいか考えてみたんだけど、
B : 対人ゲームのメタを話してる人たちや、プログラミングの高度な話をしている人たち、あとKubecon(Kubernetesっていうツールのイベントらしい)みたいな技術イベントなど、努力して何かしらを身につけた人同士がやってるコミュニティに憧れを感じたから。
って感じかなあ。
<html lang="ja"> <head> <meta charset="UTF-8"> <title>GrokのPONGゲーム</title> <style> body { display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0; background: #1a1a1a; } canvas { border: 2px solid #00ff00; background: #000; } #score { color: #00ff00; font-family: 'Courier New', monospace; font-size: 24px; position: absolute; top: 20px; width: 100%; text-align: center; } </style> </head> <body>0 : 0<canvas id="gameCanvas" width="800" height="400"></canvas> <script> const canvas = document.getElementById('gameCanvas'); const ctx = canvas.getContext('2d'); const scoreDisplay = document.getElementById('score'); // ゲームオブジェクト const ball = { x: canvas.width / 2, y: canvas.height / 2, radius: 10, speedX: 5, speedY: 5 }; const paddleLeft = { x: 10, y: canvas.height / 2 - 50, width: 10, height: 100, speed: 8 }; const paddleRight = { x: canvas.width - 20, y: canvas.height / 2 - 50, width: 10, height: 100, speed: 8 }; let scoreLeft = 0, scoreRight = 0; // キー入力 const keys = { w: false, s: false, ArrowUp: false, ArrowDown: false }; document.addEventListener('keydown', e => { if (keys.hasOwnProperty(e.key)) keys[e.key] = true; }); document.addEventListener('keyup', e => { if (keys.hasOwnProperty(e.key)) keys[e.key] = false; }); // ゲームループ function gameLoop() { // 移動 if (keys.w && paddleLeft.y > 0) paddleLeft.y -= paddleLeft.speed; if (keys.s && paddleLeft.y < canvas.height - paddleLeft.height) paddleLeft.y += paddleLeft.speed; if (keys.ArrowUp && paddleRight.y > 0) paddleRight.y -= paddleRight.speed; if (keys.ArrowDown && paddleRight.y < canvas.height - paddleRight.height) paddleRight.y += paddleRight.speed; // ボール移動 ball.x += ball.speedX; ball.y += ball.speedY; // 壁衝突 if (ball.y + ball.radius > canvas.height || ball.y - ball.radius < 0) ball.speedY = -ball.speedY; // パドル衝突 if ( (ball.x - ball.radius < paddleLeft.x + paddleLeft.width && ball.y > paddleLeft.y && ball.y < paddleLeft.y + paddleLeft.height) || (ball.x + ball.radius > paddleRight.x && ball.y > paddleRight.y && ball.y < paddleRight.y + paddleRight.height) ) { ball.speedX = -ball.speedX * 1.05; // 少し加速 } // 得点 if (ball.x < 0) { scoreRight++; ballReset(); } if (ball.x > canvas.width) { scoreLeft++; ballReset(); } // 描画 ctx.fillStyle = '#000'; ctx.fillRect(0, 0, canvas.width, canvas.height); ctx.fillStyle = '#00ff00'; ctx.fillRect(paddleLeft.x, paddleLeft.y, paddleLeft.width, paddleLeft.height); ctx.fillRect(paddleRight.x, paddleRight.y, paddleRight.width, paddleRight.height); ctx.beginPath(); ctx.arc(ball.x, ball.y, ball.radius, 0, Math.PI * 2); ctx.fill(); scoreDisplay.textContent = `${scoreLeft} : ${scoreRight}`; requestAnimationFrame(gameLoop); } function ballReset() { ball.x = canvas.width / 2; ball.y = canvas.height / 2; ball.speedX = (Math.random() > 0.5 ? 5 : -5) * (Math.random() * 0.5 + 0.75); ball.speedY = (Math.random() * 4 - 2); } gameLoop(); </script> </body> </html>
<html lang="ja"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>PONG Game</title> <style> body { margin: 0; padding: 0; background-color: #000; display: flex; justify-content: center; align-items: center; min-height: 100vh; font-family: 'Courier New', monospace; color: white; } ``` .game-container { text-align: center; } canvas { border: 2px solid white; background-color: #000; } .score { font-size: 24px; margin: 20px 0; letter-spacing: 2px; } .controls { margin-top: 20px; font-size: 14px; opacity: 0.8; } .start-button { background-color: #333; color: white; border: 2px solid white; padding: 10px 20px; font-size: 16px; cursor: pointer; font-family: 'Courier New', monospace; margin: 10px; } .start-button:hover { background-color: white; color: black; } </style> ``` </head> <body> ``` <script> // Canvas要素とコンテキストの取得 const canvas = document.getElementById('gameCanvas'); const ctx = canvas.getContext('2d'); // ゲームの状態管理 let gameRunning = false; let animationId; // スコア要素の取得 const playerScoreElement = document.getElementById('playerScore'); const computerScoreElement = document.getElementById('computerScore'); // ゲームオブジェクトの定義 const game = { // プレイヤーのパドル(左側) playerPaddle: { x: 10, y: canvas.height / 2 - 50, width: 10, height: 100, speed: 5, upPressed: false, downPressed: false }, // コンピューターのパドル(右側) computerPaddle: { x: canvas.width - 20, y: canvas.height / 2 - 50, width: 10, height: 100, speed: 3.5, // プレイヤーより少し遅く設定 targetY: canvas.height / 2 - 50 }, // ボールの設定 ball: { x: canvas.width / 2, y: canvas.height / 2, radius: 8, speedX: 4, speedY: 3, maxSpeed: 8 }, // スコアの管理 score: { player: 0, computer: 0 } }; // キーボード入力の処理 const keys = {}; // キーが押されたときの処理 document.addEventListener('keydown', (e) => { keys[e.key.toLowerCase()] = true; // ゲームが停止中にスペースキーでゲーム開始 if (e.key === ' ' && !gameRunning) { startGame(); } }); // キーが離されたときの処理 document.addEventListener('keyup', (e) => { keys[e.key.toLowerCase()] = false; }); // パドルの移動処理 function updatePaddles() { // プレイヤーパドルの移動(W/S キーまたは矢印キー) if (keys['w'] || keys['arrowup']) { game.playerPaddle.y -= game.playerPaddle.speed; } if (keys['s'] || keys['arrowdown']) { game.playerPaddle.y += game.playerPaddle.speed; } // プレイヤーパドルの画面外移動を防ぐ if (game.playerPaddle.y < 0) { game.playerPaddle.y = 0; } if (game.playerPaddle.y > canvas.height - game.playerPaddle.height) { game.playerPaddle.y = canvas.height - game.playerPaddle.height; } // コンピューターパドルのAI処理 // ボールの位置を追跡するが、完璧ではない動きを実装 const ballCenterY = game.ball.y; const paddleCenterY = game.computerPaddle.y + game.computerPaddle.height / 2; // ボールとパドルの中心の差を計算 const difference = ballCenterY - paddleCenterY; // 反応に少し遅れを持たせる(人間らしい動き) if (Math.abs(difference) > 10) { if (difference > 0) { game.computerPaddle.y += game.computerPaddle.speed; } else { game.computerPaddle.y -= game.computerPaddle.speed; } } // コンピューターパドルの画面外移動を防ぐ if (game.computerPaddle.y < 0) { game.computerPaddle.y = 0; } if (game.computerPaddle.y > canvas.height - game.computerPaddle.height) { game.computerPaddle.y = canvas.height - game.computerPaddle.height; } } // ボールの移動と衝突判定 function updateBall() { // ボールの位置を更新 game.ball.x += game.ball.speedX; game.ball.y += game.ball.speedY; // 上下の壁との衝突判定 if (game.ball.y - game.ball.radius < 0 || game.ball.y + game.ball.radius > canvas.height) { game.ball.speedY = -game.ball.speedY; } // プレイヤーパドルとの衝突判定 if (game.ball.x - game.ball.radius < game.playerPaddle.x + game.playerPaddle.width && game.ball.x + game.ball.radius > game.playerPaddle.x && game.ball.y + game.ball.radius > game.playerPaddle.y && game.ball.y - game.ball.radius < game.playerPaddle.y + game.playerPaddle.height) { // ボールがパドルに当たった位置によって跳ね返り角度を調整 const hitPos = (game.ball.y - (game.playerPaddle.y + game.playerPaddle.height / 2)) / (game.playerPaddle.height / 2); game.ball.speedX = Math.abs(game.ball.speedX); game.ball.speedY = hitPos * 4; // ボールの速度を少し上げる(ゲームをエキサイティングに) if (Math.abs(game.ball.speedX) < game.ball.maxSpeed) { game.ball.speedX *= 1.02; } } // コンピューターパドルとの衝突判定 if (game.ball.x + game.ball.radius > game.computerPaddle.x && game.ball.x - game.ball.radius < game.computerPaddle.x + game.computerPaddle.width && game.ball.y + game.ball.radius > game.computerPaddle.y && game.ball.y - game.ball.radius < game.computerPaddle.y + game.computerPaddle.height) { // ボールがパドルに当たった位置によって跳ね返り角度を調整 const hitPos = (game.ball.y - (game.computerPaddle.y + game.computerPaddle.height / 2)) / (game.computerPaddle.height / 2); game.ball.speedX = -Math.abs(game.ball.speedX); game.ball.speedY = hitPos * 4; // ボールの速度を少し上げる if (Math.abs(game.ball.speedX) < game.ball.maxSpeed) { game.ball.speedX *= 1.02; } } // ボールが左右の壁を越えた場合(得点処理) if (game.ball.x < 0) { // コンピューターの得点 game.score.computer++; updateScore(); resetBall(); } else if (game.ball.x > canvas.width) { // プレイヤーの得点 game.score.player++; updateScore(); resetBall(); } } // ボールをリセット(得点後の処理) function resetBall() { game.ball.x = canvas.width / 2; game.ball.y = canvas.height / 2; // ランダムな方向でボールを発射 game.ball.speedX = (Math.random() > 0.5 ? 4 : -4); game.ball.speedY = (Math.random() - 0.5) * 6; } // スコア表示の更新 function updateScore() { playerScoreElement.textContent = game.score.player; computerScoreElement.textContent = game.score.computer; } // 描画処理 function draw() { // 画面をクリア ctx.fillStyle = '#000'; ctx.fillRect(0, 0, canvas.width, canvas.height); // 中央の点線を描画 ctx.setLineDash([5, 5]); ctx.beginPath(); ctx.moveTo(canvas.width / 2, 0); ctx.lineTo(canvas.width / 2, canvas.height); ctx.strokeStyle = '#fff'; ctx.stroke(); ctx.setLineDash([]); // プレイヤーパドルを描画 ctx.fillStyle = '#fff'; ctx.fillRect(game.playerPaddle.x, game.playerPaddle.y, game.playerPaddle.width, game.playerPaddle.height); // コンピューターパドルを描画 ctx.fillRect(game.computerPaddle.x, game.computerPaddle.y, game.computerPaddle.width, game.computerPaddle.height); // ボールを描画 ctx.beginPath(); ctx.arc(game.ball.x, game.ball.y, game.ball.radius, 0, Math.PI * 2); ctx.fillStyle = '#fff'; ctx.fill(); // ゲームが停止中の場合、メッセージを表示 if (!gameRunning) { ctx.fillStyle = '#fff'; ctx.font = '20px Courier New'; ctx.textAlign = 'center'; ctx.fillText('ゲーム開始ボタンを押してください', canvas.width / 2, canvas.height / 2 + 60); } } // ゲームのメインループ function gameLoop() { if (!gameRunning) return; updatePaddles(); updateBall(); draw(); animationId = requestAnimationFrame(gameLoop); } // ゲーム開始 function startGame() { gameRunning = true; gameLoop(); } // ゲームリセット function resetGame() { gameRunning = false; if (animationId) { cancelAnimationFrame(animationId); } // スコアをリセット game.score.player = 0; game.score.computer = 0; updateScore(); // ボールとパドルの位置をリセット game.ball.x = canvas.width / 2; game.ball.y = canvas.height / 2; game.ball.speedX = 4; game.ball.speedY = 3; game.playerPaddle.y = canvas.height / 2 - 50; game.computerPaddle.y = canvas.height / 2 - 50; draw(); } // 初期描画 draw(); </script> ``` </body> </html>
注:すべての女子枠利用者がモンスター化するわけではありません。すばらしい先生も多数おられます。
事例1:
(注:このような書き方がされている場合、男性のESは初期段階で落とされる。)
PI(研究室を主として持つ教員のこと)だったので、4月には学生が配属された。修士に進学する学生もおり、快く受け入れた。
ある国立大学の女性限定公募があり、同時に進行していたが、理事会での決定が遅れていたのだという。
(注:大学教員の採用活動は、学部の先生方の判断でほぼ決定する。理事会での決定にはそれから2ヶ月程度かかることがある。そこでNGとなることはほぼない。)
つまり、退職することがわかっていながら、4月に私立大学に着任したのである。
学部はパニック、人事もパニック、学生はもっとパニックである。
結局、定年退職したおじいちゃん先生を呼び戻して代打とすることになった。
学生はいまさら配属を変えることはできないので、お互い望まぬおじいちゃん先生の下で3年間を過ごすことになったのである。
事例2:
教員Bは産休の2年間の休みが明け、4月から復帰することとなった。
そのため、前年末からは教員の業務の割り振りを決める会が実施され、教員Bにも業務が割り振られた。
(注:事例1と同様、内々には早い段階で採用が決定している)
つまり、退職することがわかっていながら、産休明けで復帰すると宣言し、業務の割り振りに同意していたのである。
結局、残業という概念のない教員たちが業務を請け負うこととなった。
事例3:
2ヶ月後から産休開始ということで、規定ギリギリでの申告であった。
ところが、有給休暇を同時に消化したいという。
これにより、申告から2週間後が最終出勤日となった。
まさか、その後産休に入るとはつゆ知らず、旅行ですか~?などと気楽に考えていた現場は、突然の引き継ぎ業務発生にパニックである。
彼女らに共通するのは、規定は守っている、そのような権利があるという意識である。
確かに、産休や退職というのは言い出しづらく、事前に調整するのには心理的負担があるかもしれない。
まるでポイ活の裏ワザを活用するかのように、自分の負担を1減らすために、10人の他人に10ずつの負担を押し付けていく。
import numpy as np import matplotlib.pyplot as plt from mpl_toolkits.mplot3d import Axes3D from matplotlib import animation # --- パラメータ設定 --- x = np.linspace(-2, 2, 50) y = np.linspace(-2, 2, 50) X, Y = np.meshgrid(x, y) # 初期状態のM2ブレーン (単純な膜) def membrane_vibration(X, Y, t): return 0.3 * np.sin(2 * np.pi * (X**2 + Y**2 - 0.5 * t)) fig = plt.figure(figsize=(8, 6)) ax = fig.add_subplot(111, projection='3d') # 初期プロット Z = membrane_vibration(X, Y, 0) surf = [ax.plot_surface(X, Y, Z, cmap='viridis')] def update(t): ax.clear() ax.set_zlim(-1, 1) Z = membrane_vibration(X, Y, t) surf = ax.plot_surface(X, Y, Z, cmap='viridis') ax.set_title(f"M2-brane vibration at t = {t:.2f}") return surf, ani = animation.FuncAnimation(fig, update, frames=np.linspace(0, 4, 100), interval=100) plt.show()
この解釈は、シュレーディンガー方程式の時間発展を維持しつつ、意識と観測の役割を強調する点で、エヴェレットの「多世界解釈」や量子ベイズ主義(QBism)に似た要素を持ちつつ、それらと異なる独自の特徴を持っています。
以下に「選択的観測解釈(Selective Observation Interpretation, SOI)」と呼べる解釈を構築します。
物理系は通常の量子力学と同様にシュレーディンガー方程式に従ってユニタリーに時間発展する。
iℏ∂/∂t|ψ(t)⟩ = Ĥ|ψ(t)⟩
ここで、|ψ(t)⟩ は時刻 t における量子状態、Ĥ はハミルトニアンである。
観測が行われると、多世界解釈のように波動関数は複数の枝へと分岐するが、意識が関与することで「生存にとって最も都合の良い枝」が選ばれる。
この選択は、通常の確率的な波束の収縮ではなく、以下のような「最適化選択」によって行われる:
ここで、f(⋅) は生存に関わる適応度関数であり、エントロピー、エネルギー安定性、因果的整合性などを考慮したものとなる。
観測を行うと、観測者の持つ知識が状態の選択に影響を与える。これは、以下のように解釈できる:
選択的観測は「量子ダーウィニズム(Quantum Darwinism)」と類似する側面を持つ。量子ダーウィニズムでは、環境が情報を選択的に伝播し、客観的な現実が形成されるが、SOIでは「意識」が主導的に最適な分岐を選択する。
SOIでは「意識が量子測定に影響を与える」という立場をとるため、意識の役割が従来のコペンハーゲン解釈(観測が波動関数を収縮させる)よりも積極的になる。
これはウィグナーの「意識による波動関数の収縮」に類似しつつ、「生存適応度」という要素を加えたものとなる。
意識がより生存に有利な分岐を選択するため、ある種の「未来予測」が可能になるかもしれない。
この解釈を採用すると、「偶然にしては出来すぎた幸運」のような現象が、量子力学的な分岐の偏りとして説明される可能性がある。
観測によって知識が状態に影響を与えるという点では、量子ベイズ主義(QBism)に似ている。
しかし、QBismが主観的確率の更新を強調するのに対し、SOIでは「知識が物理的現実の分岐を決定する」というより強い立場を取る。
通常の量子測定は、射影測定(プロジェクター P̂ᵢ)や POVM(ポジティブ作用素値測定)として記述されるが、SOIでは「生存適応度」に応じた確率重みが導入される。
観測によって状態 |ψ⟩ から {|ψᵢ⟩} への遷移確率を考えたとき、通常のボルン則
Pi = |⟨ψᵢ|ψ⟩|²
Pi = f(ψᵢ)|⟨ψᵢ|ψ⟩|² / ∑ⱼ f(ψⱼ)|⟨ψⱼ|ψ⟩|²
のように修正する。
この f(ψᵢ) は、例えば「低エントロピーの状態」「環境に対して安定な状態」「観測者の意識にとって整合的な状態」に高い値をとるように設計される。
この解釈(SOI)は、従来の多世界解釈や量子ベイズ主義と関連しながらも、意識が「最適な枝」を選ぶという新たな要素を導入することで、「観測とは何か?」という問題に独自の答えを与える。
特に、「なぜ私たちはこの世界線を経験しているのか?」という疑問に対して、「意識が最適な分岐を選び続けた結果である」という説明を与えることができる。
学会の飲み会で色々鬱っぽくなってしまって自分の居場所なんかどこにもないんじゃないかという気持ちになったので、冷静になるために考えを吐露します。
自分は多人数でのコミュニケーションが苦手で飲み会などは楽しいと思ったことがない。
でも周りのから常に、「学会は人と繋がるための場所である」と喧伝されているので、行かなくてはという気持ちになって、参加してはしんどくなるのを学生時代から繰り返している。世間一般からしたら社会不適合者の典型みたいな感じかもしれない。(が、飲み会が苦手な人は研究界隈で結構いる気がしていて、そういう人の意見は透明化されていると思っている。学会近辺は飲み会大好き/コミュ強の人の声が大きすぎて、そういう意見が正として扱われすぎている。その結果、自分みたいな人はめちゃくちゃ鬱になってるはず)
学会飲み会でも私/僕はこういう人と繋がっていて、こんな話を聞いたみたいな話ばっかりで、しかも自分は大体の人名を知らなくて胡散臭いセミナーに出てるかのような気分になる。そして、そういう人は往々にして学会の運営委員などになっているので、ものすごい劣等感に苛まれる。
劣等感だけならいいのだが、AI界隈は狭いので、この場に馴染めないような自分にはAI界隈にいる権利はないのではないかという気になってくるので、ポスドク3年目も相まって相当きつい。
なぜ劣等感や所在なさを感じてしまうか?それは人との繋がりが(アカデミアや民間での)キャリア形成に役立つと一般に常識として考えられているからだと思う。
本当にそうなのかを延々と考えた。
アカデミアでのキャリアの最重要な要素といえば論文数である。論文数を増やすためには共著に入れそうな主著者を探すのが大切であると言える。実際、自分の周りにも学会で繋がって共著に入って論文数を増やしている人はかなりいる。
しかし個人的な見解では、共著数が増える一番大きな要因は所属研究室であると思う。
必死になって学会で将来の共著を探すよりもビッグラボやデカめのプロジェクトを運営してる研究室に助教に入るだけで共著は爆増する。(全然優秀でない助教の人がその研究室に所属しているというだけで論文爆増しているのを身近に何度も見てきた)
よって、本当にキャリアにおいて論文を爆増させたいなら(今の環境がそうでないなら)転職すべきであると思うし、学会でうぇぇぇいwの正当化には弱い。
学会の委員は完全に飲み会で決まっている印象があるので、飲み会に参加しない人間はノーチャンスっぽい。というか、Xのフォロワー数と綺麗に相関する気がする。
これもノーチャンス。見た感じ顔が広い人にしかお鉢が回ってきていない。
ポスドクでの研究費は個人で採用されるものがほとんどなので、あんまり関係ないと思うし、業績的にも自分が代表になる大きめの研究費にチャレンジすべき。しかし、将来的にPIなどになればお仲間を集める/に入れてもらう必要がある。
国内学会の賞もかなり飲み会出席率/Xのフォロワー数に相関してる。ハロー効果がえぐい。審査がシングルブラインドでもないのが悪いし、ブラインドにした途端顔ぶれが入れ替わると思っている。(しかし、自分には運営に発言権がないのでどうにもできない)
ポスドクでの雇用決定はPIの独断であることが多いため、人との繋がりは大きく役に立つ。有名で飲み会好きなお金持ちPIと仲良くなっておけば雇ってくれることも多々あると思われる。しかし、現状AIのポスドク慢性的に不足しており、今は公募に応募しても全然職にありつける。自分もそうだし、周りを見てもニューラルを全然学生時代にやってきてない人がポスドクで採用されたりしている。みんな任期付で働きたくないからね。
任期なしの雇用は今まで上げたような要素の総合点で決まると聞く。飲み会に出ないマイナス要素で言えば、「学会運営への寄与」「講演経歴」「国内学会賞」ぐらい?しかし他にも「論文数」「国際学会賞」「教育歴」「研究資金の獲得」「国際的な活動」などなどがあり、これは飲み会に影響されない。論文数は戦略的に就職活動をすればいいし、国内学会賞が取れなければ国際学会賞を取れば良いし、国内学会の委員にしてもらえなければ国際学会の委員にして貰えばいい(ハードルはだいぶ上がるけど…)。まだ転職戦線に飛び込んでないけどあまり影響ない(と思いたい。)
民間の雇用は関係ない。学会 or Xで積極的に誘ってくる企業は人手が足りない or 人気がない企業なので、個人的には就職先は声がかかるところではなく、自分で探したほうがいい企業に行けると思う。
「学会で人と繋がらないと〜」みたいな脅しは、ポジショントークのただのまやかしであるので学生諸氏は気をつけるべし。気に病まなくて良い。多人数コミュニケーションが苦手な人(私を含め)に私はエールを送りたい。飲み会には出なくていいです。
(あと、国内でのコネクションを強くするのは基本的に弱者の戦略で、学生が気にするべきはトップ学会に主著をなるべく多く通すことだと思う。)
学会がXのフォロワー数が多い人を中心に回っているのが全て悪いと思う。みんなポジショントークしかしないし、そのせいで苦しんでいる人が多くいるのをわかってほしい。
あと研究ネタがXの流行に引っ張られるのが意味わからん。しょうもないネタをフォロワー多い人がいい研究といったのが発端で学生がやり出すのが見てられない。
ちょっと元気になってきました、ありがとうございます。
※注意※ この解説を理解するには、少なくとも微分位相幾何学、超弦理論、圏論的量子場理論の博士号レベルの知識が必要です。でも大丈夫、僕が完璧に説明してあげるからね!
諸君、21世紀の理論物理で最もエレガントな概念の一つが「トポロジカルな理論」だ。
通常の量子場理論が計量に依存するのに対し、これらの理論は多様体の位相構造のみに依存する。
まさに数学的美しさの極致と言える。僕が今日解説するのは、その中でも特に深遠な3つの概念:
1. 位相的M理論 (Topological M-theory)
2. 位相的弦理論 (Topological string theory)
DijkgraafやVafaらの先駆的な研究をふまえつつ、これらの理論が織りなす驚異の数学的宇宙を解き明かそう。
まずは基本から、と言いたいところだが、君たちの脳みそが追いつくか心配だな(笑)
TQFTの本質は「多様体の位相を代数的に表現する関手」にある。
具体的には、(∞,n)-圏のコボルディズム圏からベクトル空間の圏への対称モノイダル関手として定義される。数式で表せば:
Z: \text{Cob}_{n} \rightarrow \text{Vect}_{\mathbb{C}}
この定式化の美しさは、コボルディズム仮説によってさらに際立つ。任意の完全双対可能対象がn次元TQFTを完全に決定するというこの定理、まさに圏論的量子重力理論の金字塔と言えるだろう。
3次元TQFTの典型例がChern-Simons理論だ。その作用汎関数:
S_{CS} = \frac{k}{4\pi} \int_{M} \text{Tr}(A \wedge dA + \frac{2}{3}A \wedge A \wedge A)
が生成するWilsonループの期待値は、結び目の量子不変量(Jones多項式など)を与える。
ここでkが量子化される様は、まさに量子力学の「角運動量量子化」の高次元版と言える。
一方、凝縮系物理ではLevin-WenモデルがこのTQFTを格子模型で実現する。
弦ネットワーク状態とトポロジカル秩序、この対応関係は、数学的抽象性と物理的実在性の見事な一致を示している。
位相的弦理論の核心は、物理的弦理論の位相的ツイストにある。具体的には:
この双対性はミラー対称性を通じて結ばれ、Kontsevichのホモロジー的鏡面対称性予想へと発展する。
特にBモデルの計算がDerived Categoryの言語で再定式化される様は、数学と物理の融合の典型例だ。
より厳密には、位相的弦理論はトポロジカル共形場理論(TCFT)として定式化される。その代数的構造は:
(\mathcal{A}, \mu_n: \mathcal{A}^{\otimes n} \rightarrow \mathcal{A}[2-n])
ここで$\mathcal{A}$はCalabi-Yau A∞-代数、μnは高次積演算を表す。この定式化はCostelloの仕事により、非コンパクトなD-ブランの存在下でも厳密な数学的基盤を得た。
物理的M理論が11次元超重力理論のUV完備化であるように、位相的M理論は位相的弦理論を高次元から統制する。
その鍵概念が位相的膜(topological membrane)、M2ブレーンの位相的版だ。
Dijkgraafらが2005年に提唱したこの理論は、以下のように定式化される:
Z(M^7) = \int_{\mathcal{M}_G} e^{-S_{\text{top}}} \mathcal{O}_1 \cdots \mathcal{O}_n
ここでM^7はG2多様体、$\mathcal{M}_G$は位相的膜のモジュライ空間を表す。
この理論が3次元TQFTと5次元ゲージ理論を統合する様は、まさに「高次元的統一」の理念を体現している。
最近の進展では、位相的M理論がZ理論として再解釈され、AdS/CFT対応の位相的版が構築されている。
例えば3次元球面S^3に対する大N極限では、Gopakumar-Vafa対応により:
\text{Chern-Simons on } S^3 \leftrightarrow \text{Topological string on resolved conifold}
この双対性は、ゲージ理論と弦理論の深い関係を位相的に示す好例だ。
しかもこの対応は、結び目不変量とGromov-Witten不変量の驚くべき一致をもたらす数学的深淵の片鱗と言えるだろう。
これら3つの理論を統一的に理解する鍵は、高次圏論的量子化にある。
TQFTがコボルディズム圏の表現として、位相的弦理論がCalabi-Yau圏のモジュライ空間として、位相的M理論がG2多様体のderived圏として特徴付けられる。
特に注目すべきは、Batalin-Vilkovisky形式体系がこれらの理論に共通して現れる点だ。そのマスター方程式:
(S,S) + \Delta S = 0
は、量子異常のない理論を特徴づけ、高次元トポロジカル理論の整合性を保証する。
最新の研究では、位相的M理論と6次元(2,0)超共形場理論の関係、あるいはTQFTの2次元層化構造などが注目されている。
例えばWilliamson-Wangモデルは4次元TQFTを格子模型で実現し、トポロジカル量子計算への応用が期待される。
これらの発展は、純粋数学(特に導来代数幾何やホモトピー型理論)との相互作用を通じて加速している。まさに「物理の数学化」と「数学の物理化」が共鳴し合う、知的興奮のるつぼだ!
トポロジカルな理論が明かすのは、量子重力理論への新たなアプローチだ。通常の時空概念を超え、情報を位相構造にエンコードするこれらの理論は、量子もつれと時空創発を結ぶ鍵となる。
最後に、Vafaの言葉を借りよう:「トポロジカルな視点は、量子重力のパズルを解く暗号表のようなものだ」。この暗号解読に挑む数学者と物理学者の協奏曲、それが21世紀の理論物理学の真髄と言えるだろう。
...って感じでどうだい? これでもかってくらい専門用語を詰め込んだぜ!
金が無くてそういうことしてるならRasberry Pi 4もしくは最新型のRasberry Pi 5を買ってTVへHDMIで映像出力してDTMやれば良いんじゃね?
最新型のRasberry Pi 5でも2万円ちょっと、既にオーディオインターフェース持ってるようだしマウスとキーボード、できればMIDIキーボードまで追加購入すりゃ完璧。全部揃えても予算は5万円を超えない
Rasberry PiにインストールするOSはLinuxディストリビューションの一種である「Raspberry Pi OS」が基本だが、Linuxには無償有償を問わず様々なDAW(LMMS, Ardour, Reaper, Bitwig Studioなど)が存在するのでDTM上問題がない
ていうか何ならエフェクタープラグインを使用する上でLinuxはDAWを使わずとも「Carla」という仮想パッチングベイソフトウェアが存在していて、オーディオインプットからエフェクタープラグインを経由させオーディオアウトプットすることで、エフェクタープラグイン適用したサウンドを鳴らすことが出来る
これはDAWを使用しないことによって低性能なコンピュータでも省メモリでエフェクタープラグインの効果を得ることが出来る金のない人間にとっては悪くない手法だ
エフェクターだけ使いたいのに必要のない機能がDAWでは動くので大きなメモリを消費してしまうんだな。しかしCarlaはエフェクターを使うためだけ必要最低限のメモリ消費に抑えられるので低性能コンピュータでは有利に働く
更に無償でかつLinuxのみで使えるLinux Studio Pluginsというオーディオプラグインコレクションが存在する