jp.co.celestee.ai.core.nerve
インタフェース DesireNerveIF


public interface DesireNerveIF

欲求神経のインターフェースです。

作成者:
celestee

メソッドの概要
 void addCantCarryOutPlanList(java.util.List<DesireNerveIF> cantCarryOutPlan)
          過去に拒否した計画として追加します
 void addCantCarryOutSimulateDesireList(java.util.List<DesireNerveIF> cantCarryOutSimulateDesireList)
          この欲求に拒否シミュレート欲求を追加します。
 void addPredictionPleasureList(PleasureIF pleasure)
          予測快楽を追加します
 boolean addPredictionSignalData(SignalDataIF nerve)
          欲求実行時に起こると予測されるルールの変化の結果、AIが受けるであろう刺激を追加します。
 void addSimulateDesireList(java.util.List<DesireNerveIF> simulateDesireList)
          この欲求にシミュレート欲求を追加します。
 void addSuccessCommonDesireList(java.util.List<DesireNerveIF> commonDesireNerveList)
          成功した計画のうち、共通する部分計画があった場合に、追加します。
 void addSuccessPlanList(java.util.List<DesireNerveIF> successPlan, long successPlanTime)
          過去に成功した計画として追加します
 NerveIF castNerveIF()
          NerveIFにクラスキャストします。
 void changeDesireElectricPotential(long desireElectricPotential)
          欲求電位を変更します。
 void changeDesireMaxElectricPotential(long desireMaxElectricPotential)
          欲求最大値を変更します。
 boolean checkFulfilled(java.util.List<AbstractDataCooperationSignal> signalList)
          この欲求インスタンスが現在の刺激(INPUTシグナル)により、OUTPUT実行の対象となるのか検査します。
 boolean checkFulfilledForSignalData(java.util.List<SignalDataIF> signalDataList)
          この欲求インスタンスが現在の刺激(SignalDataIF)により、OUTPUT実行の対象となるのか検査します。
 long checkFulfilledWithSiphonElectricPotential(java.util.List<AbstractDataCooperationSignal> signalList)
          この欲求インスタンスが現在の刺激(INPUTシグナル)により、OUTPUT実行の対象となるのか検査します。
 boolean containsCondition(java.util.List<SignalDataIF> signalDataList)
          シグナルが実行条件に含まれているか検査します。
 boolean containsCondition(SignalDataIF signalData)
          シグナルが実行条件に含まれているか検査します。
 boolean containsConditionFirst(SignalDataIF signalData)
          指定のシグナルが実行条件に含まれているか検査します。
 boolean containsOutputSignal(SignalDataIF outputSignalData)
          指定のシグナルが出力データに含まれているか検査します。
 boolean containsPleasure(DesireNerveIF targetDesire)
          指定の欲求インスタンスがこの欲求インスタンスと同じ快楽を持っているか返却します
 boolean containsPrediction(java.util.List<SignalDataIF> signalDataList)
          この欲求インスタンスの実行予測が指定のシグナルデータに1つでも含まれているか確認します。
 boolean containsPrediction(SignalDataIF signalData)
          この欲求インスタンスの実行予測が指定のシグナルデータに1つでも含まれているか確認します。
 java.util.List<SignalDataIF> getAbstractSyntheticExecConditionList()
          抽象的な合成(連続連想)可能な実行条件(入力刺激)を取得します。
 java.util.List<java.util.List<DesireNerveIF>> getCantCarryOutPlanList()
          過去に拒否した計画を取得します(強化含む)
 java.util.List<java.util.List<DesireNerveIF>> getCopyCantCarryOutPlanList()
          過去に拒否した計画を取得します(コピー)
 java.util.List<DesireNerveIF> getCopyCantCarryOutSimulateDesireList()
          この欲求の拒否シミュレート欲求を取得します。
 java.util.List<PleasureIF> getCopyPredictionPleasureList()
          予測快楽を取得します
 java.util.List<SignalDataIF> getCopyPredictionSignalDataList()
          欲求実行時に起こると予測されるルールの変化の結果、AIが受けるであろう刺激を取得します。
 java.util.List<DesireNerveIF> getCopySimulateDesireList()
          この欲求のシミュレート欲求を取得します。
 java.util.List<DesireNerveIF> getCopySourceSimulateDesireList()
          この欲求を創造欲求とした場合の発生元のシミュレート欲求を取得します。
 java.util.List<java.util.List<DesireNerveIF>> getCopySuccessCommonDesireList()
          成功した計画のうち、共通するDesireNerveListを取得します。
 java.util.List<java.util.List<DesireNerveIF>> getCopySuccessPlanList()
          過去に成功した計画を返します
 java.util.List<java.util.List<DesireNerveIF>> getCopySuccessPlanList(DesireNerveIF desireNerve)
          過去に成功した計画と指定の計画の一致するものがあれば、一致以降の計画を返します。
 long getDesireElectricPotential()
          欲求電位を取得します。
 long getDesireMaxElectricPotential()
          最大欲求電位を取得します。
 long getDesireMaxElectricPotentialHistory()
          過去最大の欲求最大値を取得します。
 java.util.List<SignalDataIF> getExecConditionList()
          利便性の為に作成されたメソッドです。
 java.lang.Long getLastTimeFromCondition(java.util.List<AbstractDataCooperationSignal> conditionList)
          指定のシグナルを実行条件とするか検査し、実行条件とするもののうち、最も新しい時間を返します
 java.util.List<SignalDataIF> getNoAbstractExecConditionList()
          具象的な実行条件(入力刺激)を取得します。
 DesireNerveIF getNotSyntheticDesire()
          同時発生した非合成・非連続連想の欲求を取得します。
 OutputIdIF getOutputId()
          利便性の為に作成されたメソッドです。
 java.util.List<SignalDataIF> getPredictionSignalDataList()
          欲求実行時に起こると予測される環境(ルール)の変化の結果、AIが受けるであろう刺激を取得します。
 DesireNerveIF getSourceMaxDesireNerve()
          この欲求を創造欲求とした場合の発生元の最大欲求を取得します。
 java.util.List<java.util.List<DesireNerveIF>> getSuccessCommonDesireList()
          成功した計画のうち、共通するDesireNerveListを取得します。
 java.util.List<java.util.List<DesireNerveIF>> getSuccessPlanList()
          過去に成功した計画を取得します(強化含む)
 long getSuccessPlanTimeAverage()
          成功計画の平均達成時間を取得します。
 java.util.List<jp.co.celestee.ai.core.nerve.NextDesireInfo> getTemptationNerveList(java.lang.Class<?> cls)
          誘引領域にあるNerveリストを取得します。
 boolean isGoDestinationDesire(DesireNerveIF destinationNerve)
          この欲求が目的の欲求へ向かうか検査します。
 boolean isKnownSuccessPlan(java.util.List<DesireNerveIF> checkSuccessPlan)
          過去に成功した計画か検査します
 long isPleasure()
          快楽の場合1、不快の場合-1
 boolean isShortageCondition(java.util.List<SignalDataIF> targetConditionList)
          指定の実行条件がこの欲求インスタンスの実行条件と比べて不足しているか検査します。
 boolean isShortagePrediction(java.util.List<SignalDataIF> targetPredictionList)
          指定の実行予測がこの欲求インスタンスの実行予測と比べて不足しているか検査します。
 boolean isSimilarPrediction(java.util.List<SignalDataIF> targetPpredictionList)
          実行予測が似ているか検査します
 void linkTemptation(NerveIF nerve, long level)
          NerveImplの誘引インスタンスとリンクします。
 void setDesireElectricPotential(long desireElectricPotential)
          欲求電位を設定します。
 void setDesireMaxElectricPotential(long desireMaxElectricPotential)
          最大欲求電位を設定します。
 void setNotSyntheticDesire(DesireNerveIF notSyntheticDesire)
          同時発生した非合成・非連続連想の欲求を設定します。
 void setPredictionSignalDataList(java.util.List<SignalDataIF> predictionSignalDataList)
          欲求実行時に起こると予測されるルールの変化の結果、AIが受けるであろう刺激を設定します。
 void setSourceMaxDesireNerve(DesireNerveIF sourceMaxDesireNerve)
          この欲求を創造欲求とした場合の発生元の最大欲求を設定します。
 void setSourceSimulateDesireList(java.util.List<DesireNerveIF> sourceSimulateDesireList)
          この欲求を創造欲求とした場合の発生元のシミュレート欲求を設定します。
 

