問題タブ [generalization]

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.

0 投票する
8 に答える
21190 参照

oop - 抽象化と一般化の違いは何ですか?

抽象化とは、より具体的なものをより抽象的にすることだと理解しています。その何かは、データ構造またはプロシージャのいずれかである可能性があります。例えば:

  1. データの抽象化: 長方形は正方形を抽象化したものです。正方形には 2 組の対辺があるという事実に集中し、正方形の隣接する辺が等しいという事実を無視します。
  2. 手続き型の抽​​象化: 高階関数mapは、値のリストに対して一連の操作を実行して、まったく新しい値のリストを生成する手続きの抽象化です。新しいリストを生成するために、プロシージャがリストのすべての項目をループ処理し、リストのすべての項目に対して実行される実際の操作を無視するという事実に集中します。

だから私の質問はこれです: 抽象化は一般化とどう違うのですか? 主に関数型プログラミングに関連する回答を探しています。ただし、オブジェクト指向プログラミングに類似点がある場合は、それらについても学びたいと思います。

0 投票する
1 に答える
1338 参照

class - UML クラス図の質問

パイロットと彼らが仕事のために飛ぶ飛行機のスケジュールを編成するためのシステムがあれば。そしてスケジュールを組むマネージャー。しかし、マネージャーもパイロットです。パイロット + マネージャーとして、ユーザーの 2 つの別個の子クラスが必要ですか。それとも、たとえばパイロット クラスで isManager の属性を使用する方がより実用的でしょうか? それとも管理人はパイロットの子?

また、schdule クラスがsystemへの合成である場合、新しいスケジュールを作成するメソッドは system クラスにある必要がありますか?

0 投票する
4 に答える
34 参照

python - 配列内のオブジェクトによって特定のパラメータを参照しますか?

ですから、この質問をどのように表現すればよいか本当にわかりません。または、グーグルで検索できると確信しています。

次のような機能があります。

そして、たとえば、次のように 3 回呼び出して、一度に 1 つのパラメーターのみを渡すことができるようにしたいと考えています。

しかし、私の実際のコードでは、これを大幅に一般化し、より多くのパラメーターを持たせる必要があるため、次の行に沿って何かを実行できるようにしたいと考えています。

これを達成するためのPythonの方法はありますか?

0 投票する
0 に答える
84 参照

matlab - 数学者のルールでループ内のカウンターを回避する

任意のループ (最初の要素、最後の要素、およびインクリメントの任意の数) で 1 ステップずつインクリメントするカウンターを回避するために、数学者の数式を見つけようとしています。

例 1 (1 つの for ループ):

MIN=最初の要素、MAX=最後の要素、HOP=インクリメント (変数 i)

カウンター付き:

カウンターなし:

例 2 (2 つの for ループ):

MINi=最初の要素、MAXi=最後の要素、HOPi=インクリメント (変数 i)

MINj=最初の要素、MAXj=最後の要素、HOPj=インクリメント (変数 j)

カウンター付き:

カウンターなし:

2 つの for ループを使用した c 式の単純化はありますか?

ループの k を使用して c(k) を検索するための式はありますか?

0 投票する
2 に答える
865 参照

expert-system - CLIPS での一連の事実の一般化 (マルチスロット スロットで一致するスロット値を見つけようとしています)

私は CLIPS で「事実の一般化」のようなことをしようとしています (どの用語がそれを最もよく表しているかわかりません) が、これを最善の方法で行う方法がわかりません。

そのような状況を考慮してください。以下のテンプレートで記述された一連の事実があります。

Coraxidcause と changeidcause の組み合わせは一種のキーです。これら 2 つのフィールドの組み合わせは一意です。changeinfo と coraxinfo には、スロットにいくつかの記号値があります (これらの各スロットには、常に 10 個を超える値はありません)。

だから私はいくつかの単純な原因の事実を持っています。私がやりたいことは、changeinfo と coraxinfo で同じ値を見つけてアサートすることです。たとえば、これらの単純な原因の事実がある場合:

私はそのような事実を主張したい:

今のところ、私はこのルールを書きました:

