Knowledge
Bases: BaseExposure
Source code in titan/exposures/knowledge.py
13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
|
stats: List[str] = ['knowledge_aware']
class-attribute
instance-attribute
Knowledge collects the following stats:
- knowledge_aware - number of agents with active knowledge
convert(model)
Make an agent aware, stochastically make knowledge aware if their opinion meets the threshold.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model |
TITAN
|
The running model |
required |
Source code in titan/exposures/knowledge.py
135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 |
|
expose(model, interaction, rel, num_acts)
staticmethod
Expose a relationship to the exposure for a number of acts for a specific interaction type. Typically, this determines if the exposure can cause conversion/change in one of the agents, then if so, determines the probability of that and then converts the succeptible agent.
If transmission stochastically occurs, either convert the unaware agent, or if both agents aware, have the higher influence agent influce their partner.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model |
TITAN
|
The running model |
required |
interaction |
str
|
The type of interaction (e.g. sex, injection) |
required |
rel |
Relationship
|
The relationship where the interaction is occuring |
required |
num_acts |
int
|
The number of acts of that interaction |
required |
Source code in titan/exposures/knowledge.py
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 |
|
get_transmission_probability(model, interaction, partner, num_acts)
Get the probability of knowledge/opinion transmission in this relationship
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model |
TITAN
|
The running model |
required |
interaction |
str
|
The interaction type (e.g. |
required |
partner |
Agent
|
The agent's partner |
required |
num_acts |
int
|
The number of interactions the agents had |
required |
Returns:
Type | Description |
---|---|
float
|
the probability of knowledge/opinion transmission |
Source code in titan/exposures/knowledge.py
106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 |
|
init_agent(pop, time)
Initialize the agent for this exposure during population initialization (Population.create_agent
). Called only on exposures that are enabled per the params.
Stochastically make agent aware, if aware, set the opinion from the params.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
pop |
Population
|
the population this agent is a part of |
required |
time |
int
|
the current time step |
required |
Source code in titan/exposures/knowledge.py
28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 |
|
update_agent(model)
Update the agent for this exposure for a time step. Called once per time step in TITAN.update_all_agents
.
If the knowledge start_time has happened, stochastically convert agents.
Parameters:
Name | Type | Description | Default |
---|---|---|---|
model |
TITAN
|
the instance of TITAN currently being run |
required |
Source code in titan/exposures/knowledge.py
47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 |
|