メソッドの詳細

getDesireElectricPotential

long getDesireElectricPotential()
欲求電位を取得します。

戻り値:
欲求電位

setDesireElectricPotential

void setDesireElectricPotential(long desireElectricPotential)
欲求電位を設定します。

パラメータ:
desireElectricPotential -

getDesireMaxElectricPotential

long getDesireMaxElectricPotential()
最大欲求電位を取得します。

戻り値:
最大欲求電位

setDesireMaxElectricPotential

void setDesireMaxElectricPotential(long desireMaxElectricPotential)
最大欲求電位を設定します。

パラメータ:
desireMaxElectricPotential -

getPredictionSignalDataList

java.util.List<SignalDataIF> getPredictionSignalDataList()
欲求実行時に起こると予測される環境(ルール)の変化の結果、AIが受けるであろう刺激を取得します。

戻り値:
予測した刺激を神経化したリスト

addPredictionSignalData

boolean addPredictionSignalData(SignalDataIF nerve)
欲求実行時に起こると予測されるルールの変化の結果、AIが受けるであろう刺激を追加します。

戻り値:
成功した場合TRUE

getCopyPredictionSignalDataList

java.util.List<SignalDataIF> getCopyPredictionSignalDataList()
欲求実行時に起こると予測されるルールの変化の結果、AIが受けるであろう刺激を取得します。 この返却値は複製されたリストです。(但し、シャローコピー)

