• ベストアンサー

「繰り返しのない組合せ」の各組を数式の計算で出した

組合せ(繰り返しのない)の要素を   1,2,3,4,5,6,7,8,9 とします.この 9個から 7個を取り出した 36通りの組み合せを,全て書き出したいのですが,計算式を教えて下さい. (補集合を使う計算の方法がありますが,そうではなく,正式な計算式を知りたい) 数冊の数学辞典やウィキペディアなどを調べましたが,計算式が載っていません. パソコンを用いた数値計算が苦手ですので,計算式を教えて頂きたいのです. また,13個から 10個を取り出した 286通りの組み合せも計算式でゆっくりと計算したいです. よろしくお願いします.

質問者が選んだベストアンサー

  • ベストアンサー
  • f272
  • ベストアンサー率46% (8012/17126)
回答No.4

(1) > これを代数的な数式に置き換えるのは,かなり困難であると思われますが,如何でしょうか? かなり困難であることはそのとおりでしょう。ちょっと考えてもどうすればよいのかよくわからないし... でも,まあ,殆どの人はあなたの言うような代数的な数式には興味がないのです。興味があるのは計算できるかどうかです。 (2) 関数F(n,k,m)の定義があいまいというのは,単に明確に述べていなかっただけです。m番目というのはすべての組み合わせを辞書式に並べたときのm番目ということです。つまり1番目の数値が小さいほど前にくる。1番目の数値が同じ場合は2番めの数値が小さいほど前に来る。2番めの...以下同じです。すべての数値が同じものはないので必ず順序は決まります。 なお#3で言った式はm番目を直接に出すときに使うべき式であって,順番にすべての組み合わせを作るときには別のやり方をするほうが効率的です。 つまり1からnまでの整数からk個を取り出して出来る組み合わせを作るときは 1番めは{1,2,3,...,k}です。 次の組み合わせは,今できている組み合わせの数値を後ろから見ていきます。後ろからj番目の数値がn-j+1でないものが見つかったら,それが何番目の数値かを記憶します。それが前からi番目であれば,1番目からi-1番目まではそのままにして,i番目の数値は1を加えます。そしてi+1番目からk番目の数値はi番目の数値に順に1を加えたものにします。このようにして次の組み合わせを作ります。これを繰り返してnCk個の組み合わせを作ればよいのです。 {1,2,3},次は3を4にする。 {1,2,4},次は4を5にする。 {1,2,5},次は2,5を3,4にする。 {1,3,4},次は4を5にする。 {1,3,5},次は3,5を4,5にする。 {1,4,5},次は1,4,5を2,3,4にする。 {2,3,4},次は4を5にする。 {2,3,5},次は3,5を4,5にする。 {2,4,5},次は2,4,5を3,4,5にする。 {3,4,5},おしまい これも代数的な数式に置き換えるのは困難でしょうね。

Knotopolog
質問者

お礼

再度にわたるご親切なご回答,誠に,ありがとうございます. (1) >殆どの人はあなたの言うような代数的な数式には興味がない・・・ なるほど,まさに,その通りでしょう.回答者さんの仰る通りです. 過去に誰も代数的な数式を作らなかったのですから・・・. 計算できれば,それで終わり! と言うことでしょう. 組合せを計算する代数的な数式は,簡単そうなのに,なぜ無いのかが不思議なのです. 難しかった,四色問題,フェルマーの最終定理,ポアンカレ予想などか解かれているのに・・・. (2)疑問が解消しました. 関数F(n,k,m)の定義が明確に,かつ,完璧になされたため,これで関数F(n,k,m)の計算ができます, >これも代数的な数式に置き換えるのは困難でしょうね。 このお言葉が印象的に聞こえます. 色々と,ご指導いただきまして,本当に,ありがとうございました.

その他の回答 (3)

  • f272
  • ベストアンサー率46% (8012/17126)
回答No.3

#1 & #2です。 まずC関数を定義します。まあ,組み合わせ数と同じですが... C(n,k)=nCk ただしn<kのときは0 次にV関数を定義します。 V(a,b,x)=(v<a and C(v,b)≦x)を満たす最大の整数v 最後にE関数を定義します。これは要素数がk個の集合が関数の値となっていて,漸化式で定義することにします。また補助的にxを使います。 E(n,k,m)={e[i]}, i=1,2,...,k x[1]=C(n,k)-m e[1]=n-V(n,k,x[1]) x[i]=x[i-1]-C(n-e[i-1],k-i+2), i=2,3,...,k e[i]=n-V(n-e[i-1],k-i+1,x[i]), i=2,3,...,k これで定義されるE関数が#2で言った関数Fになります。

