オープンソースの画像生成AIをセットアップから使い方まで解説する『Stable Diffusion AI画像生成ガイドブック』(ソシム刊)発売中(→本のサポートページ

99/01/23 (Sat.)

元記事:ただ日記−99/01/23 (Sat.)】

知念理菜は誰に似ているか、の計算方法について、いくつか反応をいただいた。
 おさらいをすると、設問は「AがBに似ていて、同時にCにも似ている場合、BはCに似ているものとする。知念理菜がうつみ宮土理にもローリー寺西にもブルック・アダムスにも一色紗英にも似ているとするなら、似ているペアはいくつ作ることができるか。」というもの。これに対して、

知−う 知−ロ 知−ブ 知−一
う−ロ う−ブ う−一
ロ−ブ ロ−一

という9組を考えたのだが、賢明なる読者諸君はお気づきであろう、「ブ−一」というペアを入れ忘れてしまったのだ。これで計10組ということになる。
 ここでの考え方は上のように、(1)5人のうち1人目は4人とペアを作れる(2)2人目は3人とペアを作れる(1人目とは(1)でもうペアを作ってしまったので、2人目はペアを作れる相手が一人減る)(3)3人目は2人とペアを作れる(4)4人目は1人とペアを作れる(5)5人目は0人とペアを作れる、ということから4+3+2+1+0=10通りとした。
 T氏が掲示板で教えてくれたのは、次の計算方法。まずペアの片方を5人の中から1人選び、残った4人のうちから、先ほど選んだ1人とのペアを作ると考える。ペアの片方は5通りの選び方(知/う/ロ/ブ/一)があり、この片方へあてがう相手には4通りの選び方がある(片方が知なら、そのペアになれるのは、う/ロ/ブ/一の4通り)。すると5×(5−1)=20通り。でもこれだと、「知−う」と「う−知」のような重複があるので、2で割って10通り。
 A氏は、数学的で汎用になる計算方法を教えてくれた。n人の中からp人の組を重複なく選ぶ組み合わせのことをnCrと表記し、

n!
nCr―――――――
(n−r)!×r!

と計算する。n!は「nの階乗」で、1×2×3×…×nという計算。これを「5人の中から2人の組を重複なく選ぶ」とすると、

5!5×4×3×2×1
5C2=―――――――=――――――――――――=10
(5−2)!×2!(3×2×1)×(2×1)

というわけで10通り。A氏は、なぜこういう式になるかも書いてきてくれたのだが、長くなるのでここでは割愛(ごめんなさい)。ペアを作るのであれば前者2つの方法でもいいが、3人以上の組を作るとなるとnCrを考えるのがよい。どこかで必ず役に立つはずだ。