diff --git a/404.html b/404.html index 1038bc8..69f9e0a 100644 --- a/404.html +++ b/404.html @@ -9,7 +9,7 @@ - diff --git a/blog/2023/0301-fukue-island/index.html b/blog/2023/0301-fukue-island/index.html index a5da2c2..81aa6e0 100644 --- a/blog/2023/0301-fukue-island/index.html +++ b/blog/2023/0301-fukue-island/index.html @@ -9,7 +9,7 @@ - diff --git a/blog/2023/0303-fukue-island/index.html b/blog/2023/0303-fukue-island/index.html index ca0a102..d9e1cce 100644 --- a/blog/2023/0303-fukue-island/index.html +++ b/blog/2023/0303-fukue-island/index.html @@ -9,7 +9,7 @@ - diff --git a/blog/2023/0304-fukue-island/index.html b/blog/2023/0304-fukue-island/index.html index 534b2cf..93694d7 100644 --- a/blog/2023/0304-fukue-island/index.html +++ b/blog/2023/0304-fukue-island/index.html @@ -9,7 +9,7 @@ - diff --git a/blog/2023/0319-moving/index.html b/blog/2023/0319-moving/index.html index 2a5b5ae..9fd3dcc 100644 --- a/blog/2023/0319-moving/index.html +++ b/blog/2023/0319-moving/index.html @@ -9,7 +9,7 @@ - diff --git a/blog/2023/0618-sarushima-island/index.html b/blog/2023/0618-sarushima-island/index.html index 6e26273..6da24d4 100644 --- a/blog/2023/0618-sarushima-island/index.html +++ b/blog/2023/0618-sarushima-island/index.html @@ -9,7 +9,7 @@ - diff --git a/blog/index.html b/blog/index.html index 574913c..6a27794 100644 --- a/blog/index.html +++ b/blog/index.html @@ -9,7 +9,7 @@ - diff --git a/categories/index.html b/categories/index.html index aea22c6..e93e161 100644 --- a/categories/index.html +++ b/categories/index.html @@ -9,10 +9,10 @@ -

ar.falsy.cat

Search

Search IconIcon to open search
-

All Categories

Note

14 notes with this tag (showing first 10 results)

Info tech

6 notes with this tag

Blog

5 notes with this tag

Photo

5 notes with this tag

Lifehack

4 notes with this tag

Travel

4 notes with this tag

Cat

3 notes with this tag

Statistics

3 notes with this tag

Study

3 notes with this tag

Word play

3 notes with this tag

Chores

2 notes with this tag

Cooking

2 notes with this tag

Gourmet

2 notes with this tag

Software

2 notes with this tag

Tool

2 notes with this tag

Web

2 notes with this tag

Development

1 notes with this tag

Fediverse

1 notes with this tag

Library

1 notes with this tag

Linux

1 notes with this tag

Mountain

1 notes with this tag

Sns

1 notes with this tag

Virtualization

1 notes with this tag

\ No newline at end of file +

All Categories

Note

16 notes with this tag (showing first 10 results)

Info tech

8 notes with this tag

Blog

5 notes with this tag

Photo

5 notes with this tag

Lifehack

4 notes with this tag

Travel

4 notes with this tag

Cat

3 notes with this tag

Development

3 notes with this tag

Howto

3 notes with this tag

Statistics

3 notes with this tag

Study

3 notes with this tag

Tool

3 notes with this tag

Word play

3 notes with this tag

Chores

2 notes with this tag

Cooking

2 notes with this tag

Gourmet

2 notes with this tag

Programming language

2 notes with this tag

Web

2 notes with this tag

Library

1 notes with this tag

Linux

1 notes with this tag

Mountain

1 notes with this tag

Software

1 notes with this tag

Virtualization

1 notes with this tag

\ No newline at end of file diff --git a/index.html b/index.html index 4ced5f6..79100d5 100644 --- a/index.html +++ b/index.html @@ -9,7 +9,7 @@ - @@ -17,4 +17,4 @@

ar.falsy.cat

Search

Search IconIcon to open search

ブログ備忘録.arはarchiveの略. -著者

\ No newline at end of file +著者

Recent Notes

