重複回数を評価関数としてアニーリングで最適解を探してみました。
15人以上では重複なくできるようですが、人数が4N+1,4N+2で3人グループが多い場合は3人グループに入る回数によって出会える人数がばらつきます。
これがお見合いとかだと客からクレームが付くでしょう。そこでその差が最小になるようにという条件も加味してみました。
4Nの場合は問題なし、4N+3の場合は4N+4で席順を作って一人消せばいいようです。
参加者番号、会える人数、参加グループの順番、で表示してあります。
#10 01 9 BBCB 02 9 ACAB 03 9 BCBA 04 9 CCCC 05 9 ABBC 06 9 AACA 07 9 CABB 08 9 CBAA 09 9 BAAC 10 9 CCCC #11 01 10 CCCCA 02 10 CBABB 03 10 BBCAB 04 10 BCACC 05 10 CCBAC 06 10 BABCB 07 10 AAAAA 08 10 ACCBB 09 10 ABBCC 10 10 CACBC 11 10 BBBBA #12 01 11 BCCBC 02 11 ABCCA 03 11 BBAAB 04 11 ABBAC 05 11 BABCA 06 11 CACAB 07 11 CAACC 08 11 CBBBB 09 11 CCBAA 10 11 AAABA 11 11 ACACB 12 11 BCCBC #13 01 11 CDAAD 02 11 AAADB 03 11 BCBDD 04 10 CCCCB 05 10 DCDDC 06 10 ADBBC 07 10 DBBAA 08 11 BDDAB 09 11 DDCDA 10 11 DADCD 11 10 CADBA 12 10 BBACC 13 10 ABCBD #14 01 12 BBCCC 02 12 DBABD 03 12 BDADC 04 12 CBDDB 05 12 ADBCD 06 12 ACDBC 07 12 AACDD 08 12 CCACB 09 12 BCDAD 10 12 DADCA 11 12 DDCAB 12 12 CABAC 13 12 DCBDA 14 12 CDCBA #15 01 14 BCBCA 02 14 CBCBA 03 14 BDABD 04 14 DCCAD 05 14 CDBAC 06 14 BBDAB 07 14 ADCCB 08 14 DBACC 09 14 DABBB 10 14 ACDBC 11 14 BACDC 12 14 ABBDD 13 14 DDDDA 14 14 CCADB 15 14 CADCD #16 01 15 CBDBD 02 15 BAABC 03 15 CDBAC 04 15 ABCDC 05 15 DABDD 06 15 DBAAB 07 15 BBBCA 08 15 ACBBB 09 15 CCADA 10 15 ADACD 11 15 AADAA 12 15 CACCB 13 15 DCDCC 14 15 BDDDB 15 15 BCCAD 16 15 DDCBA #17 01 11 BBCAE 02 13 EBECD 03 13 CDCED 04 12 DAABD 05 13 DEEAC 06 13 ADEBE 07 11 ACBEC 08 11 CCDAA 09 12 BEAEA 10 13 EDADC 11 12 DBBDA 12 13 DDDCB 13 14 EADEE 14 11 ECCBB 15 14 AEDDD 16 12 CEBCE 17 12 BAEDB
全部は確認していませんが、すばらしいです。
多少気になる点は、
#10の中の
04 9 CCCC
10 9 CCCC
ですが、同じ二人がずっと座っているんですね…。
論理上は問題ないですが、実践だと少し問題起きるかもしれませんね…。
さらにお願いですが、18?30の一覧も作っていただけないでしょうか。
ポイントを全て差し上げます。
追加でお支払いしたいくらいです。
▽2
●
ita ●50ポイント ベストアンサー |
10-30まで計算しました。
チェックのため二度以上会う人がいる場合にデータの後ろにその相手を書いてあります。
10人のCCCCはどうにもならないですね。5人グループとかも試してみたんですが。
あ!4の倍数がいい、ってのは大学時代にあったなぁ。ひょっとして麻雀?
# 10 01 9 AACA 02 9 ACBB 03 9 ABAC 04 9 BBCB 05 9 BCAA 06 9 BABC 07 9 CBBA 08 9 CCCC 10x4 09 9 CAAB 10 9 CCCC 08x4 # 11 01 10 AAAAA 02 10 ACBCC 05 06 08 09 03 10 ABCBB 04 07 10 11 04 10 BBCAC 03 05 06 09 05 10 BBBCA 02 04 07 11 06 10 BCABC 02 04 07 10 07 10 BABBB 03 05 06 08 08 10 CCBAB 02 07 10 11 09 10 CACCC 02 04 10 11 10 10 CCCBA 03 06 08 09 11 10 CBACB 03 05 08 09 # 12 01 11 ACCAA 02 07x3 11 02 11 ACBCB 01 03x3 09 03 11 ABBCC 02x3 04 06 04 11 AAABC 03 05 10x3 05 11 BABBA 04 06 11x3 06 11 BBACA 03 05 08x3 07 11 BCCAC 01x3 08 10 08 11 BBAAB 06x3 07 12 09 11 CACCB 02 11 12x3 10 11 CCABC 04x3 07 12 11 11 CABAA 01 05x3 09 12 11 CBCBB 08 09x3 10 # 13 01 11 ACDCD 04 02 10 ABBDA 10 03 10 ADAAC 13 04 10 BADAD 01 09 05 11 BDCDB 07 06 10 BCABA 07 11 CDCBD 05 08 10 CCBAB 09 11 CADDC 04 10 11 DBADD 02 11 11 11 DBDBB 10 12 10 DACCA 13 13 10 DDBCC 03 12 # 14 01 12 ACDCA 06 02 12 AACAC 03 12 ADADD 04 04 12 BDBDC 03 05 12 BBDBD 06 12 BCCCB 01 07 12 CDCBA 12 08 12 CADDB 11 09 12 CBACC 13 10 12 CCBAD 14 11 12 DDDAB 08 12 12 DBCDA 07 13 12 DCABC 09 14 12 DABCD 10 # 15 01 14 ABBBC 02 14 ADCDB 03 14 ACDCD 04 14 BCCBA 05 14 BABDD 06 14 BBACB 07 14 BDDAC 08 14 CDABD 09 14 CACCC 10 14 CBDDA 11 14 CCBAB 12 14 DADBB 13 14 DCADC 14 14 DBCAD 15 14 DDBCA # 16 01 15 AACBB 02 15 ADAAC 03 15 ACBCA 04 15 ABDDD 05 15 BADAA 06 15 BBCCC 07 15 BCADB 08 15 BDBBD 09 15 CBABA 10 15 CDDCB 11 15 CCCAD 12 15 CABDC 13 15 DBBAB 14 15 DCDBC 15 15 DDCDA 16 15 DAACD # 17 01 13 AEDEA 02 12 ADBBE 03 13 ACEDD 04 12 BEEBC 05 12 BBCEE 06 12 BADAD 07 12 CDADC 08 12 CAEEB 09 12 CECCD 10 13 DBDDB 11 13 DDECA 12 13 DEAAE 13 12 DCBEC 14 13 ECDCE 15 12 EBABD 16 12 EDCAB 17 12 EABDA # 18 01 12 AEABC 02 13 ADBDE 03 13 ACCAD 04 12 BCBCA 05 14 BDDEC 06 14 BEEDD 07 13 CADDA 08 15 CECEE 09 13 CBACD 10 13 CDEAB 11 14 DEDCB 12 14 DCEBE 13 14 DBCDC 14 13 DABED 15 13 EBDAE 16 13 ECAEB 17 13 EDCBA 18 14 EAECC # 19 01 14 ACDDC 02 14 ADECE 03 14 ABBEB 04 14 BCABE 05 14 BBCDA 06 14 BEEAB 07 14 BADED 08 14 CEDCA 09 15 CBEBD 10 14 CDCAC 11 14 CABDE 12 15 DDDBB 13 15 DECEE 14 14 DBACC 15 14 DCBAD 16 15 EEBBC 17 14 EDADD 18 14 EACCB 19 14 ECEEA # 20 01 15 ACBEE 02 15 AACCA 03 15 AEABB 04 15 ABEDC 05 15 BCACC 06 15 BECAE 07 15 BABBD 08 15 BDDDB 09 15 CAEEB 10 15 CBDCE 11 15 CDAAA 12 15 CCCDD 13 15 DDEBE 14 15 DADAC 15 15 DEBDA 16 15 DBAED 17 15 EBBAB 18 15 ECDBA 19 15 EDCEC 20 15 EEECD # 21 01 12 ABEFC 02 13 AFFDA 03 13 AEAEF 04 12 BEDAC 05 12 BCCEE 06 12 BDBFB 07 13 CDFBE 08 12 CCDDB 09 12 CFCAD 10 13 DDACD 11 13 DAFAF 12 13 DFBEC 13 13 DEEBB 14 14 EDEEA 15 15 EEFFD 16 13 EADCE 17 13 EBCDF 18 12 FBDBA 19 13 FABDD 20 14 FFAFE 21 13 FCECF # 22 01 14 ADFCE 02 13 ACCAD 03 13 ABDDF 04 14 BFEDC 05 13 BAFFF 06 13 BDDEA 07 13 CADBE 08 14 CBFEC 09 14 CDEFB 10 13 CEAAF 11 14 DCAFC 12 15 DFCEE 13 14 DEECA 14 13 DDBBD 15 13 EFBFA 16 15 EEFDD 17 15 ECEEF 18 13 EACCB 19 14 FCBDE 20 14 FECBC 21 13 FFDAB 22 13 FBACD # 23 01 14 AEBCE 02 14 ADDEB 03 14 ABCBD 04 14 BEEDA 05 15 BCCCB 06 15 BFBEC 07 14 BAFFF 08 14 CBADC 09 15 CDCFE 10 14 CCFAD 11 14 CFDCA 12 15 DDECD 13 14 DABBB 14 15 DBFEE 15 14 DFCAF 16 15 EEDBC 17 14 EBEAB 18 14 EFAFD 19 15 ECBDF 20 14 FEAEF 21 15 FCEFC 22 14 FADDE 23 14 FDFBA # 24 01 15 AFEFF 02 15 ADCDA 03 15 ACDAE 04 15 AEBCB 05 15 BEAED 06 15 BBEBE 07 15 BAFFA 08 15 BCBDC 09 15 CAADE 10 15 CEDFC 11 15 CCFEF 12 15 CFCBD 13 15 DADBF 14 15 DBFDD 15 15 DFAAB 16 15 DDECC 17 15 EFBEE 18 15 EBCCF 19 15 EDFBB 20 15 EEEAA 21 15 FACAC 22 15 FCACA 23 15 FDBFD 24 15 FBDEB # 25 01 13 ABEGF 02 13 AAFED 03 13 AECFG 04 13 BEEAE 05 13 BGBFF 06 13 BFDGB 07 13 CDGCF 08 13 CBFDG 09 13 CFAEE 10 13 DFFBC 11 13 DBGEB 12 13 DCDAG 13 13 DAEDA 14 14 EDAGG 15 13 EGGBA 16 13 ECCDF 17 13 EFBAD 18 13 FEABD 19 14 FDFFB 20 13 FGCEC 21 13 FADCE 22 14 GCGFE 23 14 GDDDC 24 13 GEBGA 25 14 GGECD # 26 01 13 AAFDD 02 14 ADEEF 03 14 ACGFG 04 13 BCADE 05 13 BECAC 06 14 BFDCG 07 15 CEGDF 08 14 CCBCC 09 15 CGEGG 10 13 CDDBB 11 15 DEECE 12 14 DGDEA 13 14 DDAFC 14 13 DBCDB 15 15 ECCED 16 15 EFGGC 17 14 EEFFB 18 13 EGBBE 19 14 FBDGD 20 15 FFFEE 21 13 FAEFA 22 13 FGAAF 23 13 GFBAD 24 13 GBFBG 25 14 GACGF 26 14 GDGCA # 27 01 14 ABBBC 02 14 AEECF 03 14 ACGDE 04 14 BDADG 05 14 BAFBE 06 15 BGCFC 07 14 BFDAB 08 15 CGEBD 09 14 CBAEF 10 14 CFFCA 11 14 CAGFG 12 14 DDGAC 13 14 DCEGA 14 14 DABDF 15 15 DFCED 16 14 ECCAG 17 15 EEDEE 18 15 EBGGD 19 14 EGACB 20 15 FBFFB 21 14 FDCBA 22 15 FEBGG 23 15 FCDCD 24 15 GEFDC 25 15 GDBEB 26 15 GFEFE 27 15 GGDGF # 28 01 15 AABGC 02 15 AGFEF 03 15 ACAFB 04 15 ABDDG 05 15 BCEGE 06 15 BECAF 07 15 BFADC 08 15 BADBD 09 15 CBFGB 10 15 CDGFD 11 15 CAECF 12 15 CEABA 13 15 DCBDF 14 15 DGDFE 15 15 DFEAD 16 15 DDCBB 17 15 EDACG 18 15 EBEFA 19 15 EEBED 20 15 EGGAC 21 15 FAGEA 22 15 FGCGG 23 15 FFBCB 24 15 FDFDE 25 15 GFGBG 26 15 GCFAA 27 15 GEDCC 28 15 GBCEE # 29 01 13 AEBGG 02 13 AAGEH 03 13 ADHCF 04 13 BHHHB 05 14 BGFDE 06 14 BFEFD 07 14 CFGDG 08 13 CEDBD 09 13 CGCFF 10 13 DAEBE 11 14 DBFEF 12 13 DCGHA 13 13 DHAGC 14 14 EBHFE 15 14 EGDGB 16 13 ECBED 17 14 EDAHH 18 14 FGHAD 19 14 FEEDB 20 15 FHFFG 21 13 FDCGA 22 13 GFDCA 23 13 GACHG 24 13 GDFBC 25 13 GCEAH 26 13 HBBDH 27 13 HEGCC 28 15 HHDEE 29 13 HFAAF # 30 01 13 AFFBF 02 14 ACGCC 03 14 AHHHE 04 14 BEDGC 05 14 BGHFF 06 13 BHBCD 07 14 CCEFA 08 15 CHDEH 09 13 CFAAE 10 15 CEFCG 11 15 DDEEC 12 14 DGDDA 13 15 DECHH 14 13 DBGAG 15 15 EHCDF 16 15 ECFEE 17 13 EAAGG 18 14 EDGHB 19 14 FFHEA 20 13 FBAFH 21 13 FABDE 22 14 FCCAD 23 15 GFEHD 24 14 GADCF 25 14 GDCBG 26 14 GGFGB 27 13 HGBBC 28 15 HEGFD 29 15 HDHGH 30 13 HBEDB
すばらしいです!しかも素早い対応、ありがとうございました!
異業種交流会を着席でやっているのです。
お見合いパーティーや麻雀にも使えそうですね。
とても助かりました。
また助けていただくこともあるかと思いますが、よろしくお願いいたします。