RSS

 

RSS


パズル


整数計画ソルバーで碁石拾い その3

  • いわいまさか
  • at 2019/5/30 06:36:20

整数計画ソルバーで碁石拾い
整数計画ソルバーで碁石拾い その2

説明にするにあたり、盤面が
●●●●
だった場合のLPファイルを掲載する。
動作を確認しているもの。

中身の条件を見ていく。
①入ってくるリンクが1個
ひとつの石に着目するとそこにいたるリンクはひとつなわけ。
l_xssss_x0101 + l_x0102_x0101 + l_x0103_x0101 + l_x0104_x0101 + l_x0201_x0101 = 1
それぞれの変数は0か1で和が1ということはその中の一つだけが1ということ。

②出ていくリンクが1個
同じく、ひとつの石から出ていくリンクも1個
 l_x0101_x0102 + l_x0101_x0103 + l_x0101_x0104 + l_x0101_x0201 + l_x0101_xeeee = 1

③碁石ひろいのルールで「来た方向へはもどれない」というのがある。「東から入ってきたら、西へは出て行かない」わけで、それはいいかえると、「東からはいってきたものと、西へ出ていくものを数えあげると0か1だ」となる。
これを東西のほかに、南北と西東と北南の4方向について記述する。
 l_x0102_x0101 + l_x0103_x0101 + l_x0104_x0101 + l_x0101_x0102 + l_x0101_x0103 + l_x0101_x0104 <= 1


あと残っているルールは、拾う順番に関してのもの。

ABCD

ADというリンクを採用する場合は、それ以前にBとCはすでに盤面から取り去られていなければならないということ。

つづく


  • コメント (0)
  • トラックバック (0)
トラックバックURL :
http://www.iwai-masaka.jp/tb.cgi/56459