\ No newline at end of file diff --git a/index.xml b/index.xml index 989a3e6..28e3cca 100644 --- a/index.xml +++ b/index.xml @@ -1,4 +1,4 @@ -HOME onhttps://ar.falsy.cat/Recent content in HOME onHugo -- gohugo.ioen-us2人の幼女と悪魔とチェス盤https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/概要 「2人の幼女とチェス盤の部屋」という次のような論理問題を解説する 以下の手順の後,幼女Bが任意の整数$x\left(0\leq x&lt;64\right)$を求められるようにするには,幼女Aはどのような操作を行うべきか 悪魔が8x8チェス盤の各マスに1個ずつ,合計0個以上64個以下のポーンをランダムに配置する 悪魔は幼女Aにチェス盤を見せ,任意の数字$x\left(0\leq x&lt;64\right)$を伝える 幼女Aは,チェス盤に対して次のいずれかの操作のうち可能であるものを1回だけ必ず行う 任意のマスからポーンを1個だけ取り除く 任意のマスにポーンを1個だけ追加する 悪魔は幼女Bにチェス盤を見せる 問題の簡潔化 $f(g(b,x))=x$とできるような写像$f,g$を求めよ $B=\left\{0,1\right\}$ $b\in B^{64}$ $x\in B^6$ $f: B^{64} \rightarrow B^6$ $g: B^{64} \times B^6\rightarrow B^{64}$ $b$と$g(b,x)$は1ビットだけ異なる 解答 $f(b)=f_0\oplus f_1\oplus f_2 \oplus \dots \oplus f_{63} \quad\left(f_i=i b_i\right)$ $b&rsquo;=g(b,x) \implies b&rsquo;_m \neq b_m\quad\left(m=x\oplus f(b)\right)$ チェス盤が16x16の場合のプログラム 解説 $x=f(b)\oplus m$となるような$m\in B^6$は必ず存在する 盤面の各マスに$m$の値を割り当てることで,1マスの操作だけで$m$を表現できる 盤面のマス目の数も,$m$がとりうる値の数も64 $f(g(b,x))=f(b)\oplus m=f(b)\oplus f_m\oplus m(1-b_m)$ 応用 長さ$2^N$の任意のビット列について,任意の1ビットだけを反転させることで,長さ$N$のビット列を表現できる 参考文献 # 超難問論理クイズ「2人の幼女とチェス盤の部屋」が本当に難しすぎた - 明日は未来だ! 幼女問題まとめ - GItHub Gist Impossible Escape?ArchLinuxのインストールhttps://ar.falsy.cat/note/info-tech/install-archlinux/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/install-archlinux/概要 ArchLinuxのインストール手順を記録する Live Environmentの起動方法については触れない 前提 qemu上の仮想マシン BIOS GPT x86_64 デュアルブートなし できるだけシンプル,ミニマリスティックに 手順 1. 事前準備 1 2 3 loadkeys jp106 # キーボード設定 ping google.flutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur.ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/<h2 id="概要">概要</h2> +HOME onhttps://ar.falsy.cat/Recent content in HOME onHugo -- gohugo.ioen-us2人の幼女と悪魔とチェス盤https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/概要 「2人の幼女とチェス盤の部屋」という次のような論理問題を解説する 以下の手順の後,幼女Bが任意の整数$x\left(0\leq x&lt;64\right)$を求められるようにするには,幼女Aはどのような操作を行うべきか 悪魔が8x8チェス盤の各マスに1個ずつ,合計0個以上64個以下のポーンをランダムに配置する 悪魔は幼女Aにチェス盤を見せ,任意の数字$x\left(0\leq x&lt;64\right)$を伝える 幼女Aは,チェス盤に対して次のいずれかの操作のうち可能であるものを1回だけ必ず行う 任意のマスからポーンを1個だけ取り除く 任意のマスにポーンを1個だけ追加する 悪魔は幼女Bにチェス盤を見せる 問題の簡潔化 $f(g(b,x))=x$とできるような写像$f,g$を求めよ $B=\left\{0,1\right\}$ $b\in B^{64}$ $x\in B^6$ $f: B^{64} \rightarrow B^6$ $g: B^{64} \times B^6\rightarrow B^{64}$ $b$と$g(b,x)$は1ビットだけ異なる 解答 $f(b)=f_0\oplus f_1\oplus f_2 \oplus \dots \oplus f_{63} \quad\left(f_i=i b_i\right)$ $b&rsquo;=g(b,x) \implies b&rsquo;_m \neq b_m\quad\left(m=x\oplus f(b)\right)$ チェス盤が16x16の場合のプログラム 解説 $x=f(b)\oplus m$となるような$m\in B^6$は必ず存在する 盤面の各マスに$m$の値を割り当てることで,1マスの操作だけで$m$を表現できる 盤面のマス目の数も,$m$がとりうる値の数も64 $f(g(b,x))=f(b)\oplus m=f(b)\oplus f_m\oplus m(1-b_m)$ 応用 長さ$2^N$の任意のビット列について,任意の1ビットだけを反転させることで,長さ$N$のビット列を表現できる 参考文献 # 超難問論理クイズ「2人の幼女とチェス盤の部屋」が本当に難しすぎた - 明日は未来だ! 幼女問題まとめ - GItHub Gist Impossible Escape?ArchLinuxのインストールhttps://ar.falsy.cat/note/info-tech/install-archlinux/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/install-archlinux/概要 ArchLinuxのインストール手順を記録する Live Environmentの起動方法については触れない 前提 qemu上の仮想マシン BIOS GPT x86_64 デュアルブートなし できるだけシンプル,ミニマリスティックに 手順 1. 事前準備 1 2 3 loadkeys jp106 # キーボード設定 ping google.C/C++のsanitizerの使い方https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/概要 バグを検知するコードを埋め込むための,sanitizerと呼ばれる機能がある このページではsanitizerの使い方を説明する 使い方 コンパイル時にsanitizerを埋め込む 種類ごとにオプションが異なる XXXにはSanitizer名をカンマ区切りで羅列する 代表的なSanitizer名については後述 1 2 g++ -fsanitizer=XXX a.dart言語https://ar.falsy.cat/note/info-tech/dart/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/dart/概要 Google製プログラミング言語 flutterのための言語 日本語資料少なめ オブジェクト指向 特徴 undefined behaviorは無い Null safety 型名に?を付ければNull許容型になる Null許容型に対してはNullチェックをしないとコンパイラがキレる 整数値以外は参照型 GC(mark &amp; sweep)搭載 デストラクタは無さそう,そもそもmark &amp; sweepでデストラクタは信頼できない コンストラクタが書きやすい わざわざメンバ変数と同じ名前の引数を書いて,代入して,,,ということをしなくてもいい 静的解析が強め 文法 大体は既存のやつと同じ 文末セミコロン必須 関数呼び出しの実引数リストでもケツカンマ許容 変数修飾子 型が自明な場合,型名は省略できる 省略できる場合は省略することが推奨される 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // コンパイル時定数 const int x = 0; const x = 0; // 再代入不可能変数 final int x = 0; final x = 0; // 再代入可能変数 var int x = 0; var x = 0; // 遅延初期化変数 late int x; late final int x; final: 再代入不可能変数 値型の変数に対しては,値の変更を禁止する 参照型の変数に対しては,参照先の変更のみを禁止する dartでは,参照先のオブジェクトの変更を禁止することはできない late: 遅延初期化 変数の初期化を遅延させることができる 実質的にはNull safetyの無いNull許容型 late final修飾子によって複数回の代入をコンパイルエラーにできる ただし静的解析の精度は微妙なので,絶対に2回目の代入ができなくなるわけではない Null safety Null許容型に対しては,Nullを扱いやすくするための演算子が使える 関数の中で,変数に対して一度nullチェックをした場合,以降,その変数はNull許容型でないものとして扱える 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (T?flutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur.ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/<h2 id="概要">概要</h2> <ul> <li> <a href="https://github.com/jackyzha0/quartz" rel="noopener">Quartz</a>で @@ -17,7 +17,7 @@ data-src="https://ar.falsy.cat/note/info-tech/obsidian/">Obsidian</a>のVault <li>M1/M2向けVirtualBoxはまだ開発者プレビューしかなく,まともに使えなかった</li> </ul> </li> -</ul>パラメトリック検定とノンパラメトリック検定https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/概要 仮設検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である パラメトリック検定 母集団がある特定の分布であると事前に仮定する検定 ノンパラメトリック検定に比べて,計算が楽 手計算はこっちの方が嬉しい 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い 事前検定で母集団の仮定を検証するのはやめた方がいい(後述) ノンパラメトリック検定 母集団の分布を仮定しない検定 計算がめんどくさい サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない 事前検定 欲しい結果を得る検定の前に行われる検定のこと 多重検定の問題を孕む 個人的には,大抵の場合において事前検定は愚行だと思っている 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う 大人しくノンパラメトリック検定を使うべき そもそもコンピュータ使えば計算コストは無視できる まとめ 仮設検定は2つに分けられる パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定 ノンパラメトリック検定: それ以外の検定 パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき仮説検定https://ar.falsy.cat/note/study/statistics/hypothesis-test/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test/概要 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する 検定手順 帰無仮説を仮定する 帰無仮説のもとで検定したい事象が発生する確率$p$を求める $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する 結論に生じうる誤り 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう 発生確率=有意確率 発生確率を設定できる 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう 発生確率は不明 発生確率を設定できない 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ) 大体の場合で5% 第一種の誤りが許されない場面(医療など)では1% 例 コイントスを10回やって7回表が出た.コイントスは公平か? 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.仮説検定の多重性問題https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/概要 結論に複数の 仮設検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない 不確実な情報による結論の不確実性 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる ただし,実際には第二種の過誤も存在する 有意水準を小さくすれば結論が第二種の過誤である確率は増加する 以上より,多重検定は非常によろしくない 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから Holm法による有意水準の調整 多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う.卵を片手で割る手法の提案https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Abstract This paper proposes a method to crack eggs by one hand The method can reduce cooking time and promote multi-tasking No special appliance is needed However accuracy of action is necessary to keep yolk unbroken 概要 調理の時短とマルチタスク促進のために卵を片手で割る手法を提案する 本手法は一般家庭にある既存の器具のみで実行が可能 ただし黄身を割らないためには繊細な動作が要求される 背景 左手でゴミ袋を持ちながら右手で卵を割ると非常に時短になる 特に調理プロセスのなかで一度に複数の卵が関与する場合に著しい時短効果が得られる 先行研究の手法では調理対象に殻が混入してしまうことが多い 手法 卵をフォークボールを投げる時のように持つ 鋭端が人差し指と中指の間に来るように持つ 鈍端を親指と薬指で支える 皿の淵で卵の殻に割れ目を作る 卵の鋭端と鈍端を結ぶ線分の垂直二等分線が皿の淵と重なるように腕を何回か振り下ろす 皿を卵の直径の$\frac{1}{4}$程度まで食い込ませる 卵を皿に押し付けて真っ二つにするイメージ ここで皿を食い込ませすぎると黄身が割れる原因になる 人差し指の付け根で割れ目の裏側を押し出す 人差し指,中指,親指,薬指で卵をしっかりと支えておく 評価実験 本手法を用いて鶏卵2個を割った 1個は黄身が割れたが,1個は割れなかった 卵の殻が調理対象に混入することはなかった まとめ 卵を片手で割る手法を提案した 本手法では50%の確率で黄身が割れる 先行研究の手法と異なり,卵の殻が混入する確率は低い 今後の課題として,黄身が割れる確率を抑えることが挙げられる 理論上,左右両方の手で同時に2個の卵を割ることでさらなる効率化を図れる国語教科書オールスターズhttps://ar.falsy.cat/note/word-play/japanese-text-all-stars/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/japanese-text-all-stars/<h2 id="概要">概要</h2> +</ul>パラメトリック検定とノンパラメトリック検定https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/概要 仮説検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である パラメトリック検定 母集団がある特定の分布であると事前に仮定する検定 ノンパラメトリック検定に比べて,計算が楽 手計算はこっちの方が嬉しい 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い 事前検定で母集団の仮定を検証するのはやめた方がいい(後述) ノンパラメトリック検定 母集団の分布を仮定しない検定 計算がめんどくさい サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない 事前検定 欲しい結果を得る検定の前に行われる検定のこと 多重検定の問題を孕む 個人的には,大抵の場合において事前検定は愚行だと思っている 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う 大人しくノンパラメトリック検定を使うべき そもそもコンピュータ使えば計算コストは無視できる まとめ 仮説検定は2つに分けられる パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定 ノンパラメトリック検定: それ以外の検定 パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき仮説検定https://ar.falsy.cat/note/study/statistics/hypothesis-test/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test/概要 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する 検定手順 帰無仮説を仮定する 帰無仮説のもとで検定したい事象が発生する確率$p$を求める $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する 結論に生じうる誤り 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう 発生確率=有意確率 発生確率を設定できる 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう 発生確率は不明 発生確率を設定できない 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ) 大体の場合で5% 第一種の誤りが許されない場面(医療など)では1% 例 コイントスを10回やって7回表が出た.コイントスは公平か? 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.仮説検定の多重性問題https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/概要 結論に複数の 仮説検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない 不確実な情報による結論の不確実性 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる ただし,実際には第二種の過誤も存在する 有意水準を小さくすれば結論が第二種の過誤である確率は増加する 以上より,多重検定は非常によろしくない 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから Holm法による有意水準の調整 多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う.卵を片手で割る手法の提案https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Abstract This paper proposes a method to crack eggs by one hand The method can reduce cooking time and promote multi-tasking No special appliance is needed However accuracy of action is necessary to keep yolk unbroken 概要 調理の時短とマルチタスク促進のために卵を片手で割る手法を提案する 本手法は一般家庭にある既存の器具のみで実行が可能 ただし黄身を割らないためには繊細な動作が要求される 背景 左手でゴミ袋を持ちながら右手で卵を割ると非常に時短になる 特に調理プロセスのなかで一度に複数の卵が関与する場合に著しい時短効果が得られる 先行研究の手法では調理対象に殻が混入してしまうことが多い 手法 卵をフォークボールを投げる時のように持つ 鋭端が人差し指と中指の間に来るように持つ 鈍端を親指と薬指で支える 皿の淵で卵の殻に割れ目を作る 卵の鋭端と鈍端を結ぶ線分の垂直二等分線が皿の淵と重なるように腕を何回か振り下ろす 皿を卵の直径の$\frac{1}{4}$程度まで食い込ませる 卵を皿に押し付けて真っ二つにするイメージ ここで皿を食い込ませすぎると黄身が割れる原因になる 人差し指の付け根で割れ目の裏側を押し出す 人差し指,中指,親指,薬指で卵をしっかりと支えておく 評価実験 本手法を用いて鶏卵2個を割った 1個は黄身が割れたが,1個は割れなかった 卵の殻が調理対象に混入することはなかった まとめ 卵を片手で割る手法を提案した 本手法では50%の確率で黄身が割れる 先行研究の手法と異なり,卵の殻が混入する確率は低い 今後の課題として,黄身が割れる確率を抑えることが挙げられる 理論上,左右両方の手で同時に2個の卵を割ることでさらなる効率化を図れる国語教科書オールスターズhttps://ar.falsy.cat/note/word-play/japanese-text-all-stars/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/japanese-text-all-stars/<h2 id="概要">概要</h2> <ul> <li>今までの国語の教科書に出てきた忘れられない奴等を忘れないために記録しておく</li> </ul>引っ越しをしたhttps://ar.falsy.cat/blog/2023/0319-moving/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/blog/2023/0319-moving/ 4月から色々あるので引っ越しをした 立地も治安も壁の厚さもとても良いところだった明晰夢を利用した現実の証明https://ar.falsy.cat/note/word-play/proof-of-reality-using-lucid-dream/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/proof-of-reality-using-lucid-dream/概要 今の意識が現実であることを証明する手法を論理的に導く ただの言葉遊びなので哲学的な何かは期待しないでほしい 前提 ここでは次の前提のもと議論を進める 夢を見ていることを自覚している夢を見ている,ならばかつその時に限り,明晰夢を見ている 明晰夢を見ている,ならば,全てが思い通りになる 夢でないならば現実である 証明は次の定義の元で行う 状況$A$: 夢を見ている 状況$B$: 夢を見ていることを自覚している 状況$C$: 明晰夢を見ている 状況$D$: 全てが思い通りである 証明の最終的な目標は$X\implies \overline{A}$を導くことである 証明 前提より $P_1: A\cap B\iff C$ $P_2: C \implies D$ $P_1,P_2$より,三段論法を用いて $P_3: A \cap B \implies D$ $P_3$の対偶より $P_4: \overline{D}\implies \overline{A\cap B}$ $P_4$より,ド・モルガンの公式を用いて $P_5: \overline{D}\implies \overline{A} \cup \overline{B}$ $B$は意図的に真にできるため,$P_5$より $\overline{D}\cap B \implies \overline{A}$ 結論 事前に夢を見ていることを自覚している,かつ,思い通りにならないことが存在する,ならば,それは現実である ただし,この手法では全ての現実を証明できるとは言えないことに留意されたい片手鍋で米を炊くhttps://ar.falsy.cat/note/chores/cooking-rice-with-saucepan/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/chores/cooking-rice-with-saucepan/概要 炊飯器が無くても米は炊ける ただし火を使う間,22分程度拘束される 手順 片手鍋で米(3合)を研ぐ 水(500ml)を入れる 蓋をして鍋ごと冷蔵庫で30分冷やす 蓋をしたまま中火で13分 弱火で3分 とろ火で6分 火を消して蓋をしたまま10分放置 補足 冷やす時間は15分程度まで短縮しても良い 短縮した場合は中火の時間も12分程度に縮める 最後の放置が結構重要 火を消した直後はまだべちゃべちゃしてる猿島へ行ったhttps://ar.falsy.cat/blog/2023/0618-sarushima-island/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/blog/2023/0618-sarushima-island/概要 猿島へ日帰り観光に行った 人が多かった 廃墟目当てだったが,そこまで廃墟はなかった 行程 京急線の横須賀中央駅から三笠ターミナルへ徒歩で15分 フェリーで猿島へ(10分) 島内を観光 島内で昼食 フェリー,電車で帰宅 フェリー(行き) 土曜日午前11時台の便に乗った 並んでる人が多かった 次の便に乗れるのか不安になるぐらい 並んでた人全員がギリギリ乗れた 乗船時間は10分程度なので酔うこともなく無事到着 観光 写真を撮りながら適当に周った フェリーの到着直後は入り口付近に人が多い 写真を撮りたいなら時間をずらしたほうがいい 廃墟 もっと廃墟があるのかと思っていたけれど,廃墟4,自然6ぐらいだった 廃墟単体のクオリティは高かった 苔が良い 壁面の苔を削って文字を書く💩がいるらしく,名前がところどころに彫られていた クイズ QuizKnockとのコラボで,島内を探索することで解けるクイズ企画をやっていた クイズが書かれている紙は三笠ターミナルで500円で売っていた 自分は買わなかったが,友達が買ったので一緒に解いた 5問中3問は僕が解いたので感謝してほしい ちなみにクイズを解いても,達成感以外に特に得られるものはない 猿島に行かないと解けないが,クイズの内容自体は猿島とはそこまで関係なかった 昼食 カレーは重いなと思ったので,一人分を友人と分けた 追加でプライドポテト(フライドポテト)と唐揚げを買った 正直,味は普通 離島なので物価は高め フェリー(帰り) ダイヤ関係なく,着いたら客を乗せて出港のサイクルを30分間隔ぐらいで繰り返していた 後方で並んでる人が次の便で乗れないぐらいには人が多かった まとめ クオリティの高い廃墟が見れた もっと廃墟が密集してると思ってた 人が多かった BBQ目当ての大学生大所帯とか福江島 1日目https://ar.falsy.cat/blog/2023/0301-fukue-island/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/blog/2023/0301-fukue-island/概要 用事があって,東京から福江島へ行った 宿が神 3泊4日で3/4に東京へ帰還する予定 移動 出発地は東京 家→羽田空港→長崎空港→五島福江空港→宿 早朝に家を出て,昼に到着した 別に昼に到着するためにわざわざ早朝に家を出たのではなく, 1ヶ月前に航空機の予約を取ったので,安い便はほとんど早朝だっただけ 家→羽田空港 電車 遅延も事故もなかったので良かった 羽田空港→長崎空港 ANA メーデーでよくLCCが堕ちている感じがある(個人的に) 長崎空港→五島福江空港 小型のプロペラ機に乗った 到着地が雨で視界が悪かったため,条件付き(もしかしたら出発地に戻るかもしれない)運行だった 運良く到着地に無事着陸できた 五島福江空港→宿 宿の人が車で迎えに来てくれた 空港に着いてからタクシーを呼ぶ予定だった タクシー代が浮いた とてもありがたい 神 本当は今日までに免許を取っていたかったのだけど,2月にそんなスムーズに取れるはずもなかった 免許取れてたらレンタカーを借りる予定だった 宿 一日一組限定の一棟貸を一人で3泊借りるという暴挙に出たけれど,嫌な顔ひとつされなかった 上で言った通り,空港に向かえに来てさえくれた ほとんど素泊まり ご飯なし チェックアウトまで清掃もしてくれる感じではなさそう? 今のところ神 アメニティ,設備が揃ってる 最初はただの民家の鍵を渡されるだけかと思ってた ドライヤー,ヘアアイロン,髪につけるジェル,髭剃り,スキンケア関係も一通り揃ってた ボディスポンジが,舞浜のディズニーランド近くのホテルより性能良かった 水周りが綺麗 外見は築年数が経った民家っぽかったのであまり期待してなかった 想像以上に綺麗だった キッチンが使える まだ使ってないし使う予定はないけど,自炊もできる 魚釣って捌いて食べるってこともできるらしい 捌くのは外でやれって張り紙があった 食事 昼 Slow Cafe たゆたう 鬼岳バーガー 鬼岳は315m,バーガーは315gらしい 美味しかったけど綺麗な食べ方がわからない カフェラテがムンクの叫びになった 夜 Cafe EARTH 美味しかった 写真は撮ってない 猫 夜歩いてたらめっちゃ足にまとわりついてくる猫がいた 首輪してなかったので多分野良 暗かったのでうまく撮れなかった福江島 3日目https://ar.falsy.cat/blog/2023/0303-fukue-island/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/blog/2023/0303-fukue-island/概要 用事があって,東京から福江島へ行った 3泊4日の3日目 ( 1日目) 2日目は用事がメインで特に何もなかったので割愛 観光 五島観光歴史資料館 入場料300円 石器時代レベルの遺物から戦時中に将校が携帯していた刀まで展示してあった 堂崎教会 タクシーで行った 定期観光バスで予約なし乗車しようと思ったら,予約いっぱいでダメだった 運転手の人が他の教会にも連れて行ってくれた 入場料300円 中にはキリスト教に関係する資料や像が展示されていた 聖典の装丁が厨二っぽくてカッコよかった 館内は撮影禁止 食事 昼 1日目と同じく Slow Cafe たゆたうにて 鬼岳マグマチーズバーガー 相変わらず綺麗な食べ方がわからなかった 夜 キッチン さゆり 五島牛焼肉定食 猫 福江港を散歩してたら野良猫の集団に出会った ちょっと近づいても全然逃げない 1日目の猫といい,島の猫は人間に馴れている福江島 4日目 最終日https://ar.falsy.cat/blog/2023/0304-fukue-island/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/blog/2023/0304-fukue-island/概要 用事があって,東京から福江島へ行った 3泊4日の4日目 最終日 ( 1日目/ 3日目) 朝一で鬼岳に行って,その後帰投した 帰りはほとんど行きの行程の逆を踏んだだけなので割愛 鬼岳 朝7時半にタクシーを呼んで鬼岳まで行った 当初,鬼岳の大きさを過大評価しており,登るのは時間的に無理だろうと思い,行くのは諦めてた しかし, 昨日のタクシーの運転手の人に「飛行機11時出発でも,朝で鬼岳は十分回れるよ」と言われたので早起きした 1時間後にタクシーを予約して鬼岳を登った さすがに全部の道を辿る時間はなかった 無事1時間で下山できた 多分夏に行ったらWindows XP やっと 1日目と 3日目の昼食に食べたバーガーのモチーフとなった山に登ることができた 飛行機 自分が搭乗してる飛行機が地上で転回するという経験は初めてだったので滑走路の写真を撮った 最初加速したと思ったら減速し始めて,離陸失敗かと思った 転回のために滑走路端まで進んでただけだった タクシーの運転手曰く 五島福江の空港は滑走路が短いため大型機は離着陸ができない 故に東京直行便を作るのも難しいらしい 一応現地の議員が東京直行便を作ろうと頑張ってるらしい 猫 空港への帰り際にまた野良猫に会った 終 \ No newline at end of file diff --git a/indices/contentIndex.182b55303082704745d7efcf7d2d979a.min.json b/indices/contentIndex.182b55303082704745d7efcf7d2d979a.min.json new file mode 100644 index 0000000..9df5016 --- /dev/null +++ b/indices/contentIndex.182b55303082704745d7efcf7d2d979a.min.json @@ -0,0 +1 @@ +{"/":{"title":"HOME","content":"\n[ブログ](blog)兼[備忘録](note).arはarchiveの略.[著者](https://falsy.cat/)\n","lastmodified":"2023-06-23T12:15:56.803929216Z","tags":[]},"/blog/2023/0301-fukue-island":{"title":"福江島 1日目","content":"\n## 概要\n- 用事があって,東京から福江島へ行った\n- 宿が神\n- 3泊4日で3/4に東京へ帰還する予定\n\n## 移動\n- 出発地は東京\n- 家→羽田空港→長崎空港→五島福江空港→宿\n- 早朝に家を出て,昼に到着した\n\t- 別に昼に到着するためにわざわざ早朝に家を出たのではなく,\n\t- 1ヶ月前に航空機の予約を取ったので,安い便はほとんど早朝だっただけ\n\n### 家→羽田空港\n- 電車\n- 遅延も事故もなかったので良かった\n\n### 羽田空港→長崎空港\n- ANA\n\t- メーデーでよくLCCが堕ちている感じがある(個人的に)\n\n### 長崎空港→五島福江空港\n- 小型のプロペラ機に乗った\n\t- 到着地が雨で視界が悪かったため,条件付き(もしかしたら出発地に戻るかもしれない)運行だった\n\t- 運良く到着地に無事着陸できた\n\n### 五島福江空港→宿\n- 宿の人が車で迎えに来てくれた\n\t- 空港に着いてからタクシーを呼ぶ予定だった\n\t\t- タクシー代が浮いた\n\t\t- とてもありがたい\n\t\t- 神\n- 本当は今日までに免許を取っていたかったのだけど,2月にそんなスムーズに取れるはずもなかった\n\t- 免許取れてたらレンタカーを借りる予定だった\n\n## 宿\n- 一日一組限定の一棟貸を一人で3泊借りるという暴挙に出たけれど,嫌な顔ひとつされなかった\n\t- 上で言った通り,空港に向かえに来てさえくれた\n- ほとんど素泊まり\n\t- ご飯なし\n\t- チェックアウトまで清掃もしてくれる感じではなさそう?\n- 今のところ神\n\t- アメニティ,設備が揃ってる\n\t\t- 最初はただの民家の鍵を渡されるだけかと思ってた\n\t\t- ドライヤー,ヘアアイロン,髪につけるジェル,髭剃り,スキンケア関係も一通り揃ってた\n\t\t- ボディスポンジが,舞浜のディズニーランド近くのホテルより性能良かった\n\t- 水周りが綺麗\n\t\t- 外見は築年数が経った民家っぽかったのであまり期待してなかった\n\t\t- 想像以上に綺麗だった\n\t- キッチンが使える\n\t\t- まだ使ってないし使う予定はないけど,自炊もできる\n\t\t- 魚釣って捌いて食べるってこともできるらしい\n\t\t\t- 捌くのは外でやれって張り紙があった\n\n## 食事\n### 昼\n- [Slow Cafe たゆたう](https://tayutau510.com)\n- 鬼岳バーガー\n\t- 鬼岳は315m,バーガーは315gらしい\n- 美味しかったけど綺麗な食べ方がわからない\n- カフェラテがムンクの叫びになった\n\n![](blog/2023/0301-fukue-island/20230301_135616501..webp)\n![](blog/2023/0301-fukue-island/20230301_141621536..webp)\n\n### 夜\n- [Cafe EARTH](http://goto-earth.com)\n- 美味しかった\n- 写真は撮ってない\n\n## 猫\n- 夜歩いてたらめっちゃ足にまとわりついてくる猫がいた\n- 首輪してなかったので多分野良\n- 暗かったのでうまく撮れなかった\n\n![](blog/2023/0301-fukue-island/20230301_201257214..webp)\n![](blog/2023/0301-fukue-island/20230301_201322690..webp)","lastmodified":"2023-06-23T12:15:56.807929212Z","tags":["blog","travel","photo","gourmet","cat"]},"/blog/2023/0303-fukue-island":{"title":"福江島 3日目","content":"\n## 概要\n- 用事があって,東京から福江島へ行った\n- 3泊4日の3日目 ([1日目](blog/2023/0301-fukue-island))\n- 2日目は用事がメインで特に何もなかったので割愛\n\n## 観光\n### 五島観光歴史資料館\n- 入場料300円\n- 石器時代レベルの遺物から戦時中に将校が携帯していた刀まで展示してあった\n\n![五島観光歴史資料館](blog/2023/0303-fukue-island/20230303_144823.webp)\n\n### 堂崎教会\n- タクシーで行った\n\t- 定期観光バスで予約なし乗車しようと思ったら,予約いっぱいでダメだった\n\t- 運転手の人が他の教会にも連れて行ってくれた\n- 入場料300円\n- 中にはキリスト教に関係する資料や像が展示されていた\n\t- 聖典の装丁が厨二っぽくてカッコよかった\n\t- 館内は撮影禁止\n\n![堂崎教会](blog/2023/0303-fukue-island/20230303_155200.webp)\n\n![堂崎教会までの道](blog/2023/0303-fukue-island/20230303_155613.webp)\n\n## 食事\n### 昼\n- 1日目と同じく[Slow Cafe たゆたう](https://tayutau510.com)にて\n- 鬼岳マグマチーズバーガー\n\t- 相変わらず綺麗な食べ方がわからなかった\n\n![鬼岳マグマチーズバーガー](blog/2023/0303-fukue-island/20230303_130355783.webp)\n\n### 夜\n- [キッチン さゆり](https://goto.nagasaki-tabinet.com/restaurant/61866)\n- 五島牛焼肉定食\n\n![](blog/2023/0303-fukue-island/20230303_183608430.webp)\n\n## 猫\n- 福江港を散歩してたら野良猫の集団に出会った\n- ちょっと近づいても全然逃げない\n- [1日目](blog/2023/0301-fukue-island)の猫といい,島の猫は人間に馴れている\n\n![](blog/2023/0303-fukue-island/20230303_180521.webp)","lastmodified":"2023-06-23T12:15:56.807929212Z","tags":["blog","travel","photo","gourmet","cat"]},"/blog/2023/0304-fukue-island":{"title":"福江島 4日目 最終日","content":"\n## 概要\n- 用事があって,東京から福江島へ行った\n- 3泊4日の4日目 最終日 ([1日目](blog/2023/0301-fukue-island)/[3日目](blog/2023/0303-fukue-island))\n- 朝一で鬼岳に行って,その後帰投した\n- 帰りはほとんど行きの行程の逆を踏んだだけなので割愛\n\n## 鬼岳\n- 朝7時半にタクシーを呼んで鬼岳まで行った\n\t- 当初,鬼岳の大きさを過大評価しており,登るのは時間的に無理だろうと思い,行くのは諦めてた\n\t- しかし,[昨日](blog/2023/0303-fukue-island)のタクシーの運転手の人に「飛行機11時出発でも,朝で鬼岳は十分回れるよ」と言われたので早起きした\n- 1時間後にタクシーを予約して鬼岳を登った\n\t- さすがに全部の道を辿る時間はなかった\n\t- 無事1時間で下山できた\n- 多分夏に行ったらWindows XP\n- やっと[1日目](blog/2023/0301-fukue-island)と[3日目](blog/2023/0303-fukue-island)の昼食に食べたバーガーのモチーフとなった山に登ることができた\n\n![](blog/2023/0304-fukue-island/20230304_080357.webp)\n![](blog/2023/0304-fukue-island/20230304_080248.webp)\n![](blog/2023/0304-fukue-island/20230304_074625.webp)\n![](blog/2023/0304-fukue-island/20230304_074605.webp)\n\n## 飛行機\n- 自分が搭乗してる飛行機が地上で転回するという経験は初めてだったので滑走路の写真を撮った\n\t- 最初加速したと思ったら減速し始めて,離陸失敗かと思った\n\t- 転回のために滑走路端まで進んでただけだった\n- タクシーの運転手曰く\n\t- 五島福江の空港は滑走路が短いため大型機は離着陸ができない\n\t- 故に東京直行便を作るのも難しいらしい\n\t- 一応現地の議員が東京直行便を作ろうと頑張ってるらしい\n\n![](blog/2023/0304-fukue-island/20230304_111407.webp)\n\n## 猫\n- 空港への帰り際にまた野良猫に会った\n\n![](blog/2023/0304-fukue-island/20230304_094006.webp)\n\n終\n","lastmodified":"2023-06-23T12:15:56.811929207Z","tags":["blog","travel","photo","mountain","cat"]},"/blog/2023/0319-moving":{"title":"引っ越しをした","content":"\n- 4月から色々あるので引っ越しをした\n- 立地も治安も壁の厚さもとても良いところだった\n\n![旧自宅](blog/2023/0319-moving/room.webp)","lastmodified":"2023-06-23T12:15:56.811929207Z","tags":["blog","photo"]},"/blog/2023/0618-sarushima-island":{"title":"猿島へ行った","content":"\n## 概要\n- 猿島へ日帰り観光に行った\n- 人が多かった\n- 廃墟目当てだったが,そこまで廃墟はなかった\n\n## 行程\n- 京急線の横須賀中央駅から三笠ターミナルへ徒歩で15分\n- フェリーで猿島へ(10分)\n- 島内を観光\n- 島内で昼食\n- フェリー,電車で帰宅\n\n## フェリー(行き)\n- 土曜日午前11時台の便に乗った\n- 並んでる人が多かった\n\t- 次の便に乗れるのか不安になるぐらい\n\t- 並んでた人全員がギリギリ乗れた\n- 乗船時間は10分程度なので酔うこともなく無事到着\n\n![](blog/2023/0618-sarushima-island/DSC_0069.webp)\n\n![](blog/2023/0618-sarushima-island/DSC_0070.webp)\n\n## 観光\n- 写真を撮りながら適当に周った\n- フェリーの到着直後は入り口付近に人が多い\n\t- 写真を撮りたいなら時間をずらしたほうがいい\n\n![](blog/2023/0618-sarushima-island/DSC01320.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01327.webp)\n\n\n### 廃墟\n- もっと廃墟があるのかと思っていたけれど,廃墟4,自然6ぐらいだった\n- 廃墟単体のクオリティは高かった\n\t- 苔が良い\n\t\t- 壁面の苔を削って文字を書く💩がいるらしく,名前がところどころに彫られていた\n\n![](blog/2023/0618-sarushima-island/DSC01392.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01393.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01324.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01323.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01371.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01395.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01396.webp)\n\n### クイズ\n- QuizKnockとのコラボで,島内を探索することで解けるクイズ企画をやっていた\n- クイズが書かれている紙は三笠ターミナルで500円で売っていた\n- 自分は買わなかったが,友達が買ったので一緒に解いた\n\t- 5問中3問は僕が解いたので感謝してほしい\n- ちなみにクイズを解いても,達成感以外に特に得られるものはない\n- 猿島に行かないと解けないが,クイズの内容自体は猿島とはそこまで関係なかった\n\n## 昼食\n- カレーは重いなと思ったので,一人分を友人と分けた\n- 追加でプライドポテト(フライドポテト)と唐揚げを買った\n- 正直,味は普通\n- 離島なので物価は高め\n\n![](blog/2023/0618-sarushima-island/IMG_20230618_152924_584.webp)\n\n## フェリー(帰り)\n- ダイヤ関係なく,着いたら客を乗せて出港のサイクルを30分間隔ぐらいで繰り返していた\n- 後方で並んでる人が次の便で乗れないぐらいには人が多かった\n\n## まとめ\n- クオリティの高い廃墟が見れた\n- もっと廃墟が密集してると思ってた\n- 人が多かった\n\t- BBQ目当ての大学生大所帯とか","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["blog","photo","travel"]},"/note/chores/cooking-rice-with-saucepan":{"title":"片手鍋で米を炊く","content":"\n## 概要\n- 炊飯器が無くても米は炊ける\n- ただし火を使う間,22分程度拘束される\n\n## 手順\n1. 片手鍋で米(3合)を研ぐ\n2. 水(500ml)を入れる\n3. 蓋をして鍋ごと冷蔵庫で30分冷やす\n4. 蓋をしたまま中火で13分\n5. 弱火で3分\n6. とろ火で6分\n7. 火を消して蓋をしたまま10分放置\n\n## 補足\n- 冷やす時間は15分程度まで短縮しても良い\n\t- 短縮した場合は中火の時間も12分程度に縮める\n- 最後の放置が結構重要\n\t- 火を消した直後はまだべちゃべちゃしてる","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","chores","cooking","lifehack"]},"/note/chores/one-hand-egg-cracking":{"title":"卵を片手で割る手法の提案","content":"\n## Abstract\n- This paper proposes a method to crack eggs by one hand\n- The method can reduce cooking time and promote multi-tasking\n- No special appliance is needed\n- However accuracy of action is necessary to keep yolk unbroken\n\n## 概要\n- 調理の時短とマルチタスク促進のために卵を片手で割る手法を提案する\n- 本手法は一般家庭にある既存の器具のみで実行が可能\n- ただし黄身を割らないためには繊細な動作が要求される\n\n## 背景\n- 左手でゴミ袋を持ちながら右手で卵を割ると非常に時短になる\n- 特に調理プロセスのなかで一度に複数の卵が関与する場合に著しい時短効果が得られる\n- [先行研究](https://gourmet-note.jp/posts/15029)の手法では調理対象に殻が混入してしまうことが多い\n\n## 手法\n1. 卵をフォークボールを投げる時のように持つ\n\t- 鋭端が人差し指と中指の間に来るように持つ\n\t- 鈍端を親指と薬指で支える\n2. 皿の淵で卵の殻に割れ目を作る\n\t- 卵の鋭端と鈍端を結ぶ線分の垂直二等分線が皿の淵と重なるように腕を何回か振り下ろす\n\t- 皿を卵の直径の$\\frac{1}{4}$程度まで食い込ませる\n\t- 卵を皿に押し付けて真っ二つにするイメージ\n\t- ここで皿を食い込ませすぎると黄身が割れる原因になる\n3. 人差し指の付け根で割れ目の裏側を押し出す\n\t- 人差し指,中指,親指,薬指で卵をしっかりと支えておく\n\n## 評価実験\n- 本手法を用いて鶏卵2個を割った\n- 1個は黄身が割れたが,1個は割れなかった\n- 卵の殻が調理対象に混入することはなかった\n\n## まとめ\n- 卵を片手で割る手法を提案した\n- 本手法では50%の確率で黄身が割れる\n- [先行研究](https://gourmet-note.jp/posts/15029)の手法と異なり,卵の殻が混入する確率は低い\n- 今後の課題として,黄身が割れる確率を抑えることが挙げられる\n- 理論上,左右両方の手で同時に2個の卵を割ることでさらなる効率化を図れる","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","chores","cooking","lifehack"]},"/note/info-tech/c-cpp-sanitizer":{"title":"C/C++のsanitizerの使い方","content":"\n## 概要\n- バグを検知するコードを埋め込むための,sanitizerと呼ばれる機能がある\n- このページではsanitizerの使い方を説明する\n\n## 使い方\n\n### コンパイル時にsanitizerを埋め込む\n- 種類ごとにオプションが異なる\n- XXXにはSanitizer名をカンマ区切りで羅列する\n\t- 代表的なSanitizer名については後述\n\n```bash\ng++ -fsanitizer=XXX a.cc\ngcc -fsanitizer=XXX a.c\n```\n\n#### 代表的なSanitizer\n- [ここ](https://gcc.gnu.org/onlinedocs/gcc/Instrumentation-Options.html)で`-fsanitizer=`を検索すると一覧が見れる\n- `thread`は`address`や`undefined`と同居できない\n\n|名前|説明|\n|:--|:--|\n|`address`|[Address Sanitizer](https://github.com/google/sanitizers/wiki/AddressSanitizer)|\n|`undefined`|[Undefined Behavior Sanitizer](https://clang.llvm.org/docs/UndefinedBehaviorSanitizer.html)|\n|`thread`|[Thread Sanitizer](https://github.com/google/sanitizers/wiki#threadsanitizer)|\n\n### 実行時にsanitizerの挙動を指定する\n- sanitizerが埋め込まれたバイナリに対して,実行時に,sanitizerの挙動を環境変数で指定することができる\n- 詳細は各sanitizerの説明ページを参照\n\n## 所感\n- `thread`が強すぎる\n\t- `thread`は実際に[Nf7](https://git.falsy.cat/nf7/nf7)のデバッグで使ってる\n\t\t- sanitizerがなければ気づけなかったcondition raceがかなりあった\n\t\t\t- 格好つけてロックフリーで書いたせい\n- `thread`が`address`や`undefined`と一緒に使えないのが痛い\n\t- どちらともを使うには,`thread`でビルド,テストした後に,オプションを変えてビルドし直し,同じテストを実行しなければならない","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","info-tech","development","programming-language","howto"]},"/note/info-tech/dart":{"title":"dart言語","content":"\n## 概要\n- Google製プログラミング言語\n- [flutter](note/info-tech/flutter.md)のための言語\n- 日本語資料少なめ\n- オブジェクト指向\n\n## 特徴\n- undefined behaviorは無い\n- Null safety\n\t- 型名に?を付ければNull許容型になる\n\t- Null許容型に対してはNullチェックをしないとコンパイラがキレる\n- 整数値以外は参照型\n- GC(mark \u0026 sweep)搭載\n\t- デストラクタは無さそう,そもそもmark \u0026 sweepでデストラクタは信頼できない\n- コンストラクタが書きやすい\n\t- わざわざメンバ変数と同じ名前の引数を書いて,代入して,,,ということをしなくてもいい\n- 静的解析が強め\n\n## 文法\n- 大体は既存のやつと同じ\n- 文末セミコロン必須\n- 関数呼び出しの実引数リストでもケツカンマ許容\n\n### 変数修飾子\n- 型が自明な場合,型名は省略できる\n\t- 省略できる場合は省略することが推奨される\n\n```dart\n// コンパイル時定数\nconst int x = 0;\nconst x = 0;\n\n// 再代入不可能変数\nfinal int x = 0;\nfinal x = 0;\n\n// 再代入可能変数\nvar int x = 0;\nvar x = 0;\n\n// 遅延初期化変数\nlate int x;\nlate final int x;\n```\n\n#### final: 再代入不可能変数\n- 値型の変数に対しては,値の変更を禁止する\n- 参照型の変数に対しては,参照先の変更のみを禁止する\n- dartでは,参照先のオブジェクトの変更を禁止することはできない\n\n#### late: 遅延初期化\n- 変数の初期化を遅延させることができる\n- 実質的にはNull safetyの無いNull許容型\n- `late final`修飾子によって複数回の代入をコンパイルエラーにできる\n\t- ただし静的解析の精度は微妙なので,絶対に2回目の代入ができなくなるわけではない\n\n### Null safety\n- Null許容型に対しては,Nullを扱いやすくするための演算子が使える\n- 関数の中で,変数に対して一度nullチェックをした場合,以降,その変数はNull許容型でないものとして扱える\n```dart\n(T? x) {\n x ?? T(); // x が null ならば 0 それ以外ならば T()\n x?.method(); // x が null ならば methodを呼ばずnullを返す それ以外ならば methodを呼ぶ\n x!.method(); // x が nullでない ことを前提として methodを呼ぶ(実行時にnullだった場合runtime error)\n};\n(T? x) {\n if (x == null) {\n return;\n }\n x.method(); // x!.method(); とする必要がない\n};\n(T? x) {\n x.method(); // Nullチェックしてないのでコンパイルエラー\n};\n```\n\n### コンストラクタ\n- C++と比べてかなり書きやすい\n\n```dart\nclass A {\n final int x;\n final int y;\n final int z;\n\n A(this.x, this.y, this.z);\n A(this.x, {required this.y, this.z = 1});\n A.empty() :\n this.x = 0, this.y = 0, this.z = 0;\n}\n\nvoid main() {\n final a1 = A(0, 1, 2);\n final a2 = A(0, y: 1);\n final a3 = A.empty();\n}\n```\n","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","info-tech","development","programming-language"]},"/note/info-tech/flutter":{"title":"flutter","content":"\n## 概要\n- マルチプラットフォーム GUIアプリケーション フレームワーク\n\t- iOS/Android,Web,Windows/Linux/Mac,組み込み\n- Google製\n- 使用言語はDart\n\n## インストール\n### Arch Linux\n\n- [install-archlinux](note/info-tech/install-archlinux.md)の直後から,`flutter doctor`がオールグリーンになるまで\n- 1時間ぐらいは覚悟したほうがいい\n- 特にandroid-studioがクソでかいので[qemu](note/info-tech/qemu)イメージのリサイズをする羽目になった\n- [参考文献](https://dev.to/nabbisen/flutter-3-on-arch-linux-shi-mefang-1m2j)\n- 追記: [qemu](note/info-tech/qemu)上だとパフォーマンスがゴミすぎてまともに使えなかった X(\n\t- ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた\n\n#### 手順\n1. 依存のインストール\n```bash\npacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium\nvisudo # いい感じに設定 \u0026 リログ\n\ngit clone https://aur.archlinux.org/flutter.git\ncd flutter\nmakepkg -sci # JDKはデフォルトを選択\ncd ..\n\ngit clone https://aur.archlinux.org/android-studio.git\ncd android-studio\nmakepkg -sci\ncd ..\n\nusermod -aG flutterusers user # 設定後にリログ\n```\n\n2. Android Studioの設定\n\t1. 初期設定は適当に\n\t2. Android StudioからFlutterプラグインをインストール&再起動\n\t3. Flutterプロジェクトを作成\n\t\t- flutter SDKのパス設定を忘れずに (`/opt/flutter`)\n\t4. `Android SDK Command line tools`をインストール\n\n3. flutter doctor\n```bash\nexport CHROME_EXECUTABLE=chromium # 必要なら永続化する\ngit config --global --add safe.directory /opt/flutter\nflutter doctor --android-licenses\nflutter doctor # 完了\n```\n\n\n## 感想\n- メジャーバージョンが同じでも後方互換性は乏しい\n\t- 過去のプロジェクトをビルドしようとしてもよくわからないエラーが大量に出てくる","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","info-tech","development","software","library"]},"/note/info-tech/install-archlinux":{"title":"ArchLinuxのインストール","content":"\n## 概要\n- [ArchLinux](https://archlinux.org)のインストール手順を記録する\n- Live Environmentの起動方法については触れない\n\n\u003c!-- more --\u003e\n\n## 前提\n- [qemu](note/info-tech/qemu.md)上の仮想マシン\n- BIOS\n- GPT\n- x86_64\n- デュアルブートなし\n- できるだけシンプル,ミニマリスティックに\n\n## 手順\n### 1. 事前準備\n\n```bash\nloadkeys jp106 # キーボード設定\nping google.com # インターネット疎通確認\ntimedatectl status # 時間の確認 (この時点ではUTC)\n```\n\n### 2. パーティショニング\n```bash\ncfdisk /dev/sda # 先頭1MiBをBIOS bootに,残りをLinuxに設定\nmkfs.ext4 /dev/sda1 # フォーマット\nmount /dev/sda1 /mnt # /mntへマウント\n```\n\n### 3. インストール\n```bash\nvim /etc/pacman.d/mirrorlist # 日本のmirrorを指定しておく\npacstrap -K /mnt base linux linux-firmware vim grub dhcpcd # Wi-Fiで10分くらい\n```\n\n- 執筆時点で有効な日本のmirror\n\t- `http://mirrors.cat.net/archlinux/$repo/os/$arch`\n\t- `https://mirrors.cat.net/archlinux/$repo/os/$arch`\n\n### 4. 初期設定\n```bash\ngenfstab -U /mnt \u003e\u003e /mnt/etc/fstab\narch-chroot /mnt # 以下仮想rootで作業\n```\n#### 時計関係\n```bash\nln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime # TZを東京に\nhwclock --systohc\n```\n\n#### 言語関係\n- `/etc/locale.gen`を編集して,`en_US.UTF-8 UTF-8`をアンコメント\n- `locale-gen`\n- `/etc/locale.conf`を作成して`LANG=en_US.UTF-8`を追記-\n- `/etc/vconsole.conf`を作成して`KEYMAP=jp106`を追記\n\n#### カスタマイズ\n- `/etc/hostname`にホスト名を設定\n- `passwd`でrootパスワードを設定\n- `systemctl enable dhcpcd`\n\n#### ブートローダのインストール\n```bash\ngrub-install --target=i386-pc /dev/sda\ngrub-mkconfig -o /boot/grub/grub.cfg\n```\n\n以上.","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","info-tech","linux","howto"]},"/note/info-tech/obsidian":{"title":"Obsidianについて","content":"\n[公式サイト](https://obsidian.md)\n\n## 概要\n- オフラインのwikiっぽいもの(=Vault)\n- 記法はmarkdown\n- Vaultは全てローカルに保存される\n\n## インストール\n- [公式サイト](https://obsidian.md)に各OSのインストーラが揃ってる\n- Macでは`brew install obsidian`ができる\n\n## いいところ\n- シンプルでスタイリッシュなデザイン\n- 完全ローカルなので高セキュリティ\n- 数式が使える $E=mc^2$\n\n## わるいところ\n- 完全ローカルなので同期が課題\n\t- Vaultが巨大になるほど同期コストも増加\n- Macにて,エディタ上のリアルタイムプレビューとIMEが競合して日本語が正常に入力できないことがある\n\n## 所感\n- ar.falsy.catの記事書くのに使っている\n- WebDAVなどのファイルサーバー上にあるVaultを,全体をダウンロードせずに開けるようになれば素晴らしい","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","info-tech","tool"]},"/note/info-tech/pleroma":{"title":"Pleroma","content":"\n## 概要\n- ActivityPubに対応したlightweight(自称)なSNS\n- 単体で見るとlightweightには思えないけど,mastodonと比べたら確かにlightweight\n\n## DB肥大化問題\n- 長期間Pleromaを稼働させ続けると,DBのレコード数がやばいことになる\n- DBのレスポンスがくそ長くなり,最終的にタイムアウトで500になる\n- オブジェクトの寿命とか設定してみたけど特に意味はなかった\n\n### 解決法\n- ローカルアカウントそれ自体の情報以外の情報を削除する\n- pleromaを停止して,postgresで次のSQLを実行する\n\t- 自動化しても良いかもしれない\n- 追記: **フォロー/フォロワー情報も削除されてしまったので改善が必要!!!**\n```SQL\nTRUNCATE TABLE activities CASCADE; # 全アクティビティの削除\nDELETE FROM users WHERE not local; # 全リモートユーザーの削除\nVACUUM FULL;\nVACUUM ANALYZE;\n```","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","info-tech","web"]},"/note/info-tech/publish-obsidian-by-quartz":{"title":"ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築","content":"\n## 概要\n- [Quartz](https://github.com/jackyzha0/quartz)で[Obsidian](note/info-tech/obsidian.md)のVaultを公開する\n- 「*セカンドブレインデジタルガーデン*」という御大層な言葉は[Quartz](https://github.com/jackyzha0/quartz)の紹介文からの引用\n\n\u003c!--more--\u003e\n\n## 初期設定\n1. [Quartz](https://github.com/jackyzha0/quartz)をforkする\n2. GitHub Actionsを有効化\n3. repoの設定で`workflow permission`を`read and write permissions`へ変更\n\t- これしないとdeployに失敗する\n4. repoをローカルにclone\n5. `data/config.yaml`をいい感じに編集\n\t- `author`など\n6. `config.toml`をいい感じに編集\n\t- `baseURL`など\n7. pushする\n8. deployが終わったらGitHub Pagesのドメイン設定をする\n\n## 記事の執筆\n1. ローカルrepoの`content/`ディレクトリをVaultとしてObisidianで開く\n\t- `content/templates/`は弄ってはいけない\n2. 記事を書く\n3. pushする\n\n## ローカルプレビュー\n- dockerがあれば,リポジトリrootで`make docker`すれば`localhost:1313`にアクセスできる\n- `Makefile`の`docker`ターゲットのコマンドを下のように置き換えることで次の問題が解決できる\n\t- Ctrl+Cでサーバーが終了しない\n\t- `make docker`する度にゴミコンテナが残る\n```bash\ndocker run -it --init --name quartz-preview --volume=$(shell pwd):/quartz -p 1313:1313 ghcr.io/jackyzha0/quartz:hugo; docker rm quartz-preview\n```\n\n## カスタマイズ\n\n### Recent Notesの表示数を変更する\n1. `layouts/partials/recent.html`の`first 3 $notes`を変更する\n\n### トップページにグローバルグラフを表示する\n1. `data/graphConfig.yaml`の`enableGlobalGraph`を`true`にする\n\n### 記事にRelated Notesを表示する\n1. `layouts/partials/recent.html`を作成\n2. `layouts/_default/single.html`の好きな位置に`{{partial \"related.html\" .}}`を挿入\n3. `i18n/en.toml`に`related_notes`の翻訳を追加\n\nlayouts/partials/recent.html\n```html\n\u003cdiv class=\"content-list\"\u003e\n \u003ch2\u003e{{ i18n \"related_notes\" }}\u003c/h2\u003e\n {{$notes := .Site.RegularPages.Related .}}\n {{partial \"page-list.html\" (first 3 $notes)}}\n\u003c/div\u003e\n```\n\n## 所感\n- 扱いやすい[Obsidian](note/info-tech/obsidian.md)で執筆して,[Quartz](https://github.com/jackyzha0/quartz)でいい感じに公開ができた\n- 執筆のためにリポジトリをcloneしなければならないため,記事数が増えた時の複数PCの同期コストが問題になりそう\n\t- ブランチ分けてPullRequest活用すれば解決する?\n\t\t- 記事書くたびにPR作るのはクソめんどくさそう","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","info-tech","web","tool","howto"]},"/note/info-tech/qemu":{"title":"qemu","content":"\n## 概要\n- コマンドラインベースのVirtualBoxと思っている\n- 今のところM2チップのMacbook ProでLinuxを使うための最善手\n\t- M1/M2向けVirtualBoxはまだ開発者プレビューしかなく,まともに使えなかった\n\n\u003c!--more--\u003e\n\n## インストール\n\n### Mac\n```bash\n$ brew install qemu\n```\n- ハードウェアアクセラレーションが有効化されている他のビルドもあるらしいが未検証\n\t- 今後GPU使いたくなったら検証予定\n\n## コマンド逆引き\n\n### ディスクイメージの作成\n```bash\nqemu-img create -f qcow2 sda.qcow2 16G\n```\n\n### ディスクイメージのリサイズ\n```bash\n# ホストOSで実行\nqemu-img resize sda.qcow2 +16G\n\n# ゲストで実行\ncfdisk /dev/sda # いい感じに\ne2fsck -f /dev/sda2\nresize2fs /dev/sda2\n```\n\n### archのlive cdを起動\n```bash\nqemu-system-x86_64 \\\n -m 4G \\\n -cdrom ../iso/archlinux-2023.02.01-x86_64.iso \\\n sda.qcow2\n```\n- [関連: ArchLinuxのインストール方法](note/info-tech/install-archlinux.md)","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","info-tech","tool","virtualization"]},"/note/study/statistics/hypothesis-test":{"title":"仮説検定","content":"\n## 概要\n- 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き\n- 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である\n- 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する\n\n## 検定手順\n1. 帰無仮説を仮定する\n2. 帰無仮説のもとで検定したい事象が発生する確率$p$を求める\n3. $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する\n\n## 結論に生じうる誤り\n- 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう\n\t- 発生確率=有意確率\n\t- 発生確率を設定できる\n- 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう\n\t- 発生確率は不明\n\t- 発生確率を設定できない\n- 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ)\n\t- 大体の場合で5%\n\t- 第一種の誤りが許されない場面(医療など)では1%\n\n## 例\n- コイントスを10回やって7回表が出た.コイントスは公平か?\n\t- 7回表が出る確率は$\\frac{1}{2^{10}} \\cdot {}_{10} \\mathrm{C}_7=0.12$\n\t- $0.12\u003e0.10$より有意水準10%で帰無仮説は棄却されない\n\t\t- コイントスは**公平である**\n\t\t- 12%で起こりうることが起きた,帰無仮説が正しい場合は普通のこと,つまり,帰無仮説は正しい\n\t\t- この結論は第二種の誤りである可能性がある\n\t- $0.12\u003c0.15$より有意水準15%で帰無仮説は棄却される\n\t\t- コイントスは**公平でない**\n\t\t- 12%で起こりうることが起きた,帰無仮説が正しい場合は奇跡に近い,つまり,帰無仮説は間違いだ\n\t\t- この結論は12%の確率で第一種の誤りである可能性がある\n\n## 注意点\n- 自分の望む結果を得るために,検定の途中で有意水準を作為的に操作してはならない\n\t- 有意水準は必ず有意確率を求める前に定めなければならない","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","study","statistics"]},"/note/study/statistics/hypothesis-test-multiplicity":{"title":"仮説検定の多重性問題","content":"\n## 概要\n- 結論に複数の[仮説検定](note/study/statistics/hypothesis-test.md)の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある\n- 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない\n\n## 不確実な情報による結論の不確実性\n- **第一種の過誤のみを考慮した場合**,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである\n\t- $P_1\\cup P_2\\cup \\dots \\cup P_n\\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\\overline{Q}$である確率は$1-(1-e)^n$である\n\t- 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる\n- ただし,実際には**第二種の過誤も存在する**\n\t- 有意水準を小さくすれば結論が第二種の過誤である確率は増加する\n- 以上より,多重検定は非常によろしくない\n\t- 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける\n\t\t- 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから\n\n## Holm法による有意水準の調整\n多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う.\n\n### 手法\n$N$個の検定による多重検定の有意水準を$\\alpha$としたとき,Holm法による有意水準の調整を次のように行う.\n\n1. 各検定の有意確率をソート\n2. $i=0$とする\n3. 結論が未確定の検定のうち,最も有意確率が小さいものについて,その有意確率を$x$としたとき,\n\t- $x \u003c \\frac{\\alpha}{N-i}$ ならば,その検定を棄却\n\t- $x \u003e p$ ならば,結論が未確定の検定すべて(その検定を含む)を受容し,終了\n4. $i$に1を足して,\n\t- $i\u003cN$ ならば,3へ戻る\n\t- それ以外ならば,終了\n\n## まとめ\n- 多重検定は避けるべき\n- どうしても必要なら有意水準の補正が必要\n- 有意水準の補正にはHolm法が有効","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","study","statistics"]},"/note/study/statistics/hypothesis-test-parametric":{"title":"パラメトリック検定とノンパラメトリック検定","content":"\n## 概要\n- [仮説検定](note/study/statistics/hypothesis-test.md)におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である\n- 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である\n\n## パラメトリック検定\n- 母集団がある特定の分布であると事前に仮定する検定\n\t- ノンパラメトリック検定に比べて,計算が楽\n\t\t- 手計算はこっちの方が嬉しい\n\t- 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い\n- 事前検定で母集団の仮定を検証するのはやめた方がいい(後述)\n\n## ノンパラメトリック検定\n- 母集団の分布を仮定しない検定\n\t- 計算がめんどくさい\n\t\t- サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬\n\t- 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない\n\n## 事前検定\n- 欲しい結果を得る検定の前に行われる検定のこと\n\t- [多重検定](note/study/statistics/hypothesis-test-multiplicity.md)の問題を孕む\n\t\t- 個人的には,大抵の場合において事前検定は愚行だと思っている\n- 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる\n\t- 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う\n\t- 大人しくノンパラメトリック検定を使うべき\n\t- そもそもコンピュータ使えば計算コストは無視できる\n\n## まとめ\n- 仮説検定は2つに分けられる\n\t- パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定\n\t- ノンパラメトリック検定: それ以外の検定\n- パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","study","statistics"]},"/note/word-play/japanese-text-all-stars":{"title":"国語教科書オールスターズ","content":"\n## 概要\n- 今までの国語の教科書に出てきた忘れられない奴等を忘れないために記録しておく\n\n\u003c!--more--\u003e\n\n## 小学校\n- さるのだいじなかぎのたば\n\t- 小学一年生の一番最初の単元だった気がする\n- *タイトル不明 要調査*\n\t- 木を描くやつ\n- アップとルーズで捉える\n\n## 中学校\n- かまきりりゅうじ\n\t- 「おれはかまきり」\n- いろは歌\n\t- 「いろはにほへと ちりぬるを わかよたれそ つねならむ ういのおくやま けふこえて あさきゆめみし えひもせすん」\n\t\t- 未だに空で書けた\n\t\t- 一人ずつ立って暗唱させられた記憶がある\n- *タイトル不明 要調査*\n\t- 「えんびふらい」\n- *タイトル不明 要調査*\n\t- 月の起源についての説明文\n- *タイトル不明 要調査*\n\t- ルロイ修道士「問題の細分化」\n\t- 月月火水木金金\n- 少年の日の思い出\n\t- エーミール「そうかそうか,つまりきみはそういうやつなんだな」","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","word-play","lifehack"]},"/note/word-play/proof-of-reality-using-lucid-dream":{"title":"明晰夢を利用した現実の証明","content":"\n## 概要\n- 今の意識が現実であることを証明する手法を論理的に導く\n- ただの言葉遊びなので哲学的な何かは期待しないでほしい\n\n## 前提\n- ここでは次の前提のもと議論を進める\n\t- 夢を見ていることを自覚している夢を見ている,ならばかつその時に限り,明晰夢を見ている\n\t- 明晰夢を見ている,ならば,全てが思い通りになる\n\t- 夢でないならば現実である\n- 証明は次の定義の元で行う\n\t- 状況$A$: 夢を見ている\n\t- 状況$B$: 夢を見ていることを自覚している\n\t- 状況$C$: 明晰夢を見ている\n\t- 状況$D$: 全てが思い通りである\n- 証明の最終的な目標は$X\\implies \\overline{A}$を導くことである\n\n## 証明\n1. 前提より\n\t- $P_1: A\\cap B\\iff C$\n\t- $P_2: C \\implies D$\n2. $P_1,P_2$より,三段論法を用いて\n\t- $P_3: A \\cap B \\implies D$\n3. $P_3$の対偶より\n\t- $P_4: \\overline{D}\\implies \\overline{A\\cap B}$\n4. $P_4$より,ド・モルガンの公式を用いて\n\t- $P_5: \\overline{D}\\implies \\overline{A} \\cup \\overline{B}$\n5. $B$は意図的に真にできるため,$P_5$より\n\t- $\\overline{D}\\cap B \\implies \\overline{A}$\n\n## 結論\n- 事前に夢を見ていることを自覚している,かつ,思い通りにならないことが存在する,ならば,それは現実である\n- ただし,この手法では全ての現実を証明できるとは言えないことに留意されたい","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","word-play","lifehack"]},"/note/word-play/two-lolita-devils-and-chess-board":{"title":"2人の幼女と悪魔とチェス盤","content":"\n## 概要\n- 「2人の幼女とチェス盤の部屋」という次のような論理問題を解説する\n\t- 以下の手順の後,幼女Bが任意の整数$x\\left(0\\leq x\u003c64\\right)$を求められるようにするには,幼女Aはどのような操作を行うべきか\n\t\t1. 悪魔が8x8チェス盤の各マスに1個ずつ,合計0個以上64個以下のポーンをランダムに配置する\n\t\t2. 悪魔は幼女Aにチェス盤を見せ,任意の数字$x\\left(0\\leq x\u003c64\\right)$を伝える\n\t\t3. 幼女Aは,チェス盤に対して次のいずれかの操作のうち可能であるものを1回だけ必ず行う\n\t\t\t- 任意のマスからポーンを1個だけ取り除く\n\t\t\t- 任意のマスにポーンを1個だけ追加する\n\t\t4. 悪魔は幼女Bにチェス盤を見せる\n\n## 問題の簡潔化\n- $f(g(b,x))=x$とできるような写像$f,g$を求めよ\n\t- $B=\\left\\\\{0,1\\right\\\\}$\n\t- $b\\in B^{64}$\n\t- $x\\in B^6$\n\t- $f: B^{64} \\rightarrow B^6$\n\t- $g: B^{64} \\times B^6\\rightarrow B^{64}$\n\t\t- $b$と$g(b,x)$は1ビットだけ異なる\n\n## 解答\n- $f(b)=f_0\\oplus f_1\\oplus f_2 \\oplus \\dots \\oplus f_{63} \\quad\\left(f_i=i b_i\\right)$\n- $b'=g(b,x) \\implies b'_m \\neq b_m\\quad\\left(m=x\\oplus f(b)\\right)$\n- [チェス盤が16x16の場合のプログラム](https://wandbox.org/permlink/XLo1pGURvrU4Y4Jj)\n\n## 解説\n- $x=f(b)\\oplus m$となるような$m\\in B^6$は必ず存在する\n- 盤面の各マスに$m$の値を割り当てることで,1マスの操作だけで$m$を表現できる\n\t- 盤面のマス目の数も,$m$がとりうる値の数も64\n\t- $f(g(b,x))=f(b)\\oplus m=f(b)\\oplus f\\_m\\oplus m(1-b\\_m)$\n\n## 応用\n- 長さ$2^N$の任意のビット列について,任意の1ビットだけを反転させることで,長さ$N$のビット列を表現できる\n\n## 参考文献\n- [# 超難問論理クイズ「2人の幼女とチェス盤の部屋」が本当に難しすぎた - 明日は未来だ!](https://sist8.com/chess2you)\n- [幼女問題まとめ - GItHub Gist](https://gist.github.com/catupper/5678658)\n- [Impossible Escape? - DataGenetics](http://datagenetics.com/blog/december12014/index.html)","lastmodified":"2023-06-23T12:15:56.815929203Z","tags":["note","word-play"]}} \ No newline at end of file diff --git a/indices/contentIndex.6feccb9f813ee39cbd7491c75e60febb.min.json b/indices/contentIndex.6feccb9f813ee39cbd7491c75e60febb.min.json deleted file mode 100644 index a2f24de..0000000 --- a/indices/contentIndex.6feccb9f813ee39cbd7491c75e60febb.min.json +++ /dev/null @@ -1 +0,0 @@ -{"/":{"title":"HOME","content":"\n[ブログ](blog)兼[備忘録](note).arはarchiveの略.[著者](https://falsy.cat/)\n","lastmodified":"2023-06-18T08:25:53.578786274Z","tags":[]},"/blog/2023/0301-fukue-island":{"title":"福江島 1日目","content":"\n## 概要\n- 用事があって,東京から福江島へ行った\n- 宿が神\n- 3泊4日で3/4に東京へ帰還する予定\n\n## 移動\n- 出発地は東京\n- 家→羽田空港→長崎空港→五島福江空港→宿\n- 早朝に家を出て,昼に到着した\n\t- 別に昼に到着するためにわざわざ早朝に家を出たのではなく,\n\t- 1ヶ月前に航空機の予約を取ったので,安い便はほとんど早朝だっただけ\n\n### 家→羽田空港\n- 電車\n- 遅延も事故もなかったので良かった\n\n### 羽田空港→長崎空港\n- ANA\n\t- メーデーでよくLCCが堕ちている感じがある(個人的に)\n\n### 長崎空港→五島福江空港\n- 小型のプロペラ機に乗った\n\t- 到着地が雨で視界が悪かったため,条件付き(もしかしたら出発地に戻るかもしれない)運行だった\n\t- 運良く到着地に無事着陸できた\n\n### 五島福江空港→宿\n- 宿の人が車で迎えに来てくれた\n\t- 空港に着いてからタクシーを呼ぶ予定だった\n\t\t- タクシー代が浮いた\n\t\t- とてもありがたい\n\t\t- 神\n- 本当は今日までに免許を取っていたかったのだけど,2月にそんなスムーズに取れるはずもなかった\n\t- 免許取れてたらレンタカーを借りる予定だった\n\n## 宿\n- 一日一組限定の一棟貸を一人で3泊借りるという暴挙に出たけれど,嫌な顔ひとつされなかった\n\t- 上で言った通り,空港に向かえに来てさえくれた\n- ほとんど素泊まり\n\t- ご飯なし\n\t- チェックアウトまで清掃もしてくれる感じではなさそう?\n- 今のところ神\n\t- アメニティ,設備が揃ってる\n\t\t- 最初はただの民家の鍵を渡されるだけかと思ってた\n\t\t- ドライヤー,ヘアアイロン,髪につけるジェル,髭剃り,スキンケア関係も一通り揃ってた\n\t\t- ボディスポンジが,舞浜のディズニーランド近くのホテルより性能良かった\n\t- 水周りが綺麗\n\t\t- 外見は築年数が経った民家っぽかったのであまり期待してなかった\n\t\t- 想像以上に綺麗だった\n\t- キッチンが使える\n\t\t- まだ使ってないし使う予定はないけど,自炊もできる\n\t\t- 魚釣って捌いて食べるってこともできるらしい\n\t\t\t- 捌くのは外でやれって張り紙があった\n\n## 食事\n### 昼\n- [Slow Cafe たゆたう](https://tayutau510.com)\n- 鬼岳バーガー\n\t- 鬼岳は315m,バーガーは315gらしい\n- 美味しかったけど綺麗な食べ方がわからない\n- カフェラテがムンクの叫びになった\n\n![](blog/2023/0301-fukue-island/20230301_135616501..webp)\n![](blog/2023/0301-fukue-island/20230301_141621536..webp)\n\n### 夜\n- [Cafe EARTH](http://goto-earth.com)\n- 美味しかった\n- 写真は撮ってない\n\n## 猫\n- 夜歩いてたらめっちゃ足にまとわりついてくる猫がいた\n- 首輪してなかったので多分野良\n- 暗かったのでうまく撮れなかった\n\n![](blog/2023/0301-fukue-island/20230301_201257214..webp)\n![](blog/2023/0301-fukue-island/20230301_201322690..webp)","lastmodified":"2023-06-18T08:25:53.578786274Z","tags":["blog","travel","photo","gourmet","cat"]},"/blog/2023/0303-fukue-island":{"title":"福江島 3日目","content":"\n## 概要\n- 用事があって,東京から福江島へ行った\n- 3泊4日の3日目 ([1日目](blog/2023/0301-fukue-island))\n- 2日目は用事がメインで特に何もなかったので割愛\n\n## 観光\n### 五島観光歴史資料館\n- 入場料300円\n- 石器時代レベルの遺物から戦時中に将校が携帯していた刀まで展示してあった\n\n![五島観光歴史資料館](blog/2023/0303-fukue-island/20230303_144823.webp)\n\n### 堂崎教会\n- タクシーで行った\n\t- 定期観光バスで予約なし乗車しようと思ったら,予約いっぱいでダメだった\n\t- 運転手の人が他の教会にも連れて行ってくれた\n- 入場料300円\n- 中にはキリスト教に関係する資料や像が展示されていた\n\t- 聖典の装丁が厨二っぽくてカッコよかった\n\t- 館内は撮影禁止\n\n![堂崎教会](blog/2023/0303-fukue-island/20230303_155200.webp)\n\n![堂崎教会までの道](blog/2023/0303-fukue-island/20230303_155613.webp)\n\n## 食事\n### 昼\n- 1日目と同じく[Slow Cafe たゆたう](https://tayutau510.com)にて\n- 鬼岳マグマチーズバーガー\n\t- 相変わらず綺麗な食べ方がわからなかった\n\n![鬼岳マグマチーズバーガー](blog/2023/0303-fukue-island/20230303_130355783.webp)\n\n### 夜\n- [キッチン さゆり](https://goto.nagasaki-tabinet.com/restaurant/61866)\n- 五島牛焼肉定食\n\n![](blog/2023/0303-fukue-island/20230303_183608430.webp)\n\n## 猫\n- 福江港を散歩してたら野良猫の集団に出会った\n- ちょっと近づいても全然逃げない\n- [1日目](blog/2023/0301-fukue-island)の猫といい,島の猫は人間に馴れている\n\n![](blog/2023/0303-fukue-island/20230303_180521.webp)","lastmodified":"2023-06-18T08:25:53.582786338Z","tags":["blog","travel","photo","gourmet","cat"]},"/blog/2023/0304-fukue-island":{"title":"福江島 4日目 最終日","content":"\n## 概要\n- 用事があって,東京から福江島へ行った\n- 3泊4日の4日目 最終日 ([1日目](blog/2023/0301-fukue-island)/[3日目](blog/2023/0303-fukue-island))\n- 朝一で鬼岳に行って,その後帰投した\n- 帰りはほとんど行きの行程の逆を踏んだだけなので割愛\n\n## 鬼岳\n- 朝7時半にタクシーを呼んで鬼岳まで行った\n\t- 当初,鬼岳の大きさを過大評価しており,登るのは時間的に無理だろうと思い,行くのは諦めてた\n\t- しかし,[昨日](blog/2023/0303-fukue-island)のタクシーの運転手の人に「飛行機11時出発でも,朝で鬼岳は十分回れるよ」と言われたので早起きした\n- 1時間後にタクシーを予約して鬼岳を登った\n\t- さすがに全部の道を辿る時間はなかった\n\t- 無事1時間で下山できた\n- 多分夏に行ったらWindows XP\n- やっと[1日目](blog/2023/0301-fukue-island)と[3日目](blog/2023/0303-fukue-island)の昼食に食べたバーガーのモチーフとなった山に登ることができた\n\n![](blog/2023/0304-fukue-island/20230304_080357.webp)\n![](blog/2023/0304-fukue-island/20230304_080248.webp)\n![](blog/2023/0304-fukue-island/20230304_074625.webp)\n![](blog/2023/0304-fukue-island/20230304_074605.webp)\n\n## 飛行機\n- 自分が搭乗してる飛行機が地上で転回するという経験は初めてだったので滑走路の写真を撮った\n\t- 最初加速したと思ったら減速し始めて,離陸失敗かと思った\n\t- 転回のために滑走路端まで進んでただけだった\n- タクシーの運転手曰く\n\t- 五島福江の空港は滑走路が短いため大型機は離着陸ができない\n\t- 故に東京直行便を作るのも難しいらしい\n\t- 一応現地の議員が東京直行便を作ろうと頑張ってるらしい\n\n![](blog/2023/0304-fukue-island/20230304_111407.webp)\n\n## 猫\n- 空港への帰り際にまた野良猫に会った\n\n![](blog/2023/0304-fukue-island/20230304_094006.webp)\n\n終\n","lastmodified":"2023-06-18T08:25:53.582786338Z","tags":["blog","travel","photo","mountain","cat"]},"/blog/2023/0319-moving":{"title":"引っ越しをした","content":"\n- 4月から色々あるので引っ越しをした\n- 立地も治安も壁の厚さもとても良いところだった\n\n![旧自宅](blog/2023/0319-moving/room.webp)","lastmodified":"2023-06-18T08:25:53.582786338Z","tags":["blog","photo"]},"/blog/2023/0618-sarushima-island":{"title":"猿島へ行った","content":"\n## 概要\n- 猿島へ日帰り観光に行った\n- 人が多かった\n- 廃墟目当てだったが,そこまで廃墟はなかった\n\n## 行程\n- 京急線の横須賀中央駅から三笠ターミナルへ徒歩で15分\n- フェリーで猿島へ(10分)\n- 島内を観光\n- 島内で昼食\n- フェリー,電車で帰宅\n\n## フェリー(行き)\n- 土曜日午前11時台の便に乗った\n- 並んでる人が多かった\n\t- 次の便に乗れるのか不安になるぐらい\n\t- 並んでた人全員がギリギリ乗れた\n- 乗船時間は10分程度なので酔うこともなく無事到着\n\n![](blog/2023/0618-sarushima-island/DSC_0069.webp)\n\n![](blog/2023/0618-sarushima-island/DSC_0070.webp)\n\n## 観光\n- 写真を撮りながら適当に周った\n- フェリーの到着直後は入り口付近に人が多い\n\t- 写真を撮りたいなら時間をずらしたほうがいい\n\n![](blog/2023/0618-sarushima-island/DSC01320.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01327.webp)\n\n\n### 廃墟\n- もっと廃墟があるのかと思っていたけれど,廃墟4,自然6ぐらいだった\n- 廃墟単体のクオリティは高かった\n\t- 苔が良い\n\t\t- 壁面の苔を削って文字を書く💩がいるらしく,名前がところどころに彫られていた\n\n![](blog/2023/0618-sarushima-island/DSC01392.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01393.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01324.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01323.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01371.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01395.webp)\n\n![](blog/2023/0618-sarushima-island/DSC01396.webp)\n\n### クイズ\n- QuizKnockとのコラボで,島内を探索することで解けるクイズ企画をやっていた\n- クイズが書かれている紙は三笠ターミナルで500円で売っていた\n- 自分は買わなかったが,友達が買ったので一緒に解いた\n\t- 5問中3問は僕が解いたので感謝してほしい\n- ちなみにクイズを解いても,達成感以外に特に得られるものはない\n- 猿島に行かないと解けないが,クイズの内容自体は猿島とはそこまで関係なかった\n\n## 昼食\n- カレーは重いなと思ったので,一人分を友人と分けた\n- 追加でプライドポテト(フライドポテト)と唐揚げを買った\n- 正直,味は普通\n- 離島なので物価は高め\n\n![](blog/2023/0618-sarushima-island/IMG_20230618_152924_584.webp)\n\n## フェリー(帰り)\n- ダイヤ関係なく,着いたら客を乗せて出港のサイクルを30分間隔ぐらいで繰り返していた\n- 後方で並んでる人が次の便で乗れないぐらいには人が多かった\n\n## まとめ\n- クオリティの高い廃墟が見れた\n- もっと廃墟が密集してると思ってた\n- 人が多かった\n\t- BBQ目当ての大学生大所帯とか","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["blog","photo","travel"]},"/note/chores/cooking-rice-with-saucepan":{"title":"片手鍋で米を炊く","content":"\n## 概要\n- 炊飯器が無くても米は炊ける\n- ただし火を使う間,22分程度拘束される\n\n## 手順\n1. 片手鍋で米(3合)を研ぐ\n2. 水(500ml)を入れる\n3. 蓋をして鍋ごと冷蔵庫で30分冷やす\n4. 蓋をしたまま中火で13分\n5. 弱火で3分\n6. とろ火で6分\n7. 火を消して蓋をしたまま10分放置\n\n## 補足\n- 冷やす時間は15分程度まで短縮しても良い\n\t- 短縮した場合は中火の時間も12分程度に縮める\n- 最後の放置が結構重要\n\t- 火を消した直後はまだべちゃべちゃしてる","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","chores","cooking","lifehack"]},"/note/chores/one-hand-egg-cracking":{"title":"卵を片手で割る手法の提案","content":"\n## Abstract\n- This paper proposes a method to crack eggs by one hand\n- The method can reduce cooking time and promote multi-tasking\n- No special appliance is needed\n- However accuracy of action is necessary to keep yolk unbroken\n\n## 概要\n- 調理の時短とマルチタスク促進のために卵を片手で割る手法を提案する\n- 本手法は一般家庭にある既存の器具のみで実行が可能\n- ただし黄身を割らないためには繊細な動作が要求される\n\n## 背景\n- 左手でゴミ袋を持ちながら右手で卵を割ると非常に時短になる\n- 特に調理プロセスのなかで一度に複数の卵が関与する場合に著しい時短効果が得られる\n- [先行研究](https://gourmet-note.jp/posts/15029)の手法では調理対象に殻が混入してしまうことが多い\n\n## 手法\n1. 卵をフォークボールを投げる時のように持つ\n\t- 鋭端が人差し指と中指の間に来るように持つ\n\t- 鈍端を親指と薬指で支える\n2. 皿の淵で卵の殻に割れ目を作る\n\t- 卵の鋭端と鈍端を結ぶ線分の垂直二等分線が皿の淵と重なるように腕を何回か振り下ろす\n\t- 皿を卵の直径の$\\frac{1}{4}$程度まで食い込ませる\n\t- 卵を皿に押し付けて真っ二つにするイメージ\n\t- ここで皿を食い込ませすぎると黄身が割れる原因になる\n3. 人差し指の付け根で割れ目の裏側を押し出す\n\t- 人差し指,中指,親指,薬指で卵をしっかりと支えておく\n\n## 評価実験\n- 本手法を用いて鶏卵2個を割った\n- 1個は黄身が割れたが,1個は割れなかった\n- 卵の殻が調理対象に混入することはなかった\n\n## まとめ\n- 卵を片手で割る手法を提案した\n- 本手法では50%の確率で黄身が割れる\n- [先行研究](https://gourmet-note.jp/posts/15029)の手法と異なり,卵の殻が混入する確率は低い\n- 今後の課題として,黄身が割れる確率を抑えることが挙げられる\n- 理論上,左右両方の手で同時に2個の卵を割ることでさらなる効率化を図れる","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","chores","cooking","lifehack"]},"/note/info-tech/flutter":{"title":"flutter","content":"\n## 概要\n- マルチプラットフォーム GUIアプリケーション フレームワーク\n\t- iOS/Android,Web,Windows/Linux/Mac,組み込み\n- Google製\n- 使用言語はDart\n\n## インストール\n### Arch Linux\n\n- [install-archlinux](note/info-tech/install-archlinux.md)の直後から,`flutter doctor`がオールグリーンになるまで\n- 1時間ぐらいは覚悟したほうがいい\n- 特にandroid-studioがクソでかいので[qemu](note/info-tech/qemu)イメージのリサイズをする羽目になった\n- [参考文献](https://dev.to/nabbisen/flutter-3-on-arch-linux-shi-mefang-1m2j)\n- 追記: [qemu](note/info-tech/qemu)上だとパフォーマンスがゴミすぎてまともに使えなかった X(\n\t- ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた\n\n#### 手順\n1. 依存のインストール\n```bash\npacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium\nvisudo # いい感じに設定 \u0026 リログ\n\ngit clone https://aur.archlinux.org/flutter.git\ncd flutter\nmakepkg -sci # JDKはデフォルトを選択\ncd ..\n\ngit clone https://aur.archlinux.org/android-studio.git\ncd android-studio\nmakepkg -sci\ncd ..\n\nusermod -aG flutterusers user # 設定後にリログ\n```\n\n2. Android Studioの設定\n\t1. 初期設定は適当に\n\t2. Android StudioからFlutterプラグインをインストール&再起動\n\t3. Flutterプロジェクトを作成\n\t\t- flutter SDKのパス設定を忘れずに (`/opt/flutter`)\n\t4. `Android SDK Command line tools`をインストール\n\n3. flutter doctor\n```bash\nexport CHROME_EXECUTABLE=chromium # 必要なら永続化する\ngit config --global --add safe.directory /opt/flutter\nflutter doctor --android-licenses\nflutter doctor # 完了\n```\n\n\n## 感想\n- メジャーバージョンが同じでも後方互換性は乏しい\n\t- 過去のプロジェクトをビルドしようとしてもよくわからないエラーが大量に出てくる","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","info-tech","development","software","library"]},"/note/info-tech/install-archlinux":{"title":"ArchLinuxのインストール","content":"\n## 概要\n- [ArchLinux](https://archlinux.org)のインストール手順を記録する\n- Live Environmentの起動方法については触れない\n\n\u003c!-- more --\u003e\n\n## 前提\n- [qemu](note/info-tech/qemu.md)上の仮想マシン\n- BIOS\n- GPT\n- x86_64\n- デュアルブートなし\n- できるだけシンプル,ミニマリスティックに\n\n## 手順\n### 1. 事前準備\n\n```bash\nloadkeys jp106 # キーボード設定\nping google.com # インターネット疎通確認\ntimedatectl status # 時間の確認 (この時点ではUTC)\n```\n\n### 2. パーティショニング\n```bash\ncfdisk /dev/sda # 先頭1MiBをBIOS bootに,残りをLinuxに設定\nmkfs.ext4 /dev/sda1 # フォーマット\nmount /dev/sda1 /mnt # /mntへマウント\n```\n\n### 3. インストール\n```bash\nvim /etc/pacman.d/mirrorlist # 日本のmirrorを指定しておく\npacstrap -K /mnt base linux linux-firmware vim grub dhcpcd # Wi-Fiで10分くらい\n```\n\n- 執筆時点で有効な日本のmirror\n\t- `http://mirrors.cat.net/archlinux/$repo/os/$arch`\n\t- `https://mirrors.cat.net/archlinux/$repo/os/$arch`\n\n### 4. 初期設定\n```bash\ngenfstab -U /mnt \u003e\u003e /mnt/etc/fstab\narch-chroot /mnt # 以下仮想rootで作業\n```\n#### 時計関係\n```bash\nln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime # TZを東京に\nhwclock --systohc\n```\n\n#### 言語関係\n- `/etc/locale.gen`を編集して,`en_US.UTF-8 UTF-8`をアンコメント\n- `locale-gen`\n- `/etc/locale.conf`を作成して`LANG=en_US.UTF-8`を追記-\n- `/etc/vconsole.conf`を作成して`KEYMAP=jp106`を追記\n\n#### カスタマイズ\n- `/etc/hostname`にホスト名を設定\n- `passwd`でrootパスワードを設定\n- `systemctl enable dhcpcd`\n\n#### ブートローダのインストール\n```bash\ngrub-install --target=i386-pc /dev/sda\ngrub-mkconfig -o /boot/grub/grub.cfg\n```\n\n以上.","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","info-tech","linux"]},"/note/info-tech/obsidian":{"title":"Obsidianについて","content":"\n[公式サイト](https://obsidian.md)\n\n## 概要\n- オフラインのwikiっぽいもの(=Vault)\n- 記法はmarkdown\n- Vaultは全てローカルに保存される\n\n## インストール\n- [公式サイト](https://obsidian.md)に各OSのインストーラが揃ってる\n- Macでは`brew install obsidian`ができる\n\n## いいところ\n- シンプルでスタイリッシュなデザイン\n- 完全ローカルなので高セキュリティ\n- 数式が使える $E=mc^2$\n\n## わるいところ\n- 完全ローカルなので同期が課題\n\t- Vaultが巨大になるほど同期コストも増加\n- Macにて,エディタ上のリアルタイムプレビューとIMEが競合して日本語が正常に入力できないことがある\n\n## 所感\n- ar.falsy.catの記事書くのに使っている\n- WebDAVなどのファイルサーバー上にあるVaultを,全体をダウンロードせずに開けるようになれば素晴らしい\n\n## 関連\n- [Vaultをweb公開する](note/info-tech/publish-obsidian-by-quartz.md)","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","info-tech","tool"]},"/note/info-tech/pleroma":{"title":"Pleroma","content":"\n## 概要\n- ActivityPubに対応したlightweight(自称)なSNS\n- 単体で見るとlightweightには思えないけど,mastodonと比べたら確かにlightweight\n\n## DB肥大化問題\n- 長期間Pleromaを稼働させ続けると,DBのレコード数がやばいことになる\n- DBのレスポンスがくそ長くなり,最終的にタイムアウトで500になる\n- オブジェクトの寿命とか設定してみたけど特に意味はなかった\n\n### 解決法\n- ローカルアカウントそれ自体の情報以外の情報を削除する\n- pleromaを停止して,postgresで次のSQLを実行する\n\t- 自動化しても良いかもしれない\n- 追記: **フォロー/フォロワー情報も削除されてしまったので改善が必要!!!**\n```SQL\nTRUNCATE TABLE activities CASCADE; # 全アクティビティの削除\nDELETE FROM users WHERE not local; # 全リモートユーザーの削除\nVACUUM FULL;\nVACUUM ANALYZE;\n```","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","info-tech","software","web","sns","fediverse"]},"/note/info-tech/publish-obsidian-by-quartz":{"title":"ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築","content":"\n## 概要\n- [Quartz](https://github.com/jackyzha0/quartz)で[Obsidian](note/info-tech/obsidian.md)のVaultを公開する\n- 「*セカンドブレインデジタルガーデン*」という御大層な言葉は[Quartz](https://github.com/jackyzha0/quartz)の紹介文からの引用\n\n\u003c!--more--\u003e\n\n## 初期設定\n1. [Quartz](https://github.com/jackyzha0/quartz)をforkする\n2. GitHub Actionsを有効化\n3. repoの設定で`workflow permission`を`read and write permissions`へ変更\n\t- これしないとdeployに失敗する\n4. repoをローカルにclone\n5. `data/config.yaml`をいい感じに編集\n\t- `author`など\n6. `config.toml`をいい感じに編集\n\t- `baseURL`など\n7. pushする\n8. deployが終わったらGitHub Pagesのドメイン設定をする\n\n## 記事の執筆\n1. ローカルrepoの`content/`ディレクトリをVaultとしてObisidianで開く\n\t- `content/templates/`は弄ってはいけない\n2. 記事を書く\n3. pushする\n\n## ローカルプレビュー\n- dockerがあれば,リポジトリrootで`make docker`すれば`localhost:1313`にアクセスできる\n- `Makefile`の`docker`ターゲットのコマンドを下のように置き換えることで次の問題が解決できる\n\t- Ctrl+Cでサーバーが終了しない\n\t- `make docker`する度にゴミコンテナが残る\n```bash\ndocker run -it --init --name quartz-preview --volume=$(shell pwd):/quartz -p 1313:1313 ghcr.io/jackyzha0/quartz:hugo; docker rm quartz-preview\n```\n\n## カスタマイズ\n\n### Recent Notesの表示数を変更する\n1. `layouts/partials/recent.html`の`first 3 $notes`を変更する\n\n### トップページにグローバルグラフを表示する\n1. `data/graphConfig.yaml`の`enableGlobalGraph`を`true`にする\n\n### 記事にRelated Notesを表示する\n1. `layouts/partials/recent.html`を作成\n2. `layouts/_default/single.html`の好きな位置に`{{partial \"related.html\" .}}`を挿入\n3. `i18n/en.toml`に`related_notes`の翻訳を追加\n\nlayouts/partials/recent.html\n```html\n\u003cdiv class=\"content-list\"\u003e\n \u003ch2\u003e{{ i18n \"related_notes\" }}\u003c/h2\u003e\n {{$notes := .Site.RegularPages.Related .}}\n {{partial \"page-list.html\" (first 3 $notes)}}\n\u003c/div\u003e\n```\n\n## 所感\n- 扱いやすい[Obsidian](note/info-tech/obsidian.md)で執筆して,[Quartz](https://github.com/jackyzha0/quartz)でいい感じに公開ができた\n- 執筆のためにリポジトリをcloneしなければならないため,記事数が増えた時の複数PCの同期コストが問題になりそう\n\t- ブランチ分けてPullRequest活用すれば解決する?\n\t\t- 記事書くたびにPR作るのはクソめんどくさそう","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","info-tech","web"]},"/note/info-tech/qemu":{"title":"qemu","content":"\n## 概要\n- コマンドラインベースのVirtualBoxと思っている\n- 今のところM2チップのMacbook ProでLinuxを使うための最善手\n\t- M1/M2向けVirtualBoxはまだ開発者プレビューしかなく,まともに使えなかった\n\n\u003c!--more--\u003e\n\n## インストール\n\n### Mac\n```bash\n$ brew install qemu\n```\n- ハードウェアアクセラレーションが有効化されている他のビルドもあるらしいが未検証\n\t- 今後GPU使いたくなったら検証予定\n\n## コマンド逆引き\n\n### ディスクイメージの作成\n```bash\nqemu-img create -f qcow2 sda.qcow2 16G\n```\n\n### ディスクイメージのリサイズ\n```bash\n# ホストOSで実行\nqemu-img resize sda.qcow2 +16G\n\n# ゲストで実行\ncfdisk /dev/sda # いい感じに\ne2fsck -f /dev/sda2\nresize2fs /dev/sda2\n```\n\n### archのlive cdを起動\n```bash\nqemu-system-x86_64 \\\n -m 4G \\\n -cdrom ../iso/archlinux-2023.02.01-x86_64.iso \\\n sda.qcow2\n```\n- [関連: ArchLinuxのインストール方法](note/info-tech/install-archlinux.md)","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","info-tech","tool","virtualization"]},"/note/study/statistics/hypothesis-test":{"title":"仮説検定","content":"\n## 概要\n- 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き\n- 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である\n- 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する\n\n## 検定手順\n1. 帰無仮説を仮定する\n2. 帰無仮説のもとで検定したい事象が発生する確率$p$を求める\n3. $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する\n\n## 結論に生じうる誤り\n- 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう\n\t- 発生確率=有意確率\n\t- 発生確率を設定できる\n- 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう\n\t- 発生確率は不明\n\t- 発生確率を設定できない\n- 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ)\n\t- 大体の場合で5%\n\t- 第一種の誤りが許されない場面(医療など)では1%\n\n## 例\n- コイントスを10回やって7回表が出た.コイントスは公平か?\n\t- 7回表が出る確率は$\\frac{1}{2^{10}} \\cdot {}_{10} \\mathrm{C}_7=0.12$\n\t- $0.12\u003e0.10$より有意水準10%で帰無仮説は棄却されない\n\t\t- コイントスは**公平である**\n\t\t- 12%で起こりうることが起きた,帰無仮説が正しい場合は普通のこと,つまり,帰無仮説は正しい\n\t\t- この結論は第二種の誤りである可能性がある\n\t- $0.12\u003c0.15$より有意水準15%で帰無仮説は棄却される\n\t\t- コイントスは**公平でない**\n\t\t- 12%で起こりうることが起きた,帰無仮説が正しい場合は奇跡に近い,つまり,帰無仮説は間違いだ\n\t\t- この結論は12%の確率で第一種の誤りである可能性がある\n\n## 注意点\n- 自分の望む結果を得るために,検定の途中で有意水準を作為的に操作してはならない\n\t- 有意水準は必ず有意確率を求める前に定めなければならない","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","study","statistics"]},"/note/study/statistics/hypothesis-test-multiplicity":{"title":"仮説検定の多重性問題","content":"\n## 概要\n- 結論に複数の[仮設検定](note/study/statistics/hypothesis-test.md)の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある\n- 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない\n\n## 不確実な情報による結論の不確実性\n- **第一種の過誤のみを考慮した場合**,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである\n\t- $P_1\\cup P_2\\cup \\dots \\cup P_n\\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\\overline{Q}$である確率は$1-(1-e)^n$である\n\t- 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる\n- ただし,実際には**第二種の過誤も存在する**\n\t- 有意水準を小さくすれば結論が第二種の過誤である確率は増加する\n- 以上より,多重検定は非常によろしくない\n\t- 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける\n\t\t- 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから\n\n## Holm法による有意水準の調整\n多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う.\n\n### 手法\n$N$個の検定による多重検定の有意水準を$\\alpha$としたとき,Holm法による有意水準の調整を次のように行う.\n\n1. 各検定の有意確率をソート\n2. $i=0$とする\n3. 結論が未確定の検定のうち,最も有意確率が小さいものについて,その有意確率を$x$としたとき,\n\t- $x \u003c \\frac{\\alpha}{N-i}$ ならば,その検定を棄却\n\t- $x \u003e p$ ならば,結論が未確定の検定すべて(その検定を含む)を受容し,終了\n4. $i$に1を足して,\n\t- $i\u003cN$ ならば,3へ戻る\n\t- それ以外ならば,終了\n\n## まとめ\n- 多重検定は避けるべき\n- どうしても必要なら有意水準の補正が必要\n- 有意水準の補正にはHolm法が有効","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","study","statistics"]},"/note/study/statistics/hypothesis-test-parametric":{"title":"パラメトリック検定とノンパラメトリック検定","content":"\n## 概要\n- [仮設検定](note/study/statistics/hypothesis-test.md)におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である\n- 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である\n\n## パラメトリック検定\n- 母集団がある特定の分布であると事前に仮定する検定\n\t- ノンパラメトリック検定に比べて,計算が楽\n\t\t- 手計算はこっちの方が嬉しい\n\t- 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い\n- 事前検定で母集団の仮定を検証するのはやめた方がいい(後述)\n\n## ノンパラメトリック検定\n- 母集団の分布を仮定しない検定\n\t- 計算がめんどくさい\n\t\t- サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬\n\t- 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない\n\n## 事前検定\n- 欲しい結果を得る検定の前に行われる検定のこと\n\t- [多重検定](note/study/statistics/hypothesis-test-multiplicity.md)の問題を孕む\n\t\t- 個人的には,大抵の場合において事前検定は愚行だと思っている\n- 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる\n\t- 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う\n\t- 大人しくノンパラメトリック検定を使うべき\n\t- そもそもコンピュータ使えば計算コストは無視できる\n\n## まとめ\n- 仮設検定は2つに分けられる\n\t- パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定\n\t- ノンパラメトリック検定: それ以外の検定\n- パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","study","statistics"]},"/note/word-play/japanese-text-all-stars":{"title":"国語教科書オールスターズ","content":"\n## 概要\n- 今までの国語の教科書に出てきた忘れられない奴等を忘れないために記録しておく\n\n\u003c!--more--\u003e\n\n## 小学校\n- さるのだいじなかぎのたば\n\t- 小学一年生の一番最初の単元だった気がする\n- *タイトル不明 要調査*\n\t- 木を描くやつ\n- アップとルーズで捉える\n\n## 中学校\n- かまきりりゅうじ\n\t- 「おれはかまきり」\n- いろは歌\n\t- 「いろはにほへと ちりぬるを わかよたれそ つねならむ ういのおくやま けふこえて あさきゆめみし えひもせすん」\n\t\t- 未だに空で書けた\n\t\t- 一人ずつ立って暗唱させられた記憶がある\n- *タイトル不明 要調査*\n\t- 「えんびふらい」\n- *タイトル不明 要調査*\n\t- 月の起源についての説明文\n- *タイトル不明 要調査*\n\t- ルロイ修道士「問題の細分化」\n\t- 月月火水木金金\n- 少年の日の思い出\n\t- エーミール「そうかそうか,つまりきみはそういうやつなんだな」","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","word-play","lifehack"]},"/note/word-play/proof-of-reality-using-lucid-dream":{"title":"明晰夢を利用した現実の証明","content":"\n## 概要\n- 今の意識が現実であることを証明する手法を論理的に導く\n- ただの言葉遊びなので哲学的な何かは期待しないでほしい\n\n## 前提\n- ここでは次の前提のもと議論を進める\n\t- 夢を見ていることを自覚している夢を見ている,ならばかつその時に限り,明晰夢を見ている\n\t- 明晰夢を見ている,ならば,全てが思い通りになる\n\t- 夢でないならば現実である\n- 証明は次の定義の元で行う\n\t- 状況$A$: 夢を見ている\n\t- 状況$B$: 夢を見ていることを自覚している\n\t- 状況$C$: 明晰夢を見ている\n\t- 状況$D$: 全てが思い通りである\n- 証明の最終的な目標は$X\\implies \\overline{A}$を導くことである\n\n## 証明\n1. 前提より\n\t- $P_1: A\\cap B\\iff C$\n\t- $P_2: C \\implies D$\n2. $P_1,P_2$より,三段論法を用いて\n\t- $P_3: A \\cap B \\implies D$\n3. $P_3$の対偶より\n\t- $P_4: \\overline{D}\\implies \\overline{A\\cap B}$\n4. $P_4$より,ド・モルガンの公式を用いて\n\t- $P_5: \\overline{D}\\implies \\overline{A} \\cup \\overline{B}$\n5. $B$は意図的に真にできるため,$P_5$より\n\t- $\\overline{D}\\cap B \\implies \\overline{A}$\n\n## 結論\n- 事前に夢を見ていることを自覚している,かつ,思い通りにならないことが存在する,ならば,それは現実である\n- ただし,この手法では全ての現実を証明できるとは言えないことに留意されたい","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","word-play","lifehack"]},"/note/word-play/two-lolita-devils-and-chess-board":{"title":"2人の幼女と悪魔とチェス盤","content":"\n## 概要\n- 「2人の幼女とチェス盤の部屋」という次のような論理問題を解説する\n\t- 以下の手順の後,幼女Bが任意の整数$x\\left(0\\leq x\u003c64\\right)$を求められるようにするには,幼女Aはどのような操作を行うべきか\n\t\t1. 悪魔が8x8チェス盤の各マスに1個ずつ,合計0個以上64個以下のポーンをランダムに配置する\n\t\t2. 悪魔は幼女Aにチェス盤を見せ,任意の数字$x\\left(0\\leq x\u003c64\\right)$を伝える\n\t\t3. 幼女Aは,チェス盤に対して次のいずれかの操作のうち可能であるものを1回だけ必ず行う\n\t\t\t- 任意のマスからポーンを1個だけ取り除く\n\t\t\t- 任意のマスにポーンを1個だけ追加する\n\t\t4. 悪魔は幼女Bにチェス盤を見せる\n\n## 問題の簡潔化\n- $f(g(b,x))=x$とできるような写像$f,g$を求めよ\n\t- $B=\\left\\\\{0,1\\right\\\\}$\n\t- $b\\in B^{64}$\n\t- $x\\in B^6$\n\t- $f: B^{64} \\rightarrow B^6$\n\t- $g: B^{64} \\times B^6\\rightarrow B^{64}$\n\t\t- $b$と$g(b,x)$は1ビットだけ異なる\n\n## 解答\n- $f(b)=f_0\\oplus f_1\\oplus f_2 \\oplus \\dots \\oplus f_{63} \\quad\\left(f_i=i b_i\\right)$\n- $b'=g(b,x) \\implies b'_m \\neq b_m\\quad\\left(m=x\\oplus f(b)\\right)$\n- [チェス盤が16x16の場合のプログラム](https://wandbox.org/permlink/XLo1pGURvrU4Y4Jj)\n\n## 解説\n- $x=f(b)\\oplus m$となるような$m\\in B^6$は必ず存在する\n- 盤面の各マスに$m$の値を割り当てることで,1マスの操作だけで$m$を表現できる\n\t- 盤面のマス目の数も,$m$がとりうる値の数も64\n\t- $f(g(b,x))=f(b)\\oplus m=f(b)\\oplus f\\_m\\oplus m(1-b\\_m)$\n\n## 応用\n- 長さ$2^N$の任意のビット列について,任意の1ビットだけを反転させることで,長さ$N$のビット列を表現できる\n\n## 参考文献\n- [# 超難問論理クイズ「2人の幼女とチェス盤の部屋」が本当に難しすぎた - 明日は未来だ!](https://sist8.com/chess2you)\n- [幼女問題まとめ - GItHub Gist](https://gist.github.com/catupper/5678658)\n- [Impossible Escape? - DataGenetics](http://datagenetics.com/blog/december12014/index.html)","lastmodified":"2023-06-18T08:25:53.590786466Z","tags":["note","word-play"]}} \ No newline at end of file diff --git a/indices/linkIndex.8b5038e50c151ea886a14c9647c0c327.min.json b/indices/linkIndex.8b5038e50c151ea886a14c9647c0c327.min.json deleted file mode 100644 index 279741a..0000000 --- a/indices/linkIndex.8b5038e50c151ea886a14c9647c0c327.min.json +++ /dev/null @@ -1 +0,0 @@ -{"index":{"links":{"/":[{"source":"/","target":"/blog","text":"ブログ"},{"source":"/","target":"/note","text":"備忘録"}],"/blog/2023/0303-fukue-island":[{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"}],"/blog/2023/0304-fukue-island":[{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"昨日"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"}],"/note/info-tech/flutter":[{"source":"/note/info-tech/flutter","target":"/note/info-tech/install-archlinux","text":"install-archlinux"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"}],"/note/info-tech/install-archlinux":[{"source":"/note/info-tech/install-archlinux","target":"/note/info-tech/qemu","text":"qemu"}],"/note/info-tech/obsidian":[{"source":"/note/info-tech/obsidian","target":"/note/info-tech/publish-obsidian-by-quartz","text":"Vaultをweb公開する"}],"/note/info-tech/publish-obsidian-by-quartz":[{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"},{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"}],"/note/info-tech/qemu":[{"source":"/note/info-tech/qemu","target":"/note/info-tech/install-archlinux","text":"関連: ArchLinuxのインストール方法"}],"/note/study/statistics/hypothesis-test-multiplicity":[{"source":"/note/study/statistics/hypothesis-test-multiplicity","target":"/note/study/statistics/hypothesis-test","text":"仮設検定"}],"/note/study/statistics/hypothesis-test-parametric":[{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test","text":"仮設検定"},{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test-multiplicity","text":"多重検定"}]},"backlinks":{"/blog":[{"source":"/","target":"/blog","text":"ブログ"}],"/blog/2023/0301-fukue-island":[{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"}],"/blog/2023/0303-fukue-island":[{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"昨日"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"}],"/note":[{"source":"/","target":"/note","text":"備忘録"}],"/note/info-tech/install-archlinux":[{"source":"/note/info-tech/flutter","target":"/note/info-tech/install-archlinux","text":"install-archlinux"},{"source":"/note/info-tech/qemu","target":"/note/info-tech/install-archlinux","text":"関連: ArchLinuxのインストール方法"}],"/note/info-tech/obsidian":[{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"},{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"}],"/note/info-tech/publish-obsidian-by-quartz":[{"source":"/note/info-tech/obsidian","target":"/note/info-tech/publish-obsidian-by-quartz","text":"Vaultをweb公開する"}],"/note/info-tech/qemu":[{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/install-archlinux","target":"/note/info-tech/qemu","text":"qemu"}],"/note/study/statistics/hypothesis-test":[{"source":"/note/study/statistics/hypothesis-test-multiplicity","target":"/note/study/statistics/hypothesis-test","text":"仮設検定"},{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test","text":"仮設検定"}],"/note/study/statistics/hypothesis-test-multiplicity":[{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test-multiplicity","text":"多重検定"}]}},"links":[{"source":"/","target":"/blog","text":"ブログ"},{"source":"/","target":"/note","text":"備忘録"},{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"昨日"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/install-archlinux","text":"install-archlinux"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/install-archlinux","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/obsidian","target":"/note/info-tech/publish-obsidian-by-quartz","text":"Vaultをweb公開する"},{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"},{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"},{"source":"/note/info-tech/qemu","target":"/note/info-tech/install-archlinux","text":"関連: ArchLinuxのインストール方法"},{"source":"/note/study/statistics/hypothesis-test-multiplicity","target":"/note/study/statistics/hypothesis-test","text":"仮設検定"},{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test","text":"仮設検定"},{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test-multiplicity","text":"多重検定"}]} \ No newline at end of file diff --git a/indices/linkIndex.b5280e8bbb1751fc9b140e6147b1b336.min.json b/indices/linkIndex.b5280e8bbb1751fc9b140e6147b1b336.min.json new file mode 100644 index 0000000..9db7769 --- /dev/null +++ b/indices/linkIndex.b5280e8bbb1751fc9b140e6147b1b336.min.json @@ -0,0 +1 @@ +{"index":{"links":{"/":[{"source":"/","target":"/blog","text":"ブログ"},{"source":"/","target":"/note","text":"備忘録"}],"/blog/2023/0303-fukue-island":[{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"}],"/blog/2023/0304-fukue-island":[{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"昨日"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"}],"/note/info-tech/dart":[{"source":"/note/info-tech/dart","target":"/note/info-tech/flutter","text":"flutter"}],"/note/info-tech/flutter":[{"source":"/note/info-tech/flutter","target":"/note/info-tech/install-archlinux","text":"install-archlinux"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"}],"/note/info-tech/install-archlinux":[{"source":"/note/info-tech/install-archlinux","target":"/note/info-tech/qemu","text":"qemu"}],"/note/info-tech/publish-obsidian-by-quartz":[{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"},{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"}],"/note/info-tech/qemu":[{"source":"/note/info-tech/qemu","target":"/note/info-tech/install-archlinux","text":"関連: ArchLinuxのインストール方法"}],"/note/study/statistics/hypothesis-test-multiplicity":[{"source":"/note/study/statistics/hypothesis-test-multiplicity","target":"/note/study/statistics/hypothesis-test","text":"仮説検定"}],"/note/study/statistics/hypothesis-test-parametric":[{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test","text":"仮説検定"},{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test-multiplicity","text":"多重検定"}]},"backlinks":{"/blog":[{"source":"/","target":"/blog","text":"ブログ"}],"/blog/2023/0301-fukue-island":[{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"}],"/blog/2023/0303-fukue-island":[{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"昨日"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"}],"/note":[{"source":"/","target":"/note","text":"備忘録"}],"/note/info-tech/flutter":[{"source":"/note/info-tech/dart","target":"/note/info-tech/flutter","text":"flutter"}],"/note/info-tech/install-archlinux":[{"source":"/note/info-tech/flutter","target":"/note/info-tech/install-archlinux","text":"install-archlinux"},{"source":"/note/info-tech/qemu","target":"/note/info-tech/install-archlinux","text":"関連: ArchLinuxのインストール方法"}],"/note/info-tech/obsidian":[{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"},{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"}],"/note/info-tech/qemu":[{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/install-archlinux","target":"/note/info-tech/qemu","text":"qemu"}],"/note/study/statistics/hypothesis-test":[{"source":"/note/study/statistics/hypothesis-test-multiplicity","target":"/note/study/statistics/hypothesis-test","text":"仮説検定"},{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test","text":"仮説検定"}],"/note/study/statistics/hypothesis-test-multiplicity":[{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test-multiplicity","text":"多重検定"}]}},"links":[{"source":"/","target":"/blog","text":"ブログ"},{"source":"/","target":"/note","text":"備忘録"},{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0303-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"昨日"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0301-fukue-island","text":"1日目"},{"source":"/blog/2023/0304-fukue-island","target":"/blog/2023/0303-fukue-island","text":"3日目"},{"source":"/note/info-tech/dart","target":"/note/info-tech/flutter","text":"flutter"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/install-archlinux","text":"install-archlinux"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/flutter","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/install-archlinux","target":"/note/info-tech/qemu","text":"qemu"},{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"},{"source":"/note/info-tech/publish-obsidian-by-quartz","target":"/note/info-tech/obsidian","text":"Obsidian"},{"source":"/note/info-tech/qemu","target":"/note/info-tech/install-archlinux","text":"関連: ArchLinuxのインストール方法"},{"source":"/note/study/statistics/hypothesis-test-multiplicity","target":"/note/study/statistics/hypothesis-test","text":"仮説検定"},{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test","text":"仮説検定"},{"source":"/note/study/statistics/hypothesis-test-parametric","target":"/note/study/statistics/hypothesis-test-multiplicity","text":"多重検定"}]} \ No newline at end of file diff --git a/linkmap b/linkmap index 06073bf..63587f9 100644 --- a/linkmap +++ b/linkmap @@ -1,20 +1,22 @@ -/note/info-tech/pleroma/index.{html} /note/info-tech/pleroma/ -/index.html / -/blog/2023/0304-fukue-island/index.{html} /blog/2023/0304-fukue-island/ -/note/chores/one-hand-egg-cracking/index.{html} /note/chores/one-hand-egg-cracking/ -/note/info-tech/install-archlinux/index.{html} /note/info-tech/install-archlinux/ -/note/info-tech/obsidian/index.{html} /note/info-tech/obsidian/ -/blog/2023/0319-moving/index.{html} /blog/2023/0319-moving/ +/blog/2023/0301-fukue-island/index.{html} /blog/2023/0301-fukue-island/ +/note/info-tech/c-cpp-sanitizer/index.{html} /note/info-tech/c-cpp-sanitizer/ +/note/info-tech/flutter/index.{html} /note/info-tech/flutter/ /note/study/statistics/hypothesis-test-parametric/index.{html} /note/study/statistics/hypothesis-test-parametric/ -/note/study/statistics/hypothesis-test/index.{html} /note/study/statistics/hypothesis-test/ -/note/word-play/two-lolita-devils-and-chess-board/index.{html} /note/word-play/two-lolita-devils-and-chess-board/ +/note/word-play/proof-of-reality-using-lucid-dream/index.{html} /note/word-play/proof-of-reality-using-lucid-dream/ /blog/2023/0618-sarushima-island/index.{html} /blog/2023/0618-sarushima-island/ /note/chores/cooking-rice-with-saucepan/index.{html} /note/chores/cooking-rice-with-saucepan/ -/note/info-tech/publish-obsidian-by-quartz/index.{html} /note/info-tech/publish-obsidian-by-quartz/ +/note/chores/one-hand-egg-cracking/index.{html} /note/chores/one-hand-egg-cracking/ +/note/info-tech/obsidian/index.{html} /note/info-tech/obsidian/ /note/info-tech/qemu/index.{html} /note/info-tech/qemu/ -/note/study/statistics/hypothesis-test-multiplicity/index.{html} /note/study/statistics/hypothesis-test-multiplicity/ -/blog/2023/0301-fukue-island/index.{html} /blog/2023/0301-fukue-island/ +/note/study/statistics/hypothesis-test/index.{html} /note/study/statistics/hypothesis-test/ +/index.html / /blog/2023/0303-fukue-island/index.{html} /blog/2023/0303-fukue-island/ -/note/info-tech/flutter/index.{html} /note/info-tech/flutter/ +/blog/2023/0304-fukue-island/index.{html} /blog/2023/0304-fukue-island/ +/blog/2023/0319-moving/index.{html} /blog/2023/0319-moving/ +/note/info-tech/install-archlinux/index.{html} /note/info-tech/install-archlinux/ +/note/info-tech/publish-obsidian-by-quartz/index.{html} /note/info-tech/publish-obsidian-by-quartz/ +/note/study/statistics/hypothesis-test-multiplicity/index.{html} /note/study/statistics/hypothesis-test-multiplicity/ /note/word-play/japanese-text-all-stars/index.{html} /note/word-play/japanese-text-all-stars/ -/note/word-play/proof-of-reality-using-lucid-dream/index.{html} /note/word-play/proof-of-reality-using-lucid-dream/ +/note/info-tech/dart/index.{html} /note/info-tech/dart/ +/note/info-tech/pleroma/index.{html} /note/info-tech/pleroma/ +/note/word-play/two-lolita-devils-and-chess-board/index.{html} /note/word-play/two-lolita-devils-and-chess-board/ diff --git a/note/chores/cooking-rice-with-saucepan/index.html b/note/chores/cooking-rice-with-saucepan/index.html index d06ece4..abfafd8 100644 --- a/note/chores/cooking-rice-with-saucepan/index.html +++ b/note/chores/cooking-rice-with-saucepan/index.html @@ -9,7 +9,7 @@ - diff --git a/note/chores/one-hand-egg-cracking/index.html b/note/chores/one-hand-egg-cracking/index.html index 13299a9..7b86c20 100644 --- a/note/chores/one-hand-egg-cracking/index.html +++ b/note/chores/one-hand-egg-cracking/index.html @@ -9,7 +9,7 @@ - diff --git a/note/index.html b/note/index.html index 47b3035..72ab217 100644 --- a/note/index.html +++ b/note/index.html @@ -9,10 +9,10 @@ -
\ No newline at end of file +

