数学

順列・組み合わせ・階乗とは わかりやすくまとめてみた【数学】

普段生活している上ではなかなか出会う機会がなかったのですが、

最近よく目にするようになった、

  • 『機械学習』
  • 『統計学』
  • 『メディアアート』

など様々な分野で、

『順列』や『組み合わせ』はたっぷり組み込まれているようで。

アオキ
カンペ的にまるっとまとめておこうかね。

ということで、
『順列』や『組み合わせ』など複数の数字を取り扱う方法について、
まるっとまとめてみることにしてみました。

Sponsored link

階乗とは わかりやすくまとめてみた


まずは『階乗(かいじょう)』

順番がある並び方になります。

例えばA君、B君、C君の3人で、
ヨーイドンと走った時のパターンの数はというと、

  • A-B-C
  • A-C-B
  • B-A-C
  • B-C-A
  • C-A-B
  • C-B-A

ということで6通りになります。

こんなパターンの計算を表しているのが『階乗(かいじょう)』。

ビックリマークで表します。

$ n! $

アオキ
英語だと『Factorial(ファクトリアル)』なんですが、ビックリマークでいいですよねぇ。

計算的には、

  • nから始まって
  • nを1ずつ減らしつつ
  • それら全部を掛け算

すればOKです。

$ n! = n \times (n – 1) \times (n – 2) \cdots 3 \times 2 \times 1 $

例えば6人で走った時のパターンはというと、

$ 6! = 6 \times 5 \times 4 \times 3 \times 2 \times 1 = 720$

ということで720通りになります。

『プログラム』を組むとこうなるかなと思います。(スマホの場合はResultを押してね)

See the Pen
factorial-test
by aoki_monpro (@suica)
on CodePen.

アオキ
エクセルだと『FACT』関数が『階乗』にあたるようです。

順列(nPk)とは わかりやすくまとめてみた

ビックリマークの『階乗(かいじょう)』だと、

走った人数全員を計算することになります。

例えば、

  • 10人で走ったうち、上位4人の順番のパターンは・・・
  • 20人で走ったうち、上位15人の順番のパターンは・・・

という場合は『階乗』だと対応できないです。

そんな時に使えるのが『順列(じゅんれつ)』

英語で『Permutation(パーミュテーション)』。

書き方はこう。

$ {}_n \mathrm{ P }_k $

nの方に全体の数を書いて(上の例だと10人や20人)
kの方に知りたい数を書いて表します。(上の例だと4人や15人)

計算的には 、

  • nから始まって
  • nを1ずつ減らしつつ
  • kの数だけ掛け算

になります。

$ {}_n \mathrm{ P }_k = n \times ( n – 1 ) \cdots ( n – k + 1 ) = \frac{ n! }{ ( n – k )! } $

例えば9人で走って、上位4人の順番のパターンは、

$ {}_{9} \mathrm{ P }_4= 9 \times 8 \times 7 \times 6 = 3024 $

ということで、3024通りになります。

『プログラム』を組むとこうなるかなと思います。(スマホの場合はResultを押してね)

See the Pen
Permutation-test
by aoki_monpro (@suica)
on CodePen.

アオキ
エクセルだと『PERMUT』関数が『順列』にあたるようです。
Sponsored link

組み合わせ(nCk)とは わかりやすくまとめてみた


順番をつける場合は『階乗(!)』か『順列($ {}_n \mathrm{ P }_k $)』でいいのですが、

順番をつけずに組み合わせる数を知りたい場合もあります。

例えばにぎり寿司が4種類あるとして、
その中から2個を選ぶ組み合わせを知りたいとしたら。

『組み合わせ』を使います。

英語で『Combination(コンビネーション)』。

書き方はこう。
$ {}_n \mathrm{ C }_k $

計算的には、2種類のかけ算を組み合わせて計算します。

$ {}_n \mathrm{ C }_k = \frac{nから数を下げながらk個のかけ算}{1から数をあげながらk個のかけ算}$

先ほどの4種類から2個を選ぶ場合はこうなります。

$ {}_4 \mathrm{ C }_2 = \frac{4 \times 3 }{1 \times 2 } = \frac{12}{2} = 6$

9種類から3個を選ぶ『組み合わせ』の数ならこうですね。

$ {}_{9} \mathrm{ C }_3 = \frac{9 \times 8 \times 7 }{1 \times 2 \times 3 } = \frac{504}{6} = 84$

『プログラム』を組むとこうなるかなと思います。(スマホの場合はResultを押してね)

See the Pen
Combination-test
by aoki_monpro (@suica)
on CodePen.

