8ボールゲームのビリヤードボールのラッキングは複数のルールの下で行うことができるので、私が参照するラッキングは次のとおりです。
つまり、8 ボールが中央にあり、側面に沿ってストライプとベタが交互に配置されている必要があります。残りの 2 つのボール (ストライプとソリッド) は関係ありません。
ゲームを終えたばかりだと仮定して、ボールを集めてラックに置き、新しいゲームを開始するためにそれらを配置します。現在、それらはランダムな順序になっています。どのように進めますか?
免責事項:ペイントアートが続きます
簡単なアプローチは、上 -> 下、左 -> 右の順に開始することです。
たとえば、1
が正しい位置にあると仮定します。5
ではなく、 と交換し2
、次に(または ) と交換4
しますが、を中央またはinの位置に移動したため、これはすでに非効率的です。つまり、最後にある必要がある場所ではありません。 .3
8
4
8
4
コーナーでどのタイプのボールを作りたいかという決定もあります。事前にどうやって決めるの?すでに配置されているボールの数を考慮する必要がありますか? 私の例では、コーナーに灰色のものが必要な場合は、既に 3 つ配置されています (ボール 1、10、14)。角に白いものが必要な場合は、2 つだけ配置します (2,11)。これは重要ですか?
これを形式化するために、2私たちができる3つの操作:
- 2 つの隣接するボールを交換する
- 隣接していない 2 つのボールを交換する
- 回転ラック
両手を使用できるので、最初の操作を並列化できると仮定しましょう (同時に 2 つのボールを交換する) が、一度に交換できるのは隣接していないボール 2 つだけです。
(説明されている時間単位で) 時間を最小化するこのタスクに最適なアプローチはどれですか? これには貪欲が最適でしょうか?(私がそれらをラックに入れるとき、私はそれを行う方法だと思います)
編集:既存の(または以前の回答)に従って-コーナーにソリッドよりもストライプが多いということは、ストライドがコーナーを好むことを意味すると考えるかもしれません-それが真実ではないと言っているわけではありませんが、その仮定を行う場合はそれを証明してください.