問題タブ [reasoning]
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.
artificial-intelligence - 推論マシンとセマンティック推論の違いは何ですか?
両方についての短い記事をいくつか見つけましたが、Prolog の仕組みと同様に、どちらも論理を通じて物事を理解しているように思えます。私はこの分野に不慣れなので、間違っている可能性があることを付け加えなければなりません。大きな過ち。
java - Java でのフォワード チェーンとバックワード チェーン
javaで推論プロセスのためにフォワードチェーンとバックワードチェーンを実装するための最良のアプローチは何ですか?
一連のステートメントを持つホーン形式の知識ベースが与えられました。
インターネットで検索しようとしましたが、この種の人工知能の概念をコーディングに実装する方法に関する説明を見つけることができませんでした。
私の理解 :
これまで、各センテンス (Horn-Form) を読み込んでオブジェクトを作成しようと考えてきました。各 Sentence クラス オブジェクトには関係変数があり、ナレッジ ベースに Backward または Forward チェーンを要求すると、それらのオブジェクトの配列がチェックされ、目的のチェーンが構築されます。
と言ってクラスの上に電話する...
申し訳ありませんが、私はこの種の複雑なプログラミングに慣れていません。私の予測によれば、この種の推論を非常に高いレベルで実行するには、多くの最適化が必要になる可能性があります。しかし、誰かの理解が必要なようです...
ありがとう!
triplestore - Sesame にセマンティック推論を統合するにはどうすればよいですか?
SesameのTripleStoreのAPI に取り組んでいます。RDF で動作する推論機能があります。
私もOWLで働いているので。そこで、 Pelletや ITMなどのセマンティック推論をもう 1 つ追加したいと思います...
SAIL API はカスタマイズ可能な推論をサポートしており、他の RDF ベースの言語に拡張できるようです。
誰もこれを行う方法を知っていますか?
semantic-web - ルールベースのSKOS Reasonerを構築する
CLIPS / Jessで作成されたルールで推論するために、オントロジーSKOSの推論器を構築する必要があります。自動化された推論の単純な形式が必要です。ルールを使用してオントロジーの推論を作成するのに役立つものは特に見つかりませんでした。CLIPS の機能の一部を複製しようとするようなものさえありませんでした。
semantic-web - AllegroGraph トリプルのルールとその適用方法を定義する
私は AllegroGraph を使用して、次のようなステートメントを保存しています。
このステートメントについて次のよう なルールを定義したいと思いますnewsid1 hasAnnotation
。 Gamma
Beta
hasAnnotation Theta
私の質問は次のとおりです。
- Allegro でそのようなルールを定義するにはどうすればよいですか?
- これらのルールをステートメントに適用するにはどうすればよいですか?
rdf - 理由としてペレットを使用するOutOfMemoryError
Pelletを使用してデータを推測しようとしていますが、「OutOfMemoryError:Javaヒープスペース」が原因で、推論中にアプリケーションが常にクラッシュします。
他の場所で提案されているように、私はすでにヒープサイズを増やしようとしましたが、現在、次のVM引数を使用しています: "-XX:MaxPermSize =256m-Xmx6144m"。さらに、「PelletOptions.USE_CONTINUOUS = true」を設定する必要がありますが、これまでのところ、クラッシュを数分間遅らせることしかできませんでした。(これまでの最長実行時間:30分)。
JenaTDBトリプルストアにデータを保存しています。その合計サイズは170mbで、962117ステートメントで構成されています。オントロジーはProtegeでモデル化されており、HermitまたはFact ++で推論されたときに矛盾はありません(もちろん、その時点でデータは存在しません)。私が推測したいステートメントは、同等のクラス(例:Aと(hasX some X))、逆プロパティ(hasX <-> isXOf)、およびいくつかの推移的なプロパティを使用してモデル化されています。55のクラスがあります:14のルートクラス、11の同等のクラス(1つのルートクラスのすべてのサブタイプ)。現在、14のクラスのインスタンスがトリプルストアに追加されています。
また、オントロジーを分析するためにペリントを使用しましたが、この結果からどの結論を引き出すべきかわかりません。
これは、InfModelを作成するための私のコードです。
これは基本的に、データをクエリする方法です。
ご覧のとおり、データのクエリ、InfModelの準備、検証のいずれかでさまざまな例外が発生しました。このエラーを解決するために他に何を試みることができるか、何か考えがありますか?
artificial-intelligence - 整数または浮動小数点ドメインを使用したロジック プログラミング
私はロジックプログラミングについて多くのことを読んでいます-ASP(Answer Set Programming)は一例またはこれです。それら (ロジック プログラム) は、通常、次の形式になっています。
[プログラム 1] Rule1: a <- a1, a2, ..., not am, am+1; ルール 2: ...
この一連の規則は論理プログラムと呼ばれ、sc モデルはそのような計算の結果です - a1、a2 のそれぞれに True/False 値を割り当てます...ある種のプログラム (ルール) を (セマンティック Web) オントロジーと統合して、ルールとオントロジー (ある種の制約/動作とデータ) の両方を含む知識ベースを構築できます。並列拡張、確率論的論理の拡張、時相論理の拡張など、ASP 自体に関する多くの研究があります。
私の質問は、この分析がブール変数から整数ドメインや浮動小数点ドメインの変数にまで拡張される、何らかの研究や概念実証プロジェクトがあるのでしょうか? 現在、次のプログラムに対処できる研究は見つかりませんでした。
[プログラム 2] Rule1 a1:=5 <- a2=5, a3=7, a4<8, ... Rule2 ... ... [a1、a2 などへの値の最終代入が解このプログラムの]
現在-私が理解しているように-プログラム-2で何らかの分析を実行したい場合(たとえば、このプログラムが何らかの意味で正しいかどうかを調べるため-たとえば、いくつかのプロパティを満たしているかどうか、終了した場合、どのドメインが許可されていないか)ある種の特性に違反するなど)、その後、彼または彼女はプログラム-1 に関してプログラム-2 を言い直してから、完全に未踏のように見える方法で進めなければなりません-私の知る限り (そして私はそれがそれであるとは信じていません)未踏、単に - 私はいくつかの情報源や傾向を知りません)。Program-1 には不等式を含むステートメントを使用できる制約ロジック プログラミングがありますが、ブール変数にも焦点が当てられすぎています。実際、Programm-2 は、ビジネス ルール システムでかなり一般的な種類のものであり、それがロジック プログラミングに興味を持った原因です。
SO-私の質問にはいくつかの歴史があります-私の実際の経験により、特にビジネスルールシステム/エンジンを高く評価するようになりました-JBossプロジェクトのDroolsであり、scプロダクションルールシステムの基礎となる理論について何らかの研究を行うことが私の意図でした(私はそうでしたそれらについての私の論文を作成する予定です-ここで何ができるかを見つければ)、しかし、文献を調べた後、行うことはほとんどないと言えます(例:http://www.computer.org/csdl/トランス/tk/2010/11/index.htmlそれらに関するいくつかの記事を含む優れたIEEE TKDE特別号であり、そのうちの1つはDroolsリーダーによるライターでした)数十年前のReteアルゴリズムのある種の技術的改善があることがわかりますが、Droolsまたは他のプロダクションルールシステムの理論はありませんそれらについて正式な分析を行うのに役立つ可能性があります。もう 1 つの質問は、プロダクション ルール システム (Drools、Jess、CLIPS などのルール エンジン用) の理論があるかどうか、そのような理論が実際に必要かどうか、Drools やその他のシステムを使用する際の実際的な問題は何かということです。生産 規則 システム の 理論 によって 対処 さ れ ます.
ps私は知っています-これらはすべて論文アドバイザーに向けられるべき質問ですが、私の現在の立場は、私が在籍している部門には(私の知る限り)それらに答えるのに適した人がいないということです.ジャーナルを読んだり、会議の議事録を読んだりします(コンピュータサイエンスの講義ノートの素晴らしい会議シリーズシリーズがあります-RuleMLとRR)...
事前にヒントをありがとう!
performance - ループのscalaでカウントダウン
重複の可能性:
Scalaのforループが減少していますか?
Scala For The Impatientで作業しているときに、次の演習に出くわしました。
次の解決策を思いつくのにそれほど時間はかかりませんでした。
しかし、これは私がこれを行うためのコストについてどのように推論するのか疑問に思いました。逆の方法は、範囲のO(n)トラバーサルを実行しますか、それとも派手なインデックス演算を実行する何かでそれを装飾しますか?これをより良くすることができる他の構造はありますか?
jena - JenaFrameworkのSWRLルールに関するPelletによる推論
Jenaフレームワークを使用して、Protoge4.2で構築された既存のオントロジーを編集しようとしています。つまり、プロパティ値を変更するか、個人またはクラスを追加してから推論を行います。オントロジーで、hasAge(?p、?age)^ swrlb:greaterThan(?age、18)-> Adult(?p)のようなルールがあると仮定します。イエナ側のhasAgeプロパティを変更して、誰かが大人かどうかを確認できるようにしたいと思います。これに関するサンプルコードを教えてください。どんな助けでも大歓迎です。