All Notes

\ No newline at end of file diff --git a/note/index.xml b/note/index.xml index f236ee7..d057243 100644 --- a/note/index.xml +++ b/note/index.xml @@ -1,4 +1,4 @@ -Notes onhttps://ar.falsy.cat/note/Recent content in Notes onHugo -- gohugo.ioen-us2人の幼女と悪魔とチェス盤https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/概要 「2人の幼女とチェス盤の部屋」という次のような論理問題を解説する 以下の手順の後,幼女Bが任意の整数$x\left(0\leq x&lt;64\right)$を求められるようにするには,幼女Aはどのような操作を行うべきか 悪魔が8x8チェス盤の各マスに1個ずつ,合計0個以上64個以下のポーンをランダムに配置する 悪魔は幼女Aにチェス盤を見せ,任意の数字$x\left(0\leq x&lt;64\right)$を伝える 幼女Aは,チェス盤に対して次のいずれかの操作のうち可能であるものを1回だけ必ず行う 任意のマスからポーンを1個だけ取り除く 任意のマスにポーンを1個だけ追加する 悪魔は幼女Bにチェス盤を見せる 問題の簡潔化 $f(g(b,x))=x$とできるような写像$f,g$を求めよ $B=\left\{0,1\right\}$ $b\in B^{64}$ $x\in B^6$ $f: B^{64} \rightarrow B^6$ $g: B^{64} \times B^6\rightarrow B^{64}$ $b$と$g(b,x)$は1ビットだけ異なる 解答 $f(b)=f_0\oplus f_1\oplus f_2 \oplus \dots \oplus f_{63} \quad\left(f_i=i b_i\right)$ $b&rsquo;=g(b,x) \implies b&rsquo;_m \neq b_m\quad\left(m=x\oplus f(b)\right)$ チェス盤が16x16の場合のプログラム 解説 $x=f(b)\oplus m$となるような$m\in B^6$は必ず存在する 盤面の各マスに$m$の値を割り当てることで,1マスの操作だけで$m$を表現できる 盤面のマス目の数も,$m$がとりうる値の数も64 $f(g(b,x))=f(b)\oplus m=f(b)\oplus f_m\oplus m(1-b_m)$ 応用 長さ$2^N$の任意のビット列について,任意の1ビットだけを反転させることで,長さ$N$のビット列を表現できる 参考文献 # 超難問論理クイズ「2人の幼女とチェス盤の部屋」が本当に難しすぎた - 明日は未来だ! 幼女問題まとめ - GItHub Gist Impossible Escape?ArchLinuxのインストールhttps://ar.falsy.cat/note/info-tech/install-archlinux/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/install-archlinux/概要 ArchLinuxのインストール手順を記録する Live Environmentの起動方法については触れない 前提 qemu上の仮想マシン BIOS GPT x86_64 デュアルブートなし できるだけシンプル,ミニマリスティックに 手順 1. 事前準備 1 2 3 loadkeys jp106 # キーボード設定 ping google.flutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur.ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/<h2 id="概要">概要</h2> +Notes onhttps://ar.falsy.cat/note/Recent content in Notes onHugo -- gohugo.ioen-us2人の幼女と悪魔とチェス盤https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/概要 「2人の幼女とチェス盤の部屋」という次のような論理問題を解説する 以下の手順の後,幼女Bが任意の整数$x\left(0\leq x&lt;64\right)$を求められるようにするには,幼女Aはどのような操作を行うべきか 悪魔が8x8チェス盤の各マスに1個ずつ,合計0個以上64個以下のポーンをランダムに配置する 悪魔は幼女Aにチェス盤を見せ,任意の数字$x\left(0\leq x&lt;64\right)$を伝える 幼女Aは,チェス盤に対して次のいずれかの操作のうち可能であるものを1回だけ必ず行う 任意のマスからポーンを1個だけ取り除く 任意のマスにポーンを1個だけ追加する 悪魔は幼女Bにチェス盤を見せる 問題の簡潔化 $f(g(b,x))=x$とできるような写像$f,g$を求めよ $B=\left\{0,1\right\}$ $b\in B^{64}$ $x\in B^6$ $f: B^{64} \rightarrow B^6$ $g: B^{64} \times B^6\rightarrow B^{64}$ $b$と$g(b,x)$は1ビットだけ異なる 解答 $f(b)=f_0\oplus f_1\oplus f_2 \oplus \dots \oplus f_{63} \quad\left(f_i=i b_i\right)$ $b&rsquo;=g(b,x) \implies b&rsquo;_m \neq b_m\quad\left(m=x\oplus f(b)\right)$ チェス盤が16x16の場合のプログラム 解説 $x=f(b)\oplus m$となるような$m\in B^6$は必ず存在する 盤面の各マスに$m$の値を割り当てることで,1マスの操作だけで$m$を表現できる 盤面のマス目の数も,$m$がとりうる値の数も64 $f(g(b,x))=f(b)\oplus m=f(b)\oplus f_m\oplus m(1-b_m)$ 応用 長さ$2^N$の任意のビット列について,任意の1ビットだけを反転させることで,長さ$N$のビット列を表現できる 参考文献 # 超難問論理クイズ「2人の幼女とチェス盤の部屋」が本当に難しすぎた - 明日は未来だ! 幼女問題まとめ - GItHub Gist Impossible Escape?ArchLinuxのインストールhttps://ar.falsy.cat/note/info-tech/install-archlinux/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/install-archlinux/概要 ArchLinuxのインストール手順を記録する Live Environmentの起動方法については触れない 前提 qemu上の仮想マシン BIOS GPT x86_64 デュアルブートなし できるだけシンプル,ミニマリスティックに 手順 1. 事前準備 1 2 3 loadkeys jp106 # キーボード設定 ping google.C/C++のsanitizerの使い方https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/概要 バグを検知するコードを埋め込むための,sanitizerと呼ばれる機能がある このページではsanitizerの使い方を説明する 使い方 コンパイル時にsanitizerを埋め込む 種類ごとにオプションが異なる XXXにはSanitizer名をカンマ区切りで羅列する 代表的なSanitizer名については後述 1 2 g++ -fsanitizer=XXX a.dart言語https://ar.falsy.cat/note/info-tech/dart/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/dart/概要 Google製プログラミング言語 flutterのための言語 日本語資料少なめ オブジェクト指向 特徴 undefined behaviorは無い Null safety 型名に?を付ければNull許容型になる Null許容型に対してはNullチェックをしないとコンパイラがキレる 整数値以外は参照型 GC(mark &amp; sweep)搭載 デストラクタは無さそう,そもそもmark &amp; sweepでデストラクタは信頼できない コンストラクタが書きやすい わざわざメンバ変数と同じ名前の引数を書いて,代入して,,,ということをしなくてもいい 静的解析が強め 文法 大体は既存のやつと同じ 文末セミコロン必須 関数呼び出しの実引数リストでもケツカンマ許容 変数修飾子 型が自明な場合,型名は省略できる 省略できる場合は省略することが推奨される 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // コンパイル時定数 const int x = 0; const x = 0; // 再代入不可能変数 final int x = 0; final x = 0; // 再代入可能変数 var int x = 0; var x = 0; // 遅延初期化変数 late int x; late final int x; final: 再代入不可能変数 値型の変数に対しては,値の変更を禁止する 参照型の変数に対しては,参照先の変更のみを禁止する dartでは,参照先のオブジェクトの変更を禁止することはできない late: 遅延初期化 変数の初期化を遅延させることができる 実質的にはNull safetyの無いNull許容型 late final修飾子によって複数回の代入をコンパイルエラーにできる ただし静的解析の精度は微妙なので,絶対に2回目の代入ができなくなるわけではない Null safety Null許容型に対しては,Nullを扱いやすくするための演算子が使える 関数の中で,変数に対して一度nullチェックをした場合,以降,その変数はNull許容型でないものとして扱える 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (T?flutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur.ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/<h2 id="概要">概要</h2> <ul> <li> <a href="https://github.com/jackyzha0/quartz" rel="noopener">Quartz</a>で @@ -17,7 +17,7 @@ data-src="https://ar.falsy.cat/note/info-tech/obsidian/">Obsidian</a>のVault <li>M1/M2向けVirtualBoxはまだ開発者プレビューしかなく,まともに使えなかった</li> </ul> </li> -</ul>パラメトリック検定とノンパラメトリック検定https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/概要 仮設検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である パラメトリック検定 母集団がある特定の分布であると事前に仮定する検定 ノンパラメトリック検定に比べて,計算が楽 手計算はこっちの方が嬉しい 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い 事前検定で母集団の仮定を検証するのはやめた方がいい(後述) ノンパラメトリック検定 母集団の分布を仮定しない検定 計算がめんどくさい サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない 事前検定 欲しい結果を得る検定の前に行われる検定のこと 多重検定の問題を孕む 個人的には,大抵の場合において事前検定は愚行だと思っている 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う 大人しくノンパラメトリック検定を使うべき そもそもコンピュータ使えば計算コストは無視できる まとめ 仮設検定は2つに分けられる パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定 ノンパラメトリック検定: それ以外の検定 パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき仮説検定https://ar.falsy.cat/note/study/statistics/hypothesis-test/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test/概要 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する 検定手順 帰無仮説を仮定する 帰無仮説のもとで検定したい事象が発生する確率$p$を求める $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する 結論に生じうる誤り 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう 発生確率=有意確率 発生確率を設定できる 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう 発生確率は不明 発生確率を設定できない 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ) 大体の場合で5% 第一種の誤りが許されない場面(医療など)では1% 例 コイントスを10回やって7回表が出た.コイントスは公平か? 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.仮説検定の多重性問題https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/概要 結論に複数の 仮設検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない 不確実な情報による結論の不確実性 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる ただし,実際には第二種の過誤も存在する 有意水準を小さくすれば結論が第二種の過誤である確率は増加する 以上より,多重検定は非常によろしくない 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから Holm法による有意水準の調整 多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う.卵を片手で割る手法の提案https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Abstract This paper proposes a method to crack eggs by one hand The method can reduce cooking time and promote multi-tasking No special appliance is needed However accuracy of action is necessary to keep yolk unbroken 概要 調理の時短とマルチタスク促進のために卵を片手で割る手法を提案する 本手法は一般家庭にある既存の器具のみで実行が可能 ただし黄身を割らないためには繊細な動作が要求される 背景 左手でゴミ袋を持ちながら右手で卵を割ると非常に時短になる 特に調理プロセスのなかで一度に複数の卵が関与する場合に著しい時短効果が得られる 先行研究の手法では調理対象に殻が混入してしまうことが多い 手法 卵をフォークボールを投げる時のように持つ 鋭端が人差し指と中指の間に来るように持つ 鈍端を親指と薬指で支える 皿の淵で卵の殻に割れ目を作る 卵の鋭端と鈍端を結ぶ線分の垂直二等分線が皿の淵と重なるように腕を何回か振り下ろす 皿を卵の直径の$\frac{1}{4}$程度まで食い込ませる 卵を皿に押し付けて真っ二つにするイメージ ここで皿を食い込ませすぎると黄身が割れる原因になる 人差し指の付け根で割れ目の裏側を押し出す 人差し指,中指,親指,薬指で卵をしっかりと支えておく 評価実験 本手法を用いて鶏卵2個を割った 1個は黄身が割れたが,1個は割れなかった 卵の殻が調理対象に混入することはなかった まとめ 卵を片手で割る手法を提案した 本手法では50%の確率で黄身が割れる 先行研究の手法と異なり,卵の殻が混入する確率は低い 今後の課題として,黄身が割れる確率を抑えることが挙げられる 理論上,左右両方の手で同時に2個の卵を割ることでさらなる効率化を図れる国語教科書オールスターズhttps://ar.falsy.cat/note/word-play/japanese-text-all-stars/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/japanese-text-all-stars/<h2 id="概要">概要</h2> +</ul>パラメトリック検定とノンパラメトリック検定https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/概要 仮説検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である パラメトリック検定 母集団がある特定の分布であると事前に仮定する検定 ノンパラメトリック検定に比べて,計算が楽 手計算はこっちの方が嬉しい 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い 事前検定で母集団の仮定を検証するのはやめた方がいい(後述) ノンパラメトリック検定 母集団の分布を仮定しない検定 計算がめんどくさい サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない 事前検定 欲しい結果を得る検定の前に行われる検定のこと 多重検定の問題を孕む 個人的には,大抵の場合において事前検定は愚行だと思っている 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う 大人しくノンパラメトリック検定を使うべき そもそもコンピュータ使えば計算コストは無視できる まとめ 仮説検定は2つに分けられる パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定 ノンパラメトリック検定: それ以外の検定 パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき仮説検定https://ar.falsy.cat/note/study/statistics/hypothesis-test/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test/概要 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する 検定手順 帰無仮説を仮定する 帰無仮説のもとで検定したい事象が発生する確率$p$を求める $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する 結論に生じうる誤り 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう 発生確率=有意確率 発生確率を設定できる 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう 発生確率は不明 発生確率を設定できない 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ) 大体の場合で5% 第一種の誤りが許されない場面(医療など)では1% 例 コイントスを10回やって7回表が出た.コイントスは公平か? 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.仮説検定の多重性問題https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/概要 結論に複数の 仮説検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない 不確実な情報による結論の不確実性 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる ただし,実際には第二種の過誤も存在する 有意水準を小さくすれば結論が第二種の過誤である確率は増加する 以上より,多重検定は非常によろしくない 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから Holm法による有意水準の調整 多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う.卵を片手で割る手法の提案https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Abstract This paper proposes a method to crack eggs by one hand The method can reduce cooking time and promote multi-tasking No special appliance is needed However accuracy of action is necessary to keep yolk unbroken 概要 調理の時短とマルチタスク促進のために卵を片手で割る手法を提案する 本手法は一般家庭にある既存の器具のみで実行が可能 ただし黄身を割らないためには繊細な動作が要求される 背景 左手でゴミ袋を持ちながら右手で卵を割ると非常に時短になる 特に調理プロセスのなかで一度に複数の卵が関与する場合に著しい時短効果が得られる 先行研究の手法では調理対象に殻が混入してしまうことが多い 手法 卵をフォークボールを投げる時のように持つ 鋭端が人差し指と中指の間に来るように持つ 鈍端を親指と薬指で支える 皿の淵で卵の殻に割れ目を作る 卵の鋭端と鈍端を結ぶ線分の垂直二等分線が皿の淵と重なるように腕を何回か振り下ろす 皿を卵の直径の$\frac{1}{4}$程度まで食い込ませる 卵を皿に押し付けて真っ二つにするイメージ ここで皿を食い込ませすぎると黄身が割れる原因になる 人差し指の付け根で割れ目の裏側を押し出す 人差し指,中指,親指,薬指で卵をしっかりと支えておく 評価実験 本手法を用いて鶏卵2個を割った 1個は黄身が割れたが,1個は割れなかった 卵の殻が調理対象に混入することはなかった まとめ 卵を片手で割る手法を提案した 本手法では50%の確率で黄身が割れる 先行研究の手法と異なり,卵の殻が混入する確率は低い 今後の課題として,黄身が割れる確率を抑えることが挙げられる 理論上,左右両方の手で同時に2個の卵を割ることでさらなる効率化を図れる国語教科書オールスターズhttps://ar.falsy.cat/note/word-play/japanese-text-all-stars/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/japanese-text-all-stars/<h2 id="概要">概要</h2> <ul> <li>今までの国語の教科書に出てきた忘れられない奴等を忘れないために記録しておく</li> </ul>明晰夢を利用した現実の証明https://ar.falsy.cat/note/word-play/proof-of-reality-using-lucid-dream/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/proof-of-reality-using-lucid-dream/概要 今の意識が現実であることを証明する手法を論理的に導く ただの言葉遊びなので哲学的な何かは期待しないでほしい 前提 ここでは次の前提のもと議論を進める 夢を見ていることを自覚している夢を見ている,ならばかつその時に限り,明晰夢を見ている 明晰夢を見ている,ならば,全てが思い通りになる 夢でないならば現実である 証明は次の定義の元で行う 状況$A$: 夢を見ている 状況$B$: 夢を見ていることを自覚している 状況$C$: 明晰夢を見ている 状況$D$: 全てが思い通りである 証明の最終的な目標は$X\implies \overline{A}$を導くことである 証明 前提より $P_1: A\cap B\iff C$ $P_2: C \implies D$ $P_1,P_2$より,三段論法を用いて $P_3: A \cap B \implies D$ $P_3$の対偶より $P_4: \overline{D}\implies \overline{A\cap B}$ $P_4$より,ド・モルガンの公式を用いて $P_5: \overline{D}\implies \overline{A} \cup \overline{B}$ $B$は意図的に真にできるため,$P_5$より $\overline{D}\cap B \implies \overline{A}$ 結論 事前に夢を見ていることを自覚している,かつ,思い通りにならないことが存在する,ならば,それは現実である ただし,この手法では全ての現実を証明できるとは言えないことに留意されたい片手鍋で米を炊くhttps://ar.falsy.cat/note/chores/cooking-rice-with-saucepan/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/chores/cooking-rice-with-saucepan/概要 炊飯器が無くても米は炊ける ただし火を使う間,22分程度拘束される 手順 片手鍋で米(3合)を研ぐ 水(500ml)を入れる 蓋をして鍋ごと冷蔵庫で30分冷やす 蓋をしたまま中火で13分 弱火で3分 とろ火で6分 火を消して蓋をしたまま10分放置 補足 冷やす時間は15分程度まで短縮しても良い 短縮した場合は中火の時間も12分程度に縮める 最後の放置が結構重要 火を消した直後はまだべちゃべちゃしてる \ No newline at end of file diff --git a/note/info-tech/c-cpp-sanitizer/index.html b/note/info-tech/c-cpp-sanitizer/index.html new file mode 100644 index 0000000..bdae4ed --- /dev/null +++ b/note/info-tech/c-cpp-sanitizer/index.html @@ -0,0 +1,24 @@ +C/C++のsanitizerの使い方 + + + + + + + + + + + +
+

