• 締切済み

2つの組合せ

それぞれの生徒がそれぞれ好きな本を好きなだけリストしています。 生徒ID 好きな本 1    A 1    B 1    C 2    B 2    C 3    A 3    B 3    C 3    D 4    B 4    D ・・・ 私はこのクラスで本を2冊セットにして売ろうと思っています。どの2冊の組合せが一番売れるでしょうか。という問題です。実際は生徒数が1000人くらいいて、エクセルで表が作れないかと思っています。 よろしくお願いします。

みんなの回答

  • y_akkie
  • ベストアンサー率31% (53/169)
回答No.3

500種類あるそれぞれの本をB1,B2,...,B100とおきます。 また、B1,B2が好きな生徒の人数をn(B1∩B2)とあらわす事にします。 すると、n(B1∩B2),n(B1∩B3),.....,n(B499∩B500)の中から最大のものを選ぶとするばあい、#2さんがおっしゃるように500C2=12万回計算しなければなりません。プログラムを用いる場合は何とか実現できそうですが、Excelなどの手計算で行う場合はかなり膨大な作業量になる事は言うまでもありません。というよりも想像がつかないくらいの作業量です。 だが、よく考えてみると、500冊の中から好きな本を選ぶ事はないかと思います。その中で人気があるものの個数は限られる事も予想されます。 また、全通りの計算は常識的に考えた場合は、意味のない計算も多く含まれることも考えられます。例えば、n(Bi)=1明らかに個数の少ないものは、 どんな組み合わせにおいてもn(Bi∩Bj)≦1になる事は言うまでもありません。まず、適当なn(Bi∩Bj)=Mに対して、n(Bk)≦Mになるものは全て候補から除外します。それを繰り返す事で対象を絞る事ができるかもしれません。 効率良く絞込み作業を行う場合は、上位1・2の人気のある本C1,C2の選んで、n(C1∩C2)=Mとし、n(Bk)≦Mとなるものは全て選択肢から外します。 次に、絞り込みによって残ったの本のうちから、n(Ci∩Cj) > n(C1∩C2)=MになるCi,Cjを探し、n(Ci∩Cj)未満になるn(Ck)は全て選択肢から外します。(だが、n(C1∩C2)が最大の場合は言うまでもなく、見つかりません) この作業を繰り返していけば最終的には人気のある2つの本の組みあわせが見つかるのではないでしょうか。もし上手く絞りきれないのであれば、#2さんが提唱しているやり方を採用するか、そもそも最初から#2さんのやり方を採用した方が良いようにも思えます。また、#2さんの手法と対象の絞り込みを上手く繰り返していけば効率が良い事も期待されます。

Kanzaki831
質問者

お礼

ありがとうございました。 エクセルですべての可能性を網羅するのは大変だということがわかりました。参考にさせていただきます。

  • hrm_mmm
  • ベストアンサー率63% (292/459)
回答No.2

500冊中2冊の組み合わせだけでも、500*499/2 ≒12万以上なので、 全組調べるのも、結局は徒労ですし、 単純にある1冊を選択した人数上位10冊で、組み合わせて選択している人数を調べる とすれば、10*9/2=45通りなら、エクセルの数シートにおさまるかな。 作業1 クロス集計表を作る 1列目に生徒の名前(2行目から1001行目まで) 1行目に本の名前(B列から入力、しかしexcelの制限で1シート256 列までなので、2シートに分けての入力が必要ですね) 各生徒の選択した本の列のセルに1、他は未入力でok(入力作業を減らしましょう) 作業2 単純集計して上位10冊をチェック 1002行目で単純集計 B列に =SUM(B2:B1001) と入れる あとは、このセルをコピーして、1002行目の必要範囲を選択してペーストすれば、各列用の集計が出る 作業3 ある2冊をともに選んでいる人数を調べる まず対象の本の列名をとりあえず、シート1のB列とシート2のC列とします。 3枚目のシートにA列には生徒名をコピーしておき、B列2行目に =IF((Sheet1!B2=1) * (Sheet2!C2=1),1,0) この式をコピーして、同じ列の3行目から1001行目にペースト 1002行目には、作業1のSUM関数式をペースト これで、シート1のB列とシート2のC列両方を選んでいる人数が解る 隣の列に同様に、別の本を選択した場合の式を入力 この作業を45列作れば、もっとも売れそうな組がだいたい解るのでは? 最初の入力作業がすでに膨大で大変かとは思いますけど。頑張って下さい。

Kanzaki831
質問者

お礼

ありがとうございました。 アプローチとしては、候補をある程度絞りこんでから計算するのがよいということですね。助かりました。

  • sanori
  • ベストアンサー率48% (5664/11798)
回答No.1

それだけだと、条件が不足していて解けないと思います。 条件の例 ア: 各々の生徒は、2冊セットのうち、気に入った本が1冊入っていれば買う。 のか、 イ: 2冊セットの2冊とも気に入った本でなければ買わない。 のか、 それとも、 ウ: 上記2つのケースの中間なのか? (1冊しか気に入らなくても買う既定の確率を与えてやらないといけない) アであれば、あまりにも話は簡単で、 Aという本が何冊売れるか? = 表の中のAの個数 人気(表の中の個数)の1位、2位の組み合わせが最も売れる。 現実の世界は、アでもイでもなくて、ウだと思います・・・

Kanzaki831
質問者

補足

説明不足ですみません。イのケースです。実際には、本の種類も500冊くらいあります。

関連するQ&A