10

コミュニティ ウィキ

評判ポイントなどどうでもいいので、いい回答が欲しいだけです。この質問はコミュニティ ウィキとして気軽にコメントしてください。

環境

私は The Reasoned Schemer に取り組んでおり、次の観察結果を見つけました。

  • 論理プログラミングはとても面白いです。
  • ロジックプログラミングは直観に反することがあります
  • ロジックプログラミングはしばしば「非効率的」です (少なくとも私が書いたコードは)。

    から行っているようです

  • アセンブリ -> C++、私は自分のマシン コードを書くという制御を「放棄」します
  • C++ -> Clojure、メモリ管理の制御を放棄
  • Clojure -> core.logic/prolog/minikanren、計算方法を部分的に制御できなくなりました

質問:

(1) 論理パズルの解決と (2) 型推論の他に、論理プログラミングが支配する問題の領域は何ですか?

ありがとう!

4

2 に答える 2

4

制約ロジック プログラミングは、さまざまなスケジューリング、リソース割り当て、およびその他の重要な制約充足 / 組み合わせ最適化の問題を解決するのに非常に役立ちます。あなたが持っているのは宣言型だけです: 制約 (たとえば、一度に滑走路にいることができる航空機は 1 機だけです) と、最小化/最大化したいもの (スループット/待機) かもしれません。

Prolog には、有限整数領域で機能するCLP(FD)や実数領域で機能する CLP(R) など、さまざまなよく知られたフレーバーがあります。少なくとも CLP(FD) はcore.logic の当面のロードマップにあるようです。

このような Prolog から派生したソリューションは、航空管制やその他のロジスティクス タスクで積極的に使用されていると思いますが、そのようなミッション クリティカルな企業やライフ クリティカルな企業が内部で使用しているテクノロジを正確に把握することは困難です。

于 2012-06-02T07:56:13.857 に答える
3

人工知能の研究、特に認知ロボティクスやその他の論理ベースの知識表現の応用は、論理理論との密接な関係から Prolog が多く使用される分野です。この関係は、基本的に理論に命を吹き込むので非常に便利です。定理は紙の上で証明でき、プロローグでほぼ自明に実装され、実行され、実行中のプログラムは証明された特性を持ちます。これは、最初にプログラムを作成し、次にそれらのプロパティを証明しようとするのとは反対に、「構成によって正しい」プログラムを可能にします (モデル チェックなどを使用して形式的な方法で行われるように)。

セマンティック Web は、ロジック プログラミングが果たす役割が大きくなっているもう 1 つの場所です。

于 2012-06-02T01:04:32.160 に答える