ar.falsy.cat

Search

Search IconIcon to open search
+

C/C++のsanitizerの使い方

Last updated +Jun 21, 2023

# 概要

  • バグを検知するコードを埋め込むための,sanitizerと呼ばれる機能がある
  • このページではsanitizerの使い方を説明する

# 使い方

# コンパイル時にsanitizerを埋め込む

  • 種類ごとにオプションが異なる
  • XXXにはSanitizer名をカンマ区切りで羅列する
    • 代表的なSanitizer名については後述
1
+2
+
g++ -fsanitizer=XXX a.cc
+gcc -fsanitizer=XXX a.c
+

# 代表的なSanitizer

  • ここ-fsanitizer=を検索すると一覧が見れる
  • threadaddressundefinedと同居できない
名前説明
addressAddress Sanitizer
undefinedUndefined Behavior Sanitizer
threadThread Sanitizer

# 実行時にsanitizerの挙動を指定する

  • sanitizerが埋め込まれたバイナリに対して,実行時に,sanitizerの挙動を環境変数で指定することができる
  • 詳細は各sanitizerの説明ページを参照

# 所感

  • threadが強すぎる
    • threadは実際に +Nf7のデバッグで使ってる
      • sanitizerがなければ気づけなかったcondition raceがかなりあった
        • 格好つけてロックフリーで書いたせい
  • threadaddressundefinedと一緒に使えないのが痛い
    • どちらともを使うには,threadでビルド,テストした後に,オプションを変えてビルドし直し,同じテストを実行しなければならない