戻り値:
複製されたリスト

setPredictionSignalDataList

void setPredictionSignalDataList(java.util.List<SignalDataIF> predictionSignalDataList)
欲求実行時に起こると予測されるルールの変化の結果、AIが受けるであろう刺激を設定します。

パラメータ:
predictionSignalDataList -

changeDesireElectricPotential

void changeDesireElectricPotential(long desireElectricPotential)
欲求電位を変更します。その影響を受けて誘引領域の拡大縮小、誘引レベルを変更します。

パラメータ:
desireElectricPotential -

changeDesireMaxElectricPotential

void changeDesireMaxElectricPotential(long desireMaxElectricPotential)
欲求最大値を変更します。

パラメータ:
desireMaxElectricPotential -

getDesireMaxElectricPotentialHistory

long getDesireMaxElectricPotentialHistory()
過去最大の欲求最大値を取得します。

戻り値:
過去最大の欲求最大値

getExecConditionList

java.util.List<SignalDataIF> getExecConditionList()
利便性の為に作成されたメソッドです。本来は、getSignalDataメソッドを利用します。

戻り値:
実行条件リスト

getAbstractSyntheticExecConditionList

java.util.List<SignalDataIF> getAbstractSyntheticExecConditionList()
抽象的な合成(連続連想)可能な実行条件(入力刺激)を取得します。

戻り値:

getNoAbstractExecConditionList

java.util.List<SignalDataIF> getNoAbstractExecConditionList()
具象的な実行条件(入力刺激)を取得します。

戻り値:

getOutputId

OutputIdIF getOutputId()
利便性の為に作成されたメソッドです。本来は、getSignalDataメソッドを利用します。

戻り値:

getNotSyntheticDesire

DesireNerveIF getNotSyntheticDesire()
同時発生した非合成・非連続連想の欲求を取得します。

戻り値:
非合成・非連続連想の欲求

setNotSyntheticDesire

void setNotSyntheticDesire(DesireNerveIF notSyntheticDesire)
同時発生した非合成・非連続連想の欲求を設定します。

パラメータ:
notSyntheticDesire -

getSuccessPlanList

java.util.List<java.util.List<DesireNerveIF>> getSuccessPlanList()
過去に成功した計画を取得します(強化含む)

戻り値:

addSuccessPlanList

void addSuccessPlanList(java.util.List<DesireNerveIF> successPlan,
                        long successPlanTime)
過去に成功した計画として追加します

パラメータ:
successPlan -
successPlanTime - 成功計画の時間

addSuccessCommonDesireList

void addSuccessCommonDesireList(java.util.List<DesireNerveIF> commonDesireNerveList)
成功した計画のうち、共通する部分計画があった場合に、追加します。 共通したものは、成功に近いものとして、論理思考処理時に優先して利用されます。

パラメータ:
commonDesireNerveList -

getSuccessCommonDesireList

java.util.List<java.util.List<DesireNerveIF>> getSuccessCommonDesireList()
成功した計画のうち、共通するDesireNerveListを取得します。(内容はコピーしていません)

戻り値:

getCopySuccessCommonDesireList

java.util.List<java.util.List<DesireNerveIF>> getCopySuccessCommonDesireList()
成功した計画のうち、共通するDesireNerveListを取得します。(内容をシャローコピーしています)

戻り値:
複製されたリスト

getCantCarryOutPlanList

java.util.List<java.util.List<DesireNerveIF>> getCantCarryOutPlanList()
過去に拒否した計画を取得します(強化含む)

戻り値:

getCopyCantCarryOutPlanList

java.util.List<java.util.List<DesireNerveIF>> getCopyCantCarryOutPlanList()
過去に拒否した計画を取得します(コピー)

