MGreen
@MGreen (M Green)

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

【組み合わせ】19組 (1-4人) を、組ごとはバラバラにせず8テーブルに分ける、ラクな早い方法

背景:あるイベント企画で以下のグループ分けタスクが発生しました。
(本当にこのようなタスクが発生したのですが、実名をランダムに変えて表現しています)

↓このように「19組の、名前と家族の人数」のリストがあります。

■リスト
連番,お名前(Name),家族の人数(本人含) (以下はChatGPTで生成した適当な名前です)
1,佐藤太郎,4
2,高橋みつこ,3
3,田中花子,4
4,鈴木一郎,3
5,松本久美子,2
6,藤井太郎,2
7,井上春子,1
8,渡辺美智子,1
9,斉藤健一,4
10,山本花子,3
11,吉田由美,3
12,中村次郎,1
13,加藤まさし,3
14,林優子,2
15,清水直子,2
16,篠田和夫,4
17,山田恵子,2
18,大野太郎,1
19,小林雅子,1

■やりたいこと
あるイベントで、上記リストの人およびその家族を、8テーブルに分けたい。
1テーブルを5または6人としたい。(できれば)
各家族はバラバラにならないように組み合わせたい。

■結果、↓のように分けることができました。
image.png
image.png

■私が行った方法
ChatGPT4oに何回も上記「リスト」と「やりたいこと」を教えましたが、例えば勝手にリストの名前を二回使われたり、7人のグループと3人のグループができたりしてしまいました。
「7人のテーブルや3-4人のテーブルがあるので、ダメだ。全テーブルを5人または6人にするようにしてほしい」など何回も訂正を教えましたが改善しませんでした。
これはもうだめだと思い、結局ChatGPT4oが提案してきたグループ分けを自分の手で微調整して全グループを5または6にしました。
(たまたま、7人のグループに2人家族がいたので3人のグループに移す、など明らかに簡単な作業のみで改善できる状態でした)


質問
・このような、各組がバラバラにならないようにするグループ分けについて、今世の中にあるツールで一番賢い、早いツールや方法ってなんでしょうか。
(Chat GPTにログインしたうえで、ChatGPT 4oを使ってみても、ダメでした。明らかに改善可能なのに, 4人とか7人のテーブルを提案し続けてくる。)
海外のもっと賢いAI製品とかで何かないですかね?あとは巷の無料ツールとか・・。
・普通に組み合わせ計算式とかを用いてもいいです。
・この種のグループ分けって意外と難しいと思っていて、今回はたまたま全テーブルを5-6人に均一に分けれましたが、家族の人数によってはどこかが4、どこかが7になることを避けられない「解なし」パターンもあるかと思います。まず全部を均一に分けれる可否だけでも知りたいです。

最近イベント企画などをやることも多く、ツールや方法について知っておきたいなと思い投稿してみました。

何かアイディアがある方がいましたら、なにとぞご教示よろしくお願いいたします。

0

2Answer

プログラムの方法ではなくて割り当て方法だけど

家族の人数でソートしておいて家族が多い方から処理
1テーブルに1家族ずつ割り当てる
割り当てる時は現状の各テーブルのうち人数が少ないテーブルにする

これでバランス良く配席されるんじゃないかな?
※実際の配席なら他のことにも気を利かせないとだめだからこうはいかないでしょうけど

1Like

このような、各組がバラバラにならないようにするグループ分けについて、今世の中にあるツールで一番賢い、早いツールや方法ってなんでしょうか。

このボリュームなら手作業が一番早いです。
コード書いたりツールいじってる時間が無駄です。

この種のグループ分けって意外と難しいと思っていて、今回はたまたま全テーブルを5-6人に均一に分けれましたが、家族の人数によってはどこかが4、どこかが7になることを避けられない「解なし」パターンもあるかと思います。

制限事項を明確にしないと解はでません。
テーブルの数が制限なのか、家族の人数が制限なのか、平均値からの差異が制限なのか?等全然記述が足りません。

まず全部を均一に分けれる可否だけでも知りたいです。

本当に均一に分けられるかどうかだけが知りたいのであれば以下で良いかと。
・合計人数がテーブル数で割り切れるか?
・その際、平均値になる組み合わせで分割できるかどうかを検証
後者は探索空間を効率的に削減しながら総当たりするアルゴリズムで良いかと思います。

ただ、ホントに均一に分けれるかが知りたいのですか?
平均値から大きく外れないという条件だとまた話は変わります。

1Like

Your answer might help someone💌