Home フォーラム AZ-Prologサポート掲示板 制約論理で否定の不等号が成り立たない

  • このトピックは空です。
1件の返信スレッドを表示中
  • 投稿者
    投稿
    • #58860
      kw
      ゲスト

      <p>AZ-Prolog Version 9.63 (Linux/x64) GCC 5.4.0<br />
      Copyright (C) SOFNEC CO., LTD. 1987-2017/06/29</p>
      <p>?- <br />
      dlib_require(clp),<br />
      N is 5,<br />
      length(L,N),<br />
      L in 1..N,<br />
      L = [A,B,C,D,E],</p>
      <p>B #= A,<br />
      B #\= C,<br />
      B #> D,<br />
      B #< E,</p>
      <p>B is 2,<br />
      labeling(L),</p>
      <p>write(L),nl,<br />
      fail.</p>
      <p>[2,2,1,1,3]<br />
      [2,2,1,1,4]<br />
      [2,2,1,1,5]<br />
      [2,2,2,1,3]<br />
      [2,2,2,1,4]<br />
      [2,2,2,1,5]<br />
      [2,2,3,1,3]<br />
      [2,2,3,1,4]<br />
      [2,2,3,1,5]<br />
      [2,2,4,1,3]<br />
      [2,2,4,1,4]<br />
      [2,2,4,1,5]<br />
      [2,2,5,1,3]<br />
      [2,2,5,1,4]<br />
      [2,2,5,1,5]<br />
      no</p>

    • #58861
      kw
      ゲスト

      <p>% sort.pl<br />
      randlist(N,A,Z):-<br />
      length(Z,N),<br />
      randlist_(Z,A).</p>
      <p>randlist_([],_):-!.</p>
      <p>randlist_([A|L],B):-<br />
      s_random(B,A),<br />
      randlist_(L,B).</p>
      <p><br />
      bubble_sort(A,Z):-<br />
      list(A),<br />
      bubble_sort(A,T-T,Z).</p>
      <p>bubble_sort([],[]-[],[]):-!.</p>
      <p>bubble_sort([A],T-[],[A|Z]):-!,<br />
      bubble_sort(T,S-S,Z).</p>
      <p>bubble_sort([A,B|L],T-[B|S],Z):-<br />
      A < B, !,<br />
      bubble_sort([A|L],T-S,Z).</p>
      <p>bubble_sort([A|L],T-[A|S],Z):-<br />
      bubble_sort(L,T-S,Z).</p>
      <p><br />
      $ prolog_c<br />
      AZ-Prolog Version 9.63 (Linux/x64) GCC 5.4.0<br />
      Copyright (C) SOFNEC CO., LTD. 1987-2017/06/29<br />
      ?-s_new,[-‘sort.pl’].<br />
      yes<br />
      ?- debug.<br />
      yes<br />
      debug mode on<br />
      ?- set_write_list_length(_,3),<br />
      randlist(550,100,A),<br />
      bubble_sort(A,Z).<br />
      Segmentation fault (コアダンプ)</p>
      <p>% トレースログ<br />
      % Match : bubble_sort([96,96,96|~],[99,99,99|~]-[96|S_1905901],Z_1905635) :-<br />
      % 96<96,<br />
      % !,<br />
      % bubble_sort([96,96,96|~],[99,99,99|~]-S_1905901,Z_1905635).<br />
      %Segmentation fault (コアダンプ)</p>
      <p><br />
      $ prolog_c -l 10000<br />
      ?-s_new,[-‘sort.pl’].<br />
      ?- debug.</p>
      <p>?- set_write_list_length(_,3),<br />
      randlist(550,100,A),<br />
      bubble_sort(A,Z).<br />
      _.4 = 3,<br />
      A = [89,38,23|~],<br />
      Z = [0,0,0|~]</p>
      <p>?- set_write_list_length(_,3),<br />
      randlist(1000,100,A),<br />
      bubble_sort(A,Z).<br />
      Global stack overflow —- Backtrace</p>
      <p>% 追記<br />
      % Windowでは発生しない。</p>
      <p>||?- set_write_list_length(_,3),<br />
      || randlist(550,100,A),<br />
      || bubble_sort(A,Z).<br />
      Local stack overflow —- Backtrace</p>

1件の返信スレッドを表示中
  • フォーラム「AZ-Prologサポート掲示板」には新規投稿および返信を追加できません。
上部へスクロール