\ No newline at end of file diff --git a/note/info-tech/dart/index.html b/note/info-tech/dart/index.html new file mode 100644 index 0000000..a643214 --- /dev/null +++ b/note/info-tech/dart/index.html @@ -0,0 +1,109 @@ +dart言語 + + + + + + + + + + + +
+

ar.falsy.cat

Search

Search IconIcon to open search
+

dart言語

Last updated +Jun 21, 2023

# 概要

  • Google製プログラミング言語
  • flutterのための言語
  • 日本語資料少なめ
  • オブジェクト指向

# 特徴

  • undefined behaviorは無い
  • Null safety
    • 型名に?を付ければNull許容型になる
    • Null許容型に対してはNullチェックをしないとコンパイラがキレる
  • 整数値以外は参照型
  • GC(mark & sweep)搭載
    • デストラクタは無さそう,そもそもmark & sweepでデストラクタは信頼できない
  • コンストラクタが書きやすい
    • わざわざメンバ変数と同じ名前の引数を書いて,代入して,,,ということをしなくてもいい
  • 静的解析が強め

# 文法

  • 大体は既存のやつと同じ
  • 文末セミコロン必須
  • 関数呼び出しの実引数リストでもケツカンマ許容

# 変数修飾子

  • 型が自明な場合,型名は省略できる
    • 省略できる場合は省略することが推奨される
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+
// コンパイル時定数
+const int x = 0;
+const x = 0;
+
+// 再代入不可能変数
+final int x = 0;
+final x = 0;
+
+// 再代入可能変数
+var int x = 0;
+var x = 0;
+
+// 遅延初期化変数
+late int x;
+late final int x;
+

# final: 再代入不可能変数

  • 値型の変数に対しては,値の変更を禁止する
  • 参照型の変数に対しては,参照先の変更のみを禁止する
  • dartでは,参照先のオブジェクトの変更を禁止することはできない

# late: 遅延初期化

  • 変数の初期化を遅延させることができる
  • 実質的にはNull safetyの無いNull許容型
  • late final修飾子によって複数回の代入をコンパイルエラーにできる
    • ただし静的解析の精度は微妙なので,絶対に2回目の代入ができなくなるわけではない

# Null safety

  • Null許容型に対しては,Nullを扱いやすくするための演算子が使える
  • 関数の中で,変数に対して一度nullチェックをした場合,以降,その変数はNull許容型でないものとして扱える
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+
(T? x) {
+  x ?? T();  // x が null ならば 0 それ以外ならば T()
+  x?.method();  // x が null ならば methodを呼ばずnullを返す それ以外ならば methodを呼ぶ
+  x!.method();  // x が nullでない ことを前提として methodを呼ぶ(実行時にnullだった場合runtime error)
+};
+(T? x) {
+  if (x == null) {
+    return;
+  }
+  x.method();  // x!.method(); とする必要がない
+};
+(T? x) {
+  x.method();  // Nullチェックしてないのでコンパイルエラー
+};
+

# コンストラクタ

  • C++と比べてかなり書きやすい
 1
+ 2
+ 3
+ 4
+ 5
+ 6
+ 7
+ 8
+ 9
+10
+11
+12
+13
+14
+15
+16
+
class A {
+  final int x;
+  final int y;
+  final int z;
+
+  A(this.x, this.y, this.z);
+  A(this.x, {required this.y, this.z = 1});
+  A.empty() :
+    this.x = 0, this.y = 0, this.z = 0;
+}
+
+void main() {
+  final a1 = A(0, 1, 2);
+  final a2 = A(0, y: 1);
+  final a3 = A.empty();
+}
+

