タグ付けされた質問 「logic-programming」

18
何千ものIF…THEN…ELSEルールをどのように管理できますか?
私はアプリケーションを構築することを検討しています。そのアプリケーションのコアは、数千のif ... then ... elseステートメントで構成されます。このアプリケーションの目的は、あらゆる風景で牛がどのように動き回るかを予測できるようにすることです。彼らは太陽、風、食物源、突然の出来事などの影響を受けます。 このようなアプリケーションはどのように管理できますか?数百のIFステートメントの後、プログラムがどのように反応するかは予測不可能であり、特定の反応につながることをデバッグすると、毎回IFステートメントツリー全体を走査する必要があることを意味すると思います。 ルールエンジンについて少し読みましたが、この複雑さをどのように回避できるかわかりません。

2
ロジックプログラミングを使用して対話型プログラム(ゲーム/シミュレーションなど)を実装する方法
ロジックプログラミングは、OOや関数型プログラミングなど、他のプログラミングパラダイムの汎用的な代替手段として機能すると聞いています。(Prologはチューリング完全なので、これはそうでなければなりません!) しかし、Prologや同様の言語でのシンプルなグラフィカルコンソールゲームのように、対話型プログラムをどのように実装するのかがわかりません。ファクト、より多くのファクトを導出できるルール、およびファクトを取得するクエリがあります。これらの基本要素を使用して、数独ソルバーのようなものを作成する方法は簡単にわかります。しかし、パックマン、またはもっと単純なポンはどうですか? 注:低レベルの詳細ではなく、概念的な概要を探しています。(たとえば、高レベルの用語では、I / Oをどのように処理しますか?ゲームの状態をどのように保存しますか?「メインループ」のようなものを実装しますか?時間の経過をどのように測定し、応答しますか? )

1
Mercuryプログラミング言語は現場で使用されていますか?
私は関数型および論理型プログラミングに強い関心があり、Mercuryはこの2つをうまく融合させているようです。業界で使用されていますか?私はその楽しみのためだけに言語を学びたいと思っていますが、実用的で雇用可能な手段があればいいと思います。言語のウェブサイトでの産業での使用例についてはあまり見つけることができませんでした。

3
なぜロジックプログラミング(ではない)ですか?
ソフトウェア業界での論理プログラミング言語(Prologなど)の使用についてはまだ聞いていませんし、趣味のプログラミングやオープンソースプロジェクトでの使用についても知りません。(Prolog)は、ある程度学問的な言語として使用されます(学問で使用される理由)。 これは、なぜロジックプログラミングを使用する必要があるのか​​、なぜ使用しないのかと疑問に思います。検出可能な業界で使用されていないのはなぜですか?

2
「コマンド」と「複合」を組み合わせて時間遅延をシミュレートするにはどうすればよいですか?
学習課題(私は学校にいない-何か新しいことを学ぼうとしている老人)として、伝播遅延を組み込んだ論理ゲートシミュレーションを記述しようとしています。また、ユーザーはゲートをグループ化して、より高レベルのオブジェクトを作成できる必要があります。 問題にデザインパターンを適用したいのですが、苦労しています。 Head First Design Patternsを読んでいますが、コマンドパターンは、遅延のある回路を通る電気パルスをシミュレートするのに適した方法であることがわかりました。また、複合パターンはネストされたユニットをシミュレートするための優れた方法であることがわかります。2つを混ぜる方法がわかりません。 つまり、ゲートをループすると、ゲート「x」が発火するはずです。15ナノ秒の遅延があるので、現在のゲーム時間から15 nsのタイムスタンプでコマンドを作成します。ディスパッチャーはどこですか?ダイナーの例では、コマンドが「注文」であるため、ウェイトレスとコックはそれぞれコマンドをディスパッチし、遅延を導入するオプションがあります。「複合」ゲートがある場合、独自のディスパッチャーも持っていますか?キューを管理するためにシングルトンを使用する必要がありますか? 私は見つけたものを読みましたが、それでも正しい方向へのプッシュが必要です。 /programming/2015549/using-command-design-pattern /programming/12016314/client-server-command-design-pattern-with-variable-delays /programming/10560892/composite-of-commands-design-pattern /programming/8874705/how-can-i-calculate-propagation-delay-through-series-of-combinational-circuits-u
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.