輝々凛々

ガンバるってことは、素晴らしい事だ。

ビリヤードの問題を解く

森博嗣「笑わない数学者」に出てくる通称「ビリーヤードの問題」(私呼)とは、
「五つのビリヤードの玉を、真珠のネックレスのように、リングにつなげてみるとしよう。玉には、それぞれナンバが書いてある。さて、この五つの玉のうち、幾つ取っても良いが、隣どうし連続したものしか取れないとしよう。一つでも、二つでも、五つ全部でも良い。しかし、離れているものは取れない。この条件で取った球のナンバーを足し合わせて、1から21までのすべての数ができるようにしたい。さあ、どのナンバーの玉をどのように並べて、ネックレスを作ればよいかな?」
というものですけど、少し、わかりにくいかな?まぁ、わかりにくいのは理解力がたりないのか、説明が足りないのかどちらかでしょう。いずれにしても、いずれは改善されるかもしれませんね。
(追記)ビリヤードの玉の数は、(おそらく)15個です。つまりナンバーは1~15  1.
  まず、考えなければならないのが、5つの玉をリングにしたときの玉の取り出し方が何通りあるか。数学ですね。5つ玉があって、それぞれA,B,C,D,Eという玉だとしましょう。まず、1つだけ取り出すとしたら、全部で5通りですよね。次に2つも、問題の条件から、5通り。3つも、4つも、相変わらず5通り。5つ全部取り出す方法は、1通りですよね。わかりますか?5つの玉がリング状になっているときの取り出し方は、全部で21通りです。
 2.
  つまり、21通りなんですから、1~21の21個の数字を作るなら、その関係は全単射です(テクニカルタームだ)。つまり、ある取り出し方が決まれば、ある1つの数字が決まり。逆にある数字が決まれば、1つの取り出し方が決まる。2つの数字があったり、2つの取り出し方があってはダメなんです。「過不足なく」「ダブってはダメ」とかそんな感じです。
 3.
  もうひとつ、気付かなきゃいけないことがあります。数学的に書きましょう。5つの玉のナンバをそれぞれ、a,b,c,d,eとします。このとき「a+b+c+d+e」はいくらですか。わからなければ、もうひとつ。「a+b+c+d+e」が「a+b+c+d」よりも少なくなることはありますか。ありませんよね。全部1以上の整数なんですから。つまり、15個の玉から5つの玉を選んだとき「a+b+c+d+e」が最大になるんです。1~21の数字を作りたいんでした。「a+b+c+d+e=21」では、ありませんか?ですよね?
 4.
  では、さらにもうひとつ。1~15の玉から5つを選ぶときに、選んではいけない玉、というのがあります。これは「a+b+c+d+e=21」から導かれます。まず「a+b+c+d」を一番小さくする4つの玉を選んでください。もちろん、「1+2+3+4」のイコール「10」が最小ですよね。このことから、残りの玉「e」が「12」以上の玉なら「a+b+c+d+e」が「21」を超えてしまいます。これでは「2.」で言った「過不足なく」に反してしまいます。わかりますか?それに「a+b+c+d+e=21」にならなくてはいけないのです。
 5.
  つまり、このことから、1~15の玉から5つを選び出すとき、選んでもいいのは、明らかに「1~11」の玉だということになります。だって、さっきも言ったように12以上の玉を選べば5つ全部の合計がどんなに頑張っても21を超えてしまいますからね。
 まぁ、前置きはこのくらいにして、後は考え方です。
 6.
  5つ選んだ後のことを考えます。ナンバはなんでもいいので適当にa,b,c,d,eとしておきます。並びは今は関係ありません。まずは、「1」を作ることを考えます。「1」は当然ながら「1」のナンバを持つ玉1つでしか作れません、よね? つまり、これでa,b,c,d,eの玉のうち、どれかは「1」だということです。ここでは並びは考えていないので、「e=1」だと考えます。今度は「2」を作りましょう。これも同様に「2」のナンバを持つ玉1つでしか作れません。「1」は2つないのですから。「d=2」だとおきましょう。
 7.
  今の状態は「a,b,c,2,1」です。次は、「3」なんですが、今度は少し、条件が変わってきます。「3」は「1」と「2」の玉を選び出せば作れるわけなのでいらない・・・かもしれませんが、「1」と「2」の玉が離れている場合は、ダメですよね。ですが、とりあえず「3」の玉は要らない、つまり「1」と「2」が隣り合ってるから問題ない、というふうに仮定します。
 8(「1」と「2」が隣り合う場合).
  次は「4」です。「4」は「3」がない状態で「1」と「2」だけでは作れませんので、「4」は必要です。というわけで「c=4」とします。今の状態は「a,b,4,2,1」です。次に「5」です。「5」は「4」と「1」が隣り合っていれば作れるわけですから、とりあえず、また仮定します。
 9(「4、1,2」」の順にリング状になっている場合
  次「6」はというと、「4」と「2」が隣り合っていればよかったのですが、これまでの仮定から、それはありえません。つまり「6」は必要です。これで状態は「a,6,4,2,1」です。次、「7」なんですが、「1」「2」「4」が幸いにも隣り合っていますから作れます。次、「8」は「6」が「2」の隣だと仮定すれば、作れます。
 10(「4,1,2,6」の順にリング状になっている場合
  次「9」は「6」と「2」と「1」が隣り合うわけですから問題ありません。次「10」は「6」と「4」が隣り合わないので無理のようです。つまり「10」は必要です。これで「4、1、2、6、10」の順でリング状になっていることがわかりました。ではこの状態で「11」が作れるでしょうか。「4+1+2+6+10」はいくらですか?ダメですよね。条件に見合っていません。つまり、これは仮定「「6」が「2」の隣」が間違っていたということです。つまり「6」と「2」は隣り合わない(これには仮定「「1」と「2」が隣り合い、「1」と「4」が隣り合う場合」が間違いないという条件が必要)。これで後戻りします。
 9(「4、1,2」」の順にリング状になっている場合
  「6」と「2」が隣り合わないことと「4、1,2」の順にリング状になっていることから、「6,4,1,2」という順番にリング状になっているようです。これでまた「8」を作りましょう。といっても、無理です。「8」を入れる必要があります。これで「8,6,4,1,2」という順番にリング状になるようです。さて、また繰り返します。合計は・・・21です。良いみたいです。じゃあ9は作れますか。無理ですね。では、また仮定が間違っていたようです。仮定は「「5」は「4」と「1」が隣り合っている」です。また、後戻りしましょう。
 8(「1」と「2」が隣り合う場合
  現状を思い出すと、「1,2」が隣り合っていて「4」は必要だけど、さっきの仮定が間違っていたことから「4」は「1」の隣にはない、ということがわかります(これも仮定「「1」と「2」が隣り合う場合」が間違いでないというのが条件)。では、4の位置は「1,2,4、?、?」か「1,2、?、4、?」です。まぁ、どちらでも良いです。とりあえずは「5」を作るには「5」が必要です。「5」を入れます。これで「a,5,4,2,1」です。次は「6」ですが、「1,2,4、?、?」なら「2」と「4」で、「1,2、?、4、?」なら「5」を最後に入れることによって作れます。が、ここはあえて「1,2,5,4,?」とすることで「6」を入れる必要性を作ってみます。これで「1,2,5,4,6」ですが、この合計は21に満たないので却下です。なので、またとりあえず「1,2,?、4,5」の状態だとしましょう。これなら「1」と「5」が隣り合うので「6」はクリアです。「7」は、作れませんよね。なので、「7」を「1,2,7,4,5」という形で入れます。これも合計が19なので却下です。さてさて、ややこしくなってきましたね。でもまだまだ。
  結局は「1,2,?、4、?」という状態が間違いなのです。「1,2,4、?、?」という状態で考えましょう。これでも「5」は必要なので、どちらかの「?」の位置に入れますが、後ろの「?」に入れて「1,2,4、?、5」とすると「6」を作る方法が「1+5」と「2+4」の二通りできてしまいますから、間違いです。つまり「1,2,4,5、?」とするべきでしょう。次に作るのは「7」ですが、「7」は「1+2+4」で出来ますからクリア。「8」は入れてあげないと作れません。なので「1,2,4,5,8」になります。が、合計は20。無残にも・・・。つまり「1,2,4、?、?」の状態も間違いなのです。ということは、「「1」と「2」が隣り合う」こと自体間違いだったということになります。
 7.
  何がしたかったかというと「3」を作りたかったのです。けれど、長~い前置きから「1」と「2」は隣り合わないことがわかりました。つまり「3」を作るには「3」の玉がひとつ必要だということです。これで「a,b,3,2,1」という候補が得られました。

---------------------------------休憩

「a,b,3,2,1」で「1」と「2」は隣り合わない、という状態からスタートです。

1.
 「4」を作れるか、というと「3」と「1」が隣り合っていれば作れます。
2.
 「5」は「2」と「3」が隣り合っていれば作れます。これで「2,3,1、?、?」です。
3.
 「6」は「2+3+1」です。「7」は、無理なので「2,3,1,7、?」とします。
4.
 「8」は、「1+7」です。「9」は、無理なので「2,3,1,7,9」とします。が合計が22なので却下です。で、後戻りです。
3.
 「2,3,1、?、7」としましょう。これで「8」は作れなくなりますから「2,3,1,8,7」とすれば、合計21。だけど「9」を作る方法が2通り存在してしまっています(1+8、2+7)。なので、また後戻り。
2.
 「5」を作るには「5」が必要になりましたので、現状は「2」が「1」とも「3」とも隣り合わないので「1、?、2、?、3」です。「5」はいずれかに入ります。つまり「1,5,2、?、3」か「1、?、2,5,3」です。前者正解なので、ひとまず置いておきます(爆)。
3.
 「1,?、2,5,3」で「6」は作れませんので、空いてるところに「6」を入れますが、これでは合計17ですので却下です。
2.
 で、ようやく正解の「1,5,2、?、3」残りの数字は、合計から計算して「10」です。あとは確認作業です。

「1,5,2,10,3」
1:1
2:2
3:3
4:1+3
5:5
6:1+5
7:5+2
8:1+5+2
9:3+1+5
10:10
11:3+1+5+2
12:2+10
13:10+3
14:10+3+1
15:2+10+3
16:2+10+3+1
17:5+2+10
18:1+5+2+10
19:10+3+1+5
20:5+2+10+3
21:1+5+2+10+3

以上、カンリョーーー。
ヘ(;´o`)ヘ ツカレタ。

わかりにくいところ、なんかがあればコメントどうぞ
関連記事

ツッコミの投稿


(ツッコミ非公開の場合はチェック)