戻り値:

addCantCarryOutPlanList

void addCantCarryOutPlanList(java.util.List<DesireNerveIF> cantCarryOutPlan)
過去に拒否した計画として追加します

パラメータ:
cantCarryOutPlan -

addPredictionPleasureList

void addPredictionPleasureList(PleasureIF pleasure)
予測快楽を追加します

パラメータ:
pleasure -

getCopyPredictionPleasureList

java.util.List<PleasureIF> getCopyPredictionPleasureList()
予測快楽を取得します

戻り値:
複製されたリスト

castNerveIF

NerveIF castNerveIF()
NerveIFにクラスキャストします。ClassCastExceptionが発生しないように、プログラム上でキャストを保障します。

戻り値:
ダウンキャストした型

checkFulfilledWithSiphonElectricPotential

long checkFulfilledWithSiphonElectricPotential(java.util.List<AbstractDataCooperationSignal> signalList)
この欲求インスタンスが現在の刺激(INPUTシグナル)により、OUTPUT実行の対象となるのか検査します。 また、検査後対象となる場合は、シグナルの電位を吸い上げます。

パラメータ:
signalList - 現在INPUT中のSignalDataIF
戻り値:
吸い上げた電位。0以上であれば実行条件が揃ったことを意味する。

checkFulfilled

boolean checkFulfilled(java.util.List<AbstractDataCooperationSignal> signalList)
この欲求インスタンスが現在の刺激(INPUTシグナル)により、OUTPUT実行の対象となるのか検査します。

パラメータ:
signalList - 現在INPUT中のSignalDataIF
戻り値:
実行条件が揃っていればTRUE

checkFulfilledForSignalData

boolean checkFulfilledForSignalData(java.util.List<SignalDataIF> signalDataList)
この欲求インスタンスが現在の刺激(SignalDataIF)により、OUTPUT実行の対象となるのか検査します。

パラメータ:
signalDataList -
戻り値:
実行条件が揃っていればTRUE

containsCondition

boolean containsCondition(SignalDataIF signalData)
シグナルが実行条件に含まれているか検査します。1つでも持って入ればOK。

パラメータ:
signalData -
戻り値:
1つでも持って入ればTRUE

containsCondition

boolean containsCondition(java.util.List<SignalDataIF> signalDataList)
シグナルが実行条件に含まれているか検査します。1つでも持って入ればOK。

パラメータ:
signalDataList -
戻り値:
1つでも持って入ればTRUE

containsConditionFirst

boolean containsConditionFirst(SignalDataIF signalData)
指定のシグナルが実行条件に含まれているか検査します。 指定のシグナルのOutputID型に一致する最も現在時刻に近い実行条件を1つだけ検査します。 この特殊な検査方法は、欲求が生成された際に、最もな原因と考えられる実行条件を検査するためのものです。 なぜなら、AIはマシンスペックなどにより、欲求の実行条件が平均的に1つの場合や、3つの場合が想定される為、 もっとも合理的と考えられる検査方法を選択できるようにする為です。

パラメータ:
signalDataList -
戻り値:
1つでも持って入ればTRUE

containsOutputSignal

boolean containsOutputSignal(SignalDataIF outputSignalData)
指定のシグナルが出力データに含まれているか検査します。

パラメータ:
outputSignalData -
戻り値:
持って入ればTRUE

getTemptationNerveList

java.util.List<jp.co.celestee.ai.core.nerve.NextDesireInfo> getTemptationNerveList(java.lang.Class<?> cls)
誘引領域にあるNerveリストを取得します。

パラメータ:
cls - 指定したクラスに変換できるもののみを対象とする。NULLは全て対象を意味する。
戻り値:

linkTemptation

void linkTemptation(NerveIF nerve,
                    long level)
NerveImplの誘引インスタンスとリンクします。

パラメータ:
nerve -
level -

getLastTimeFromCondition

java.lang.Long getLastTimeFromCondition(java.util.List<AbstractDataCooperationSignal> conditionList)
指定のシグナルを実行条件とするか検査し、実行条件とするもののうち、最も新しい時間を返します

パラメータ:
conditionList -
戻り値:
実行条件とするもののうち、最も新しい時間

getSuccessPlanTimeAverage

long getSuccessPlanTimeAverage()
成功計画の平均達成時間を取得します。

戻り値:

isGoDestinationDesire

boolean isGoDestinationDesire(DesireNerveIF destinationNerve)
この欲求が目的の欲求へ向かうか検査します。

