sunasunaxの日記

制約論理プログラム iZ-C の紹介

隣接行列から到達可能経路と距離を制約論理プログラム iZ-Cを使って探します

隣接行列から到達可能経路と距離を制約論理プログラム iZ-Cを使って探します。---------------------------------------------------------------------------make && ./short_path 0 4 6make: 'all' に対して行うべき事はありません.Fri Feb 5 08:59:06 202…

改良版: ハノイの塔パズルを制約論理プログラム iZ-Cを使って解きます。

改良版: ハノイの塔パズルを制約論理プログラム iZ-Cを使って解きます。 --------------------------------------------------------------------------- aa=5; make && ./hanoi $aa $*1 make: 'all' に対して行うべき事はありません.Fri Jan 22 15:58:49 2…

最小手数で家族とじっちゃんの川渡りを制約論理プログラム iZ-Cを使って解きます。

最小手数で家族とじっちゃんの川渡りを制約論理プログラム iZ-Cを使って解きます。 ---------------------------------------------------------------------------aa=28; make && ./river_family_p $aa make: 'all' に対して行うべき事はありません.Mon Jan…

最小手数で家族の川渡りを制約論理プログラム iZ-Cを使って解きます。

最小手数で家族の川渡りを制約論理プログラム iZ-Cを使って解きます。 --------------------------------------------------------------------------- aa=22; make && ./river_family $aa make: 'all' に対して行うべき事はありません.Sat Jan 16 20:38:34 …

ハノイの塔パズルを制約論理プログラム iZ-Cを使って解きます。最小手数に最適化してゆきます。

ハノイの塔パズルを制約論理プログラム iZ-Cを使って解きます。 ---------------------------------------------------------------------------解答は板がどの棒に刺さっているかが変化し最小手数に最適化してゆきます。make && ./hanoi 4 18make: 'all' に…

最小時間で4艘の舟運びを制約論理プログラム iZ-Cを使って解きます。

025_最小時間で4艘の舟運びを制約論理プログラム iZ-Cを使って解きます。----------------------------------------------------------------------------make && ./river_boart 18 gcc -Wall -O3 -I. -L. -o river_boart river_boart.c -L. -liz -L/home/su…

最小手数で宣教師と人食いの川渡り2 (人数をまとめない)を制約論理プログラム iZ-Cを使って解きます。

最小手数で宣教師と人食いの川渡り2 (人数をまとめない)を制約論理プログラム iZ-Cを使って解きます。 ---------------------------------------------------------------------------make && ./river_missio 18gcc -Wall -O3 -I. -L. -o river_missio riv…

最小手数で夫婦3組の川渡りを制約論理プログラム iZ-Cを使って解きます。

最小手数で夫婦3組の川渡りを制約論理プログラム iZ-Cを使って解きます。 ---------------------------------------------------------------------------make && ./river_marrige 17make: 'all' に対して行うべき事はありません.Tue Dec 22 21:16:32 2020Q…

最小手数で宣教師と人食いの川渡りを制約論理プログラム iZ-Cを使って解きます。

最小手数で宣教師と人食いの川渡りを制約論理プログラム iZ-Cを使って解きます。 ---------------------------------------------------------------------------make && ./river_missio_num 14 gcc -Wall -O3 -I. -L. -o river_missio_num river_missio_num…

最小手数で農夫 山羊 狼 キャベツ の川渡りを制約論理プログラム iZ-Cを使って解きます。

最小手数で農夫 山羊 狼 キャベツ の川渡りを制約論理プログラム iZ-Cを使って解きます。 ---------------------------------------------------------------------------make && ./river 10 make: 'all' に対して行うべき事はありません.Wed Dec 9 06:27:19…

格子道順ふかしぎ お姉さんといっしょに数えてみよう。をiZ-Cで解きます。