\ No newline at end of file diff --git a/note/info-tech/flutter/index.html b/note/info-tech/flutter/index.html index ef9f30e..650dfea 100644 --- a/note/info-tech/flutter/index.html +++ b/note/info-tech/flutter/index.html @@ -9,7 +9,7 @@ - @@ -54,4 +54,4 @@ Mar 20, 2023

  • Note< git config --global --add safe.directory /opt/flutter flutter doctor --android-licenses flutter doctor # 完了 -

    # 感想

    • メジャーバージョンが同じでも後方互換性は乏しい
      • 過去のプロジェクトをビルドしようとしてもよくわからないエラーが大量に出てくる

    \ No newline at end of file +

    # 感想

    • メジャーバージョンが同じでも後方互換性は乏しい
      • 過去のプロジェクトをビルドしようとしてもよくわからないエラーが大量に出てくる

    \ No newline at end of file diff --git a/note/info-tech/install-archlinux/index.html b/note/info-tech/install-archlinux/index.html index e24f9b6..2081f92 100644 --- a/note/info-tech/install-archlinux/index.html +++ b/note/info-tech/install-archlinux/index.html @@ -9,14 +9,14 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search

    ArchLinuxのインストール

    Last updated -Mar 18, 2023

    # 概要

    • ArchLinuxのインストール手順を記録する
    • Live Environmentの起動方法については触れない

    # 前提

    • qemu上の仮想マシン
    • BIOS
    • GPT
    • x86_64
    • デュアルブートなし
    • できるだけシンプル,ミニマリスティックに

    # 手順

    # 1. 事前準備

    1
    +Jun 21, 2023

    # 概要

    • ArchLinuxのインストール手順を記録する
    • Live Environmentの起動方法については触れない

    # 前提

    • qemu上の仮想マシン
    • BIOS
    • GPT
    • x86_64
    • デュアルブートなし
    • できるだけシンプル,ミニマリスティックに

    # 手順

    # 1. 事前準備

    1
     2
     3
     
    loadkeys jp106      # キーボード設定
    @@ -44,4 +44,4 @@ Mar 18, 2023

    grub-install --target=i386-pc /dev/sda
     grub-mkconfig -o /boot/grub/grub.cfg
    -

    以上.


    \ No newline at end of file +

    以上.


    \ No newline at end of file diff --git a/note/info-tech/obsidian/index.html b/note/info-tech/obsidian/index.html index 79ab4e3..2037a52 100644 --- a/note/info-tech/obsidian/index.html +++ b/note/info-tech/obsidian/index.html @@ -12,11 +12,11 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search

    Obsidianについて

    Last updated -Feb 23, 2023

    公式サイト

    # 概要

    • オフラインのwikiっぽいもの(=Vault)
    • 記法はmarkdown
    • Vaultは全てローカルに保存される

    # インストール

    • 公式サイトに各OSのインストーラが揃ってる
    • Macではbrew install obsidianができる

    # いいところ

    • シンプルでスタイリッシュなデザイン
    • 完全ローカルなので高セキュリティ
    • 数式が使える $E=mc^2$

    # わるいところ

    • 完全ローカルなので同期が課題
      • Vaultが巨大になるほど同期コストも増加
    • Macにて,エディタ上のリアルタイムプレビューとIMEが競合して日本語が正常に入力できないことがある

    # 所感

    • ar.falsy.catの記事書くのに使っている
    • WebDAVなどのファイルサーバー上にあるVaultを,全体をダウンロードせずに開けるようになれば素晴らしい

    # 関連


    \ No newline at end of file +Jun 21, 2023

    公式サイト

    # 概要

    • オフラインのwikiっぽいもの(=Vault)
    • 記法はmarkdown
    • Vaultは全てローカルに保存される

    # インストール

    • 公式サイトに各OSのインストーラが揃ってる
    • Macではbrew install obsidianができる

    # いいところ

    • シンプルでスタイリッシュなデザイン
    • 完全ローカルなので高セキュリティ
    • 数式が使える $E=mc^2$

    # わるいところ

    • 完全ローカルなので同期が課題
      • Vaultが巨大になるほど同期コストも増加
    • Macにて,エディタ上のリアルタイムプレビューとIMEが競合して日本語が正常に入力できないことがある

    # 所感

    • ar.falsy.catの記事書くのに使っている
    • WebDAVなどのファイルサーバー上にあるVaultを,全体をダウンロードせずに開けるようになれば素晴らしい

    \ No newline at end of file diff --git a/note/info-tech/pleroma/index.html b/note/info-tech/pleroma/index.html index 2a645b6..7e2bade 100644 --- a/note/info-tech/pleroma/index.html +++ b/note/info-tech/pleroma/index.html @@ -9,14 +9,14 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search

    Pleroma

    Last updated -Apr 8, 2023

    # 概要

    • ActivityPubに対応したlightweight(自称)なSNS
    • 単体で見るとlightweightには思えないけど,mastodonと比べたら確かにlightweight

    # DB肥大化問題

    • 長期間Pleromaを稼働させ続けると,DBのレコード数がやばいことになる
    • DBのレスポンスがくそ長くなり,最終的にタイムアウトで500になる
    • オブジェクトの寿命とか設定してみたけど特に意味はなかった

    # 解決法

    • ローカルアカウントそれ自体の情報以外の情報を削除する
    • pleromaを停止して,postgresで次のSQLを実行する
      • 自動化しても良いかもしれない
    • 追記: フォロー/フォロワー情報も削除されてしまったので改善が必要!!!
    1
    +Jun 21, 2023

    # 概要

    • ActivityPubに対応したlightweight(自称)なSNS
    • 単体で見るとlightweightには思えないけど,mastodonと比べたら確かにlightweight

    # DB肥大化問題

    • 長期間Pleromaを稼働させ続けると,DBのレコード数がやばいことになる
    • DBのレスポンスがくそ長くなり,最終的にタイムアウトで500になる
    • オブジェクトの寿命とか設定してみたけど特に意味はなかった

    # 解決法

    • ローカルアカウントそれ自体の情報以外の情報を削除する
    • pleromaを停止して,postgresで次のSQLを実行する
      • 自動化しても良いかもしれない
    • 追記: フォロー/フォロワー情報も削除されてしまったので改善が必要!!!

    \ No newline at end of file +

    \ No newline at end of file diff --git a/note/info-tech/publish-obsidian-by-quartz/index.html b/note/info-tech/publish-obsidian-by-quartz/index.html index c3c7fe0..fbb1486 100644 --- a/note/info-tech/publish-obsidian-by-quartz/index.html +++ b/note/info-tech/publish-obsidian-by-quartz/index.html @@ -45,14 +45,14 @@ Quartzの紹介文からの引用 -

    ar.falsy.cat

    Search

    Search IconIcon to open search

    ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築

    Last updated -Feb 24, 2023

    # 概要


    \ No newline at end of file +Quartzでいい感じに公開ができた
  • 執筆のためにリポジトリをcloneしなければならないため,記事数が増えた時の複数PCの同期コストが問題になりそう
    • ブランチ分けてPullRequest活用すれば解決する?
      • 記事書くたびにPR作るのはクソめんどくさそう