Knotopolog
質問者

お礼

何度もご回答を,ありがとうございました. ご提示いただいた数式について,感想を述べます. (1)最大の整数 v を求める関数V(a,b,x)は数値解析的な手法で解を求めるため,目的の代数的な数式ではないので,計算全体が組合せを算出する,目的の数式とはなっていない. n,k が大きな数になれば,結局,v を求めるために,コンピューターによる数値解析としての計算を行うこととなってしまう. (2)m番目にくる組合せを出力する関数F(n,k,m)の定義があいまいであるため,C(n,k)個存在する組合せのどの位置にくるのか,明確な計算ができない. 1,2,...,n および k の数と関連づけて,m番目を決定するための明確な定義が必要がある. ご提示いただいた数式を用いて,実際の計算例として,n=5, k=3 の場合を以下のように計算しましたが,うまくいっていません. i=1, e[1]=5-V(5,3,10-m), m=1,2,...,10.  (C(5,3)=10) i=2, e[2]=5-V{V(5,3,10-m),2,10-m-C(V(5,3,10-m),3)}. i=3, e[3]=(複雑なため省略). E(5,3,m)={e[1],e[2],e[3]}. 関数V(a,b,x),および F(n,k,m)について,これを代数的な数式に置き換えるのは,かなり困難であると思われますが,如何でしょうか?

Knotopolog
質問者

補足

ご回答,ありがとうございます. 詳しく数式を書いていただき,ありがとうございます. 今,直ぐには飲み込めませんので,少し検討してみます.

  • f272
  • ベストアンサー率46% (8012/17126)
回答No.2

あなたの考えていることがわかってきた。あなたの考えるような計算式は作ることが出来ますが,例えばn個からk個を取り出した組み合わせ(全部でnCk個ある)を辞書式に並べたときにm番目にくる組み合わせを出力する関数をF(n,k,m)としましょう(かなり複雑な式になりますが...)。このFは組み合わせを文字列として出力するとします。例えば F(5,3,5)="1 3 5"です。 ちなみに全部書けば"1 2 3”,"1 2 4","1 2 5","1 3 4","1 3 5","1 4 5","2 3 4","2 3 5","2 4 5","3 4 5"ですね。 この関数を使って「全組み合せを計算で算出する」とすれば F(5,3,1)を計算して,F(5,3,2)を計算して,...,F(5,3,9)を計算して,F(5,3,10)を計算することになります。でもこのFの計算はほとんど同じような計算を行うことになって違いはわずかなのです。そんな無駄なことをする気ですか? 無駄を省いて「全組み合せを計算で算出する」とするときはこんな関数は使わずに,全部を出力するような計算をするでしょう。そういう計算は普通は計算式とは言いません。計算アルゴリズムあるいは計算手順などと呼びます。

Knotopolog
質問者

補足

ご回答,ありがとうございます. 回答者さんは“あなたの考えるような計算式は作ることは出来ますが,・・・”と書かれています. と言うことは,過去に完成されて,永い間,既に使われているような計算式は,やはり無い.と私は解釈しました. もし,計算式が存在するのであれば,数学辞典などには載っているはずですから. 結局,計算アルゴリズムや計算手順としてはあるが,計算式としては整えられていない,と言うことなのでしょう. 回答者さんの言われる関数F(n,k,m)が多項式や三角関数,指数関数,超越関数,複素数関数など,何れかの関数を用いて表現されているのであれば,話はそこで終わりです. また,「・・・こんな関数は使わずに,全部を出力するような計算をするでしょう。・・・」と書かれている,この「全部を出力するような計算」とは,多分,コンピュータによる数値計算だろう思いますが,実用的には,常識的に考えても,それでいいのです. ここで問題にしているのは,純粋数学的に考えて「全部を出力するような計算」が数式化されていない,という事です. 計算が早いか遅いか,長ったらしい計算かどうか,無駄な計算かどうか,などは問題にしていません. また,計算アルゴリズムか,計算手順か,計算式か,などの呼び方も問題にしていません. ここで,回答者さんに,もう一つの問いかけをしますが,過去に「全部を出力するような計算」を数式化するような試みがなされた事はあるのでしょうか,それとも,無いのでしょうか. よろしくお願いします.

  • f272
  • ベストアンサー率46% (8012/17126)
回答No.1

計算式ってどういうものをイメージしていますか? 普通なら9C7を計算して36という値を求めるように,計算式からは一つの値が出てくるのであって組み合せが得られるわけではありません。 36通りの組み合せを出力するような手順はありますが,それは計算式と言われるようなものではありません。