格子道順ふかしぎ お姉さんといっしょに数えてみよう。をiZ-Cで解きます。------------------------------------------------------aa=5; make && ./kohshi $aa $*1 1 Thu Nov 19 06:13:49 2020QR:0, 0, {0, 1}, {0, 1}, {0..2}, {0..2}, {0..3}, {0..3}, {0…

魔方陣セルの即値化順による計算時間のサンプル調査

魔方陣セルの即値化順による計算時間のサンプル調査 -----------------------------------------------------------------------------tout=3; nn=5; pp="\( \+[0-9]\+\)"; for*1; do printf "%5d" $aa >/dev/pts/40; timeout $tout ./magicsqure_simp $nn 6…

値1のビットのグループ分けをiZ-Cを使って行います

値1のビットのグループ分けをiZ-Cを使って行います。-----------------------------------------------------------------------------make && ./bit_group 10 3 Wed Oct 7 15:32:12 2020 Solution 10, 0, 0, 0, 0, 1, 0, 1, 0, 1 Solution 20, 0, 0, 0, 1, …

ナンバーリンクをiZ-Cを使って解きます。

ナンバーリンクをiZ-Cを使って解きます。-----------------------------------------------------------------------------make && ./num_link 10 1 3 3 7 7 11 2 2 8 8 15 1 1 6 7 12 Sun Sep 13 11:13:36 2020 10, 1 3 3 7 7 11QR:3, 3, {2..4}, {2..4}, {…

指定したステップ数でゴールの格子点に到達するをiZ-Cを使って解きます。

指定したステップ数でゴールの格子点に到達するをiZ-Cを使って解きます。-----------------------------------------------------------------------------make && ./kohshi 10 29 1Thu Sep 10 19:57:00 2020QR:0, 0, {0, 1}, {0, 1}, {0..2}, {0..2}, {0..3…

複合魔方陣を制約論理プログラム iZ-Cを使って解きます。

複合魔方陣を制約論理プログラム iZ-Cを使って解きます。-----------------------------------------------------------------------------make && ./chk_mcons gcc -Wall -O3 -I. -L. -o chk_mcons chk_mcons.c -L. -liz -L/home/sunasuna/TEST/IZC64/izC_v…

Tutorial Sgn定義は誤りだろう。

Tutorial Sgn定義は誤りだろう。-----------------------------------------------------------------------------CSint *Sgn(CSint *vint){int n = 0;int array[3];CSint *s;if (cs_getMin(vint) < 0)array[n++] = -1;if (cs_getMax(vint) > 0)array[n++] =…

魔方陣を制約論理プログラム iZ-Cを使って技巧的に解きます。

魔方陣を制約論理プログラム iZ-Cを使って技巧的に解きます。-----------------------------------------------------------------------------make && ./magicsqure_simp 4 |lessSun Aug 23 07:03:24 2020{0..13}, {0..15}, {0..15}, {1..14}, {0..15}, {0.…

覆面算を制約論理プログラム iZ-Cを使って解きます。

覆面算を制約論理プログラム iZ-Cを使って解きます。 -------------------------------------------------------------------------------------iZ-Cチュートリアルにある覆面算を短く改編しました。積和演算cs_ScalProdで自動変数が無効になることに気づか…

論理的関係制約を制約論理プログラム iZ-Cを使って表現します。

論理的関係制約を制約論理プログラム iZ-Cを使って表現します。 -------------------------------------------------------------------------------------制約変数xiが{1,0}である場合、論理関数は次のように制約を設定することができます。 NOT cs_EQ(cs_R…

整数の集合をほぼ等しく制約論理プログラム iZ-Cを使って分割します。

整数の集合をほぼ等しく制約論理プログラム iZ-Cを使って分割します。 ------------------------------------------------------------------------------------- make && time ./int_div 3 $(primes 1 53)make: 'all' に対して行うべき事はありません. 15 3…

足してN、掛けて最大値の正の整数の組み合わせを制約論理プログラム iZ-Cを使って解きます。

足してN、掛けて最大値の正の整数の組み合わせを制約論理プログラム iZ-Cを使って解きます。 ---------------------------------------------------------------------------./int_part 15Tue Aug 4 12:08:12 2020QR:{0..15}, {0..15}, {0..15}, {0..15}, {0…

カプレカ数を制約論理プログラム iZ-Cを使って解きます。

カプレカ数を制約論理プログラム iZ-Cを使って解きます。 --------------------------------------------------------------------------- ./kapreTue Jul 28 05:29:33 2020 100000 10000 1000 100 10 1QR:{1..9}, {0..9}, {0..9}, {0..9}, {0..9}, {0..9}, …

ハノイの塔パズルを制約論理プログラム iZ-Cを使って解きます。

ハノイの塔パズルを制約論理プログラム iZ-Cを使って解きます。 ---------------------------------------------------------------------------解答は板がどの棒に刺さっているかが変化してゆきます。 ./hanoi 4 16Sat Jul 25 08:34:08 2020QR:0, 0, 0, 0, …

おしどりあそびを制約論理プログラム iZ-Cを使って解きます。

おしどりあそびを制約論理プログラム iZ-Cを使って解きます。 --------------------------------------------------------------------------- ./oshidori Sat Jul 18 07:05:17 20202, 2, 2, 1, 1, 1, 0, 0, {0..2}, {0..2}, {0..2}, {0..2}, {0..2}, {0..2}…

農夫 山羊 狼 キャベツ の川渡りを制約論理プログラム iZ-Cを使って解きます。

農夫 山羊 狼 キャベツ の川渡りを制約論理プログラム iZ-Cを使って解きます。 ---------------------------------------------------------------------------time ./river 8Fri Jul 17 06:13:43 20200, 0, 0, 0, {0, 1}, {0, 1}, {0, 1}, {0, 1}, {0, 1}, …

魔方陣をiZ-Cを使って解きます。

魔方陣を制約論理プログラム iZ-Cを使って解きます。-----------------------------------------------------------------------------time ./magicsqure_simp 4 |lessThu Jul 16 06:48:10 2020{0..13}, {0..15}, {0..15}, {1..14}, {0..15}, {0..15}, {0..1…

TSP問題をiZ-Cで解いてみる。

TSP問題をiZ-Cで解いてみる。------------------------------------------------------------------------------time ./tsp 1 $(seq 0 99 |shuf |head -n 12)Solution 7128: 45, 36, 14, 15, 9, 48, 59, 78, 67, 56, 71, 80 . . . . . . . . . 4 . . . . 2 3…

数独を制約論理プログラム iZ-C を使って解きます。

数独を制約論理プログラム iZ-C を使って解きます。------------------------------------------------------------------time ./suudoku Tue Jul 14 06:01:29 2020 Solution 1 _| 0 1 2 3 4 5 6 7 8 0: 8 7 2 5 1 4 6 3 9 1: 4 6 3 2 7 9 8 5 1 2: 5 9 1 3 …

制約論理プログラム iZ-C の導入

iZ-Cの導入 はじめに iZ-Cは制約論理プログラムと呼ばれる問題解決プログラムソルバーです。 形式的にはC言語でプログラムしますが問題解決手法は全く違い、問題の 関係性を制約変数、制約式によって記述し問題を解きます。組み合わせの答えを 見つけると言…