問題は、前述の 4 つの事実に戻ると、次のように主張されることです。

これらすべての「部分一致」は必要ありません。完全に一致する部分 (finalcause (coraxinfo 2 3) (changeinfo ab)) が必要なだけですが、その方法がわかりません。さらに、次のようなことがあると、本当に恐ろしいことが起こります。

この時点で、CLIPS エンジンは無限ループのようになり、LHS はすべての可能な一致を一覧表示します。

それには何年もかかります(そして、前に述べたように、まだ必要のないことをしています)。私は CLIPS の初心者なので、明らかな何かを見逃していると思います。必要なことを行う方法がいくつかあるはずです。これを行う方法についての助けや提案をいただければ幸いです。どんなアイデアも本当に役に立ちます。

私は自分が何を望んでいるのかを明確にしていないようです。たとえば、次の事実がある場合、すべての事実にわたって可能なすべての「一致」を見つける必要があります。

これを出力として取得する必要があります:

0 投票する
2 に答える
2094 参照

clips - CLIPS - マルチスロット フィールドのランダム スロット間の一致を探す

そのような状況を考慮してください。私はそのようなテンプレートを持っています:

私は、coraxinfo スロットでは、常に 14 以下の値しか持たないことを知っています (それより少ないかもしれませんが、それ以上になることはありません)。また、changeinfo マルチスロットでは、値が 13 以下になることもわかりました。

私が持っている事実の間で可能なすべての一致を見つけるルールを書こうとしています。

例えば:

これを取得する必要があります(各マルチスロットの値の順序は関係ありません):

今のところ、私はこの関数で停止しました:

少し不器用ですが、私が覚えている限りでは $? 「ゼロ以上」を意味するため、検索パターンで指定したよりもフィールドが少なくても機能するはずです。最大値として 14 または 13 の値を持つことは、最悪の場合、マルチスロットのすべての 2 番目の値が他の事実と一致することを意味するため、各パターンで最大 7 つのマルチスロットを使用します。

defacts CLIPS で指定されたファクトをロードすると、一種の無限ループに陥るという問題 - 長い間応答しないので、ルールに誤りがあると思います。また、このルールは、1 つのフィールドのみの違いでほとんど同じである事実がいくつかある場合に備えて、エンジンを強制終了する必要があります。そのような場合、それらの間でひどい量の一致が生成されます。どこが間違っていたのですか?どんな提案でも本当に感謝します。

アップデート。coraxinfo スロットと changeinfo スロットに一度に 1 つの値を追加することで (finalcause) 事実を構築するアプローチを試みている場合、現在これら 2 つのルールで停止しています。

両方のマルチスロットで 1 つの一致する値を使用して、最初の最終原因ファクトを作成します。

finalcause ファクトがある場合、一致する simplecause ファクトの両方で、その中のすべてのマルチスロット値が ?coraxmatchafter 値の前のすべてのサブセットであることを確認し、拡張された finalcause をアサートします。私は、このルールは、単純な原因のマッチングにおいて「ギャップを飛び越える」ことができるはずだと信じています。

私はこれらのデファクトでルールを使用します (デファクトは上記のものとは異なることに注意してください):

ここでの問題は、3 つの一致するフィールドの最終的な原因を生成できると期待していましたが、2 つの一致するフィールドを持つ最終的な原因の事実のみを生成し、その理由がわかりません。この 3 つの事実が 2 番目のルールに該当することに注意してください。

0 投票する
1 に答える
122 参照

uml - 概念化: 一般化かどうか?

ユーザーが不動産物件を検索できるようにするアプリをモデル化しています。つまり、ユーザーが住宅、アパート、城、敷地、店舗、駐車場、オフィスの賃貸物件や販売物件を探すことができる Web サイトになる予定です。それによると、クラス図で迷っています。上記の不動産プロパティのすべてのタイプをクラス RealEstateProperty から一般化する必要がありますか、それともクラス TypeOfRealEstate に関連付けるだけでよいでしょうか。家や城のような物件。また、駐車場は、住宅の駐車場だけでなく、不動産物件でもあります。

誰でもそれを行うための最良の方法は何ですか? 前もって感謝します。