MacのVSCode v1.63で日本語入力がおかしい
【ポケモン】効率良く6Vを作る両親の掛け合わせ方法【ダイパリメイク】
大抵は5Vで十分なのですが、両刀のポケモンを作ろうと思うと6Vにしたくなります。
以下の話は、剣盾でもダイパリメイクでも最近のものなら仕様は同じかと思います。
仕様を勘違いしているところがあったら教えてください。
基本となる仕様の説明
預かり屋にポケモンを2匹預けて、タマゴを孵化させる方法で固体値を厳選します。
預けるポケモンのうち少なくとも1匹に「あかいいと」を持たせることで、6 x 2 = 12個ある両親の固体値のうちから5つが子供に遺伝します。
つまり、遺伝プロセスとしては、以下のように考えるとわかりやすいです。
- まず、6つあるステータス(HP、攻撃、etc)から5つが選ばれる
- 次に、これらのステータスそれぞれに対し、等しい確率で母親または父親の固体値が選ばれる
- 遺伝しなかった残りの1つのステータスについては、ランダムに固体値が決まる(0 ~ 31の32通り)
という感じなので、6Vの子供を作るには少なくとも遺伝しなかったステータスで1 / 32の確率を突破する必要がありますが、厳選効率は預ける両親の固体値に依存します。
以下で効率の良い両親の組み合わせを考えます。
5V x 5Vで6Vをつくる
ここでは最終プロセスである 5V x 5Vの両親から6Vの子供を作る手順のみ述べます。
5Vまでは頑張って用意してください。
5V同士を掛け合わせる場合、次の2つのパターンがあるかと思います。
- 両親のVでない箇所が同じである場合
- 両親のVでない箇所が異なる場合
例えば、両親がどちらもHP以外がVであるのは初めの方の場合であり、母親がHP以外Vで父親が攻撃以外Vである場合は後の方の場合に該当します。
結果から言えば、後の方の「固体値がVでないステータスの箇所が異なる両親」を掛け合わせた方が、6Vの子供ができる確率が高くなります。
以下では、それぞれの場合において6Vの子供が産まれる確率を計算します。
両親のVでない箇所が同じである場合
両親がどちらもHP以外のステータスがVであるような状況を想像してください。
ステータス | 母親 | 父親 |
---|---|---|
HP | - | - |
攻撃 | V | V |
防御 | V | V |
特攻 | V | V |
特防 | V | V |
素早 | V | V |
まず、遺伝する5つのステータスのうちHPが選ばれない場合を考えると、その確率は1 / 6である。
HP以外は両親ともに全てVであるから、子供のこれらのステータスは確実にVとなる。
HPは遺伝しなかったので、子供のHPは1 / 32の確率でVとなる。
よって、この場合に子供が6Vである確率は(1 / 6) x (1 / 32)である。
次に、遺伝する5つのステータスのうちHPが選ばれる場合を考えると、VでないHPの固体値が必ず遺伝してしまうので、この場合は6Vになりえない。
したがって、両親のVでない箇所が同じである場合に、子供が6Vとなる確率は(1 / 6) x (1 / 32)である。
両親のVでない箇所が異なる場合
今度は、母親はHP以外がVで、父親は攻撃以外がVであるような状況を想像してください。
ステータス | 母親 | 父親 |
---|---|---|
HP | - | V |
攻撃 | V | - |
防御 | V | V |
特攻 | V | V |
特防 | V | V |
素早 | V | V |
まず、遺伝する5つのステータスのうち、HPは含まれているが攻撃は含まれていない場合を考えると、その確率は1 / 6である。
遺伝する5つのステータスのうち、HP以外は両親ともにVであるから、子供のこれらのステータス(防御・特攻・特防・素早)は確実にVとなる。
遺伝するHPでは、父親の固体値が選ばれれば、子供のHPはVとなり、その確率は1 / 2である。
攻撃は遺伝しなかったので、子供の攻撃は1 / 32の確率でVとなる。
この議論は、遺伝しないステータスが攻撃ではなくHPとしても同様である。
よって、遺伝する5つのステータスのうち、HPまたは攻撃のいずれかが含まれていない場合において、子供が6Vとなる確率は(1 / 6) x (1 / 2) x (1 / 32) x 2である。
次に、遺伝する5つのステータスのうち、HPも攻撃も含まれている場合を考えると、その確率は4 / 6である。
遺伝するHPと攻撃以外の3つのステータスは、両親ともにVであるから、子供のこれらの3つのステータスは確実にVとなる。
遺伝するHPは父親のものが、攻撃は母親のものが遺伝すれば、子供のHPと攻撃はともにVとなり、その確率は(1 / 2) x (1 / 2)である。
遺伝しなかったステータスでは、子供のそれがVとなる確率は1 / 32である。
よって、遺伝する5つのステータスのうち、HPも攻撃も含まれている場合において、子供が6Vとなる確率は(4 / 6) x (1 / 2) x (1 / 2) x (1 / 32)である。
したがって、以上の議論から、両親のVでない箇所が異なる場合に、子供が6Vとなる確率は
(1 / 6) x (1 / 2) x (1 / 32) x 2 + (4 / 6) x (1 / 2) x (1 / 2) x (1 / 32)
= (1 / 6) x (1 / 32) + (1 / 6) x (1 / 32)
= (1 / 3) x (1 / 32)
である。
まとめ
5Vの親を掛け合わせてたときに、6Vの子供が産まれる確率は
- 両親のVでない箇所が同じである場合には(1 / 6) x (1 / 32)
- 両親のVでない箇所が異なる場合には(1 / 3) x (1 / 32)
となることがわかった。
後の方が、初めの方よりも確率が2倍大きい。
したがって、6Vを作るときは「Vでない箇所が異なる両親」を掛け合わせた方が良い。
以上!
macOS Monteteyでテキスト認識を使う
iOSでも追加されたテキスト認識の機能だが、当然Macでも使える。
しかし、現状では日本語非対応とのことで、Monteteyにアプデしてもデフォルトではオフになっている。
有効にするには、「システム環境設定」の「言語と地域」にある「テキスト認識表示」にチェックを入れ、対応アプリを(既に起動していれば)再起動する。
そうすれば、例えば写真アプリでテキスト部分をドラッグすればテキストを選択できるようになる。
しかし、冒頭でも言ったようにやはり日本語には非対応らしい。
例えば以下の画像からテキストを抽出すると、、、
こんな感じになる:
20歲末满の者の喫煙讨、 法律飞禁 机 寸。 喫煙仕、樣久本疾病亿龙 石危險性老高为、古本大 の健康寿命在短( 百书 仁付依存性龙布 东寸。
漢字がいけるなら平仮名ぐらいさっさと対応してほしいが、文法やら文脈の情報も利用して精度を上げてるんだろうか。
とまあこんなところです。以上!
参考
ファイル分割でdcumute.styのinputコマンドを使うときの目次出力について【LaTeX】
dcumute.sty
で再定義された\input
コマンドを使うときの目次出力コマンド\tableofcontentsについての備忘録です。
以下のサンプルのtexファイルはuplatex
+ dvipdfmx
でタイプセットすることを想定しています。
普通のinputコマンド
LaTeXで規模の大きい文書を作るとき、セクションごとにファイルを分割したくなります。
標準搭載されている\input
コマンドを使えば、別のtexファイルの中身を呼び出すことができます。
例えば親ファイル(parent.tex
)として以下のような内容のtexファイルを作ります:
%% parent.tex \documentclass[uplatex]{jsarticle} \begin{document} 親ファイル \input{child.tex} \end{document}
同じディレクトリに以下の内容の子ファイル(child.tex
)を作ります:
%% child.tex \section{子ファイル} ほげほげ
そうすると、親ファイルparent.tex
をタイプセットすれば\input{...}
と書いた部分が子ファイルchild.tex
の内容で置き換わります。
しかしこれでは、子ファイル単体でのタイプセットはできず、子ファイルの更新を確認するには毎回親ファイルのタイプセットを行わないといけず、面倒です。
子ファイル中に\documentclass
コマンドやdocument
環境があると、それがそのまま親ファイル中に挿入されるのでエラーが出ます。
そこでdocumute.sty
で再定義された\input
コマンドを使います。
docmute.styのinputコマンド
docmute.sty
を使うと、親ファイルから\input
コマンドで子ファイルを呼び出すとき、子ファイルの\begin{document}
から\end{document}
の中身だけを抽出するようになります。
つまり、次のように書き直すことができます。
親ファイル:
%% parent.tex \documentclass[uplatex]{jsarticle} \usepackage{docmute} % これを使う \begin{document} 親ファイル \input{child.tex} \end{document}
子ファイル:
%% child.tex \documentclass[uplatex]{jsarticle} \begin{document} \section{子ファイル} ほげほげ \end{document}
子ファイルを上のように書けば、texファイルとして完結しているので、これ単体でもタイプセットできます。
子ファイルの目次
目次は\tableofcontents
コマンドで出力できます。
\input
コマンドで挿入した子ファイルの内容の見出しもちゃんと目次に出力してくれます。
しかし、\tableofcontents
が使えるのはtex文書全体を通じて一度のみです。
つまり、親ファイル冒頭で\tableofcontents
を使っていて、単体でタイプセット可能になった子ファイル中でも\tableofcontents
を使っていた場合、親ファイルをタイプセットした際にエラーとなります。
せっかくファイル分割したので、子ファイルの内容分だけの目次も作業中は確認できるようにしたいですが、親ファイルのタイプセット時に毎回それをコメントアウトするのは面倒です。
ということで、二度目以降に現れる\tableofcontents
コマンドは無視するように再定義します。
親ファイルのプリアンブルに以下のコマンドを書きます:
%% 最初に現れた\tableofcontents以外は無視 \let\oldTableofcontents\tableofcontents \renewcommand\tableofcontents{ \oldTableofcontents \renewcommand\tableofcontents\relax }
これで、子ファイルの中でも通しでタイプセットするときを気にせずに\tableofcontents
コマンドが使えます。
以上です。
Inkscapeのインストール【Mac, Homebrew】
InkscapeはHomebrewでインストールできます。
% brew search inkscape
==> Casks
inkscape
InkscapeはFormulaeではなくCasksなので、一応--cask
オプションをつけてインストールします:
% brew install --cask inkscape Updating Homebrew... ==> Downloading https://media.inkscape.org/dl/resources/file/Inkscape-1.1.1.dmg ######################################################################## 100.0% ==> Installing Cask inkscape ==> Moving App 'Inkscape.app' to '/Applications/Inkscape.app' ==> Linking Binary 'inkscape.wrapper.sh' to '/usr/local/bin/inkscape' 🍺 inkscape was successfully installed!
ちゃんとインストールできました;
% which inkscape /usr/local/bin/inkscape % inkscape --version Inkscape 1.1.1 (c3084ef, 2021-09-22)
ここでインストールしたInkscapeは、コマンドラインでinkscape
と打つか、/Applications/
ディレクトリにあるInkscape.app
を開くことで起動できます。
もちろんランチャー画面にもアプリアイコンが表示されます。
以上です。
【brew】Warning: Error searching on GitHub: GitHub API Error: Bad credentials
個人的な備忘録です。
検索エンジンから飛んできた人は参考にしないでください。
やったこと
brew search
コマンドを打ったら以下のような警告が出た:
Warning: Error searching on GitHub: GitHub API Error: Bad credentials The GitHub credentials in the macOS keychain may be invalid. Clear them with: printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase Create a GitHub personal access token: https://github.com/settings/tokens/new?scopes=gist,public_repo,workflow&description=Homebrew echo 'export HOMEBREW_GITHUB_API_TOKEN=your_token_here' >> ~/.zshrc
ほんまありがた迷惑ですわGitHubさん。
ほんで、思考停止で下記のコマンド打ちました:
printf "protocol=https\nhost=github.com\n" | git credential-osxkeychain erase
そいだら警告消えましたわ。意味わからんけど。
調べずに思考停止でコマンド打っちゃったので、一応その備忘録。
暇な人がいましたら、ワイは一体何の警告に対して、何を行ったのか教えてください^^
^^
PDFのパスワードを削除する【QPDF】
ロックがかけられたPDFファイルは、開くたびに毎回パスワードを打たなくてはいけません。
(キーチェーンにパスワード覚えさせれば、次回からパスワード確認なしで開けますが)
面倒なのでロックを解除します。
QPDFというコマンドラインプログラムで、ファイルのパスワードを削除できます。
qpdfのインストール
Homebrewからインストールできます:
brew install qpdf
公式サイトからもDLできます。
バージョン確認:
% qpdf --version qpdf version 10.3.2 Run qpdf --copyright to see copyright and license information.
パスワードの削除
以下のようにしてPDFファイルのパスワードを削除します:
qpdf --password=パスワード --decrypt 入力ファイル 出力ファイル
以上です。簡単でした。