Knotopolog
質問者

補足

ご回答,ありがとうございます. 要するに,当回答者さんの結論としては, 「繰り返しの無い組み合わせの各組を全て算出する事が出来る数式」 は無い.と言うことであると解釈します. 計算式のイメージとしては,たとえば,組合せの要素を, a, b, c, d, e, f, g, h, i とします. また,F, G, H, J, K, L, M, N を或る関数としますと,例えば, b=F(a), c=G(b), d=H(c), e=J(d), f=K(e), g=L(f), h=M(g), i=N(h) と言ったような数式です.これは仮の話ですから,上記のような数式になるかどうかは分かりません. 回答者さんの言われる 9C7=36 は,組合せの個数ですから,これとは別問題です. この 36通りの全組み合せを計算で算出する事を考えています.

関連するQ&A

  • 組合せの全体を算出できる数式は存在しますか?(再)

    ★★ 以下の内容をカテゴリ「数学・算数」へ1月19日に投稿しましたが,未だに回答が皆無で,"OKWAVE サポート担当" 様のご指導により「科学」へ再投稿してみました.★★ (再投稿) 最近(2018年12月12日)以下のような論文が,科学技術振興機構の運営する或る団体のサイトに提示されました. それは,数学の組合せ論に関する論文で「繰り返しを許さない組合せ」について,組合せの全体を算出できる数式(漸化式)に関する研究報告です. ● 論文タイトル:「繰り返しを許さない組合せの各組を全て算出できる数式」 組合せ論における「繰り返しを許さない組合せ」に関して,候補の数を n とし,選択の数を r とすると,組合せの総数 C(n,r) は,C(n,r) = n!/r!(n-r)! で与えられます. n と r,(n≧r)を任意に与えて,総個数が C(n,r) 個あるこの組合せの全てを,下記に示す数式(漸化式)で算出できます. この論文では,下に示す"組合せ網羅漸化式"(仮称)を用いた計算結果が,数多く示されています. 具体的には,例えば,組合せの要素を,1,2,3,4,5 で表し,この5個の要素から,4個を取り出した組み合せは, 〈1,2,3,4〉〈1,2,3,5〉〈1,2,4,5〉〈1,3,4,5〉〈2,3,4,5〉の5種類です. この5種類ような組合せも数式を用いて算出する方法が記述されています. この様な例のほか,全ての組み合せについて,ひとつの組合せ網羅漸化式を用いて組合せの全体が算出できます. 下記の数式以外で,これと同等の考え方・目的・主旨をもって創られている数式が存在すれば,それを教えて下さい. コンピューターを用いる数値計算で組合せを構成する方法は除きます.閉じた代数計算式の存在を問います.

  • 組合せ計算は間違っていませんか?

    Loto6は43個の数字から6個選び、当選数字がいくつ有るかで、賞金が決まります。6個含まれれば、1等 うん億円ですが、殆ど3個の5等が精一杯です。 組合せ計算は非常に苦手です。 次の計算をチェックし、間違っていたら正してください。 <命題> 43個の数字を適当に25個選んだ時、仮に当選数字が3個含まれたとします。 5等の当選確率は何%か? <自信の無い計算> 25個から6個選ぶ組合せは、25C6=177,100通り。 25個から3個選ぶ組合せは、25C3=  2,300通り。 2,300通りの中に当選数は1個しかありません。 当選する組合せは、1*(2300-1)=2299通り。 当選確率は、2299/177100=>1.298%。

  • 数式を教えて下さい。

    8つの数から5つの数の組み合わせが何通りできるか計算方法がわかりません。 1,2,3,4,5,6,7,8この中から5つ数を選んで何通りの組み合わせがあるかです。同じ数字は2度使えません。 (1,2,3,4,5)と(5,4,3,2,1)のように順番が違っても同じ数字を使っているので1つと考えます。 このような組み合わせを計算する方法はありますか?

  • NBS4 組合せ

    数学が苦手な私ですが、ナンバース4の合計が19に なる組み合わせをパソコンで計算さす方法を教えてください。 高校で習った順列組合せでnCrというのがあったが、 「0-9の中から四個選ぶ」はこれで出来るのかと 思うが、合計が19になるのはどうするのでしょうか?

  • 56人 2人組 組み合わせ

    56人を2人組に分ける組み合わせは何通りですか? 計算方法もお願いします

  • 数値を複数の群に分ける最適な組み合わせを求める方法

    次のような問題をCで記述するにはどのようにすればいいでしょうか? 要素数が不定の整数値配列がある。 この配列の各要素を、与えられた個数の群に分ける。 条件として、与えられた数値列で隣り合う数値しか同じ群に含めることは出来ない。 例: 数値列は{5,2,7,12,6,15,4} 群の個数を3とする。 (1) {5,2},{7,12,6},{15,4} (2) {5},{2,7},{12,6,15,4} (3) {5,2,7},{12},{6,15,4} ・・・ と複数の組み合わせがある。 これらの組み合わせのうち、各群の合計値が最も均等になるような組み合わせを求める。最大値と最小値の差が最小となる組み合わせを最も均等と考える。 上の例であれば、各群の合計値と、合計値の最大値と最小値の差は、 (1) {5,2},{7,12,6},{15,4} ==> 7,25,19 (25-7=18) (2) {5},{2,7},{12,6,15,4} ==> 5,9,37 (37-5=32) (3) {5,2,7},{12},{6,15,4} ==> 14,12,25 (25-12=13) ☆ のようになり、この3つの中で最も均等なのは (3) {5,2,7}{12}{6,15,4} となる。 実際は、これ以外の組み合わせでより均等となるものがあるかと思います。 この問題そのものが必要なわけではなく、この結果を利用して別のある問題を解決しようとしています。 数値の数が増えると組み合わせの数も大幅に増えて計算時間に影響すると思います。 全ての組み合わせを試すことなく答えにたどり着く方法があれば、考え方だけでも提示頂ければと思います。

  • 組み合わせを調べるには?

    0~9までの数字を使って6桁の数字を作るのに どんな組み合わせがあるのか調べたいのですけど、 やっぱり1つ1つ自分で書いていくしかないのでしょうか? 何通りあるのか、だったら公式とかあるかと思うんですけど。。。。 何かいい方法ってありますか? あったらできるだけ詳しく教えて下さい。 とにかく数学が苦手なもので。。。。。

  • 組み合わせの計算

    6人の中で4人組を作る場合、何通りの組み合わせができるのでしょうか? (A-B-C-DとD-C-B-Aのようなものは同じ組み合わせとします) 書き出したところ、15通りになりましたが、合っているかどうかわかりません。 また、組み合わせの計算方法がありましたら教えてください。 よろしくお願いします。

  • 組み合わせの計算

    例えば別々の人形を2体セットで販売するとして、その人形のパーツ「頭」「腕」「足」が各2パターンある時の組み合わせの計算方法を教えて下さい。 組み合わせのパターンを1つ1つ考えると20通りになるのですが、それを求める計算式を教えてほしいです。

  • トランプの組合せ計算について

    こんにちは。 トランプの組合せ数計算で、以下の通りの条件で何通りあるか知りたいと思いまして質問いたします。 (1)使うカードはジョーカーのない標準的な52枚のカードです。 (2)そこから、6枚のカードを取り出します。 (3)この質問における「続き数字」とは、とにかく2枚の数字相互が隣り合っていればよいものとします。配列は「A23456789TJQKA123456..」です。Tは10(Ten)のことです。ポーカーのように、「絵札を挟むとAと2はつながらない」というような事はなく、前記の通り隣接数字で繋がればOKです。 このとき、 (A)6枚のカードが全て続き数字になっている組合せは何通りありますか。 (B)続き数字になっている部分の最大の長さが5枚である組合せは何通りありますか。 (C)続き数字になっている部分の最大の長さが4枚である組合せは何通りありますか。 (D)続き数字になっている部分の最大の長さが3枚である組合せは何通りありますか。 (E)続き数字になっている部分の最大の長さが2枚である組合せは何通りありますか。2枚が複数ある場合(例:23 67 QK)も2枚とします。 (F)全ての数字が相互に2つ以上離れる(つまり続き数字がない)組合せは何通りありますか。 なお、組合せ総数は20,358,520であることが判明しております(52C6)ので、申し添えます。 また、よろしければ、以下の命題にもご回答頂ければ幸いです。 ・(E)の派生で、長さ3枚の隣接数字セットが2個分離していることにより、6枚を構成している組合せはいくつありますか。(例:234 789) ・取り出すカードを5枚としたときに、同一の要領で「5枚が繋がっている」「長さ4」「長さ3」「長さ2」「全て孤立」の組合せは、それぞれいくつありますか。また「長さ2が2組含まれている形」は、いくつありますか。 なお、組合せ総数は52C5=2,598,960通りであることは判明しています。 以上、ご回答のほど賜りますようお願い申し上げます。