← Documentation
ADS-IDAC Engine 5.0.0
Investigator.h
Go to the documentation of this file.
1#pragma once
2
3// Investigator.h: interface for the Investigator class.
4//
6
7#include "KnowledgeUnit.h"
8#include "InvestigatorLink.h"
9#include "Statement.h"
10#include "IDElement.h"
11
13public IDElement
14{
15public:
17 float m_timer;
31 bool CheckWhetherInAThoughtLine(std::string );
44 std::string GetKEandTimeRangeWords();
46 std::string TranslateTokenIntoWords(int);
47 void PrintMessage(std::string);
48 void ErrorMessage(std::string);
57 double GetActivation();
76
77
80
81 bool m_Happen_incomplete; // incomplete because the operator misses the timing of verifying
82 bool m_Explain_incomplete; // incomplete because the operator misses the timing of verifying one possible causess
83
84 std::vector<std::string> m_thoughtline_roots_list;
86
89
92 bool m_motivation; //0--to verify a knowledge element; 1--to investigate a statement
97 bool m_abort;
101 //1--unknown yet;
102 //2--could not be determined;
103 //3--yes, explained;
104 //4--No, fail to explain
106 //1--unknown
107 //2--could not be determined from control panel;
108 //3--yes;
109 //4--no;
110// int m_investiage_status;
111 //1, active one;(waiting for checking control panel/or retrieving from memory)
112 //2--following;
113 //3--idle, wait to be investigated;
114 //4--sucess explanation;
115 //5--not the cause;
120 //double m_end;
123
124 std::string m_note;
125 std::string m_abort_reason;
126
129 IDElement * m_KElement_ID_pt; //The sentence in the KElement is to be investigated
130 Statement * m_Statement_pt; //The statement indicates whether the knowledge element happened;
132
134 std::string m_ID_SI;
135 std::string m_ID_KE;
136 std::string m_ID_statement;
138
141 std::vector<IDElement *> m_read_indication_list;
142 std::vector<IDElement *> m_feedback_list;
143 std::vector<IDElement *> m_upperstream_ID_list;
144 std::vector<IDElement *> m_downstream_ID_list;
145 std::vector<IDElement *> m_explanation_link_list;
146 std::vector<IDElement *> m_possible_explanation_link_list;
147 std::vector<IDElement *> m_rejected_explanation_list;
148// vector<IDElement *> m_waiting_indication_list;
149
150 std::vector<std::string> m_ID_read_indication_list;
151 std::vector<std::string> m_ID_feedback_list;
152 std::vector<std::string> m_ID_upperstream_list;
153 std::vector<std::string> m_ID_downstream_list;
154 std::vector<std::string> m_ID_explanation_link_list;
155 std::vector<std::string> m_ID_possible_explanation_link_list;
156 std::vector<std::string> m_ID_rejected_explanation_list;
157
159 std::vector<std::string> m_note_list;
160
161
162 Investigator();
163 virtual ~Investigator();
164};
std::vector< IDElement * > m_feedback_list
Definition: Investigator.h:142
std::string m_ID_possible_statement
Definition: Investigator.h:137
void UpdateHappenExplainIncomeplete()
void UpdateEffectiveEndTimeRangeFromDownstream(double, bool)
void PrintCausalOrInferenceLink()
bool m_invest_pause
Definition: Investigator.h:95
void ChoseADownstreamInvestigatorLinkToFeedback3018()
float m_last_active_time
Definition: Investigator.h:87
void AttachThoughtLineToThisInvestigator(std::string)
void InitiateBackwardPropagationOfConfidence()
std::vector< std::string > m_ID_read_indication_list
Definition: Investigator.h:150
std::string m_ID_SI
Definition: Investigator.h:134
void WhetherItIsAvailablefromMR3003()
std::string m_note
Definition: Investigator.h:124
void RetrieveTheNextLikelyInvestigatorLink3013()
void MarkMHappenIncompleteTrue()
std::vector< IDElement * > m_rejected_explanation_list
Definition: Investigator.h:147
std::vector< std::string > m_ID_explanation_link_list
Definition: Investigator.h:154
void BackwardPropagateConfidenceLevel(float _p)
bool m_phenomenon_onging
Definition: Investigator.h:96
bool m_investigation_closed
Definition: Investigator.h:88
double m_investigation_initiate_time
Definition: Investigator.h:117
std::vector< IDElement * > m_read_indication_list
Definition: Investigator.h:141
IDElement * CheckExistenceInPossibleExplanationList(IDElement *)
void AddTimeConsumptionInInvestigator(double)
bool m_motivation
Definition: Investigator.h:92
bool m_invest_dormant
Definition: Investigator.h:94
void BoostAttentionofThisByDiagnosisInvestigation(float, bool)
bool WhetherContinueInvestigationAfterFoundExplanation()
void BuildTheConnectionsToThisInvestigator(void *)
void WhetherToCloseThisInvestigator3009()
void ExtendTheThoughtLineToUpperstream()
std::vector< float > m_paused_confidence_passing_list
Definition: Investigator.h:79
void FinishThePausedConfidencePropagationBeforeCloseInvestigation()
std::string GetASimpleDescriptionOfThisInvestigator()
double m_effective_end
Definition: Investigator.h:118
SentenceUnit * GetSemanticSentenceOfThisInvestigator()
void EvaluateAfterGetNewFeedback3014()
void PrintMessage(std::string)
void ErrorMessage(std::string)
std::string m_abort_reason
Definition: Investigator.h:125
void CompareKEandStatement3007()
bool m_Happen_incomplete
Definition: Investigator.h:81
std::string GetInvestigationKEandTimeRange()
void ReopenThisInvestigator()
std::string m_ID_has_move_to_link
Definition: Investigator.h:25
void FindAMatchingStatement3002()
void ChangeInvestigatorToken(int)
std::vector< std::string > m_note_list
Definition: Investigator.h:159
double m_effective_start
Definition: Investigator.h:119
void UpdateEffectiveEndTimeRangeFromStatement(double, bool)
std::vector< IDElement * > m_possible_explanation_link_list
Definition: Investigator.h:146
float m_probability_update_time
Definition: Investigator.h:18
std::vector< IDElement * > m_explanation_link_list
Definition: Investigator.h:145
std::string m_ID_statement
Definition: Investigator.h:136
void WhetherToCloseThisInvestigator3019()
std::string TranslateTokenIntoWords(int)
bool CheckWhetherTheFoundStatementConsistantWithKE(Statement *)
Statement * m_possible_statement_pt
Definition: Investigator.h:131
IDElement * m_KElement_ID_pt
Definition: Investigator.h:129
bool m_Explain_incomplete
Definition: Investigator.h:82
bool m_active_investigation
Definition: Investigator.h:22
std::vector< std::string > m_ID_feedback_list
Definition: Investigator.h:151
bool m_root_of_a_thought_line
Definition: Investigator.h:85
void CrankTheActivationToOne()
Statement * m_inconsistant_statement
Definition: Investigator.h:127
bool m_read_requested_bl
Definition: Investigator.h:91
std::vector< IDElement * > m_downstream_ID_list
Definition: Investigator.h:144
std::vector< std::string > m_ID_upperstream_list
Definition: Investigator.h:152
float m_last_time_of_refreshing_inference_item
Definition: Investigator.h:16
bool CheckWhetherInAThoughtLine(std::string)
float m_independent_probability
Definition: Investigator.h:121
IDElement * m_has_moved_to_link
Definition: Investigator.h:26
void SearchForPossibleCauses3012()
double m_investigation_cease_time
Definition: Investigator.h:116
std::vector< IDElement * > m_upperstream_ID_list
Definition: Investigator.h:143
std::vector< std::string > m_pause_confidence_propagation_ID_list
Definition: Investigator.h:78
float DetermineWhetherItsStillActivePhenomenon()
bool m_has_moved_to_an_upperstream
Definition: Investigator.h:90
std::vector< std::string > m_ID_rejected_explanation_list
Definition: Investigator.h:156
void CopyInvestigatorInfoFromAnother(Investigator *)
int m_investigator_token
Definition: Investigator.h:99
void WhetherGetInfoFromControlPaneltoVerifyKE3004()
float m_interest_from_SymptomInvestigator
Definition: Investigator.h:122
void OneStepWorkOnThisInvestigator()
std::vector< std::string > m_ID_possible_explanation_link_list
Definition: Investigator.h:155
std::string m_ID_inconsist_statement
Definition: Investigator.h:133
IDElement * CheckExistenceInExplanationList(IDElement *)
std::string m_ID_KE
Definition: Investigator.h:135
float CalculateFilteredPrioritizingScoreOfInvestigator()
std::vector< int > m_investigator_token_history
Definition: Investigator.h:139
void ForwardPropagateConfidenceLevel(float _p)
std::vector< float > m_invest_token_endtime_history
Definition: Investigator.h:140
IDElement * m_SI_ID_pt
Definition: Investigator.h:128
std::string GetKEandTimeRangeWords()
std::vector< std::string > m_thoughtline_roots_list
Definition: Investigator.h:84
void RequestInfoFromControlPanelInititaion3005()
bool m_read_value_or_rate_bl
Definition: Investigator.h:93
void BoostActivationOfThisByActiveDiagnosisInvestigation()
virtual ~Investigator()
std::vector< std::string > m_ID_downstream_list
Definition: Investigator.h:153
void GetCorrespondingKE3001()
float CalculatePriorityScoreEvenDormantOrPaused()
float GetInitiationTimeOrStatementTimeOrLastActiveTime()
Statement * m_Statement_pt
Definition: Investigator.h:130
double GetActivation()
void CloseThisInvestigator()
void RequestInfoFromControlPanelReading3006()
IDElement * CheckExistenceInRejectedExplanationList(IDElement *)
void ChoseADownstreamInvestigatorLinkToFeedback3008()
void UpdateEffectiveEndTimeRangeToUpperstream(double, bool)