問題タブ [answer-set-programming]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
answer-set-programming - 間隔情報の生成に関する問題
経時的にバイナリ関数が与えられた場合、この関数で発生する間隔に関する情報を抽出しようとします。たとえば、状態 a と b と次の関数があります。
次に、次のような事実間隔(開始、長さ、値)が必要です:
これが私がこれまでに得たものです:
これは実際にはうまく機能しますが、まだ正しくはありません。これは、clingo 4.5.4 で実行したときの私の出力です。
これにはバグが 1 つだけあります: T == 9 のすべての区間 (L == 1 の区間を除く)
そこで、それらを取り除くために、次の制約を追加しようとしました。
私の考えでは、これは「T + L が時間ではないような間隔を持つことは禁止されている」という意味になります。
だから私は同じことをするはずの別の解決策を試しましたが、少し一般的ではありません:
それはまた、全体を解決不可能にしました。私は本当に理解していませんが、これらのルールの両方が、関数を使い果たした間隔を取り除くだけだと思っています。では、なぜモデルのすべての要素を完全に削除するのでしょうか?
また、実験中に、関数ルールを次のように置き換えました。
問題のある制約がなくても、全体が満足できないものになるのはなぜですか?
そうですね...私は根本的に何かを誤解していると思います。
よろしくうざく
compiler-errors - asp (clingo) : 注文合計が機能しないのはなぜですか
clgoでコンパイルされた次のコードを検討してください。
ファイルtest.lp
. コンパイル コマンド: clingo 0 test.lp
.
コードは、各色の頻度の合計を計算する必要があります。の場合"red"
、これは である必要が9
あり、“blue"
これは である必要があります100
。"red"
値2
が 2 回カウントされるためです。リストを順序付きリストにし、順序付き合計を提供する必要がある で置き換える{...}
と、コンパイラは不平を言います。私は持っています。コードまたはコンパイラに何か問題がありますか?[…]
error: syntax error, unexpected [, expecting {
clingo version 4.5.4
ASPで注文した合計を実行する方法を教えてください。
answer-set-programming - 解答セットプログラミングで論理パズルを解く
免責事項:私はクリンゴにほぼ完全に慣れておらず、セットプログラミング全般に答えています。
クリンゴを使用してグリッド ロジック パズルを解こうとしています。まず、各カテゴリのインスタンスを 1 つ含むすべてのモデルを生成します。
たとえば、3 人の人:
person(a; b; c).
、3 つの家: house(w; x; z).
、および 3 つの色:
color(r; g; y).
assign(a, r, x), assign(b, g, z), assign(c, y, w)
1 つの潜在的な安定モデルを に、別の潜在的な安定モデルを
などにしたいと思い
assign(a, g, w), assign(b, y, z), assign(c, r, x)
ます。これらのモデルを取得したら、パズルが解決されるまで制約を使用してモデルを削除できると考えています。
選択規則と制約を使用してみました:
しかし、これは多くの変数を持つ大規模なパズルにはあまり拡張できません。誰でもこれを行うためのより良い方法をアドバイスできますか?
python-2.7 - Python2.7 と ASP 間の双方向通信の試行: 名前付きパイプの内容をテキスト ファイルに書き込めません
私は SPARC ASP ソルバーである Python2.7 を使用しており、Ubuntu14.04 コマンドラインからコードを実行しています。
Python コードと ASP (answer-set-programming) コードの間で双方向通信を設定しようとしています。これを行うには、Python から ASP にクエリを送信し、ASP 応答を fifo パイプに入れます。Python コードでは、fifo の内容が文字列に読み込まれ、その文字列がテキスト ファイルに書き込まれます (これはテキスト ファイルをチェックして、期待どおりの出力が得られているかどうかを確認できます)。ただし、2 つの問題が発生しています。期待される応答の全体ではなく、一部のみがテキスト ファイルに表示されます。また、Python コードは無限の while ループにありますが、一度だけ実行されているように見えます。何がうまくいかないのですか?
残念なことに、何日にもわたってスタック オーバーフローについて調査し、小さな質問をしてきましたが、このサイトの善良な人々によって非常に有用な回答が提供されたにもかかわらず、私はまだどこにも行き着いておらず、コードのどこに問題があるのか わかりません。したがって、誰かがこの問題を完全に解決するのを手伝ってくれることを期待して、すべてのコードを投稿します。
私のpythonコード:
私の ASP コード:
コマンドラインからコードを実行する方法:
何が起こっているか:
コードを実行した後、afile.txt
何が書き込まれたかを確認します。?-
「はい」なしで、常にただです。また、書き込みではなくテキスト ファイルに追加すると、コードを実行するたびに 1 行しか追加されないため、Python コードが 1 回しか実行されていないこともわかります。ASP ソルバーからの出力はになります?- yes
。
問題が ASP コードにあるとは思えません。なぜなら、> sparc.out
代わりにコマンド ラインに入力すると> fifo
(最初に fifo を経由せずに出力がテキスト ファイルに直接出力されるようにするため)、テキスト ファイルには , の繰り返しが何十回も含まれているからです?- yes
。これは私が期待するものです。
出力をテキスト ファイルに書き込むだけでなく、FIFO を使用する方法を理解する必要があります。これは、テキスト ファイルから常に読み書きするのは、コードの対象となるアプリケーションにとって遅すぎるためです (タートルボットのアクション プランを作成するとき)。テキストファイルから読み取るたびに一時停止するため、ロボットが常に停止して開始するテキストファイルバージョンをテストしました)。
すべてのコードを投稿にダンプして、「私のために修正してください!」と言うのはあまり良い形式ではないことはわかっていますが、私は頭がおかしいです。誰かが私が双方向通信を機能させるのを手伝ってくれたら、とても感謝しています.
java - Runtime.exec() を使用して Java プログラムから ASP プログラムを実行する際の問題
私が抱えている問題は、bash スクリプトを使用して実行すると、ASP プログラムを完全に実行できないことです。したがって、スクリプトは ASP を実行しますが、開始するだけで完了しません。
だから私の質問は、bashを使用するときにclingoを完全に実行する方法です
通常の端末のこの行は、単に
そして、完了せずにそこにとどまります。
私の問題は、bashがどのように実行/実行されるかを理解していることだと思うので、どんな助けでも大歓迎です。
編集:
中断された場合、clgo は CPU 時間がゼロであることを通知するため、何もしていないことに注意してください。このaspが機能し、bashで実行した場合とは異なり、多くの結果が得られることはわかっています。