アオキ
エクセルだと『COMBIN』関数が『組み合わせ』にあたるようです。

順列や組み合わせなどを Pythonでやってみた

『統計学』や『機械学習』で大人気のプログラム言語『Python(パイソン)』を使うと、

『順列』『組み合わせ』『階乗』などをあっさりと計算・表示することができます。

いくつか方法がありますが、『Python』で『scipy』というライブラリを使った例です。

あっさりと答えが返ってきます。

アオキ
書くのは簡単だけど、計算する内容がわかってないとなんのこっちゃってなっちゃうかもですね。

『Python』を手軽に試せる方法はこちら

階乗・順列・組み合わせをPythonでやってみた

順列や組み合わせなどを わかりやすくまとめてみて

これまでの生活ではなかなか出番がなかったのですが、

いざやってみると計算自体はかけ算なので難しくはなく、

普段の生活でも取り入れていきたいなと思えるようになりました。

アオキ
ちょくちょく見返しつつ実生活でも使うようにしてみますー
created by Rinker
¥2,160 (2019/09/22 11:44:07時点 Amazon調べ-詳細)

『数学・物理』関係ではこんな記事も読まれています。

1. 【ベクトル】をわかりやすくするコツ〜『ベクトル』はただの数値の組み合わせです(4)【P5.js】

2. プログラムで数学も身につく 一石四鳥なクリエイティブコーディング

3. 【三角関数】の使い方〜わかりやすさ重視でまとめてみた【動画あり】

4. 【ラジアン】とは わかりやすくまとめてみた【初心者向け】

5. 【図解】波の用語や動きをプログラムも交えてまとめてみる【数学&物理】

6. 【微分】とは わかりやすくまとめてみた〜めっちゃすごいわり算【初心者向け】

7. 【シグマ(∑)】計算をわかりやすくまとめてみた【エクセルのsum】【初心者向け】

8. 【極座標 】とは【直交座標 】との違いや変換方法についてまとめてみた

9. 【虚数】【複素数】とは わかりやすくまとめてみた【初心者向け】

10. 【指数】とは わかりやすくまとめてみた【初心者向け】

11. 【対数】とは わかりやすくまとめてみた【初心者向け】

12. 順列・組み合わせ・階乗とは わかりやすくまとめてみた【数学】

13. 【確率(加法定理)】とは わかりやすくまとめてみた【初心者向け】

14. 【ベクトル場】と【速度ベクトル】とは わかりやすく【ドラクエのすべる床】

↓ ここから下は物理関連

1. プログラムで【加速度】をわかりやすくするために実際に動かしてみる(5)【P5.js】

2. 【流体力学】とは 圧力・密度・浮力をまとめてみた【初心者向け】

↓ ここから下はちょいムズカシイ

1. 【ネイピア数】とは わかりやすくまとめてみた【自然対数の底(e)】

2. 【ベクトル解析 勾配(grad)】わかりやすくまとめてみた

3. 【ベクトル解析 発散(div)】わかりやすくまとめてみた

4. 【テイラー展開】をわかりやすくまとめてみた【おすすめ動画あり】

『統計学』関係ではこんな記事も読まれています。

1. 【分散】【標準偏差】とは わかりやすくまとめてみた【ExcelとPython】

2. 【正規分布】とは わかりやすくまとめてみた【ExcelとPython】

3. 【確率】当たりがでる確率を計算する方法【二項分布】【Excel/Python】

4. 順列・組み合わせ・階乗とは わかりやすくまとめてみた【数学】

5. 【確率(加法定理)】とは わかりやすくまとめてみた【※初心者向け】

6. 【条件付き確率】とは わかりやすくまとめてみた

アオキ
ツイッターでも記事ネタ含めちょろちょろ書いていくので、よろしければぜひフォローお願いしますm(_ _ )m

アオキのツイッターアカウント


関連記事一覧 (一部広告あり)

コメント

  1. この記事へのコメントはありません。

  1. この記事へのトラックバックはありません。

CAPTCHA


最近の記事

  1. IoT関連

    【Arduino】ラジコンをつくってみた 〜今ドキのプログラムの覚え方
  2. 音楽

    コードの転回形の練習方法をまとめてみた【大人のピアノ】
  3. 学び・教育

    『ニュータイプの時代』〜リベラルアーツとテクノロジーの融合〜
  4. バックエンド

    【厳選8冊】ホームページを作れるようになるためのおすすめ本【初心者向け】
  5. CG関連

    【WebGL】入門 わかりやすく【図解】してみた
PAGE TOP