パラメータ:
destinationNerve -
戻り値:

isPleasure

long isPleasure()
快楽の場合1、不快の場合-1

戻り値:

containsPleasure

boolean containsPleasure(DesireNerveIF targetDesire)
指定の欲求インスタンスがこの欲求インスタンスと同じ快楽を持っているか返却します

パラメータ:
targetDesire -
戻り値:

isKnownSuccessPlan

boolean isKnownSuccessPlan(java.util.List<DesireNerveIF> checkSuccessPlan)
過去に成功した計画か検査します

パラメータ:
checkSuccessPlan -
戻り値:
過去に成功した計画ならTRUE

isSimilarPrediction

boolean isSimilarPrediction(java.util.List<SignalDataIF> targetPpredictionList)
実行予測が似ているか検査します

パラメータ:
targetPpredictionList -
戻り値:

containsPrediction

boolean containsPrediction(java.util.List<SignalDataIF> signalDataList)
この欲求インスタンスの実行予測が指定のシグナルデータに1つでも含まれているか確認します。

パラメータ:
signalDataList -
戻り値:
指定のシグナルデータに含まれている場合TRUE

containsPrediction

boolean containsPrediction(SignalDataIF signalData)
この欲求インスタンスの実行予測が指定のシグナルデータに1つでも含まれているか確認します。

パラメータ:
signalData -
戻り値:
指定のシグナルデータに含まれている場合TRUE

isShortagePrediction

boolean isShortagePrediction(java.util.List<SignalDataIF> targetPredictionList)
指定の実行予測がこの欲求インスタンスの実行予測と比べて不足しているか検査します。指定の実行予測に、不要なものが 含まれていた場合は無視します。

パラメータ:
targetPredictionList -
戻り値:
完全一致で不足している場合のみTRUE

isShortageCondition

boolean isShortageCondition(java.util.List<SignalDataIF> targetConditionList)
指定の実行条件がこの欲求インスタンスの実行条件と比べて不足しているか検査します。指定の実行条件に、不要なものが 含まれていた場合は無視します。

パラメータ:
targetConditionList -
戻り値:
完全一致で不足している場合のみTRUE

getCopySuccessPlanList

java.util.List<java.util.List<DesireNerveIF>> getCopySuccessPlanList(DesireNerveIF desireNerve)
過去に成功した計画と指定の計画の一致するものがあれば、一致以降の計画を返します。 1つの成功計画に複数の欲求が合致する場合は、複数個にして返却します。

パラメータ:
desireNerve -
戻り値:
複製されたリスト

getCopySuccessPlanList

java.util.List<java.util.List<DesireNerveIF>> getCopySuccessPlanList()
過去に成功した計画を返します

戻り値:
複製されたリスト

getSourceMaxDesireNerve

DesireNerveIF getSourceMaxDesireNerve()
この欲求を創造欲求とした場合の発生元の最大欲求を取得します。

戻り値:

setSourceMaxDesireNerve

void setSourceMaxDesireNerve(DesireNerveIF sourceMaxDesireNerve)
この欲求を創造欲求とした場合の発生元の最大欲求を設定します。

パラメータ:
sourceMaxDesireNerve -

getCopySourceSimulateDesireList

java.util.List<DesireNerveIF> getCopySourceSimulateDesireList()
この欲求を創造欲求とした場合の発生元のシミュレート欲求を取得します。

戻り値:

setSourceSimulateDesireList

void setSourceSimulateDesireList(java.util.List<DesireNerveIF> sourceSimulateDesireList)
この欲求を創造欲求とした場合の発生元のシミュレート欲求を設定します。

パラメータ:
sourceSimulateDesireList -

getCopySimulateDesireList

java.util.List<DesireNerveIF> getCopySimulateDesireList()
この欲求のシミュレート欲求を取得します。

戻り値:

addSimulateDesireList

void addSimulateDesireList(java.util.List<DesireNerveIF> simulateDesireList)
この欲求にシミュレート欲求を追加します。尚、重複は無視されます。

パラメータ:
simulateDesireList -

getCopyCantCarryOutSimulateDesireList

java.util.List<DesireNerveIF> getCopyCantCarryOutSimulateDesireList()
この欲求の拒否シミュレート欲求を取得します。

戻り値:

addCantCarryOutSimulateDesireList

void addCantCarryOutSimulateDesireList(java.util.List<DesireNerveIF> cantCarryOutSimulateDesireList)
この欲求に拒否シミュレート欲求を追加します。尚、重複は無視されます。

パラメータ:
cantCarryOutSimulateDesireList -