0

私はファジー論理コントローラーを含むプロジェクトに取り組んできましたが、これまでのところすべてが順調に進んでいます。

私は、規範(SおよびT規範)、補完、ファジー命題、およびメンバーシップ関数のモデル化と実装に成功しました。

ただし、UniversalSetを含むFuzzySetを含むFuzzyVariableをモデル化するという課題に直面しています。

私のプロジェクトは離散値で機能しますが、それでも連続値のサポートを追加したいと思います。

言い換えれば、私はこれに似た階層を持ちたいのです:

public interface UniversalSet {
}

public abstract class DiscreteUniversalSet implements UniversalSet {
}

public abstract class ContinuousUniversalSet implements UniversalSet {
}

public interface FuzzySet {
}

public abstract class DiscreteFuzzySet implements FuzzySet {
    private DiscreteUniversalSet universalSet;
}

public abstract class ContinuousFuzzySet implements FuzzySet {
    private ContinuouUniversalSet universalSet;
}

問題は、離散ユニバーサルセットが離散値のリストを返すことができるようにしたいのですが、連続ユニバーサルセットが範囲(下限と上限)を返すようにしたいということです。

アルファ交差点についても同じことが言えます。getAlphaIntersection(double alpha)離散ファジー集合の離散値のリストと連続値の範囲のリストを返すメソッドが欲しいのですが。

現時点では、この問題は、正方形の長方形(または円-楕円)の問題を少し思い出させますが、どのように進めるかはよくわかりません。

助けていただければ幸いです:D

4

1 に答える 1

1

ジェネリックを使用する:

public interface UniversalSet {
}

public abstract class DiscreteUniversalSet implements UniversalSet {
    public double[] getValues() {...}
}

public abstract class ContinuousUniversalSet implements UniversalSet {
    public double getLowerBound() {...}
    public double getUpperBound() {...}
}

public interface FuzzySet<T extends UniversalSet> {
    T getAlphaIntersection(double alpha);
}

public abstract class DiscreteFuzzySet implements FuzzySet<DiscreteUniversalSet> {
    public DiscreteUniversalSet getAlphaIntersection(double alpha) { ... }
}

public abstract class ContinuousFuzzySet implements FuzzySet<ContinuousUniversalSet> {
    public ContinuousUniversalSet getAlphaIntersection(double alpha) { ... }
}
于 2013-01-27T04:45:51.833 に答える