\ No newline at end of file diff --git a/note/info-tech/qemu/index.html b/note/info-tech/qemu/index.html index 82c6c14..df79280 100644 --- a/note/info-tech/qemu/index.html +++ b/note/info-tech/qemu/index.html @@ -33,7 +33,7 @@ M1/M2向けVirtualBoxはまだ開発者プレビューしかなく,まとも - @@ -66,4 +66,4 @@ Mar 18, 2023

  • Note< -m 4G \ -cdrom ../iso/archlinux-2023.02.01-x86_64.iso \ sda.qcow2 -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/note/page/2/index.html b/note/page/2/index.html index 13e7efd..dc1274f 100644 --- a/note/page/2/index.html +++ b/note/page/2/index.html @@ -9,10 +9,10 @@ -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/note/study/statistics/hypothesis-test-multiplicity/index.html b/note/study/statistics/hypothesis-test-multiplicity/index.html index 2d920c1..6938679 100644 --- a/note/study/statistics/hypothesis-test-multiplicity/index.html +++ b/note/study/statistics/hypothesis-test-multiplicity/index.html @@ -1,4 +1,4 @@ -仮説検定の多重性問題 +仮説検定の多重性問題 @@ -9,12 +9,12 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search

    仮説検定の多重性問題

    Last updated -Jun 18, 2023

    # 概要

    • 結論に複数の -仮設検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある
    • 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない

    # 不確実な情報による結論の不確実性

    • 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである
      • $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である
      • 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる
    • ただし,実際には第二種の過誤も存在する
      • 有意水準を小さくすれば結論が第二種の過誤である確率は増加する
    • 以上より,多重検定は非常によろしくない
      • 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける
        • 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから

    # Holm法による有意水準の調整

    多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う.

    # 手法

    $N$個の検定による多重検定の有意水準を$\alpha$としたとき,Holm法による有意水準の調整を次のように行う.

    1. 各検定の有意確率をソート
    2. $i=0$とする
    3. 結論が未確定の検定のうち,最も有意確率が小さいものについて,その有意確率を$x$としたとき,
      • $x < \frac{\alpha}{N-i}$ ならば,その検定を棄却
      • $x > p$ ならば,結論が未確定の検定すべて(その検定を含む)を受容し,終了
    4. $i$に1を足して,
      • $i<N$ ならば,3へ戻る
      • それ以外ならば,終了

    # まとめ

    • 多重検定は避けるべき
    • どうしても必要なら有意水準の補正が必要
    • 有意水準の補正にはHolm法が有効

    \ No newline at end of file +Jun 21, 2023

    # 概要

    • 結論に複数の +仮説検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある
    • 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない

    # 不確実な情報による結論の不確実性

    • 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである
      • $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である
      • 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる
    • ただし,実際には第二種の過誤も存在する
      • 有意水準を小さくすれば結論が第二種の過誤である確率は増加する
    • 以上より,多重検定は非常によろしくない
      • 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける
        • 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから

    # Holm法による有意水準の調整

    多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う.

    # 手法

    $N$個の検定による多重検定の有意水準を$\alpha$としたとき,Holm法による有意水準の調整を次のように行う.

    1. 各検定の有意確率をソート
    2. $i=0$とする
    3. 結論が未確定の検定のうち,最も有意確率が小さいものについて,その有意確率を$x$としたとき,
      • $x < \frac{\alpha}{N-i}$ ならば,その検定を棄却
      • $x > p$ ならば,結論が未確定の検定すべて(その検定を含む)を受容し,終了
    4. $i$に1を足して,
      • $i<N$ ならば,3へ戻る
      • それ以外ならば,終了

    # まとめ

    • 多重検定は避けるべき
    • どうしても必要なら有意水準の補正が必要
    • 有意水準の補正にはHolm法が有効

    \ No newline at end of file diff --git a/note/study/statistics/hypothesis-test-parametric/index.html b/note/study/statistics/hypothesis-test-parametric/index.html index cc811f6..2a085b3 100644 --- a/note/study/statistics/hypothesis-test-parametric/index.html +++ b/note/study/statistics/hypothesis-test-parametric/index.html @@ -1,4 +1,4 @@ -パラメトリック検定とノンパラメトリック検定 +パラメトリック検定とノンパラメトリック検定 @@ -9,11 +9,11 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search

    パラメトリック検定とノンパラメトリック検定

    Last updated -Jun 18, 2023

    # 概要

    • 仮設検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である
    • 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である

    # パラメトリック検定

    • 母集団がある特定の分布であると事前に仮定する検定
      • ノンパラメトリック検定に比べて,計算が楽
        • 手計算はこっちの方が嬉しい
      • 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い
    • 事前検定で母集団の仮定を検証するのはやめた方がいい(後述)

    # ノンパラメトリック検定

    • 母集団の分布を仮定しない検定
      • 計算がめんどくさい
        • サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬
      • 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない

    # 事前検定

    • 欲しい結果を得る検定の前に行われる検定のこと
      • 多重検定の問題を孕む
        • 個人的には,大抵の場合において事前検定は愚行だと思っている
    • 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる
      • 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う
      • 大人しくノンパラメトリック検定を使うべき
      • そもそもコンピュータ使えば計算コストは無視できる

    # まとめ

    • 仮設検定は2つに分けられる
      • パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定
      • ノンパラメトリック検定: それ以外の検定
    • パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき

    \ No newline at end of file +Jun 21, 2023

    # 概要

    • 仮説検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である
    • 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である

    # パラメトリック検定

    • 母集団がある特定の分布であると事前に仮定する検定
      • ノンパラメトリック検定に比べて,計算が楽
        • 手計算はこっちの方が嬉しい
      • 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い
    • 事前検定で母集団の仮定を検証するのはやめた方がいい(後述)

    # ノンパラメトリック検定

    • 母集団の分布を仮定しない検定
      • 計算がめんどくさい
        • サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬
      • 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない

    # 事前検定

    • 欲しい結果を得る検定の前に行われる検定のこと
      • 多重検定の問題を孕む
        • 個人的には,大抵の場合において事前検定は愚行だと思っている
    • 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる
      • 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う
      • 大人しくノンパラメトリック検定を使うべき
      • そもそもコンピュータ使えば計算コストは無視できる

    # まとめ

    • 仮説検定は2つに分けられる
      • パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定
      • ノンパラメトリック検定: それ以外の検定
    • パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき

    \ No newline at end of file diff --git a/note/study/statistics/hypothesis-test/index.html b/note/study/statistics/hypothesis-test/index.html index 6d4648e..93b7c5f 100644 --- a/note/study/statistics/hypothesis-test/index.html +++ b/note/study/statistics/hypothesis-test/index.html @@ -9,11 +9,11 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search

    仮説検定

    Last updated -Jun 18, 2023

    # 概要

    • 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き
    • 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である
    • 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する

    # 検定手順

    1. 帰無仮説を仮定する
    2. 帰無仮説のもとで検定したい事象が発生する確率$p$を求める
    3. $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する

    # 結論に生じうる誤り

    • 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう
      • 発生確率=有意確率
      • 発生確率を設定できる
    • 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう
      • 発生確率は不明
      • 発生確率を設定できない
    • 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ)
      • 大体の場合で5%
      • 第一種の誤りが許されない場面(医療など)では1%

    #

    • コイントスを10回やって7回表が出た.コイントスは公平か?
      • 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.12$
      • $0.12>0.10$より有意水準10%で帰無仮説は棄却されない
        • コイントスは公平である
        • 12%で起こりうることが起きた,帰無仮説が正しい場合は普通のこと,つまり,帰無仮説は正しい
        • この結論は第二種の誤りである可能性がある
      • $0.12<0.15$より有意水準15%で帰無仮説は棄却される
        • コイントスは公平でない
        • 12%で起こりうることが起きた,帰無仮説が正しい場合は奇跡に近い,つまり,帰無仮説は間違いだ
        • この結論は12%の確率で第一種の誤りである可能性がある

    # 注意点

    • 自分の望む結果を得るために,検定の途中で有意水準を作為的に操作してはならない
      • 有意水準は必ず有意確率を求める前に定めなければならない

    \ No newline at end of file +Jun 18, 2023

    # 概要

    • 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き
    • 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である
    • 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する

    # 検定手順

    1. 帰無仮説を仮定する
    2. 帰無仮説のもとで検定したい事象が発生する確率$p$を求める
    3. $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する

    # 結論に生じうる誤り

    • 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう
      • 発生確率=有意確率
      • 発生確率を設定できる
    • 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう
      • 発生確率は不明
      • 発生確率を設定できない
    • 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ)
      • 大体の場合で5%
      • 第一種の誤りが許されない場面(医療など)では1%

    #

    • コイントスを10回やって7回表が出た.コイントスは公平か?
      • 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.12$
      • $0.12>0.10$より有意水準10%で帰無仮説は棄却されない
        • コイントスは公平である
        • 12%で起こりうることが起きた,帰無仮説が正しい場合は普通のこと,つまり,帰無仮説は正しい
        • この結論は第二種の誤りである可能性がある
      • $0.12<0.15$より有意水準15%で帰無仮説は棄却される
        • コイントスは公平でない
        • 12%で起こりうることが起きた,帰無仮説が正しい場合は奇跡に近い,つまり,帰無仮説は間違いだ
        • この結論は12%の確率で第一種の誤りである可能性がある

    # 注意点

    • 自分の望む結果を得るために,検定の途中で有意水準を作為的に操作してはならない
      • 有意水準は必ず有意確率を求める前に定めなければならない

    \ No newline at end of file diff --git a/note/word-play/japanese-text-all-stars/index.html b/note/word-play/japanese-text-all-stars/index.html index 9d3af0d..c7de6f6 100644 --- a/note/word-play/japanese-text-all-stars/index.html +++ b/note/word-play/japanese-text-all-stars/index.html @@ -18,7 +18,7 @@ - diff --git a/note/word-play/proof-of-reality-using-lucid-dream/index.html b/note/word-play/proof-of-reality-using-lucid-dream/index.html index 11ca0ef..77e4485 100644 --- a/note/word-play/proof-of-reality-using-lucid-dream/index.html +++ b/note/word-play/proof-of-reality-using-lucid-dream/index.html @@ -9,7 +9,7 @@ - diff --git a/note/word-play/two-lolita-devils-and-chess-board/index.html b/note/word-play/two-lolita-devils-and-chess-board/index.html index e7d6e24..a0e39d1 100644 --- a/note/word-play/two-lolita-devils-and-chess-board/index.html +++ b/note/word-play/two-lolita-devils-and-chess-board/index.html @@ -9,11 +9,11 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search

    2人の幼女と悪魔とチェス盤

    Last updated -Apr 23, 2023

    # 概要

    • 「2人の幼女とチェス盤の部屋」という次のような論理問題を解説する
      • 以下の手順の後,幼女Bが任意の整数$x\left(0\leq x<64\right)$を求められるようにするには,幼女Aはどのような操作を行うべきか
        1. 悪魔が8x8チェス盤の各マスに1個ずつ,合計0個以上64個以下のポーンをランダムに配置する
        2. 悪魔は幼女Aにチェス盤を見せ,任意の数字$x\left(0\leq x<64\right)$を伝える
        3. 幼女Aは,チェス盤に対して次のいずれかの操作のうち可能であるものを1回だけ必ず行う
          • 任意のマスからポーンを1個だけ取り除く
          • 任意のマスにポーンを1個だけ追加する
        4. 悪魔は幼女Bにチェス盤を見せる

    # 問題の簡潔化

    • $f(g(b,x))=x$とできるような写像$f,g$を求めよ
      • $B=\left\{0,1\right\}$
      • $b\in B^{64}$
      • $x\in B^6$
      • $f: B^{64} \rightarrow B^6$
      • $g: B^{64} \times B^6\rightarrow B^{64}$
        • $b$と$g(b,x)$は1ビットだけ異なる

    # 解答

    # 解説

    • $x=f(b)\oplus m$となるような$m\in B^6$は必ず存在する
    • 盤面の各マスに$m$の値を割り当てることで,1マスの操作だけで$m$を表現できる
      • 盤面のマス目の数も,$m$がとりうる値の数も64
      • $f(g(b,x))=f(b)\oplus m=f(b)\oplus f_m\oplus m(1-b_m)$

    # 応用

    • 長さ$2^N$の任意のビット列について,任意の1ビットだけを反転させることで,長さ$N$のビット列を表現できる

    # 参考文献


    \ No newline at end of file +Apr 23, 2023

    # 概要

    • 「2人の幼女とチェス盤の部屋」という次のような論理問題を解説する
      • 以下の手順の後,幼女Bが任意の整数$x\left(0\leq x<64\right)$を求められるようにするには,幼女Aはどのような操作を行うべきか
        1. 悪魔が8x8チェス盤の各マスに1個ずつ,合計0個以上64個以下のポーンをランダムに配置する
        2. 悪魔は幼女Aにチェス盤を見せ,任意の数字$x\left(0\leq x<64\right)$を伝える
        3. 幼女Aは,チェス盤に対して次のいずれかの操作のうち可能であるものを1回だけ必ず行う
          • 任意のマスからポーンを1個だけ取り除く
          • 任意のマスにポーンを1個だけ追加する
        4. 悪魔は幼女Bにチェス盤を見せる

    # 問題の簡潔化

    • $f(g(b,x))=x$とできるような写像$f,g$を求めよ
      • $B=\left\{0,1\right\}$
      • $b\in B^{64}$
      • $x\in B^6$
      • $f: B^{64} \rightarrow B^6$
      • $g: B^{64} \times B^6\rightarrow B^{64}$
        • $b$と$g(b,x)$は1ビットだけ異なる

    # 解答

    # 解説

    • $x=f(b)\oplus m$となるような$m\in B^6$は必ず存在する
    • 盤面の各マスに$m$の値を割り当てることで,1マスの操作だけで$m$を表現できる
      • 盤面のマス目の数も,$m$がとりうる値の数も64
      • $f(g(b,x))=f(b)\oplus m=f(b)\oplus f_m\oplus m(1-b_m)$

    # 応用

    • 長さ$2^N$の任意のビット列について,任意の1ビットだけを反転させることで,長さ$N$のビット列を表現できる

    # 参考文献


    \ No newline at end of file diff --git a/sitemap.xml b/sitemap.xml index b2a9373..cf43bc2 100644 --- a/sitemap.xml +++ b/sitemap.xml @@ -1 +1 @@ -https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/2023-04-23T01:11:03+09:00https://ar.falsy.cat/note/info-tech/install-archlinux/2023-03-18T13:47:08+09:00https://ar.falsy.cat/tags/blog/2023-06-18T15:46:52+09:00https://ar.falsy.cat/blog/2023-06-18T15:46:52+09:00https://ar.falsy.cat/tags/cat/2023-03-04T21:21:42+09:00https://ar.falsy.cat/categories/https://ar.falsy.cat/tags/chores/2023-03-07T10:46:29+09:00https://ar.falsy.cat/tags/cooking/2023-03-07T10:46:29+09:00https://ar.falsy.cat/tags/development/2023-03-20T12:07:53+09:00https://ar.falsy.cat/tags/fediverse/2023-04-08T23:50:58+09:00https://ar.falsy.cat/note/info-tech/flutter/2023-03-20T12:07:53+09:00https://ar.falsy.cat/tags/gourmet/2023-03-03T22:55:00+09:00https://ar.falsy.cat/2023-03-02T09:14:29-08:00https://ar.falsy.cat/tags/info-tech/2023-04-08T23:50:58+09:00https://ar.falsy.cat/tags/library/2023-03-20T12:07:53+09:00https://ar.falsy.cat/tags/lifehack/2023-03-11T23:42:40+09:00https://ar.falsy.cat/tags/linux/2023-03-18T13:47:08+09:00https://ar.falsy.cat/tags/mountain/2023-03-04T21:21:42+09:00https://ar.falsy.cat/tags/note/2023-06-18T16:32:59+09:00https://ar.falsy.cat/note/2023-06-18T16:32:59+09:00https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/2023-02-24T17:27:13+09:00https://ar.falsy.cat/note/info-tech/obsidian/2023-02-23T22:52:35+09:00https://ar.falsy.cat/tags/photo/2023-06-18T15:46:52+09:00https://ar.falsy.cat/note/info-tech/pleroma/2023-04-08T23:50:58+09:00https://ar.falsy.cat/note/info-tech/qemu/2023-03-18T13:47:08+09:00https://ar.falsy.cat/tags/sns/2023-04-08T23:50:58+09:00https://ar.falsy.cat/tags/software/2023-04-08T23:50:58+09:00https://ar.falsy.cat/tags/statistics/2023-06-18T16:32:59+09:00https://ar.falsy.cat/tags/study/2023-06-18T16:32:59+09:00https://ar.falsy.cat/tags/2023-06-18T16:32:59+09:00https://ar.falsy.cat/tags/tool/2023-03-18T13:47:08+09:00https://ar.falsy.cat/tags/travel/2023-06-18T15:46:52+09:00https://ar.falsy.cat/tags/virtualization/2023-03-18T13:47:08+09:00https://ar.falsy.cat/tags/web/2023-04-08T23:50:58+09:00https://ar.falsy.cat/tags/word-play/2023-04-23T01:11:03+09:00https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/2023-06-18T16:32:59+09:00https://ar.falsy.cat/note/study/statistics/hypothesis-test/2023-06-18T16:32:59+09:00https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/2023-06-18T16:32:59+09:00https://ar.falsy.cat/note/chores/one-hand-egg-cracking/2023-02-23T22:52:35+09:00https://ar.falsy.cat/note/word-play/japanese-text-all-stars/2023-03-11T23:42:40+09:00https://ar.falsy.cat/blog/2023/0319-moving/2023-03-20T12:07:53+09:00https://ar.falsy.cat/note/word-play/proof-of-reality-using-lucid-dream/2023-03-11T23:42:40+09:00https://ar.falsy.cat/note/chores/cooking-rice-with-saucepan/2023-03-07T10:46:29+09:00https://ar.falsy.cat/blog/2023/0618-sarushima-island/2023-06-18T15:46:52+09:00https://ar.falsy.cat/blog/2023/0301-fukue-island/2023-03-02T00:14:02+09:00https://ar.falsy.cat/blog/2023/0303-fukue-island/2023-03-03T22:55:00+09:00https://ar.falsy.cat/blog/2023/0304-fukue-island/2023-03-04T21:21:42+09:00 \ No newline at end of file +https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/2023-04-23T01:11:03+09:00https://ar.falsy.cat/note/info-tech/install-archlinux/2023-06-21T07:35:08+09:00https://ar.falsy.cat/tags/blog/2023-06-18T15:46:52+09:00https://ar.falsy.cat/blog/2023-06-18T15:46:52+09:00https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/2023-06-21T07:36:18+09:00https://ar.falsy.cat/tags/cat/2023-03-04T21:21:42+09:00https://ar.falsy.cat/categories/https://ar.falsy.cat/tags/chores/2023-03-07T10:46:29+09:00https://ar.falsy.cat/tags/cooking/2023-03-07T10:46:29+09:00https://ar.falsy.cat/note/info-tech/dart/2023-06-21T07:36:18+09:00https://ar.falsy.cat/tags/development/2023-06-21T07:36:18+09:00https://ar.falsy.cat/note/info-tech/flutter/2023-03-20T12:07:53+09:00https://ar.falsy.cat/tags/gourmet/2023-03-03T22:55:00+09:00https://ar.falsy.cat/2023-03-02T09:14:29-08:00https://ar.falsy.cat/tags/howto/2023-06-21T07:36:18+09:00https://ar.falsy.cat/tags/info-tech/2023-06-21T07:36:18+09:00https://ar.falsy.cat/tags/library/2023-03-20T12:07:53+09:00https://ar.falsy.cat/tags/lifehack/2023-03-11T23:42:40+09:00https://ar.falsy.cat/tags/linux/2023-06-21T07:35:08+09:00https://ar.falsy.cat/tags/mountain/2023-03-04T21:21:42+09:00https://ar.falsy.cat/tags/note/2023-06-21T07:36:18+09:00https://ar.falsy.cat/note/2023-06-21T07:36:18+09:00https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/2023-06-21T07:35:08+09:00https://ar.falsy.cat/note/info-tech/obsidian/2023-06-21T07:35:08+09:00https://ar.falsy.cat/tags/photo/2023-06-18T15:46:52+09:00https://ar.falsy.cat/note/info-tech/pleroma/2023-06-21T07:35:08+09:00https://ar.falsy.cat/tags/programming-language/2023-06-21T07:36:18+09:00https://ar.falsy.cat/note/info-tech/qemu/2023-03-18T13:47:08+09:00https://ar.falsy.cat/tags/software/2023-03-20T12:07:53+09:00https://ar.falsy.cat/tags/statistics/2023-06-21T07:32:18+09:00https://ar.falsy.cat/tags/study/2023-06-21T07:32:18+09:00https://ar.falsy.cat/tags/2023-06-21T07:36:18+09:00https://ar.falsy.cat/tags/tool/2023-06-21T07:35:08+09:00https://ar.falsy.cat/tags/travel/2023-06-18T15:46:52+09:00https://ar.falsy.cat/tags/virtualization/2023-03-18T13:47:08+09:00https://ar.falsy.cat/tags/web/2023-06-21T07:35:08+09:00https://ar.falsy.cat/tags/word-play/2023-04-23T01:11:03+09:00https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/2023-06-21T07:32:18+09:00https://ar.falsy.cat/note/study/statistics/hypothesis-test/2023-06-18T16:32:59+09:00https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/2023-06-21T07:32:18+09:00https://ar.falsy.cat/note/chores/one-hand-egg-cracking/2023-02-23T22:52:35+09:00https://ar.falsy.cat/note/word-play/japanese-text-all-stars/2023-03-11T23:42:40+09:00https://ar.falsy.cat/blog/2023/0319-moving/2023-03-20T12:07:53+09:00https://ar.falsy.cat/note/word-play/proof-of-reality-using-lucid-dream/2023-03-11T23:42:40+09:00https://ar.falsy.cat/note/chores/cooking-rice-with-saucepan/2023-03-07T10:46:29+09:00https://ar.falsy.cat/blog/2023/0618-sarushima-island/2023-06-18T15:46:52+09:00https://ar.falsy.cat/blog/2023/0301-fukue-island/2023-03-02T00:14:02+09:00https://ar.falsy.cat/blog/2023/0303-fukue-island/2023-03-03T22:55:00+09:00https://ar.falsy.cat/blog/2023/0304-fukue-island/2023-03-04T21:21:42+09:00 \ No newline at end of file diff --git a/tags/blog/index.html b/tags/blog/index.html index 278529d..c9c8b7d 100644 --- a/tags/blog/index.html +++ b/tags/blog/index.html @@ -9,7 +9,7 @@ - diff --git a/tags/cat/index.html b/tags/cat/index.html index e466843..6482b41 100644 --- a/tags/cat/index.html +++ b/tags/cat/index.html @@ -9,7 +9,7 @@ - diff --git a/tags/chores/index.html b/tags/chores/index.html index a80e656..b8d29c3 100644 --- a/tags/chores/index.html +++ b/tags/chores/index.html @@ -9,7 +9,7 @@ - diff --git a/tags/cooking/index.html b/tags/cooking/index.html index 2ec029d..d6fca96 100644 --- a/tags/cooking/index.html +++ b/tags/cooking/index.html @@ -9,7 +9,7 @@ - diff --git a/tags/development/index.html b/tags/development/index.html index b9c24f5..a478848 100644 --- a/tags/development/index.html +++ b/tags/development/index.html @@ -9,10 +9,10 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tags/development/index.xml b/tags/development/index.xml index a35b972..fccf0d4 100644 --- a/tags/development/index.xml +++ b/tags/development/index.xml @@ -1 +1 @@ -development onhttps://ar.falsy.cat/tags/development/Recent content in development onHugo -- gohugo.ioen-usflutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur. \ No newline at end of file +development onhttps://ar.falsy.cat/tags/development/Recent content in development onHugo -- gohugo.ioen-usC/C++のsanitizerの使い方https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/概要 バグを検知するコードを埋め込むための,sanitizerと呼ばれる機能がある このページではsanitizerの使い方を説明する 使い方 コンパイル時にsanitizerを埋め込む 種類ごとにオプションが異なる XXXにはSanitizer名をカンマ区切りで羅列する 代表的なSanitizer名については後述 1 2 g++ -fsanitizer=XXX a.dart言語https://ar.falsy.cat/note/info-tech/dart/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/dart/概要 Google製プログラミング言語 flutterのための言語 日本語資料少なめ オブジェクト指向 特徴 undefined behaviorは無い Null safety 型名に?を付ければNull許容型になる Null許容型に対してはNullチェックをしないとコンパイラがキレる 整数値以外は参照型 GC(mark &amp; sweep)搭載 デストラクタは無さそう,そもそもmark &amp; sweepでデストラクタは信頼できない コンストラクタが書きやすい わざわざメンバ変数と同じ名前の引数を書いて,代入して,,,ということをしなくてもいい 静的解析が強め 文法 大体は既存のやつと同じ 文末セミコロン必須 関数呼び出しの実引数リストでもケツカンマ許容 変数修飾子 型が自明な場合,型名は省略できる 省略できる場合は省略することが推奨される 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // コンパイル時定数 const int x = 0; const x = 0; // 再代入不可能変数 final int x = 0; final x = 0; // 再代入可能変数 var int x = 0; var x = 0; // 遅延初期化変数 late int x; late final int x; final: 再代入不可能変数 値型の変数に対しては,値の変更を禁止する 参照型の変数に対しては,参照先の変更のみを禁止する dartでは,参照先のオブジェクトの変更を禁止することはできない late: 遅延初期化 変数の初期化を遅延させることができる 実質的にはNull safetyの無いNull許容型 late final修飾子によって複数回の代入をコンパイルエラーにできる ただし静的解析の精度は微妙なので,絶対に2回目の代入ができなくなるわけではない Null safety Null許容型に対しては,Nullを扱いやすくするための演算子が使える 関数の中で,変数に対して一度nullチェックをした場合,以降,その変数はNull許容型でないものとして扱える 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (T?flutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur. \ No newline at end of file diff --git a/tags/fediverse/index.xml b/tags/fediverse/index.xml deleted file mode 100644 index 97c7c1f..0000000 --- a/tags/fediverse/index.xml +++ /dev/null @@ -1 +0,0 @@ -fediverse onhttps://ar.falsy.cat/tags/fediverse/Recent content in fediverse onHugo -- gohugo.ioen-usPleromahttps://ar.falsy.cat/note/info-tech/pleroma/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/pleroma/概要 ActivityPubに対応したlightweight(自称)なSNS 単体で見るとlightweightには思えないけど,mastodonと比べたら確かにlightweight DB肥大化問題 長期間Pleromaを稼働させ続けると,DBのレコード数がやばいことになる DBのレスポンスがくそ長くなり,最終的にタイムアウトで500になる オブジェクトの寿命とか設定してみたけど特に意味はなかった 解決法 ローカルアカウントそれ自体の情報以外の情報を削除する pleromaを停止して,postgresで次のSQLを実行する 自動化しても良いかもしれない 追記: フォロー/フォロワー情報も削除されてしまったので改善が必要!!! 1 2 3 4 TRUNCATETABLEactivitiesCASCADE;#全アクティビティの削除DELETEFROMusersWHEREnotlocal;#全リモートユーザーの削除VACUUMFULL;VACUUMANALYZE; \ No newline at end of file diff --git a/tags/fediverse/page/1/index.html b/tags/fediverse/page/1/index.html deleted file mode 100644 index cd9995b..0000000 --- a/tags/fediverse/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://ar.falsy.cat/tags/fediverse/ \ No newline at end of file diff --git a/tags/gourmet/index.html b/tags/gourmet/index.html index 31efba4..8a824c1 100644 --- a/tags/gourmet/index.html +++ b/tags/gourmet/index.html @@ -9,7 +9,7 @@ - diff --git a/tags/fediverse/index.html b/tags/howto/index.html similarity index 65% rename from tags/fediverse/index.html rename to tags/howto/index.html index bc33804..d0fe892 100644 --- a/tags/fediverse/index.html +++ b/tags/howto/index.html @@ -1,4 +1,4 @@ -fediverse +howto @@ -9,10 +9,10 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tags/howto/index.xml b/tags/howto/index.xml new file mode 100644 index 0000000..f63dd44 --- /dev/null +++ b/tags/howto/index.xml @@ -0,0 +1,11 @@ +howto onhttps://ar.falsy.cat/tags/howto/Recent content in howto onHugo -- gohugo.ioen-usArchLinuxのインストールhttps://ar.falsy.cat/note/info-tech/install-archlinux/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/install-archlinux/概要 ArchLinuxのインストール手順を記録する Live Environmentの起動方法については触れない 前提 qemu上の仮想マシン BIOS GPT x86_64 デュアルブートなし できるだけシンプル,ミニマリスティックに 手順 1. 事前準備 1 2 3 loadkeys jp106 # キーボード設定 ping google.C/C++のsanitizerの使い方https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/概要 バグを検知するコードを埋め込むための,sanitizerと呼ばれる機能がある このページではsanitizerの使い方を説明する 使い方 コンパイル時にsanitizerを埋め込む 種類ごとにオプションが異なる XXXにはSanitizer名をカンマ区切りで羅列する 代表的なSanitizer名については後述 1 2 g++ -fsanitizer=XXX a.ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/<h2 id="概要">概要</h2> +<ul> +<li> +<a href="https://github.com/jackyzha0/quartz" rel="noopener">Quartz</a>で +<a +href="https://ar.falsy.cat/note/info-tech/obsidian/" +rel="noopener" class="internal-link" +data-src="https://ar.falsy.cat/note/info-tech/obsidian/">Obsidian</a>のVaultを公開する</li> +<li>「<em>セカンドブレインデジタルガーデン</em>」という御大層な言葉は +<a href="https://github.com/jackyzha0/quartz" rel="noopener">Quartz</a>の紹介文からの引用</li> +</ul> \ No newline at end of file diff --git a/tags/howto/page/1/index.html b/tags/howto/page/1/index.html new file mode 100644 index 0000000..d98684d --- /dev/null +++ b/tags/howto/page/1/index.html @@ -0,0 +1 @@ +https://ar.falsy.cat/tags/howto/ \ No newline at end of file diff --git a/tags/index.html b/tags/index.html index f7e38a4..cd07977 100644 --- a/tags/index.html +++ b/tags/index.html @@ -9,10 +9,10 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search
    -

    All Tags

    Note

    14 notes with this tag (showing first 10 results)

    Info tech

    6 notes with this tag

    Blog

    5 notes with this tag

    Photo

    5 notes with this tag

    Lifehack

    4 notes with this tag

    Travel

    4 notes with this tag

    Cat

    3 notes with this tag

    Statistics

    3 notes with this tag

    Study

    3 notes with this tag

    Word play

    3 notes with this tag

    Chores

    2 notes with this tag

    Cooking

    2 notes with this tag

    Gourmet

    2 notes with this tag

    Software

    2 notes with this tag

    Tool

    2 notes with this tag

    Web

    2 notes with this tag

    Development

    1 notes with this tag

    Fediverse

    1 notes with this tag

    Library

    1 notes with this tag

    Linux

    1 notes with this tag

    Mountain

    1 notes with this tag

    Sns

    1 notes with this tag

    Virtualization

    1 notes with this tag

    \ No newline at end of file +

    All Tags

    Note

    16 notes with this tag (showing first 10 results)

    Info tech

    8 notes with this tag

    Blog

    5 notes with this tag

    Photo

    5 notes with this tag

    Lifehack

    4 notes with this tag

    Travel

    4 notes with this tag

    Cat

    3 notes with this tag

    Development

    3 notes with this tag

    Howto

    3 notes with this tag

    Statistics

    3 notes with this tag

    Study

    3 notes with this tag

    Tool

    3 notes with this tag

    Word play

    3 notes with this tag

    Chores

    2 notes with this tag

    Cooking

    2 notes with this tag

    Gourmet

    2 notes with this tag

    Programming language

    2 notes with this tag

    Web

    2 notes with this tag

    Library

    1 notes with this tag

    Linux

    1 notes with this tag

    Mountain

    1 notes with this tag

    Software

    1 notes with this tag

    Virtualization

    1 notes with this tag

    \ No newline at end of file diff --git a/tags/index.xml b/tags/index.xml index b62f7d1..b8184c4 100644 --- a/tags/index.xml +++ b/tags/index.xml @@ -1 +1 @@ -Tags onhttps://ar.falsy.cat/tags/Recent content in Tags onHugo -- gohugo.ioen-usbloghttps://ar.falsy.cat/tags/blog/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/blog/cathttps://ar.falsy.cat/tags/cat/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/cat/choreshttps://ar.falsy.cat/tags/chores/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/chores/cookinghttps://ar.falsy.cat/tags/cooking/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/cooking/developmenthttps://ar.falsy.cat/tags/development/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/development/fediversehttps://ar.falsy.cat/tags/fediverse/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/fediverse/gourmethttps://ar.falsy.cat/tags/gourmet/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/gourmet/info-techhttps://ar.falsy.cat/tags/info-tech/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/info-tech/libraryhttps://ar.falsy.cat/tags/library/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/library/lifehackhttps://ar.falsy.cat/tags/lifehack/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/lifehack/linuxhttps://ar.falsy.cat/tags/linux/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/linux/mountainhttps://ar.falsy.cat/tags/mountain/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/mountain/notehttps://ar.falsy.cat/tags/note/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/note/photohttps://ar.falsy.cat/tags/photo/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/photo/snshttps://ar.falsy.cat/tags/sns/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/sns/softwarehttps://ar.falsy.cat/tags/software/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/software/statisticshttps://ar.falsy.cat/tags/statistics/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/statistics/studyhttps://ar.falsy.cat/tags/study/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/study/toolhttps://ar.falsy.cat/tags/tool/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/tool/travelhttps://ar.falsy.cat/tags/travel/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/travel/virtualizationhttps://ar.falsy.cat/tags/virtualization/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/virtualization/webhttps://ar.falsy.cat/tags/web/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/web/word-playhttps://ar.falsy.cat/tags/word-play/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/word-play/ \ No newline at end of file +Tags onhttps://ar.falsy.cat/tags/Recent content in Tags onHugo -- gohugo.ioen-usbloghttps://ar.falsy.cat/tags/blog/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/blog/cathttps://ar.falsy.cat/tags/cat/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/cat/choreshttps://ar.falsy.cat/tags/chores/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/chores/cookinghttps://ar.falsy.cat/tags/cooking/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/cooking/developmenthttps://ar.falsy.cat/tags/development/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/development/gourmethttps://ar.falsy.cat/tags/gourmet/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/gourmet/howtohttps://ar.falsy.cat/tags/howto/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/howto/info-techhttps://ar.falsy.cat/tags/info-tech/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/info-tech/libraryhttps://ar.falsy.cat/tags/library/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/library/lifehackhttps://ar.falsy.cat/tags/lifehack/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/lifehack/linuxhttps://ar.falsy.cat/tags/linux/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/linux/mountainhttps://ar.falsy.cat/tags/mountain/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/mountain/notehttps://ar.falsy.cat/tags/note/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/note/photohttps://ar.falsy.cat/tags/photo/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/photo/programming-languagehttps://ar.falsy.cat/tags/programming-language/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/programming-language/softwarehttps://ar.falsy.cat/tags/software/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/software/statisticshttps://ar.falsy.cat/tags/statistics/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/statistics/studyhttps://ar.falsy.cat/tags/study/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/study/toolhttps://ar.falsy.cat/tags/tool/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/tool/travelhttps://ar.falsy.cat/tags/travel/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/travel/virtualizationhttps://ar.falsy.cat/tags/virtualization/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/virtualization/webhttps://ar.falsy.cat/tags/web/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/web/word-playhttps://ar.falsy.cat/tags/word-play/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/tags/word-play/ \ No newline at end of file diff --git a/tags/info-tech/index.html b/tags/info-tech/index.html index 29bce6e..2e01cae 100644 --- a/tags/info-tech/index.html +++ b/tags/info-tech/index.html @@ -9,10 +9,10 @@ -
    \ No newline at end of file +

    Tag: info-tech

    \ No newline at end of file diff --git a/tags/info-tech/index.xml b/tags/info-tech/index.xml index 3a183df..e6ba40a 100644 --- a/tags/info-tech/index.xml +++ b/tags/info-tech/index.xml @@ -1,4 +1,4 @@ -info-tech onhttps://ar.falsy.cat/tags/info-tech/Recent content in info-tech onHugo -- gohugo.ioen-usArchLinuxのインストールhttps://ar.falsy.cat/note/info-tech/install-archlinux/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/install-archlinux/概要 ArchLinuxのインストール手順を記録する Live Environmentの起動方法については触れない 前提 qemu上の仮想マシン BIOS GPT x86_64 デュアルブートなし できるだけシンプル,ミニマリスティックに 手順 1. 事前準備 1 2 3 loadkeys jp106 # キーボード設定 ping google.flutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur.ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/<h2 id="概要">概要</h2> +info-tech onhttps://ar.falsy.cat/tags/info-tech/Recent content in info-tech onHugo -- gohugo.ioen-usArchLinuxのインストールhttps://ar.falsy.cat/note/info-tech/install-archlinux/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/install-archlinux/概要 ArchLinuxのインストール手順を記録する Live Environmentの起動方法については触れない 前提 qemu上の仮想マシン BIOS GPT x86_64 デュアルブートなし できるだけシンプル,ミニマリスティックに 手順 1. 事前準備 1 2 3 loadkeys jp106 # キーボード設定 ping google.C/C++のsanitizerの使い方https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/概要 バグを検知するコードを埋め込むための,sanitizerと呼ばれる機能がある このページではsanitizerの使い方を説明する 使い方 コンパイル時にsanitizerを埋め込む 種類ごとにオプションが異なる XXXにはSanitizer名をカンマ区切りで羅列する 代表的なSanitizer名については後述 1 2 g++ -fsanitizer=XXX a.dart言語https://ar.falsy.cat/note/info-tech/dart/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/dart/概要 Google製プログラミング言語 flutterのための言語 日本語資料少なめ オブジェクト指向 特徴 undefined behaviorは無い Null safety 型名に?を付ければNull許容型になる Null許容型に対してはNullチェックをしないとコンパイラがキレる 整数値以外は参照型 GC(mark &amp; sweep)搭載 デストラクタは無さそう,そもそもmark &amp; sweepでデストラクタは信頼できない コンストラクタが書きやすい わざわざメンバ変数と同じ名前の引数を書いて,代入して,,,ということをしなくてもいい 静的解析が強め 文法 大体は既存のやつと同じ 文末セミコロン必須 関数呼び出しの実引数リストでもケツカンマ許容 変数修飾子 型が自明な場合,型名は省略できる 省略できる場合は省略することが推奨される 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // コンパイル時定数 const int x = 0; const x = 0; // 再代入不可能変数 final int x = 0; final x = 0; // 再代入可能変数 var int x = 0; var x = 0; // 遅延初期化変数 late int x; late final int x; final: 再代入不可能変数 値型の変数に対しては,値の変更を禁止する 参照型の変数に対しては,参照先の変更のみを禁止する dartでは,参照先のオブジェクトの変更を禁止することはできない late: 遅延初期化 変数の初期化を遅延させることができる 実質的にはNull safetyの無いNull許容型 late final修飾子によって複数回の代入をコンパイルエラーにできる ただし静的解析の精度は微妙なので,絶対に2回目の代入ができなくなるわけではない Null safety Null許容型に対しては,Nullを扱いやすくするための演算子が使える 関数の中で,変数に対して一度nullチェックをした場合,以降,その変数はNull許容型でないものとして扱える 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (T?flutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur.ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/<h2 id="概要">概要</h2> <ul> <li> <a href="https://github.com/jackyzha0/quartz" rel="noopener">Quartz</a>で diff --git a/tags/library/index.html b/tags/library/index.html index 54c71af..028af3d 100644 --- a/tags/library/index.html +++ b/tags/library/index.html @@ -9,7 +9,7 @@ - diff --git a/tags/lifehack/index.html b/tags/lifehack/index.html index 43065da..53a5fa9 100644 --- a/tags/lifehack/index.html +++ b/tags/lifehack/index.html @@ -9,7 +9,7 @@ - diff --git a/tags/linux/index.html b/tags/linux/index.html index 15b4a31..4d649cf 100644 --- a/tags/linux/index.html +++ b/tags/linux/index.html @@ -9,10 +9,10 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tags/mountain/index.html b/tags/mountain/index.html index 92321ae..e6a1019 100644 --- a/tags/mountain/index.html +++ b/tags/mountain/index.html @@ -9,7 +9,7 @@ - diff --git a/tags/note/index.html b/tags/note/index.html index 1be4524..fc0567b 100644 --- a/tags/note/index.html +++ b/tags/note/index.html @@ -9,10 +9,10 @@ -
    \ No newline at end of file +

    Tag: note

    \ No newline at end of file diff --git a/tags/note/index.xml b/tags/note/index.xml index 7face7c..728b486 100644 --- a/tags/note/index.xml +++ b/tags/note/index.xml @@ -1,4 +1,4 @@ -note onhttps://ar.falsy.cat/tags/note/Recent content in note onHugo -- gohugo.ioen-us2人の幼女と悪魔とチェス盤https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/概要 「2人の幼女とチェス盤の部屋」という次のような論理問題を解説する 以下の手順の後,幼女Bが任意の整数$x\left(0\leq x&lt;64\right)$を求められるようにするには,幼女Aはどのような操作を行うべきか 悪魔が8x8チェス盤の各マスに1個ずつ,合計0個以上64個以下のポーンをランダムに配置する 悪魔は幼女Aにチェス盤を見せ,任意の数字$x\left(0\leq x&lt;64\right)$を伝える 幼女Aは,チェス盤に対して次のいずれかの操作のうち可能であるものを1回だけ必ず行う 任意のマスからポーンを1個だけ取り除く 任意のマスにポーンを1個だけ追加する 悪魔は幼女Bにチェス盤を見せる 問題の簡潔化 $f(g(b,x))=x$とできるような写像$f,g$を求めよ $B=\left\{0,1\right\}$ $b\in B^{64}$ $x\in B^6$ $f: B^{64} \rightarrow B^6$ $g: B^{64} \times B^6\rightarrow B^{64}$ $b$と$g(b,x)$は1ビットだけ異なる 解答 $f(b)=f_0\oplus f_1\oplus f_2 \oplus \dots \oplus f_{63} \quad\left(f_i=i b_i\right)$ $b&rsquo;=g(b,x) \implies b&rsquo;_m \neq b_m\quad\left(m=x\oplus f(b)\right)$ チェス盤が16x16の場合のプログラム 解説 $x=f(b)\oplus m$となるような$m\in B^6$は必ず存在する 盤面の各マスに$m$の値を割り当てることで,1マスの操作だけで$m$を表現できる 盤面のマス目の数も,$m$がとりうる値の数も64 $f(g(b,x))=f(b)\oplus m=f(b)\oplus f_m\oplus m(1-b_m)$ 応用 長さ$2^N$の任意のビット列について,任意の1ビットだけを反転させることで,長さ$N$のビット列を表現できる 参考文献 # 超難問論理クイズ「2人の幼女とチェス盤の部屋」が本当に難しすぎた - 明日は未来だ! 幼女問題まとめ - GItHub Gist Impossible Escape?ArchLinuxのインストールhttps://ar.falsy.cat/note/info-tech/install-archlinux/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/install-archlinux/概要 ArchLinuxのインストール手順を記録する Live Environmentの起動方法については触れない 前提 qemu上の仮想マシン BIOS GPT x86_64 デュアルブートなし できるだけシンプル,ミニマリスティックに 手順 1. 事前準備 1 2 3 loadkeys jp106 # キーボード設定 ping google.flutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur.ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/<h2 id="概要">概要</h2> +note onhttps://ar.falsy.cat/tags/note/Recent content in note onHugo -- gohugo.ioen-us2人の幼女と悪魔とチェス盤https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/two-lolita-devils-and-chess-board/概要 「2人の幼女とチェス盤の部屋」という次のような論理問題を解説する 以下の手順の後,幼女Bが任意の整数$x\left(0\leq x&lt;64\right)$を求められるようにするには,幼女Aはどのような操作を行うべきか 悪魔が8x8チェス盤の各マスに1個ずつ,合計0個以上64個以下のポーンをランダムに配置する 悪魔は幼女Aにチェス盤を見せ,任意の数字$x\left(0\leq x&lt;64\right)$を伝える 幼女Aは,チェス盤に対して次のいずれかの操作のうち可能であるものを1回だけ必ず行う 任意のマスからポーンを1個だけ取り除く 任意のマスにポーンを1個だけ追加する 悪魔は幼女Bにチェス盤を見せる 問題の簡潔化 $f(g(b,x))=x$とできるような写像$f,g$を求めよ $B=\left\{0,1\right\}$ $b\in B^{64}$ $x\in B^6$ $f: B^{64} \rightarrow B^6$ $g: B^{64} \times B^6\rightarrow B^{64}$ $b$と$g(b,x)$は1ビットだけ異なる 解答 $f(b)=f_0\oplus f_1\oplus f_2 \oplus \dots \oplus f_{63} \quad\left(f_i=i b_i\right)$ $b&rsquo;=g(b,x) \implies b&rsquo;_m \neq b_m\quad\left(m=x\oplus f(b)\right)$ チェス盤が16x16の場合のプログラム 解説 $x=f(b)\oplus m$となるような$m\in B^6$は必ず存在する 盤面の各マスに$m$の値を割り当てることで,1マスの操作だけで$m$を表現できる 盤面のマス目の数も,$m$がとりうる値の数も64 $f(g(b,x))=f(b)\oplus m=f(b)\oplus f_m\oplus m(1-b_m)$ 応用 長さ$2^N$の任意のビット列について,任意の1ビットだけを反転させることで,長さ$N$のビット列を表現できる 参考文献 # 超難問論理クイズ「2人の幼女とチェス盤の部屋」が本当に難しすぎた - 明日は未来だ! 幼女問題まとめ - GItHub Gist Impossible Escape?ArchLinuxのインストールhttps://ar.falsy.cat/note/info-tech/install-archlinux/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/install-archlinux/概要 ArchLinuxのインストール手順を記録する Live Environmentの起動方法については触れない 前提 qemu上の仮想マシン BIOS GPT x86_64 デュアルブートなし できるだけシンプル,ミニマリスティックに 手順 1. 事前準備 1 2 3 loadkeys jp106 # キーボード設定 ping google.C/C++のsanitizerの使い方https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/概要 バグを検知するコードを埋め込むための,sanitizerと呼ばれる機能がある このページではsanitizerの使い方を説明する 使い方 コンパイル時にsanitizerを埋め込む 種類ごとにオプションが異なる XXXにはSanitizer名をカンマ区切りで羅列する 代表的なSanitizer名については後述 1 2 g++ -fsanitizer=XXX a.dart言語https://ar.falsy.cat/note/info-tech/dart/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/dart/概要 Google製プログラミング言語 flutterのための言語 日本語資料少なめ オブジェクト指向 特徴 undefined behaviorは無い Null safety 型名に?を付ければNull許容型になる Null許容型に対してはNullチェックをしないとコンパイラがキレる 整数値以外は参照型 GC(mark &amp; sweep)搭載 デストラクタは無さそう,そもそもmark &amp; sweepでデストラクタは信頼できない コンストラクタが書きやすい わざわざメンバ変数と同じ名前の引数を書いて,代入して,,,ということをしなくてもいい 静的解析が強め 文法 大体は既存のやつと同じ 文末セミコロン必須 関数呼び出しの実引数リストでもケツカンマ許容 変数修飾子 型が自明な場合,型名は省略できる 省略できる場合は省略することが推奨される 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // コンパイル時定数 const int x = 0; const x = 0; // 再代入不可能変数 final int x = 0; final x = 0; // 再代入可能変数 var int x = 0; var x = 0; // 遅延初期化変数 late int x; late final int x; final: 再代入不可能変数 値型の変数に対しては,値の変更を禁止する 参照型の変数に対しては,参照先の変更のみを禁止する dartでは,参照先のオブジェクトの変更を禁止することはできない late: 遅延初期化 変数の初期化を遅延させることができる 実質的にはNull safetyの無いNull許容型 late final修飾子によって複数回の代入をコンパイルエラーにできる ただし静的解析の精度は微妙なので,絶対に2回目の代入ができなくなるわけではない Null safety Null許容型に対しては,Nullを扱いやすくするための演算子が使える 関数の中で,変数に対して一度nullチェックをした場合,以降,その変数はNull許容型でないものとして扱える 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (T?flutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur.ObsidianとQuartzによるセカンドブレインデジタルガーデンの構築https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/<h2 id="概要">概要</h2> <ul> <li> <a href="https://github.com/jackyzha0/quartz" rel="noopener">Quartz</a>で @@ -17,7 +17,7 @@ data-src="https://ar.falsy.cat/note/info-tech/obsidian/">Obsidian</a>のVault <li>M1/M2向けVirtualBoxはまだ開発者プレビューしかなく,まともに使えなかった</li> </ul> </li> -</ul>パラメトリック検定とノンパラメトリック検定https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/概要 仮設検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である パラメトリック検定 母集団がある特定の分布であると事前に仮定する検定 ノンパラメトリック検定に比べて,計算が楽 手計算はこっちの方が嬉しい 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い 事前検定で母集団の仮定を検証するのはやめた方がいい(後述) ノンパラメトリック検定 母集団の分布を仮定しない検定 計算がめんどくさい サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない 事前検定 欲しい結果を得る検定の前に行われる検定のこと 多重検定の問題を孕む 個人的には,大抵の場合において事前検定は愚行だと思っている 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う 大人しくノンパラメトリック検定を使うべき そもそもコンピュータ使えば計算コストは無視できる まとめ 仮設検定は2つに分けられる パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定 ノンパラメトリック検定: それ以外の検定 パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき仮説検定https://ar.falsy.cat/note/study/statistics/hypothesis-test/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test/概要 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する 検定手順 帰無仮説を仮定する 帰無仮説のもとで検定したい事象が発生する確率$p$を求める $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する 結論に生じうる誤り 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう 発生確率=有意確率 発生確率を設定できる 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう 発生確率は不明 発生確率を設定できない 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ) 大体の場合で5% 第一種の誤りが許されない場面(医療など)では1% 例 コイントスを10回やって7回表が出た.コイントスは公平か? 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.仮説検定の多重性問題https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/概要 結論に複数の 仮設検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない 不確実な情報による結論の不確実性 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる ただし,実際には第二種の過誤も存在する 有意水準を小さくすれば結論が第二種の過誤である確率は増加する 以上より,多重検定は非常によろしくない 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから Holm法による有意水準の調整 多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う.卵を片手で割る手法の提案https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Abstract This paper proposes a method to crack eggs by one hand The method can reduce cooking time and promote multi-tasking No special appliance is needed However accuracy of action is necessary to keep yolk unbroken 概要 調理の時短とマルチタスク促進のために卵を片手で割る手法を提案する 本手法は一般家庭にある既存の器具のみで実行が可能 ただし黄身を割らないためには繊細な動作が要求される 背景 左手でゴミ袋を持ちながら右手で卵を割ると非常に時短になる 特に調理プロセスのなかで一度に複数の卵が関与する場合に著しい時短効果が得られる 先行研究の手法では調理対象に殻が混入してしまうことが多い 手法 卵をフォークボールを投げる時のように持つ 鋭端が人差し指と中指の間に来るように持つ 鈍端を親指と薬指で支える 皿の淵で卵の殻に割れ目を作る 卵の鋭端と鈍端を結ぶ線分の垂直二等分線が皿の淵と重なるように腕を何回か振り下ろす 皿を卵の直径の$\frac{1}{4}$程度まで食い込ませる 卵を皿に押し付けて真っ二つにするイメージ ここで皿を食い込ませすぎると黄身が割れる原因になる 人差し指の付け根で割れ目の裏側を押し出す 人差し指,中指,親指,薬指で卵をしっかりと支えておく 評価実験 本手法を用いて鶏卵2個を割った 1個は黄身が割れたが,1個は割れなかった 卵の殻が調理対象に混入することはなかった まとめ 卵を片手で割る手法を提案した 本手法では50%の確率で黄身が割れる 先行研究の手法と異なり,卵の殻が混入する確率は低い 今後の課題として,黄身が割れる確率を抑えることが挙げられる 理論上,左右両方の手で同時に2個の卵を割ることでさらなる効率化を図れる国語教科書オールスターズhttps://ar.falsy.cat/note/word-play/japanese-text-all-stars/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/japanese-text-all-stars/<h2 id="概要">概要</h2> +</ul>パラメトリック検定とノンパラメトリック検定https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/概要 仮説検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である パラメトリック検定 母集団がある特定の分布であると事前に仮定する検定 ノンパラメトリック検定に比べて,計算が楽 手計算はこっちの方が嬉しい 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い 事前検定で母集団の仮定を検証するのはやめた方がいい(後述) ノンパラメトリック検定 母集団の分布を仮定しない検定 計算がめんどくさい サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない 事前検定 欲しい結果を得る検定の前に行われる検定のこと 多重検定の問題を孕む 個人的には,大抵の場合において事前検定は愚行だと思っている 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う 大人しくノンパラメトリック検定を使うべき そもそもコンピュータ使えば計算コストは無視できる まとめ 仮説検定は2つに分けられる パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定 ノンパラメトリック検定: それ以外の検定 パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき仮説検定https://ar.falsy.cat/note/study/statistics/hypothesis-test/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test/概要 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する 検定手順 帰無仮説を仮定する 帰無仮説のもとで検定したい事象が発生する確率$p$を求める $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する 結論に生じうる誤り 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう 発生確率=有意確率 発生確率を設定できる 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう 発生確率は不明 発生確率を設定できない 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ) 大体の場合で5% 第一種の誤りが許されない場面(医療など)では1% 例 コイントスを10回やって7回表が出た.コイントスは公平か? 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.仮説検定の多重性問題https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/概要 結論に複数の 仮説検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない 不確実な情報による結論の不確実性 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる ただし,実際には第二種の過誤も存在する 有意水準を小さくすれば結論が第二種の過誤である確率は増加する 以上より,多重検定は非常によろしくない 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから Holm法による有意水準の調整 多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う.卵を片手で割る手法の提案https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/chores/one-hand-egg-cracking/Abstract This paper proposes a method to crack eggs by one hand The method can reduce cooking time and promote multi-tasking No special appliance is needed However accuracy of action is necessary to keep yolk unbroken 概要 調理の時短とマルチタスク促進のために卵を片手で割る手法を提案する 本手法は一般家庭にある既存の器具のみで実行が可能 ただし黄身を割らないためには繊細な動作が要求される 背景 左手でゴミ袋を持ちながら右手で卵を割ると非常に時短になる 特に調理プロセスのなかで一度に複数の卵が関与する場合に著しい時短効果が得られる 先行研究の手法では調理対象に殻が混入してしまうことが多い 手法 卵をフォークボールを投げる時のように持つ 鋭端が人差し指と中指の間に来るように持つ 鈍端を親指と薬指で支える 皿の淵で卵の殻に割れ目を作る 卵の鋭端と鈍端を結ぶ線分の垂直二等分線が皿の淵と重なるように腕を何回か振り下ろす 皿を卵の直径の$\frac{1}{4}$程度まで食い込ませる 卵を皿に押し付けて真っ二つにするイメージ ここで皿を食い込ませすぎると黄身が割れる原因になる 人差し指の付け根で割れ目の裏側を押し出す 人差し指,中指,親指,薬指で卵をしっかりと支えておく 評価実験 本手法を用いて鶏卵2個を割った 1個は黄身が割れたが,1個は割れなかった 卵の殻が調理対象に混入することはなかった まとめ 卵を片手で割る手法を提案した 本手法では50%の確率で黄身が割れる 先行研究の手法と異なり,卵の殻が混入する確率は低い 今後の課題として,黄身が割れる確率を抑えることが挙げられる 理論上,左右両方の手で同時に2個の卵を割ることでさらなる効率化を図れる国語教科書オールスターズhttps://ar.falsy.cat/note/word-play/japanese-text-all-stars/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/japanese-text-all-stars/<h2 id="概要">概要</h2> <ul> <li>今までの国語の教科書に出てきた忘れられない奴等を忘れないために記録しておく</li> </ul>明晰夢を利用した現実の証明https://ar.falsy.cat/note/word-play/proof-of-reality-using-lucid-dream/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/word-play/proof-of-reality-using-lucid-dream/概要 今の意識が現実であることを証明する手法を論理的に導く ただの言葉遊びなので哲学的な何かは期待しないでほしい 前提 ここでは次の前提のもと議論を進める 夢を見ていることを自覚している夢を見ている,ならばかつその時に限り,明晰夢を見ている 明晰夢を見ている,ならば,全てが思い通りになる 夢でないならば現実である 証明は次の定義の元で行う 状況$A$: 夢を見ている 状況$B$: 夢を見ていることを自覚している 状況$C$: 明晰夢を見ている 状況$D$: 全てが思い通りである 証明の最終的な目標は$X\implies \overline{A}$を導くことである 証明 前提より $P_1: A\cap B\iff C$ $P_2: C \implies D$ $P_1,P_2$より,三段論法を用いて $P_3: A \cap B \implies D$ $P_3$の対偶より $P_4: \overline{D}\implies \overline{A\cap B}$ $P_4$より,ド・モルガンの公式を用いて $P_5: \overline{D}\implies \overline{A} \cup \overline{B}$ $B$は意図的に真にできるため,$P_5$より $\overline{D}\cap B \implies \overline{A}$ 結論 事前に夢を見ていることを自覚している,かつ,思い通りにならないことが存在する,ならば,それは現実である ただし,この手法では全ての現実を証明できるとは言えないことに留意されたい片手鍋で米を炊くhttps://ar.falsy.cat/note/chores/cooking-rice-with-saucepan/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/chores/cooking-rice-with-saucepan/概要 炊飯器が無くても米は炊ける ただし火を使う間,22分程度拘束される 手順 片手鍋で米(3合)を研ぐ 水(500ml)を入れる 蓋をして鍋ごと冷蔵庫で30分冷やす 蓋をしたまま中火で13分 弱火で3分 とろ火で6分 火を消して蓋をしたまま10分放置 補足 冷やす時間は15分程度まで短縮しても良い 短縮した場合は中火の時間も12分程度に縮める 最後の放置が結構重要 火を消した直後はまだべちゃべちゃしてる \ No newline at end of file diff --git a/tags/note/page/2/index.html b/tags/note/page/2/index.html index 9513a42..2b94b7f 100644 --- a/tags/note/page/2/index.html +++ b/tags/note/page/2/index.html @@ -9,10 +9,10 @@ -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tags/photo/index.html b/tags/photo/index.html index 216cad0..50ba402 100644 --- a/tags/photo/index.html +++ b/tags/photo/index.html @@ -9,7 +9,7 @@ - diff --git a/tags/sns/index.html b/tags/programming-language/index.html similarity index 69% rename from tags/sns/index.html rename to tags/programming-language/index.html index 2f43567..23f14e3 100644 --- a/tags/sns/index.html +++ b/tags/programming-language/index.html @@ -1,4 +1,4 @@ -sns +programming-language @@ -9,10 +9,10 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tags/programming-language/index.xml b/tags/programming-language/index.xml new file mode 100644 index 0000000..7ca12c7 --- /dev/null +++ b/tags/programming-language/index.xml @@ -0,0 +1 @@ +programming-language onhttps://ar.falsy.cat/tags/programming-language/Recent content in programming-language onHugo -- gohugo.ioen-usC/C++のsanitizerの使い方https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/c-cpp-sanitizer/概要 バグを検知するコードを埋め込むための,sanitizerと呼ばれる機能がある このページではsanitizerの使い方を説明する 使い方 コンパイル時にsanitizerを埋め込む 種類ごとにオプションが異なる XXXにはSanitizer名をカンマ区切りで羅列する 代表的なSanitizer名については後述 1 2 g++ -fsanitizer=XXX a.dart言語https://ar.falsy.cat/note/info-tech/dart/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/dart/概要 Google製プログラミング言語 flutterのための言語 日本語資料少なめ オブジェクト指向 特徴 undefined behaviorは無い Null safety 型名に?を付ければNull許容型になる Null許容型に対してはNullチェックをしないとコンパイラがキレる 整数値以外は参照型 GC(mark &amp; sweep)搭載 デストラクタは無さそう,そもそもmark &amp; sweepでデストラクタは信頼できない コンストラクタが書きやすい わざわざメンバ変数と同じ名前の引数を書いて,代入して,,,ということをしなくてもいい 静的解析が強め 文法 大体は既存のやつと同じ 文末セミコロン必須 関数呼び出しの実引数リストでもケツカンマ許容 変数修飾子 型が自明な場合,型名は省略できる 省略できる場合は省略することが推奨される 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 // コンパイル時定数 const int x = 0; const x = 0; // 再代入不可能変数 final int x = 0; final x = 0; // 再代入可能変数 var int x = 0; var x = 0; // 遅延初期化変数 late int x; late final int x; final: 再代入不可能変数 値型の変数に対しては,値の変更を禁止する 参照型の変数に対しては,参照先の変更のみを禁止する dartでは,参照先のオブジェクトの変更を禁止することはできない late: 遅延初期化 変数の初期化を遅延させることができる 実質的にはNull safetyの無いNull許容型 late final修飾子によって複数回の代入をコンパイルエラーにできる ただし静的解析の精度は微妙なので,絶対に2回目の代入ができなくなるわけではない Null safety Null許容型に対しては,Nullを扱いやすくするための演算子が使える 関数の中で,変数に対して一度nullチェックをした場合,以降,その変数はNull許容型でないものとして扱える 1 2 3 4 5 6 7 8 9 10 11 12 13 14 (T? \ No newline at end of file diff --git a/tags/programming-language/page/1/index.html b/tags/programming-language/page/1/index.html new file mode 100644 index 0000000..202fca0 --- /dev/null +++ b/tags/programming-language/page/1/index.html @@ -0,0 +1 @@ +https://ar.falsy.cat/tags/programming-language/ \ No newline at end of file diff --git a/tags/sns/index.xml b/tags/sns/index.xml deleted file mode 100644 index 001941e..0000000 --- a/tags/sns/index.xml +++ /dev/null @@ -1 +0,0 @@ -sns onhttps://ar.falsy.cat/tags/sns/Recent content in sns onHugo -- gohugo.ioen-usPleromahttps://ar.falsy.cat/note/info-tech/pleroma/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/pleroma/概要 ActivityPubに対応したlightweight(自称)なSNS 単体で見るとlightweightには思えないけど,mastodonと比べたら確かにlightweight DB肥大化問題 長期間Pleromaを稼働させ続けると,DBのレコード数がやばいことになる DBのレスポンスがくそ長くなり,最終的にタイムアウトで500になる オブジェクトの寿命とか設定してみたけど特に意味はなかった 解決法 ローカルアカウントそれ自体の情報以外の情報を削除する pleromaを停止して,postgresで次のSQLを実行する 自動化しても良いかもしれない 追記: フォロー/フォロワー情報も削除されてしまったので改善が必要!!! 1 2 3 4 TRUNCATETABLEactivitiesCASCADE;#全アクティビティの削除DELETEFROMusersWHEREnotlocal;#全リモートユーザーの削除VACUUMFULL;VACUUMANALYZE; \ No newline at end of file diff --git a/tags/sns/page/1/index.html b/tags/sns/page/1/index.html deleted file mode 100644 index 212a544..0000000 --- a/tags/sns/page/1/index.html +++ /dev/null @@ -1 +0,0 @@ -https://ar.falsy.cat/tags/sns/ \ No newline at end of file diff --git a/tags/software/index.html b/tags/software/index.html index 6fdece5..0c21399 100644 --- a/tags/software/index.html +++ b/tags/software/index.html @@ -9,10 +9,10 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tags/software/index.xml b/tags/software/index.xml index 4aaac79..68aa945 100644 --- a/tags/software/index.xml +++ b/tags/software/index.xml @@ -1 +1 @@ -software onhttps://ar.falsy.cat/tags/software/Recent content in software onHugo -- gohugo.ioen-usflutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur.Pleromahttps://ar.falsy.cat/note/info-tech/pleroma/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/pleroma/概要 ActivityPubに対応したlightweight(自称)なSNS 単体で見るとlightweightには思えないけど,mastodonと比べたら確かにlightweight DB肥大化問題 長期間Pleromaを稼働させ続けると,DBのレコード数がやばいことになる DBのレスポンスがくそ長くなり,最終的にタイムアウトで500になる オブジェクトの寿命とか設定してみたけど特に意味はなかった 解決法 ローカルアカウントそれ自体の情報以外の情報を削除する pleromaを停止して,postgresで次のSQLを実行する 自動化しても良いかもしれない 追記: フォロー/フォロワー情報も削除されてしまったので改善が必要!!! 1 2 3 4 TRUNCATETABLEactivitiesCASCADE;#全アクティビティの削除DELETEFROMusersWHEREnotlocal;#全リモートユーザーの削除VACUUMFULL;VACUUMANALYZE; \ No newline at end of file +software onhttps://ar.falsy.cat/tags/software/Recent content in software onHugo -- gohugo.ioen-usflutterhttps://ar.falsy.cat/note/info-tech/flutter/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/flutter/概要 マルチプラットフォーム GUIアプリケーション フレームワーク iOS/Android,Web,Windows/Linux/Mac,組み込み Google製 使用言語はDart インストール Arch Linux install-archlinuxの直後から,flutter doctorがオールグリーンになるまで 1時間ぐらいは覚悟したほうがいい 特にandroid-studioがクソでかいので qemuイメージのリサイズをする羽目になった 参考文献 追記: qemu上だとパフォーマンスがゴミすぎてまともに使えなかった X( ハードウェアアクセラレーションとか頑張ればいけるのかもしれないけど,諦めてホストのMacbookに直接入れた 手順 依存のインストール 1 2 3 4 5 6 7 8 9 10 11 12 13 14 pacman -S base-devel xorg-server xterm i3-wm noto-fonts git clang cmake ninja chromium visudo # いい感じに設定 &amp; リログ git clone https://aur. \ No newline at end of file diff --git a/tags/statistics/index.html b/tags/statistics/index.html index 2cecd0a..ff32077 100644 --- a/tags/statistics/index.html +++ b/tags/statistics/index.html @@ -9,10 +9,10 @@ -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tags/statistics/index.xml b/tags/statistics/index.xml index e072898..f7d09e9 100644 --- a/tags/statistics/index.xml +++ b/tags/statistics/index.xml @@ -1 +1 @@ -statistics onhttps://ar.falsy.cat/tags/statistics/Recent content in statistics onHugo -- gohugo.ioen-usパラメトリック検定とノンパラメトリック検定https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/概要 仮設検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である パラメトリック検定 母集団がある特定の分布であると事前に仮定する検定 ノンパラメトリック検定に比べて,計算が楽 手計算はこっちの方が嬉しい 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い 事前検定で母集団の仮定を検証するのはやめた方がいい(後述) ノンパラメトリック検定 母集団の分布を仮定しない検定 計算がめんどくさい サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない 事前検定 欲しい結果を得る検定の前に行われる検定のこと 多重検定の問題を孕む 個人的には,大抵の場合において事前検定は愚行だと思っている 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う 大人しくノンパラメトリック検定を使うべき そもそもコンピュータ使えば計算コストは無視できる まとめ 仮設検定は2つに分けられる パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定 ノンパラメトリック検定: それ以外の検定 パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき仮説検定https://ar.falsy.cat/note/study/statistics/hypothesis-test/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test/概要 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する 検定手順 帰無仮説を仮定する 帰無仮説のもとで検定したい事象が発生する確率$p$を求める $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する 結論に生じうる誤り 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう 発生確率=有意確率 発生確率を設定できる 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう 発生確率は不明 発生確率を設定できない 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ) 大体の場合で5% 第一種の誤りが許されない場面(医療など)では1% 例 コイントスを10回やって7回表が出た.コイントスは公平か? 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.仮説検定の多重性問題https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/概要 結論に複数の 仮設検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない 不確実な情報による結論の不確実性 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる ただし,実際には第二種の過誤も存在する 有意水準を小さくすれば結論が第二種の過誤である確率は増加する 以上より,多重検定は非常によろしくない 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから Holm法による有意水準の調整 多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う. \ No newline at end of file +statistics onhttps://ar.falsy.cat/tags/statistics/Recent content in statistics onHugo -- gohugo.ioen-usパラメトリック検定とノンパラメトリック検定https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/概要 仮説検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である パラメトリック検定 母集団がある特定の分布であると事前に仮定する検定 ノンパラメトリック検定に比べて,計算が楽 手計算はこっちの方が嬉しい 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い 事前検定で母集団の仮定を検証するのはやめた方がいい(後述) ノンパラメトリック検定 母集団の分布を仮定しない検定 計算がめんどくさい サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない 事前検定 欲しい結果を得る検定の前に行われる検定のこと 多重検定の問題を孕む 個人的には,大抵の場合において事前検定は愚行だと思っている 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う 大人しくノンパラメトリック検定を使うべき そもそもコンピュータ使えば計算コストは無視できる まとめ 仮説検定は2つに分けられる パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定 ノンパラメトリック検定: それ以外の検定 パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき仮説検定https://ar.falsy.cat/note/study/statistics/hypothesis-test/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test/概要 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する 検定手順 帰無仮説を仮定する 帰無仮説のもとで検定したい事象が発生する確率$p$を求める $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する 結論に生じうる誤り 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう 発生確率=有意確率 発生確率を設定できる 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう 発生確率は不明 発生確率を設定できない 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ) 大体の場合で5% 第一種の誤りが許されない場面(医療など)では1% 例 コイントスを10回やって7回表が出た.コイントスは公平か? 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.仮説検定の多重性問題https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/概要 結論に複数の 仮説検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない 不確実な情報による結論の不確実性 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる ただし,実際には第二種の過誤も存在する 有意水準を小さくすれば結論が第二種の過誤である確率は増加する 以上より,多重検定は非常によろしくない 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから Holm法による有意水準の調整 多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う. \ No newline at end of file diff --git a/tags/study/index.html b/tags/study/index.html index 35c2e1f..f04c445 100644 --- a/tags/study/index.html +++ b/tags/study/index.html @@ -9,10 +9,10 @@ -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tags/study/index.xml b/tags/study/index.xml index 250d519..485691f 100644 --- a/tags/study/index.xml +++ b/tags/study/index.xml @@ -1 +1 @@ -study onhttps://ar.falsy.cat/tags/study/Recent content in study onHugo -- gohugo.ioen-usパラメトリック検定とノンパラメトリック検定https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/概要 仮設検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である パラメトリック検定 母集団がある特定の分布であると事前に仮定する検定 ノンパラメトリック検定に比べて,計算が楽 手計算はこっちの方が嬉しい 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い 事前検定で母集団の仮定を検証するのはやめた方がいい(後述) ノンパラメトリック検定 母集団の分布を仮定しない検定 計算がめんどくさい サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない 事前検定 欲しい結果を得る検定の前に行われる検定のこと 多重検定の問題を孕む 個人的には,大抵の場合において事前検定は愚行だと思っている 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う 大人しくノンパラメトリック検定を使うべき そもそもコンピュータ使えば計算コストは無視できる まとめ 仮設検定は2つに分けられる パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定 ノンパラメトリック検定: それ以外の検定 パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき仮説検定https://ar.falsy.cat/note/study/statistics/hypothesis-test/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test/概要 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する 検定手順 帰無仮説を仮定する 帰無仮説のもとで検定したい事象が発生する確率$p$を求める $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する 結論に生じうる誤り 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう 発生確率=有意確率 発生確率を設定できる 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう 発生確率は不明 発生確率を設定できない 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ) 大体の場合で5% 第一種の誤りが許されない場面(医療など)では1% 例 コイントスを10回やって7回表が出た.コイントスは公平か? 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.仮説検定の多重性問題https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/概要 結論に複数の 仮設検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない 不確実な情報による結論の不確実性 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる ただし,実際には第二種の過誤も存在する 有意水準を小さくすれば結論が第二種の過誤である確率は増加する 以上より,多重検定は非常によろしくない 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから Holm法による有意水準の調整 多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う. \ No newline at end of file +study onhttps://ar.falsy.cat/tags/study/Recent content in study onHugo -- gohugo.ioen-usパラメトリック検定とノンパラメトリック検定https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-parametric/概要 仮説検定におけるパラメトリック検定とは,母集団のサンプルに対する検定のうち,母集団の分布を事前に仮定する検定である 母集団のサンプルに対する検定のうち,パラメトリック検定でないものはノンパラメトリック検定である パラメトリック検定 母集団がある特定の分布であると事前に仮定する検定 ノンパラメトリック検定に比べて,計算が楽 手計算はこっちの方が嬉しい 母集団が仮定と異なる分布を持つ場合,検定の結論に意味は無い 事前検定で母集団の仮定を検証するのはやめた方がいい(後述) ノンパラメトリック検定 母集団の分布を仮定しない検定 計算がめんどくさい サンプルサイズが頭おかしいほど大きくない限り,コンピュータなら一瞬 仮定に沿うパラメトリック検定が存在する場合,それよりも精度は落ちるが,実用的な問題はない 事前検定 欲しい結果を得る検定の前に行われる検定のこと 多重検定の問題を孕む 個人的には,大抵の場合において事前検定は愚行だと思っている 母集団の正規性を仮定するパラメトリック検定を使いたいがために,事前検定として正規性の検定(Shapiro-wilk test)をする人がいる 個人的には多重検定問題沼に足を突っ込むぐらいなら,そこまでしてパラメトリック検定を使う必要はないと思う 大人しくノンパラメトリック検定を使うべき そもそもコンピュータ使えば計算コストは無視できる まとめ 仮説検定は2つに分けられる パラメトリック検定: 母集団の分布になんらかの仮定が必要な検定 ノンパラメトリック検定: それ以外の検定 パラメトリック検定をしたいがために多重検定を使うぐらいならば,ノンパラメトリック検定を使うべき仮説検定https://ar.falsy.cat/note/study/statistics/hypothesis-test/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test/概要 仮説検定とは,母集団の母数に関する帰無仮説について,棄却/受容を標本から客観的に判定する手続き 有意確率とは,帰無仮説が真だった場合に誤って棄却する確率である 仮説検定において,有意確率が事前に定めた有意水準よりも小さかった場合,帰無仮説を棄却する 検定手順 帰無仮説を仮定する 帰無仮説のもとで検定したい事象が発生する確率$p$を求める $p$が事前に定めた有意水準よりも小さいならば,帰無仮説を棄却する 結論に生じうる誤り 第一種の誤り: 帰無仮説が正しい,かつ,帰無仮説を棄却してしまう 発生確率=有意確率 発生確率を設定できる 第二種の誤り: 帰無仮説が誤っている,かつ,帰無仮説を受容してしまう 発生確率は不明 発生確率を設定できない 有意水準を小さくすることで第一種の誤りは起こりにくくなるが,第二種の誤りが起こりやすくなる(トレードオフ) 大体の場合で5% 第一種の誤りが許されない場面(医療など)では1% 例 コイントスを10回やって7回表が出た.コイントスは公平か? 7回表が出る確率は$\frac{1}{2^{10}} \cdot {}_{10} \mathrm{C}_7=0.仮説検定の多重性問題https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/study/statistics/hypothesis-test-multiplicity/概要 結論に複数の 仮説検定の結果が影響している時,その結論は検定の多重性問題を孕んでいる可能性がある 問題を回避するためには,Holm法などで有意水準を下げる必要があるが,完璧ではない 不確実な情報による結論の不確実性 第一種の過誤のみを考慮した場合,有意水準$x$で得られた検定の結果$n$個から導き出された結論は,最大で確率$1-(1-x)^n$で誤りである $P_1\cup P_2\cup \dots \cup P_n\implies Q$であるとき,$P_i$それぞれについて偽である確率が$e$ならば,$\overline{Q}$である確率は$1-(1-e)^n$である 故に有意水準を小さくすることで,結論が誤りである可能性を小さくすることができる ただし,実際には第二種の過誤も存在する 有意水準を小さくすれば結論が第二種の過誤である確率は増加する 以上より,多重検定は非常によろしくない 有意水準を何らかの方法で小さくした上で,全ての検定の帰無仮説が棄却であった場合のみ,統計的に有意な結論を導ける 帰無仮説が棄却された場合,それが第二種の過誤であることはありえないから Holm法による有意水準の調整 多重検定を構成する一つ一つの検定の有意水準を小さくする方法の一つがHolm法である.他の方法も存在するが,Holmが一番バランスがとれてる(棄却/受容しすぎない)方法だと思う. \ No newline at end of file diff --git a/tags/tool/index.html b/tags/tool/index.html index b0ab875..375b61d 100644 --- a/tags/tool/index.html +++ b/tags/tool/index.html @@ -9,10 +9,10 @@ -

    ar.falsy.cat

    Search

    Search IconIcon to open search
    -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tags/tool/index.xml b/tags/tool/index.xml index 82ac5d2..09e713a 100644 --- a/tags/tool/index.xml +++ b/tags/tool/index.xml @@ -1,4 +1,14 @@ -tool onhttps://ar.falsy.cat/tags/tool/Recent content in tool onHugo -- gohugo.ioen-usObsidianについてhttps://ar.falsy.cat/note/info-tech/obsidian/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/obsidian/公式サイト +tool onhttps://ar.falsy.cat/tags/tool/Recent content in tool onHugo -- gohugo.ioen-usObsidianとQuartzによるセカンドブレインデジタルガーデンの構築https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/publish-obsidian-by-quartz/<h2 id="概要">概要</h2> +<ul> +<li> +<a href="https://github.com/jackyzha0/quartz" rel="noopener">Quartz</a>で +<a +href="https://ar.falsy.cat/note/info-tech/obsidian/" +rel="noopener" class="internal-link" +data-src="https://ar.falsy.cat/note/info-tech/obsidian/">Obsidian</a>のVaultを公開する</li> +<li>「<em>セカンドブレインデジタルガーデン</em>」という御大層な言葉は +<a href="https://github.com/jackyzha0/quartz" rel="noopener">Quartz</a>の紹介文からの引用</li> +</ul>Obsidianについてhttps://ar.falsy.cat/note/info-tech/obsidian/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/obsidian/公式サイト 概要 オフラインのwikiっぽいもの(=Vault) 記法はmarkdown Vaultは全てローカルに保存される インストール 公式サイトに各OSのインストーラが揃ってる Macではbrew install obsidianができる いいところ シンプルでスタイリッシュなデザイン 完全ローカルなので高セキュリティ 数式が使える $E=mc^2$ わるいところ 完全ローカルなので同期が課題 Vaultが巨大になるほど同期コストも増加 Macにて,エディタ上のリアルタイムプレビューとIMEが競合して日本語が正常に入力できないことがある 所感 ar.qemuhttps://ar.falsy.cat/note/info-tech/qemu/Mon, 01 Jan 0001 00:00:00 +0000https://ar.falsy.cat/note/info-tech/qemu/<h2 id="概要">概要</h2> <ul> <li>コマンドラインベースのVirtualBoxと思っている</li> diff --git a/tags/travel/index.html b/tags/travel/index.html index 742157a..aa8a593 100644 --- a/tags/travel/index.html +++ b/tags/travel/index.html @@ -9,7 +9,7 @@ - diff --git a/tags/virtualization/index.html b/tags/virtualization/index.html index c246b96..2776ca4 100644 --- a/tags/virtualization/index.html +++ b/tags/virtualization/index.html @@ -9,7 +9,7 @@ - diff --git a/tags/web/index.html b/tags/web/index.html index 8aef7ae..c294250 100644 --- a/tags/web/index.html +++ b/tags/web/index.html @@ -9,10 +9,10 @@ -
    \ No newline at end of file +
    \ No newline at end of file diff --git a/tags/word-play/index.html b/tags/word-play/index.html index c4e79a7..ea6e0f4 100644 --- a/tags/word-play/index.html +++ b/tags/word-play/index.html @@ -9,7 +9,7 @@ -