it.unibo.alchemist.model.cognitive.impact.cognitive.IntentionEvacuate.kt Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of alchemist-cognitive-agents Show documentation
Show all versions of alchemist-cognitive-agents Show documentation
Abstraction for group of pedestrians capable of influence each other emotionally.
package it.unibo.alchemist.model.cognitive.impact.cognitive
import it.unibo.alchemist.util.math.logistic
/**
* The intention to evacuate of .
*
* @param desireWalkRandomly
* the desire not to evacuate of the agent owning this characteristic.
* @param desireEvacuate
* the desire to evacuate of the agent owning this characteristic.
*/
class IntentionEvacuate(
private val desireWalkRandomly: () -> Double,
private val desireEvacuate: () -> Double,
) : BodyCognitiveCharacteristic() {
override fun combinationFunction() =
desireEvacuate() * logistic(
logisticSigma,
logisticTau,
amplifyingIntentionOmega * desireEvacuate(),
inhibitingIntentionOmega * desireWalkRandomly(),
)
}