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


public interface DesireNerveIF

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

作成者:
celestee

メソッドの概要
 void addCantCarryOutPlanList(java.util.List<DesireNerveIF> cantCarryOutPlan)
          過去に拒否した計画として追加します
 void addPleasure(PleasureIF pleasure)
          予測快楽を追加します。
 boolean addPredictionSignalData(SignalDataIF nerve)
          欲求実行時に起こると予測されるルールの変化の結果、AIが受けるであろう刺激を追加します。
 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 checkFulfilledForPredictionData(java.util.List<SignalDataIF> signalDataList)
          この欲求インスタンスが現在の想定刺激(SignalDataIF)により、OUTPUT実行の対象となるのか検査します。
 boolean checkFulfilledForSignalData(java.util.List<SignalDataIF> signalDataList)
          この欲求インスタンスが現在の入力刺激(SignalDataIF)により、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)
          指定のシグナルデータが、この欲求インスタンスの実行予測に含まれているか確認します。
 java.util.List<jp.co.celestee.ai.core.nerve.NextDesireInfo> createTemptationNerveList(boolean debugMode)
          誘引領域にあるDesireNerveリストを取得します。
 java.util.List<SignalDataIF> getAbstractSyntheticExecConditionList()
          抽象的な合成(連続連想)可能な実行条件(入力刺激)を取得します。
 java.util.List<java.util.List<DesireNerveIF>> getCantCarryOutPlanList()
          過去に拒否した計画を取得します(強化含む)
 java.util.List<java.util.List<DesireNerveIF>> getCopyCantCarryOutPlanList()
          過去に拒否した計画を取得します(コピー)
 java.util.List<PleasureIF> getCopyPleasureList()
          発生元の快楽のコピーを取得します
 java.util.List<SignalDataIF> getCopyPredictionSignalDataList()
          欲求実行時に起こると予測されるルールの変化の結果、AIが受けるであろう刺激を取得します。
 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()
          同時発生した非合成・非連続連想の欲求を取得します。
 PleasureIF getOriginalPleasure()
          欲求の実行のきっかけとなる快楽を取得します
 OutputIdIF getOutputId()
          利便性の為に作成されたメソッドです。
 java.util.List<PleasureIF> getPleasureList()
          発生元の快楽を取得します。
 java.util.List<SignalDataIF> getPredictionSignalDataList()
          欲求実行時に起こると予測される環境(ルール)の変化の結果、AIが受けるであろう刺激を取得します。
 java.util.List<java.util.List<DesireNerveIF>> getSuccessCommonDesireList()
          成功した計画のうち、共通するDesireNerveListを取得します。
 java.util.List<java.util.List<DesireNerveIF>> getSuccessPlanList()
          過去に成功した計画を取得します(強化含む)
 long getSuccessPlanTimeAverage()
          成功計画の平均達成時間を取得します。
 boolean isAbstractPrediction()
          想定刺激が抽象化されているか検査します。
 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 removePleasure(PleasureIF removePleasure)
          欲求から快楽を削除します。
 void setDesireElectricPotential(long desireElectricPotential)
          欲求電位を設定します。
 void setDesireMaxElectricPotential(long desireMaxElectricPotential)
          最大欲求電位を設定します。
 void setNotSyntheticDesire(DesireNerveIF notSyntheticDesire)
          同時発生した非合成・非連続連想の欲求を設定します。
 void setOriginalPleasure(PleasureIF originalPleasure)
          欲求の実行のきっかけとなる快楽を設定します
 void setPredictionSignalDataList(java.util.List<SignalDataIF> predictionSignalDataList)
          欲求実行時に起こると予測されるルールの変化の結果、AIが受けるであろう刺激を設定します。
 

メソッドの詳細

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 -

addPleasure

void addPleasure(PleasureIF pleasure)
予測快楽を追加します。 AI内で、初めて快楽を認識するタイミングです。

パラメータ:
pleasure -

getPleasureList

java.util.List<PleasureIF> getPleasureList()
発生元の快楽を取得します。

戻り値:

getCopyPleasureList

java.util.List<PleasureIF> getCopyPleasureList()
発生元の快楽のコピーを取得します

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

removePleasure

void removePleasure(PleasureIF removePleasure)
欲求から快楽を削除します。

パラメータ:
removePleasure -

castNerveIF

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

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

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

checkFulfilledForPredictionData

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

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

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

createTemptationNerveList

java.util.List<jp.co.celestee.ai.core.nerve.NextDesireInfo> createTemptationNerveList(boolean debugMode)
誘引領域にあるDesireNerveリストを取得します。

戻り値:

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)
指定のシグナルデータが、この欲求インスタンスの実行予測に含まれているか確認します。

パラメータ:
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()
過去に成功した計画を返します

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

isAbstractPrediction

boolean isAbstractPrediction()
想定刺激が抽象化されているか検査します。想定刺激においては、実行条件刺激や出力刺激と違って、 欲求のキー値とならない為、通常の欲求(DesireNerveIF)においても、抽象化された想定刺激を保持することが可能です。

戻り値:
抽象化された想定刺激が1つでも存在する場合はTRUE、それ以外はFALSE

getOriginalPleasure

PleasureIF getOriginalPleasure()
欲求の実行のきっかけとなる快楽を取得します

戻り値:

setOriginalPleasure

void setOriginalPleasure(PleasureIF originalPleasure)
欲求の実行のきっかけとなる快楽を設定します

パラメータ:
originalPleasure -