Knowledge graph-based intelligent operation and maintenance management method and system for hydropower plant
Patent Information
- Application Number
- CN202611034208.4
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-13
- Publication Date
- 2026-10-16
- Estimated Expiration
- 2046-07-13
AI Technical Summary
但是,此类基于静态故障树或规则匹配的方式仅能依据固定的分解路径进行推理,当面对水力发电设备中普遍存在的因果环路、共因失效以及多条因果通路交织的复杂故障场景时,固定的推理路径难以区分真实致因与伴随现象,导致根因追溯结果容易被路径结构所主导而偏离实际因果逻辑,进而使得根因定位的准确程度受限
[0006] This invention acquires a pre-constructed causal knowledge graph of hydroelectric power equipment, which strictly represents the fault propagation structure with directed edges and carries conditional probability distribution information. It maps the target fault phenomenon to result nodes and backtracks along the directed edges to generate a set of candidate root cause nodes. Then, it performs intervention operations on each candidate root cause node, cutting off all external causal edges and applying external settings. The adjusted causal graph structure is then used for probability propagation to obtain the updated fault occurrence probability of the result node after intervention. Based on the comparison between the updated and original fault occurrence probabilities, a counterfactual necessity measure is determined for each candidate root cause node. The root cause nodes are then ranked and locked based on this measure. Finally, all intermediate state nodes along the causal transmission path are extracted and sequentially synthesized into a fault causal explanation chain, which is then output. This method organically combines the structural causal model of the causal knowledge graph with a counterfactual intervention reasoning mechanism. This ensures that the root cause analysis process strictly follows the causal logic of fault propagation rather than correlational associations, effectively distinguishing between the true cause and accompanying phenomena. Even in complex scenarios with multiple intertwined fault paths, it can accurately trace the source node of the fault. Meanwhile, the automatic generation of the fault cause explanation chain makes the reasoning process traceable and explainable, enabling maintenance personnel to clearly understand the step-by-step evolution logic from the root cause to the fault phenomenon, reducing reliance on human experience judgment.
Smart Images

Figure CN122572685B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of data processing, and in particular to a method and system for intelligent operation and maintenance management of hydropower plants based on knowledge graphs. Background Technology
[0002] The operation and maintenance management of hydropower plant equipment involves root cause analysis of equipment failures to identify the root cause nodes leading to the failures. Currently, common root cause analysis techniques are typically based on pre-built fault trees or expert rule bases. Upon receiving a fault phenomenon, these rules are used to perform step-by-step matching and investigation along a pre-defined fault decomposition path, ultimately outputting the fault cause that meets the matching criteria. However, such methods based on static fault trees or rule matching can only reason according to fixed decomposition paths. When faced with complex fault scenarios in hydropower equipment, such as causal loops, common-cause failures, and multiple intertwined causal paths, fixed reasoning paths struggle to distinguish between the actual cause and accompanying phenomena. This leads to the root cause tracing results being easily dominated by the path structure and deviating from the actual causal logic, thus limiting the accuracy of root cause localization. Summary of the Invention
[0003] This invention provides a method and system for intelligent operation and maintenance management of hydropower plants based on knowledge graphs.
[0004] In a first aspect, embodiments of the present invention provide a knowledge graph-based intelligent operation and maintenance management method for hydropower plants, comprising: Obtain a pre-constructed causal knowledge graph of hydropower equipment. The nodes of the causal knowledge graph of hydropower equipment represent the equipment failure mode and equipment status, and the directed edges represent the causal model of the failure propagation structure from cause to effect and carry conditional probability distribution information. Receive the target fault phenomenon, map the target fault phenomenon to the result node in the causal knowledge graph of hydropower equipment, determine the original fault occurrence probability of the result node, and backtrack along the directed edge of the causal knowledge graph of hydropower equipment to generate a set of candidate root cause nodes containing all potential causes. For each candidate root cause node in the candidate root cause node set, an intervention operation is performed one by one. By cutting off all external causal edges of the candidate root cause node in the causal knowledge graph of hydropower equipment and applying external settings to its state, probability propagation is carried out using the causal graph structure and conditional probability distribution information after intervention to obtain the probability of the updated fault occurrence of the result node after intervention. Based on the comparison between the update failure probability of each candidate root cause node and the original failure probability of the result node, the counterfactual necessity measure of the candidate root cause node is determined, and all candidate root cause nodes are sorted according to the magnitude of the counterfactual necessity measure to lock the root cause node. From the causal knowledge graph of hydropower equipment, extract all intermediate state nodes on the causal transmission path from the root cause node to the result node, synthesize them in sequence into a fault causal explanation chain and output it.
[0005] Secondly, embodiments of the present invention provide a computer system including a memory and a processor. The memory stores a computer program that can run on the processor, and the processor executes the program to implement the steps in the above method.
[0006] This invention acquires a pre-constructed causal knowledge graph of hydroelectric power equipment, which strictly represents the fault propagation structure with directed edges and carries conditional probability distribution information. It maps the target fault phenomenon to result nodes and backtracks along the directed edges to generate a set of candidate root cause nodes. Then, it performs intervention operations on each candidate root cause node, cutting off all external causal edges and applying external settings. The adjusted causal graph structure is then used for probability propagation to obtain the updated fault occurrence probability of the result node after intervention. Based on the comparison between the updated and original fault occurrence probabilities, a counterfactual necessity measure is determined for each candidate root cause node. The root cause nodes are then ranked and locked based on this measure. Finally, all intermediate state nodes along the causal transmission path are extracted and sequentially synthesized into a fault causal explanation chain, which is then output. This method organically combines the structural causal model of the causal knowledge graph with a counterfactual intervention reasoning mechanism. This ensures that the root cause analysis process strictly follows the causal logic of fault propagation rather than correlational associations, effectively distinguishing between the true cause and accompanying phenomena. Even in complex scenarios with multiple intertwined fault paths, it can accurately trace the source node of the fault. Meanwhile, the automatic generation of the fault cause explanation chain makes the reasoning process traceable and explainable, enabling maintenance personnel to clearly understand the step-by-step evolution logic from the root cause to the fault phenomenon, reducing reliance on human experience judgment. Attached Figure Description
[0007] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present invention and, together with the specification, serve to explain the technical solutions of the present invention.
[0008] Figure 1 This is a schematic diagram illustrating the implementation process of a knowledge graph-based intelligent operation and maintenance management method for hydropower plants, as provided in an embodiment of the present invention.
[0009] Figure 2 This is a schematic diagram of the hardware entity of a computer system provided in an embodiment of the present invention. Detailed Implementation
[0010] To make the objectives, technical solutions, and advantages of the present invention clearer, the technical solutions of the present invention will be further described in detail below with reference to the accompanying drawings and embodiments. The described embodiments should not be regarded as limitations on the present invention. All other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0011] Unless otherwise defined, all technical and scientific terms used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains. The terminology used herein is for descriptive purposes only and is not intended to limit the scope of the invention.
[0012] This invention provides a knowledge graph-based intelligent operation and maintenance management method for hydropower plants, which can be executed by a computer system's processor. The computer system can refer to devices with data processing capabilities, such as servers, laptops, tablets, desktop computers, smart TVs, and mobile devices (e.g., mobile phones, portable video players, personal digital assistants, dedicated messaging devices, portable gaming devices).
[0013] Please combine Figure 1 For reference, the intelligent operation and maintenance management method for hydropower plants based on knowledge graphs provided in this embodiment of the invention includes the following steps: Step S100: Obtain a pre-constructed causal knowledge graph of hydropower equipment. The nodes of the causal knowledge graph of hydropower equipment represent the equipment failure mode and equipment status, and the directed edges represent the causal model of the failure propagation structure from cause to effect and carry conditional probability distribution information.
[0014] The causal knowledge graph for hydropower equipment is a structured domain knowledge representation model for fault diagnosis and root cause tracing in hydropower systems. Its construction process integrates equipment maintenance records, fault case reports, online monitoring time-series data accumulated during the long-term operation of hydropower equipment, and the physical causal relationship knowledge formed by domain experts in fault mechanism research. In this knowledge graph, nodes serve as the basic units of knowledge representation, and all nodes are divided into two main types according to their semantic roles: equipment fault mode nodes and equipment state nodes. Equipment fault mode nodes correspond to fault types with clear and observable characteristics that may occur in the actual operation of hydropower equipment, such as turbine runner cavitation faults, generator stator winding inter-turn short circuit faults, water guide bearing Babbitt alloy burn-out faults, and governor main pressure distribution valve jamming faults. Each equipment fault mode node is bound to a component tag attribute and a state tag attribute. The component tag attribute is used to accurately identify the equipment component entity to which the fault mode belongs, and the state tag attribute is used to standardize the description of the core abnormal manifestations of the fault mode. Equipment state nodes correspond to intermediate physical states upstream or downstream of fault mode nodes in the fault evolution chain, such as cooling water flow attenuation, lubricating oil viscosity at decrease, rotor magnetic pole insulation resistance at reduction, and main shaft sealing gap at increase. These equipment state nodes constitute a complete gradual process chain from an initial abnormal state to a manifest fault mode. Directed edges in the causal knowledge graph of hydropower equipment serve as structured encodings of causal dependencies. Each directed edge originates from a cause node and points to a result node, strictly adhering to the temporal sequence and mechanism dependency principles of physical causal relationships, and does not allow the construction of reverse causal connections or self-circulating causal connections.
[0015] The conditional probability distribution information attached to the directed edges is used to quantitatively characterize the strength of causal relationships. It is stored in the form of a conditional probability table, which records the conditional probability values of the result node taking each possible state under each possible state value of the cause node. The specific parameter values of the conditional probability table are learned from historical fault sample data through the Bayesian parameter estimation algorithm during the knowledge graph construction stage. The Bayesian parameter estimation algorithm adopts the method of conjugating the Dirichlet prior distribution with the multinomial likelihood function, and determines the value of each probability entry in the conditional probability table through maximum a posteriori estimation. The prior pseudo-count parameter is uniformly set to ensure that the probability estimation smoothly shrinks towards the uniform distribution when there is insufficient sample support. The specific operation method for obtaining the pre-constructed causal knowledge graph of hydropower equipment is as follows: by calling the graph export interface provided by the knowledge graph persistent storage layer, a full data export operation is performed with the attribute graph serialization format as the output target. During the export process, the node type label, component label attribute value, status label attribute value, and adjacency list information of each node in the current knowledge graph topology are extracted sequentially using the node identifier as the index. At the same time, the starting node identifier, ending node identifier, and complete conditional probability table data of each directed edge are extracted sequentially using the directed edge identifier as the index. All the above information is encapsulated into a memory data structure that can be directly used by subsequent programmatic traversal retrieval and probability calculation operations.
[0016] Step S200: Receive the target fault phenomenon, map the target fault phenomenon to the result node in the causal knowledge graph of the hydropower equipment, determine the original fault occurrence probability of the result node, and backtrack along the directed edges of the causal knowledge graph of the hydropower equipment to generate a set of candidate root cause nodes containing all potential causes.
[0017] The target fault phenomenon refers to the abnormal equipment behavior first discovered and confirmed by hydropower plant operation and maintenance personnel during routine inspections, online monitoring system alarm verification, or periodic equipment testing. Its semantic connotation includes information in two dimensions: the specific equipment location where the abnormal behavior occurs and the specific form of the abnormal behavior. The result node is the equipment fault mode node in the hydropower equipment causal knowledge graph that matches the target fault phenomenon in both the fault subject and fault behavior dimensions. This node serves as the starting point for subsequent reverse causal reasoning in the knowledge graph. The original fault occurrence probability refers to the probability value that the equipment fault mode represented by the result node is in a fault-occurred state, under the condition of no manual intervention and only probabilistic inference based on existing monitoring information. This probability value is obtained by taking the state information of all upstream nodes of the result node at the current moment as evidence input, performing global probability propagation on the hydropower equipment causal knowledge graph using the joint tree probability propagation algorithm, and finding the probability value corresponding to the fault occurrence state in the posterior marginal probability distribution of the result node. The joint tree probability propagation algorithm first deonizes the directed acyclic graph structure of the knowledge graph through deontological processing and three... The angle partitioning operation is transformed into a joint tree data structure. Each clique node in the joint tree contains a set of several neighboring nodes in the knowledge graph. Neighboring clique nodes are connected through a split set. During probability propagation, messages are bidirectionally transmitted between clique nodes in the joint tree along the split set. After receiving a message from a neighboring clique node, each clique node updates its stored potential function table. When all bidirectional message transmission is completed and a globally consistent state is reached, the marginal probability values of each state of the result node are extracted from the potential function table of the clique node containing the result node through marginalization operation. The marginal probability value corresponding to the fault state is the original probability of the fault occurring. The candidate root cause node set is a collection of all possible root causes collected by backtracking along the directed edges of the causal knowledge graph of hydropower equipment. The backtracking search strategy is to recursively trace upstream along all incoming edges starting from the result node. For each visited upstream node, the recursive branch continues to trace upstream along its incoming edge until it reaches the knowledge graph source node without any incoming edges or encounters a visited node forming a loop. All non-repeating node identifiers collected after the termination of all recursive branches are then gathered into the candidate root cause node set.
[0018] In one implementation, step S200 may specifically include the following steps S210 to S260: Step S210: Receive the target fault phenomenon description text entered in natural language, perform semantic boundary segmentation on the target fault phenomenon description text, segment the target fault phenomenon description text into multiple semantic segment units, and identify the segment unit carrying the fault subject information and the segment unit carrying the fault performance information from the multiple semantic segment units.
[0019] The target fault description text is a text string entered by on-site maintenance personnel at the hydropower plant in unstructured natural language through a human-machine interface, describing the abnormal equipment phenomena they currently observe. For example, a maintenance personnel might enter a free text containing both fault location and fault characteristic information, such as "Periodic metallic impact sounds are heard inside the runner chamber of turbine No. 3, and the pressure pulsation amplitude of the tailrace pipe is significantly increased." Semantic boundary segmentation is achieved through an end-to-end sequence labeling model. This model adopts a combined architecture of bidirectional long short-term memory network and conditional random field. The first layer of the model is a character-level embedding layer, which uses Chinese characters as the smallest processing unit, mapping each character in the input text to a 384-dimensional dense vector representation. The weight parameters of the character-level embedding layer are obtained through pre-training on a corpus of equipment maintenance in the hydropower field. The pre-training adopts a continuous bag-of-words model as the target, and the sliding window radius is set to ensure that the context prediction range covers the typical modifying relationships in the fault description. The second layer of the model is a three-layer stacked bidirectional long short-term memory network. Each bidirectional long short-term memory network contains a forward long short-term memory unit sequence and a backward long short-term memory unit sequence. The forward sequence processes the embedding vector sequence in the order of characters from left to right, and the backward sequence processes the embedding vector sequence in the order of characters from right to left. The hidden state dimension in each direction is 256-dimensional. The forward hidden state and the backward hidden state are concatenated at each time step to obtain a 512-dimensional context-aware character representation. The third layer of the model is a Conditional Random Field (CRF) output layer. This output layer uses a linear chain CRF structure to globally normalize and model the character label sequence. The label set includes B-labels, I-labels, E-labels, and S-labels for semantic segment boundary labeling, as well as subject role labels and performance role labels for distinguishing between the semantic roles of the fault subject and the semantic roles of the fault manifestation. The state transition matrix and emission matrix of the CRF layer are learned by maximizing the log-likelihood loss function. The Adam optimizer is used for training. Each sample in the training data consists of a hydropower fault description text and a corresponding manually annotated character-level label sequence. The total training dataset contains tens of thousands of fault description texts annotated by domain experts. In the inference application stage, the target fault phenomenon description text is input character by character into the trained sequence labeling model. The model outputs the optimal label sequence for each character. The start and end boundaries of each semantic segment unit are determined based on the positions of the B-labels, I-labels, and E-labels in the label sequence. Based on the labeling of the subject role label and performance role label, each semantic segment unit is classified into a segment unit carrying fault subject information or a segment unit carrying fault manifestation information.
[0020] Step S220: Match the segment unit carrying the fault subject information with the pre-set component label set in the causal knowledge graph of hydropower equipment, match the segment unit carrying the fault manifestation information with the pre-set state label set in the causal knowledge graph of hydropower equipment, and search in the causal knowledge graph of hydropower equipment by combining the component matching results and the state matching results, and determine the fault mode node that simultaneously meets the component label matching condition and the state label matching condition as the result node.
[0021] The component tag set is a set of standard component names and terms compiled by domain experts during the construction phase of the causal knowledge graph for hydropower equipment. This set is based on a hierarchical breakdown of the entire hydropower equipment system. Each component tag in this set is a standardized string after terminology standardization. The hierarchical structure of the component tag set covers a complete equipment tree, from subsystems such as turbine system, generator system, main transformer system, governor system, excitation system, oil system, water system, and gas system, down to component levels such as main shaft, bearing, runner, guide vane, stator core, rotor pole, cooler, and oil pump. The status tag set is a set of standard status description terms formed by standardizing descriptive phrases for various fault modes and abnormal states of hydropower equipment. Each status tag in the status tag set is also a standardized string, covering specific status descriptions under multiple abnormal dimensions such as vibration anomaly, temperature anomaly, pressure anomaly, flow anomaly, noise anomaly, displacement anomaly, insulation anomaly, and leakage anomaly.
[0022] During the matching process, the text content in the fragment unit carrying the fault subject information is compared with each standard component label in the component label set using a dual-channel comparison based on literal matching and semantic vector nearest neighbor matching. The literal matching channel uses the edit distance algorithm to calculate the character-level similarity between the fragment unit string and the standard label string. The edit distance algorithm uses dynamic programming to calculate the minimum number of single-character editing operations required to convert the fragment unit string into the standard label string. The operation costs of insertion, deletion and replacement operations are equal. The edit distance is divided by the length of the longer string to obtain the normalized literal distance. Then, the literal matching similarity is obtained by subtracting the normalized literal distance from the unit constant. The semantic vector nearest neighbor matching channel uses a pre-trained language representation model to encode both the fragment unit text and each standard component label text into fixed-dimensional semantic vectors. The pre-trained language representation model adopts a Chinese text understanding model architecture based on full-word masking, with its core being a 24-layer stacked transducer encoder structure. Each transducer encoder layer contains a multi-head self-attention sublayer and a feedforward fully connected sublayer. The number of attention heads in the multi-head self-attention sublayer allows for rich subspace representation of the semantic space. The feedforward fully connected sublayer uses a Gaussian error linear unit activation function. The 768-dimensional vector output by the encoder is taken as the semantic representation vector of the entire text, corresponding to the hidden state of the first word in the output of the last encoder layer. The cosine similarity between the semantic representation vector of the fragment unit and the semantic representation vector of the standard component label is used as the semantic vector nearest neighbor matching similarity. The higher of the literal matching similarity and the semantic vector nearest neighbor matching similarity is taken as the final matching score between the fragment unit and the standard component label. The standard component label with the highest final matching score exceeding a preset matching threshold is selected as the component matching result. For each segment unit carrying fault manifestation information, the same dual-channel matching process is used to compare it one by one with the standard state labels in the state label set to obtain the state matching result. When searching in the causal knowledge graph of hydropower equipment, all equipment fault mode nodes in the knowledge graph are traversed. It is checked whether the component label attribute value of each equipment fault mode node is consistent with the standard component label in the component matching result. At the same time, it is checked whether the state label attribute value of the equipment fault mode node is consistent with the standard state label in the state matching result. Equipment fault mode nodes that meet both conditions are determined as result nodes.
[0023] In one implementation, step S220 may specifically include the following steps S221 to S226: Step S221: Input the fragment unit carrying the fault subject information into the component name normalization process, and convert the fragment unit into a normalized component designation consistent with the standard component label format in the component label set through synonym expansion and abbreviation restoration operations.
[0024] The component name standardization process comprises two core modules: a synonym expansion module and an abbreviation restoration module. The synonym expansion module maintains a synonym mapping table for hydropower equipment components. This table is stored in key-value pairs, where the keys are various non-standard names that may appear in spoken language during operation and maintenance, and the values are the corresponding standard component labels from the component label set. The mapping table is constructed by domain experts through an exhaustive collection of component designations from historical fault reports, and each designation is manually verified for standardization. The mapping table covers all non-standard name variations of common components in hydropower generator sets. The abbreviation restoration module maintains a hydropower equipment component abbreviation restoration mapping table. The keys in this table are commonly used abbreviations in the field, and the values are the complete standardized component names. For example, it restores the mapping for field terms containing mixed alphanumeric abbreviations. During standardization, the text string of the fragment unit carrying the fault information is first fully traversed and matched in the abbreviation restoration mapping table. If the text string of the fragment unit contains a substring that completely matches a key in the abbreviation restoration mapping table, the substring is replaced with the complete standardized part name corresponding to that key, completing the abbreviation restoration operation. Then, the text string of the fragment unit after abbreviation restoration is fully traversed and matched in the synonym mapping table. If the text string of the fragment unit matches a key in the synonym mapping table, the entire text string of the fragment unit is replaced with the standard part label corresponding to that key, completing the synonym expansion operation. The string obtained after these two steps is the standardized part designation consistent with the standard part label format in the part label set.
[0025] Step S222: Perform a dual-channel comparison of literal full matching and semantic approximate matching between the normalized component designations and the component labels carried by each fault mode node in the causal knowledge graph of hydropower equipment, and generate the component matching confidence score for each fault mode node.
[0026] The literal full matching channel performs a string complete consistency check, comparing the normalized component designation string with the component label attribute value of each device fault mode node character by character. If the two strings are completely equal at the character sequence level, the literal matching score of that device fault mode node is set to the maximum value. If they are not completely equal, the edit distance algorithm is used to calculate the normalized literal similarity between the two strings as the literal matching score. The semantic approximate matching channel uses a pre-trained language representation model to encode the normalized component designation text and the component label attribute value text of each device fault mode node into semantic representation vectors. The encoding model of the semantic representation vectors also adopts the Chinese text understanding model architecture based on full-word masking. After encoding, the cosine similarity between the two semantic representation vectors is calculated. The range of cosine similarity values from negative one to positive one is linearly scaled and mapped to the same score interval as the literal matching score to obtain the semantic approximate matching score. For each device failure mode node, the larger of its literal matching score and semantic approximate matching score is taken as the component matching confidence of that node. The range of component matching confidence values ensures that there is a comparable numerical gradient between different matching degrees.
[0027] Step S223: Input the fragment unit carrying the fault performance information into the state description normalization process, and convert the fragment unit into a normalized state reference consistent with the standard state label form in the state label set through verb normalization and degree adverb stripping operations.
[0028] The state description normalization process consists of a verb normalization processor and a degree adverb stripper connected in series. The verb normalization processor internally maintains a normalized mapping table for state description verbs of hydropower equipment. This table uses the original verb form as the key and the normalized standard verb form as the value, covering different verb variants expressing the same type of state meaning in the field description. For example, it maps various colloquial verbs expressing temperature increases to standard verbs, and various descriptive verbs expressing increased vibration to standard verbs. The degree adverb stripper maintains a degree adverb filter list, which includes common degree modifiers in hydropower fault descriptions, including intensity, frequency, and trend degree adverbs. The stripping operation scans each word in the text segment unit; if a word matches the degree adverb filter list, it is removed from the text, retaining only the content words that substantially describe the state semantics. During the normalization process, the fragmented text units carrying fault manifestation information are first segmented into words. The segmentation granularity is constrained according to the terminology dictionary in the field of hydropower to ensure that the professional terms are not fragmented. The segmented word sequence is then queried one by one in the degree adverb filter list. Word elements that match the filter list are removed. Each content word in the retained word element sequence is queried in the verb normalization mapping table and replaced with the standard verb form. Finally, the processed word element sequence is reassembled into a normalized state reference string.
[0029] Step S224: Compare the semantic space embedding vectors of the normalized state reference with the state label carried by each fault mode node to generate the state matching confidence of each fault mode node.
[0030] The semantic space embedding vector similarity comparison uses the same pre-trained language representation model as the semantic approximation matching channel in step S222 as the embedding vector encoder. The normalized state reference text is encoded into a semantic representation vector, and the state label attribute value text carried by each equipment fault mode node in the hydropower equipment causal knowledge graph is encoded into the corresponding semantic representation vector. The cosine similarity between the normalized state reference semantic representation vector and the state label semantic representation vector of each equipment fault mode node is calculated. The cosine similarity is mapped to the standard score range through linear scaling to obtain the state matching confidence of each equipment fault mode node.
[0031] Step S225: Input the component matching confidence and state matching confidence of the same fault mode node into the joint confidence fusion unit. The joint confidence fusion unit performs weighted fusion according to the preset contribution ratio of the component dimension and the state dimension to generate the comprehensive location confidence of the fault mode node.
[0032] The joint confidence fusion engine employs a weighted summation fusion strategy. The fusion weight coefficients for the component dimension and the state dimension are pre-determined through statistical analysis of historical fault mapping accuracy data. The statistical process collects a large number of labeled samples that correspond to known fault subjects and fault manifestations. The component matching confidence and state matching confidence of each labeled sample are used as independent variables, and whether the labeled sample truly corresponds to the correct equipment fault mode node is used as the dependent variable. The weight coefficients of each dimension are fitted using a logistic regression model. The logistic regression model uses the sigmoid activation function to map the linear combination to the probability of positive examples, and the loss function is the binary cross-entropy loss. The weight coefficients are iteratively solved using a quasi-Newton optimizer. The component dimension fusion weight coefficients and the state dimension fusion weight coefficients obtained after the fitting convergence are fixed as preset parameters in the joint confidence fusion engine. During online calculation, the joint confidence fusion unit reads the component matching confidence and state matching confidence of the current device fault mode node, multiplies the component matching confidence by the component dimension fusion weight coefficient, multiplies the state matching confidence by the state dimension fusion weight coefficient, and adds the two weighted products to obtain the comprehensive location confidence of the device fault mode node.
[0033] Step S226: Sort the overall location reliability of all fault mode nodes in descending order, determine the fault mode node with the highest overall location reliability as the result node, and record the node identifier and overall location reliability of the result node together.
[0034] The descending order sorting uses the quicksort algorithm to sort all equipment failure mode nodes by their comprehensive location confidence scores from largest to smallest. The quicksort algorithm employs the median-of-three selection strategy for choosing the partitioning pivot element to avoid degenerating into inefficient sorting on a nearly ordered sequence. After sorting, the equipment failure mode node with the highest comprehensive location confidence score is selected as the result node. The unique node identifier of this result node in the hydropower equipment causal knowledge graph and its corresponding comprehensive location confidence score value are written as key-value pairs into the result node attribute cache.
[0035] Step S230: Read the probability distribution record attached to the result node from the causal knowledge graph of the hydropower equipment, extract the marginal probability value corresponding to the fault occurrence state in the probability distribution record as the original fault occurrence probability of the result node, and store the original fault occurrence probability in the result node attribute cache.
[0036] The probability distribution record attached to the result node is a set of probability data stored within the node itself in the causal knowledge graph of the hydropower equipment obtained in step S100. Its content is a complete set of conditional probability distributions for the result node under various combinations of states of all its upstream parent nodes. The marginal probability value refers to the marginal probability distribution of each state of the result node after probability propagation based solely on the global prior probability parameters in the knowledge graph, without considering any upstream evidence. The value of the probability entry corresponding to the fault occurrence state in this marginal probability distribution is the original fault occurrence probability. The reading operation is completed by traversing the conditional probability table of the result node and performing a complete round of joint tree probability propagation in conjunction with the prior probability parameters of the entire graph. During the joint tree probability propagation, all nodes in the knowledge graph are constructed into a joint tree according to the topological structure of a directed acyclic graph. A globally consistent message passing operation is performed on the joint tree. After message passing converges, the marginal probability distribution of each state of the result node is obtained from the potential function table of the clique node where the result node is located by marginalizing and eliminating other node variables. The probability value corresponding to the fault occurrence state is extracted and stored in the result node attribute cache.
[0037] Step S240: Using the result node as the starting node for reverse traversal, find all incoming edges pointing to the result node in the causal knowledge graph of hydropower equipment, extract the source node identifier of each incoming edge, and add the extracted source node identifier to the initial predecessor node set.
[0038] The reverse traversal operation is performed on the adjacency list data structure of the causal knowledge graph of hydropower equipment. The adjacency list uses the node identifier as the primary key and maintains two indexes for each node: an outgoing edge adjacency list and an incoming edge adjacency list. The outgoing edge adjacency list stores the target node identifiers and corresponding directed edge identifiers of all directed edges originating from that node. The incoming edge adjacency list stores the source node identifiers and corresponding directed edge identifiers of all directed edges pointing to that node. Using the node identifier of the result node as the query key, the incoming edge adjacency list of the result node is located in the adjacency list. All entries in the incoming edge adjacency list are traversed, and the source node identifiers stored in each entry are extracted one by one. All extracted source node identifiers are placed into an initially empty hash set, which is the initial predecessor node set. The hash set uses open addressing to resolve hash collisions, ensuring that the insertion and deduplication operations of node identifiers are completed within constant average time complexity.
[0039] Step S250: For each predecessor node in the initial predecessor node set, continue to search for incoming edges pointing to the predecessor node in the causal knowledge graph of hydropower equipment and extract the source node identifier of the next higher level. Continue this recursive reverse search process and check whether the newly extracted source node identifier has appeared in the previously constructed reverse traversal trajectory in each round of recursion. If it has appeared, terminate further recursion along the branch.
[0040] The recursive backward search process employs a depth-first recursive traversal strategy, advancing upstream layer by layer on the adjacency list. The parameters of the recursive function include the identifier of the current node to be expanded and the current recursion depth count. Internally, the recursive function first retrieves all direct upstream node identifiers from the ingress edge adjacency list of the current node to be expanded. For each obtained direct upstream node identifier, it checks if the identifier exists in the reverse traversal trajectory node identifier sequence recorded in the current recursive call stack. If it exists, it indicates that the current reverse backtracking has formed a loop on this branch, and the recursion along this branch is terminated. If it does not exist, the direct upstream node identifier is appended to the reverse traversal trajectory node identifier sequence, and the function recursively calls itself with this node identifier as the new node to be expanded, incrementing the recursion depth count. When the ingress edge adjacency list found by the recursive function at a node is empty, it means that this node has no upstream node in the knowledge graph. This node is a candidate root cause node reached by the current recursive branch, and its node identifier is recorded in the global candidate root cause node collection container.
[0041] In one implementation, step S250 may specifically include the following steps S251 to S256: Step S251: Before each round of recursive reverse search begins, obtain the node identifier to be expanded in the current round, and compare the node identifier with all the historical node identifiers in the constructed reverse traversal trajectory storage stack one by one. The reverse traversal trajectory storage stack pushes the node identifiers into the node identifiers in the order in which the nodes are accessed.
[0042] The reverse traversal trajectory storage stack is a Last-In-First-Out (LIFO) linear data structure implemented internally using a sequentially stored array. Each element of the array stores a node identifier and the recursion depth index when that node was pushed onto the stack. The stack top pointer always points to the most recently pushed node identifier. The comparison operation scans sequentially from the bottom element of the stack towards the top, comparing the node identifier to be expanded in the current round with the node identifier field of each element in the stack. The equality comparison is based on a bit-by-bit comparison using the globally unique code of the node identifier.
[0043] Step S252: When the comparison result indicates that the node identifier to be expanded in the current round already exists in the reverse traversal trajectory storage stack, extract the storage location depth value corresponding to the node identifier in the stack, determine the difference between the current recursion depth value and the storage location depth value as the recursion loop span, and mark the node identifier as the loop merging point.
[0044] The storage location depth value is the recursion depth index value recorded in the array element along with the node identifier when the node identifier is first pushed onto the reverse traversal trajectory storage stack. The current recursion depth value is provided by a depth counter maintained by the recursive function, which starts counting from the result node and increments with each recursive call. The recursive loop span reflects the number of inference levels traversed by the causal loop, and this value is recorded for subsequent loop blocking record generation.
[0045] Step S253: Generate a loop blocking record, write the node identifier of the loop merging point and the recursive loop span into the loop blocking record, and push the loop blocking record to the global blocking record table.
[0046] The global blocking record table is a linear list structure initialized before the reverse backtracking process begins. Each entry in the list contains a loop convergence point node identifier field, a recursive loop span field, and a blocking occurrence timestamp field. The push operation appends the newly generated loop blocking record to the end of the global blocking record table.
[0047] Step S254: For a node marked as a loop convergence point, skip the inbound edge search operation for that node, directly return to its parent recursive call level, and set the recursive state of that node to blocked.
[0048] Skipping the incoming edge lookup operation means returning early via a conditional branch before executing the incoming edge adjacency list query statement inside the recursive function, avoiding unnecessary further upstream tracing of the loop merging point. Setting the recursive state to blocked is achieved by setting a Boolean blocking flag for the corresponding node identifier in the node attribute table. This blocking flag can be reset after all reverse backtracking is completed to allow normal access to the node in subsequent operations.
[0049] Step S255: For nodes not marked as loop junctions, push the node identifier of the node into the reverse traversal trajectory storage stack, and retrieve all incoming edges pointing to the node in the adjacency list of the hydropower equipment causal knowledge graph. Use the source node identifier of the retrieved incoming edges as the node to be expanded in the next round of recursion.
[0050] The incoming edge retrieval operation is performed by querying the incoming edge adjacency list of the node in the adjacency table. The incoming edge adjacency list is organized as a linked list, and each node in the linked list stores information about an incoming edge, including the unique identifier of the incoming edge, the identifier of the source node, and a pointer to the conditional probability table carried by the incoming edge. All nodes in the linked list are traversed, and the identifier of the source node in each node is extracted in turn as the parameter for the identifier of the node to be expanded in the next round of recursive calls.
[0051] Step S256: When all recursive branches have returned and no new nodes to be expanded have been generated, all node identifiers stored in the reverse traversal trajectory storage stack are deduplicated and exported as a candidate root cause node set containing all potential causes.
[0052] The condition for all recursive branches to return is that all lower-level recursive calls of the initial call level of the recursive function have been executed and have returned to the initial call level level by level. The deduplication operation involves inserting each node identifier in the reverse traversal path storage stack into a hash set, automatically eliminating duplicate node identifiers by utilizing the uniqueness of the hash set's keys. Then, all node identifiers in the hash set are exported and encapsulated into a candidate root cause node set. This candidate root cause node set is stored using an unordered set data structure to ensure that each candidate root cause node is accessed exactly once during subsequent traversals.
[0053] Step S260: Gather all non-repeating source node identifiers collected after all recursive branches have terminated into a candidate root cause node set containing all potential causes.
[0054] The conditions for recursive branch termination include encountering a source node with an empty ingress edge adjacency list, encountering a node marked as a loop convergence point, and all recursive calls have returned layer by layer. The node identifiers collected under the above three termination conditions are uniformly deduplicated and summarized through a hash set to obtain the final candidate root cause node set.
[0055] Step S300: For each candidate root cause node in the candidate root cause node set, perform intervention operations one by one. By cutting off all external causal edges of the candidate root cause node in the causal knowledge graph of the hydropower equipment and applying external settings to its state, use the causal graph structure and conditional probability distribution information adjusted by intervention to perform probability propagation and obtain the probability of the updated fault occurrence of the result node after intervention.
[0056] Intervention is a causal effect quantification operation based on a counterfactual reasoning framework. Its core idea is to artificially alter the state distribution of a specific candidate root cause node in the causal knowledge graph of hydroelectric power equipment, while simultaneously severing all causal edges from other nodes to that candidate root cause node. This simulates the state change of the entire causal system under the condition that the fault factor represented by the candidate root cause node is completely eliminated. Severing external causal edges is achieved by temporarily masking all incoming edges pointing to the current candidate root cause node during graph traversal. After these incoming edges are masked, the probability influence of flow from upstream nodes to the current candidate root cause node via these incoming edges disappears. Applying external settings to the state of the candidate root cause node means forcibly overriding the node's state probability distribution with a new state distribution. In this new distribution, the probability value of non-fault states is set to a deterministic value, explicitly indicating that the equipment component or state corresponding to the node is in normal operating condition under the current intervention scenario, while the probability value of fault states is set to zero. Probability propagation is performed using the adjusted causal graph structure and conditional probability distribution information. This involves re-executing a complete round of probability propagation calculation on the causal graph after the intervention operation modifies the knowledge graph topology and node state distribution. The probability propagation starts from the intervened candidate root cause node and proceeds downstream layer by layer along the outgoing edge direction. After recalculating the state distribution at each intermediate node, it finally reaches the result node. The probability value corresponding to the fault occurrence state is extracted from the updated state distribution of the result node. This probability value is the probability of the updated fault occurrence of the result node under the condition that the current candidate root cause node has been excluded by the intervention.
[0057] In one implementation, step S300 may specifically include the following steps S310 to S360: Step S310: For the currently selected candidate root cause node, traverse the global directed edge set of the causal knowledge graph of hydropower equipment, filter out all directed edges that terminate at the candidate root cause node, summarize these directed edges into a set of edges to be intervened, and mark the transmission attribute of each directed edge in the set of edges to be intervened as paused.
[0058] The global directed edge set is the sum of all directed edge information stored in the in-memory data structure as an adjacency list for the causal knowledge graph of hydropower equipment. Traversal is performed by fully scanning the adjacency list of each node's incoming edges. During the scan, each incoming edge record is checked against the node identifier of the current candidate root cause node. If they match, the directed edge identifier in that record is added to the set of incoming edges to be intervened. The set of incoming edges to be intervened is implemented using a variable-length array, where each element is a directed edge identifier. Each directed edge has a transmission status flag in the knowledge graph's data structure definition. This flag can take two states: one indicating that the edge is currently in a normal transmission state, and the other indicating that it is currently in a paused transmission state. Marking the transmission attribute as paused transmission changes the flag from the normal transmission state to the paused transmission state. During probability propagation, the probability propagation engine checks the transmission status flag of a directed edge before transmitting probability information along that edge. If the flag indicates a paused transmission state, the probability propagation process for that edge is skipped.
[0059] Step S320: Copy a complete graph topology from the causal knowledge graph of hydropower equipment as the intervention operation base graph. Logically cut the directed edges marked as paused in the intervention operation base graph so that the causal influence path of the source node connected by the directed edge to the current candidate root cause node is cut off.
[0060] The base map for intervention operations employs a deep copy strategy. Deep copying creates an independent copy of each node object and each directed edge object in the original knowledge graph. The copy of a node object contains a complete node identifier, node type label, component label attribute value, state label attribute value, and an index of all incoming and outgoing edge adjacencies for that node. The copy of a directed edge object contains a complete copy of the directed edge identifier, source node identifier, termination node identifier, conditional probability table data, and a transmission status flag. The logical severance operation is performed on the base map for intervention operations. Specifically, for each directed edge marked as paused in step S310, the reference from its source node to that directed edge in the outgoing edge adjacency list is removed from the base map. Simultaneously, the directed edge object itself is removed from the global directed edge management container of the base map. After removal, the topology of the base map changes; the causal influence path that originally passed from the source node to the current candidate root cause node via that directed edge is completely truncated at the structural level.
[0061] In one implementation, step S320 may further include the following steps S321 to S326: Step S321: Perform a global scan on the changes in the causal path structure caused by the logical severance processing in the intervention operation base map, and identify all new causal shortcuts that are generated from the current candidate root cause node due to the breakage of the original path. A causal shortcut refers to an alternative causal path that did not exist originally and bypasses at least one intermediate node of the original path to reach the downstream node directly.
[0062] The global scan operation starts from the current candidate root cause node and performs a breadth-first traversal on the intervention operation base graph. The breadth-first traversal uses a first-in-first-out queue to manage the nodes to be visited. All direct downstream nodes of the current candidate root cause node are enqueued in sequence. When a node is taken out of the queue, its depth in the current traversal is recorded. At the same time, all direct downstream nodes of the taken-out node are enqueued. During the traversal, the path source is determined for each downstream node visited. The path source determination is completed by comparing the difference between the set of incoming edges at the node position in the original knowledge graph topology and the intervention operation base graph topology. If the node in the intervention operation base graph has a reachable path from the current candidate root cause node that does not exist in the original knowledge graph topology, and this path is interrupted by at least one intermediate node in the original topology, then the path is identified as a causal shortcut. The sequence of nodes traversed by the causal shortcut and the identifiers of the original intermediate nodes crossed by the path are recorded together.
[0063] Step S322: Perform effect sampling for each causal shortcut, extract the conditional probability distribution information of the bypassed nodes in the original path crossed by the causal shortcut, and infer the blocking probability of the path segment if it is not cut off based on the conditional probability distribution information of the bypassed nodes.
[0064] A bypassed node refers to an intermediate node in the original knowledge graph topology located between the current candidate root cause node and the terminal node of the causal shortcut, but bypassed due to the cutting of incoming edges in the intervention operation base graph. For each bypassed node, its prior state distribution without any direct or indirect evidence input from the current candidate root cause node is read from its conditional probability table. This prior state distribution is obtained by performing probability propagation on the original complete knowledge graph after eliminating all influences of the current candidate root cause node. The blocking probability refers to the probability that the bypassed node is in a fault-promoting state, that is, how likely the bypassed node would guide its downstream nodes in the fault direction under natural conditions. This probability value is obtained by extracting the probability entry corresponding to the fault-promoting state from the prior state distribution of the bypassed node. The blocking probabilities of all bypassed nodes traversed by the causal shortcut are integrated through probability multiplication and accumulation operations to obtain the comprehensive blocking probability if the path had not been cut.
[0065] Step S323: Compare the blocking probability with the probability propagation increment currently carried by the causal shortcut. When the probability propagation increment exceeds the preset tolerance range of the blocking probability, mark the causal shortcut as an overcompensated path and record the path identifier and compensation deviation of the overcompensated path in the intervention distortion log.
[0066] The probability propagation increment refers to the difference between the probability contribution transmitted to the terminal node via the causal shortcut after intervention at the current candidate root cause node, due to the formation of a causal shortcut, and the probability contribution transmitted via the original normal path. The comparison process uses the blocking probability as a benchmark reference value, calculates the difference between the probability propagation increment and this benchmark reference value. If the absolute value of the difference exceeds the tolerance range, the causal shortcut is considered to have introduced an excessive compensation effect on the probability propagation result after the intervention, and is marked as an overcompensated path. The compensation deviation is the specific difference between the probability propagation increment and the blocking probability. The sign of this deviation indicates the direction of overcompensation: a positive deviation indicates that the probability contribution transmitted by the shortcut path is greater than the expected probability contribution after the original path is blocked, and a negative deviation indicates that it is less than expected. The intervention distortion log is a linear record structure initialized when the intervention operation starts. Each log record contains a path identifier field for the overcompensated path and a compensation deviation field. Records are appended sequentially according to the discovery order.
[0067] Step S324: Read the compensation deviation of all overcompensated paths from the intervention distortion log. During the layer-by-layer process of probability propagation, automatically trigger signal attenuation processing when the signal flows through the overcompensated path, and establish a positive mapping relationship between the attenuation amplitude of the signal attenuation processing and the compensation deviation.
[0068] Signal attenuation processing is an attenuation step embedded in the message passing function of the probability propagation engine. This step is automatically triggered when it detects that the directed edge traversed by the currently transmitted message belongs to a component edge of an overcompensation path. The forward mapping relationship employs a proportional attenuation mapping strategy, converting the absolute value of the compensation deviation into an attenuation factor through a monotonically non-decreasing mapping function. The larger the absolute value of the compensation deviation, the closer the attenuation factor is to its minimum value. The range of the attenuation factor ensures that the transmitted signal strength is weakened commensurate with the degree of deviation after attenuation processing. Attenuation processing multiplies the probability distribution vector in the original transmitted message element-wise by the attenuation factor to obtain the attenuated probability distribution vector, which is then continued downstream along the overcompensation path.
[0069] Step S325: After signal attenuation processing, the attenuated signal continues to be transmitted downstream along the overcompensation path, and at each downstream node, the attenuated signal from the overcompensation path is distinguished and fused with the unattenuated signal from other normal paths to generate the distinguished and fused state distribution of the downstream node.
[0070] The distinguishable fusion operation is performed when a downstream node simultaneously receives attenuated signals from overcompensated paths and unattenuated signals from other normal paths. During the local state recalculation phase of probability propagation, this downstream node first groups message signals from different incoming edges according to whether the source path belongs to an overcompensated path. The message signals from the overcompensated path group and the normal path group are then fused within their respective groups using a standard message fusion operation that normalizes the probability distribution through element-wise multiplication. Next, a weighted fusion is performed on the two fusion results. The weight factor for the overcompensated path group is determined by a calculation module associated with the compensation deviation of the current overcompensated path. This module inputs the compensation deviation into a radial basis function to obtain a weight adjustment coefficient, ensuring that the contribution of the overcompensated path group's fusion result to the final distinguishable fusion state distribution is suppressed to match the deviation. The weight factor for the normal path group is correspondingly adjusted. The distinguishable fusion state distribution replaces the state distribution obtained after standard undiscriminate fusion and serves as the output state distribution of this downstream node in this round of probability propagation.
[0071] Step S326: Replace the fused state distribution of the downstream node in the case of no distinction with the distinguished fused state distribution, so that the probability contribution of the overcompensated path is suppressed in a targeted manner.
[0072] The alternative operation is executed directly at the potential function update step corresponding to the downstream node in the probability propagation engine. The result variable pointer of the original standard message fusion operation is pointed to the distinguished fusion state distribution object. All subsequent calculations based on the state distribution of the downstream node use the distinguished fusion state distribution as the data source.
[0073] Step S330: In the intervention operation base map after logical severing, perform an overwrite operation on the state distribution of the current candidate root cause node, forcing the state distribution of the node to be set to an intervention state distribution that only contains the probability of non-fault states, and the original state distribution is temporarily stored in the rollback cache.
[0074] The overwrite operation is implemented by directly modifying the state distribution storage array inside the current candidate root cause node object in the intervention operation base map. Each element of this state distribution storage array corresponds to a possible state value of the node, and the element value is the probability of that state value. The array elements corresponding to non-faulty states in the intervention state distribution are assigned a near-deterministic probability value, which ensures that non-faulty states dominate in subsequent probability propagation. The array elements corresponding to faulty states are assigned a zero value. The original state distribution refers to the state distribution array that the candidate root cause node originally held in the intervention operation base map before the overwrite. A complete copy of this array is temporarily stored in the rollback buffer. The rollback buffer allocates an independent storage slot for each candidate root cause node. The purpose of this temporary storage is to restore the original state distribution of the node after all intervention analyses of the candidate root cause node are completed, so that it can be used for the intervention analysis of the next candidate root cause node.
[0075] Step S340: Using the current candidate root cause node after the overwrite is written as the probability propagation starting node, the process is advanced layer by layer along the outgoing edge direction from the node in the intervention operation base map. Each downstream node that receives the updated state distribution from the upstream node at each layer recalculates its local state based on its stored conditional probability distribution information to generate the updated state distribution of the downstream node.
[0076] The propagation process employs a layer-by-layer propagation strategy based on breadth-first search. The propagation starts at the current candidate root cause node whose intervention state distribution has been overwritten. The propagation engine first encapsulates the intervention state distribution of this node into an initial layer propagation message. Then, it marks all direct downstream nodes of this node as nodes to be processed in the first propagation layer and sends the initial layer propagation message along the corresponding outgoing edges to each node in the first propagation layer. Each node in the first propagation layer, upon receiving a message from its upstream node, retrieves the conditional probability distribution information related to its state values from its own conditional probability table. It then performs matrix multiplication between the upstream node state probability distribution in the received message and this conditional probability distribution information using the probability chain rule. The result is the local posterior state distribution of this node, considering only the currently received messages. This local posterior state distribution is the updated state distribution of the node. Once all nodes in the first propagation layer have completed their local state recalculation, the nodes whose state distribution has changed are used as message sources for the second propagation layer, continuing to send messages to their direct downstream nodes. This process continues layer by layer until the propagation reaches the layer containing the result node.
[0077] In one implementation, step S340 may specifically include the following steps S341 to S346: Step S341: Using the current candidate root cause node after the overwrite is written as the propagation root node, perform a breadth-first traversal in the intervention operation base graph, and divide all reachable nodes into multiple propagation levels according to the shortest directed edge distance between each node and the propagation root node.
[0078] Breadth-first search (BFS) uses a first-in-first-out (FIFO) queue as an auxiliary data structure. The root node is added to the queue and its distance is marked as zero. The dequeue operation is then repeated. After removing the head node, its outgoing edge adjacency list is traversed. For each downstream node pointed to by an outgoing edge, if the downstream node has not yet been assigned a distance marker, its distance marker is set to the current node's distance marker plus one, and the downstream node is added to the queue. After the traversal, all nodes assigned distance markers are reachable from the root node. Nodes with the same distance marker form a propagation level. The propagation levels are arranged in ascending order of distance markers, forming the hierarchical propagation order from the root node to the farthest downstream node.
[0079] Step S342: For the shallowest level where the propagation root node is located, encapsulate the intervention state distribution after overwrite into a layer propagation signal, and send the layer propagation signal along the outgoing edge from the node of that level to the next level node to the corresponding downstream node.
[0080] The layer propagation signal is encapsulated as a data structure containing a source node identifier field, a signal content (i.e., a state probability distribution array) field, and a propagation level index field. For the level containing the propagation root node, since there is only one node at that level, the content of the layer propagation signal is the intervention state distribution of that node. The sending operation traverses the outgoing edge adjacency list of the propagation root node, generates a copy of the layer propagation signal for each outgoing edge, and pushes this copy to the message receiving queue of the corresponding downstream node.
[0081] Step S343: After receiving the layer propagation signals from all its upstream level nodes, each node in the next lower level performs a multi-dimensional probability combination deduction by combining the received multiple layer propagation signals with its own stored conditional probability distribution information to obtain the fused state distribution of the node.
[0082] The multidimensional probability combination deduction is based on the chain rule of conditional probability. Specifically, for each possible state value of a node, the conditional probability value of that state given all upstream node state combinations is retrieved from the conditional probability table stored at that node. The conditional probability table is organized as a multidimensional array, with the number of dimensions equal to the number of upstream nodes. The index of each dimension corresponds to the enumeration of upstream node state values. For each upstream node state combination, the probability value of the corresponding state in the layer propagation signal of each upstream node is multiplied term by term with the conditional probability values of each state of the node under that upstream node state combination. Then, the results of the calculations for all possible upstream node state combinations are summed for each state of the node, and the summed probability values of each state of the node are normalized to ensure that the sum is a unit value. The normalized probability distribution vector is the fused state distribution of that node.
[0083] Step S344: Calculate the state-by-state probability offset between the fused state distribution and the original state distribution held by the node before the start of this round of propagation, and generate a probability distribution offset vector. The probability distribution offset vector records the increase or decrease in probability for each possible state.
[0084] The original state distribution refers to the probability distribution of the states held by the node in the intervention operation base graph before the intervention propagation for the current candidate root cause node is initiated. This distribution is copied from the corresponding node in the original knowledge graph during the initialization phase of the intervention operation base graph. The per-state probability offset calculation subtracts the probability value of the corresponding state in the original state distribution array from the probability value of each state in the fused state distribution array. The difference forms the probability distribution offset vector. A positive difference indicates that the probability of the state increases, and a negative difference indicates that the probability of the state decreases.
[0085] Step S345: Determine the significance of the node's state change based on the magnitude of the probability distribution offset vector. When the magnitude exceeds a preset significant change threshold, mark the node as a node to continue propagating. When the magnitude does not exceed the preset significant change threshold, mark the node as a node to terminate propagation.
[0086] The magnitude of the probability distribution offset vector is calculated using the Euclidean norm, which is the square root of the sum of the squares of each element in the offset vector. The preset significant change threshold is a constant value determined during system deployment based on sensitivity calibration experiments using historical intervention analysis. This calibration experiment involves collecting a large number of known root cause failure cases for counterfactual simulation, statistically analyzing the accuracy variation curves of root cause ranking results under different threshold values, and selecting the threshold value where accuracy reaches the plateau region as the preset significant change threshold, which is then fixed into the parameter configuration of the probability propagation engine. The marking operation is implemented by setting a Boolean "continue propagation" flag in the node object's attribute table. Nodes marked as continuing propagation have this flag set to true, while nodes marked as terminating propagation have it set to false.
[0087] Step S346: Collect all nodes marked as continuing propagation nodes and use them as signal sources for the next round of layer propagation. Repeat the layer propagation signal encapsulation and transmission process until a certain level no longer generates any continuing propagation nodes or the propagation has reached the result node.
[0088] The collection operation iterates through all nodes in the current propagation level, summarizing the identifiers of nodes whose continue propagation flag is true into a source node list. If the source node list is empty, the probability propagation terminates prematurely; if the source node list is not empty, each node in the list is used as a signal source, and the fused state distribution of that node is encapsulated into a new layer propagation signal, which is then sent along its outgoing edges to the next level node to continue the next round of local state recalculation. When propagation reaches the level of the result node, regardless of whether that level generates a continue propagation node, propagation terminates after the local state recalculation of the result node is completed.
[0089] Step S350: During the layer-by-layer advancement process, monitor the change amplitude of the updated state distribution of each layer node relative to its state distribution before receiving the signal. When the change amplitude of a certain layer node is lower than the preset propagation attenuation threshold, the propagation branch after that node is truncated.
[0090] The monitored object for the magnitude of the change is the magnitude of the probability distribution offset vector, which has been calculated in step S344. The preset propagation attenuation threshold is a more stringent value than the preset significant change threshold in step S345, and its calibration method is also determined through offline sensitivity experiments. The truncation process refers to forcibly setting the continued propagation flag of the node to a false value, so that it no longer participates in the next round of signal source collection in step S346, thereby blocking the probability propagation from continuing downstream along this branch, saving computational resources and avoiding meaningless disturbances to the final result node state distribution by weak signals.
[0091] Step S360: Probability propagation is advanced layer by layer to the level where the result node is located. The probability value corresponding to the fault state is extracted from the updated state distribution of the result node and used as the probability of the updated fault occurrence corresponding to the current candidate root cause node.
[0092] The updated state distribution of the result node is generated in step S343 during the multidimensional probability combination deduction performed on the result node. This distribution contains the probabilities of each possible state of the result node under the condition that the current candidate root cause node is excluded by intervention. The extraction operation reads the value at the index corresponding to the fault occurrence state in the result node state enumeration from the updated state distribution array. This value is the updated fault occurrence probability. The updated fault occurrence probability is paired with the node identifier of the current candidate root cause node and stored in the intervention effect record table for subsequent counterfactual necessity measurement calculation.
[0093] Step S400: Based on the comparison between the updated failure probability of each candidate root cause node and the original failure probability of the result node, determine the counterfactual necessity measure of the candidate root cause node, and sort all candidate root cause nodes according to the magnitude of the counterfactual necessity measure to lock the root cause node.
[0094] The counterfactual necessity metric is used to quantitatively assess the causal necessity of each candidate root cause node for the occurrence of the failure phenomenon represented by the result node. Its core comparison logic examines the decrease in the failure probability of the result node after forcibly excluding the candidate root cause node through intervention. The more significant the decrease in failure probability, the stronger the causal necessity of the candidate root cause node for the occurrence of the target failure phenomenon, and the larger the counterfactual necessity metric value. The original failure probability is the failure probability of the result node in its natural state before intervention, determined in step S230 and stored in the result node attribute cache in step S200. All candidate root cause nodes are sorted in descending order of counterfactual necessity metric from largest to smallest. After sorting, candidate root cause nodes with a significantly leading counterfactual necessity metric are locked as root cause nodes. The locking process additionally considers the metric difference between adjacent candidate root cause nodes in the sorted list to avoid making overly arbitrary single-node attribution judgments when the causal importance of multiple candidate root cause nodes is close.
[0095] In one implementation, step S400 may specifically include the following steps S410 to S460: Step S410: Read the updated failure probability corresponding to each candidate root cause node in sequence, calculate the difference between the original failure probability of the result node and the updated failure probability to obtain the failure probability reduction of the candidate root cause node, and use the failure probability reduction as the basic quantity of the intervention effect.
[0096] The difference operation is to subtract the updated failure probability value recorded in the intervention effect record table in step S360 from the original failure probability value stored in the result node attribute cache in step S230. The difference is the failure probability reduction. This reduction reflects the absolute extent to which the failure probability of the result node is reduced after the intervention excludes the candidate root cause node. The larger the reduction, the more critical the role of the candidate root cause node in the causal chain. The basic quantity of the intervention effect serves as the basic numerical item for subsequent comprehensive measurement, and its value range is consistent with the value range of the original failure probability and the updated failure probability.
[0097] Step S420: Extract all causal influence paths connecting the candidate root cause node and the result node from the causal knowledge graph of the hydropower equipment, count the number of intermediate state nodes traversed by each causal influence path, and extract the causal effect strength descriptors carried by all directed edges from each causal influence path.
[0098] A causal influence path refers to a directed path in the original, uninterrupted causal knowledge graph of hydroelectric power equipment, starting from a candidate root cause node, passing through several intermediate state nodes, and finally reaching the result node. The order of nodes on the path strictly follows the directional constraints of the directed edges. The extraction operation uses a path enumeration algorithm based on depth-first search, exploring downstream along the outgoing edges from the candidate root cause node. It maintains the node stack and the set of visited nodes for the current path to avoid loops within the same path. When the result node is reached, the complete sequence of nodes in the node stack of the current path is recorded and output as a causal influence path. The number of intermediate state nodes in each causal influence path is equal to the length of the node sequence of the path minus two, that is, the number of nodes remaining after excluding the candidate root cause node at the beginning and the result node at the end. The causal effect strength descriptor carried by the directed edge is a scalar parameter assigned to each directed edge during the construction phase of the causal knowledge graph of hydropower equipment. This parameter integrates the frequency of the causal mechanism represented by the directed edge in historical failure cases and the strength of the causal mechanism's effect at the physical level. It is stored in the attribute field of the directed edge object in the form of a normalized numerical value. The corresponding directed edge objects are extracted sequentially from the node sequence of the causal influence path according to adjacent node pairs, and their causal effect strength descriptor values are read and organized into a causal effect strength descriptor sequence according to the path order.
[0099] Step S430: For each causal influence path, generate a path length loss coefficient using the number of intermediate state nodes traversed by the path, generate a path transmission retention coefficient using the causal effect strength descriptors carried by all directed edges in the path, and calculate the path length loss coefficient and the path transmission retention coefficient together to obtain the path credibility weight of the path.
[0100] The path length attenuation coefficient reflects the degree of causal effect transmission decay caused by the increase in path length in a causal influence path. The longer the path, the more noise interference and uncertainty accumulate in the causal effect during the step-by-step transmission process. The value of the path length attenuation coefficient decreases monotonically with the increase of the number of intermediate state nodes. The path conduction retention coefficient reflects the ability of the effect strength of each causal edge in the causal influence path to maintain the overall causal transmission efficiency. The higher the causal effect strength of each edge, the larger the conduction retention coefficient. The path length attenuation coefficient and the path conduction retention coefficient are combined according to a preset fusion strategy to form a comprehensive path credibility weight. This weight is used for subsequent differentiated allocation of intervention effects for different paths.
[0101] In one implementation, step S430 may specifically include the following steps S431 to S436: Step S431: Count the total number of intermediate state nodes traversed by each causal influence path from the candidate root cause node to the result node, compare the total number of intermediate state nodes with the preset node number threshold, and directly use the linear decay mapper to generate the path length loss coefficient when the total number of intermediate state nodes does not exceed the preset node number threshold. When the total number of intermediate state nodes exceeds the preset node number threshold, switch to the accelerated decay mapper to generate the path length loss coefficient.
[0102] The linear decay mapper employs a linear mapping function with the total number of intermediate state nodes as the independent variable, outputting a path length loss coefficient. The function starts from an initial maximum value, and decreases the loss coefficient by a fixed step size for each additional intermediate state node, until a minimum guaranteed value is reached, after which the decrease stops. The accelerated decay mapper uses a mapping function based on an exponential decay kernel. Its decay rate gradually increases with the total number of intermediate state nodes. In sections exceeding a preset node number threshold, the loss coefficient approaches the minimum guaranteed value at a rate faster than linear, reflecting the accelerated reliability decay characteristics caused by the superposition of multiple uncertainties in long causal chains. The preset node number threshold is determined by statistically analyzing the length distribution of all causal influence paths in the causal knowledge graph of hydropower equipment and selecting the number of nodes corresponding to high inflection points in the distribution. These inflection points are obtained by fitting the path length distribution data to the kernel density estimation algorithm and identifying the point of maximum curvature of the distribution curve.
[0103] Step S432: Extract the causal effect strength descriptor carried by each directed edge in the causal influence pathway, organize the causal effect strength descriptors of each directed edge into an effect strength sequence in the order from candidate root cause node to result node, and detect whether there is an effect strength mutation edge in the effect strength sequence. An effect strength mutation edge refers to the difference between the causal effect strength descriptor of the edge and the causal effect strength descriptor of its predecessor edge that exceeds the preset strength jump threshold.
[0104] The effect intensity sequence is organized by sequentially arranging adjacent node pairs of the causal influence pathway, with each pair corresponding to a directed edge. The causal effect intensity descriptor of this directed edge is then filled into the sequence in order. A preceding edge is a directed edge that immediately precedes the current edge in the effect intensity sequence. The difference is calculated by subtracting the causal effect intensity descriptor value of the preceding edge from the current edge's value and taking the absolute value. If this absolute value exceeds a preset intensity jump threshold, the current edge is marked as an effect intensity abrupt change edge. The preset intensity jump threshold is determined by multiplying the standard deviation of the causal effect intensity descriptors by a sensitivity factor, which is adjustable in the system configuration.
[0105] Step S433: When an effect intensity abrupt change edge is detected in the effect intensity sequence, the effect intensity sequence is divided into multiple effect intensity sub-sequence segments with the effect intensity abrupt change edge as the boundary, and the internal conduction intensity aggregation processing is performed on each effect intensity sub-sequence segment to obtain the intra-segment conduction preservation coefficient of each effect intensity sub-sequence segment.
[0106] The segmentation operation uses each abrupt change in effect intensity as a segmentation point, breaking the effect intensity sequence at each segmentation point. The sequence of causal effect intensity descriptors before the first segmentation point constitutes the first effect intensity sub-sequence segment, the sequence between adjacent segmentation points constitutes the middle effect intensity sub-sequence segment, and the sequence after the last segmentation point constitutes the last effect intensity sub-sequence segment. If there are no abrupt changes in effect intensity in the effect intensity sequence, the entire effect intensity sequence is treated as a single effect intensity sub-sequence segment. The internal conduction intensity aggregation process uses the geometric mean of all causal effect intensity descriptors within the effect intensity sub-sequence segment. The geometric mean can smoothly reflect the comprehensive conduction level of causal effects at each edge within the segment and is not sensitive to individual extreme values that are too large or too small. Specifically, the geometric mean is obtained by multiplying the values of all causal effect intensity descriptors within the segment and taking the root of the number of elements in the segment. This geometric mean is the intra-segment conduction preservation coefficient of the effect intensity sub-sequence segment.
[0107] Step S434: The intra-segment conduction retention coefficients of each effect intensity sub-sequence segment are spliced together according to the segmentation order, and a mutation attenuation correction amount is added to the position of the effect intensity mutation edge during the splicing process to generate the pathway conduction retention coefficient of the causal influence pathway.
[0108] The splicing operation first arranges the conduction-preserving coefficients within each segment into a sequence of coefficients according to the segmentation order. The mutation attenuation correction is a penalty factor associated with the mutation magnitude of the effect intensity mutation edge. It is calculated by inputting the absolute value of the difference between the preceding and following causal effect intensity descriptors into a non-increasing penalty function, which maps larger mutation magnitudes to larger penalty attenuation amounts. During the splicing process, for each effect intensity mutation edge encountered, this mutation attenuation correction is inserted as a multiplication factor between the corresponding two intra-segment conduction-preserving coefficients. All intra-segment conduction-preserving coefficients and the inserted mutation attenuation correction are then multiplied together; the result is the pathway conduction preservation coefficient of that causal pathway.
[0109] Step S435: Obtain the topological structure label of the causal influence path in the causal knowledge graph of the hydropower equipment. The topological structure label is used to distinguish whether the causal influence path is a series path, a convergence path, or a path containing a feedback loop, and select the corresponding path structure constraint rule according to the topological structure label.
[0110] The topology labels are obtained by identifying structural patterns of current causal influence paths in the original topology of the causal knowledge graph of hydropower equipment. A series path is one where each node has only one incoming edge and one outgoing edge, and the entire path has no branches; probability propagation within the path follows a simple unidirectional chain propagation pattern. A converging path is one where at least one node has two or more incoming edges, and causal effects from different upstream branches converge at this node. A path containing feedback loops is one where, although the complete path itself does not contain loops, some nodes on the path participate in the formation of other feedback loops in the knowledge graph. Path structure constraint rules are predefined rules for adjusting the path credibility weight fusion parameters for different topologies. Series paths are subject to the series path constraint rule, under which the fusion contribution ratio of the path propagation retention coefficient is higher than that of the path length loss coefficient. Converging paths are subject to the convergence path constraint rule, under which the fusion contribution ratio of the path length loss coefficient is increased to reflect the increased uncertainty brought about by multi-path convergence. Paths containing feedback loops are subject to the feedback path constraint rule, under which an additional loop stability adjustment factor is introduced to correct the comprehensive fusion result.
[0111] Step S436: The pathway length loss coefficient and the pathway conduction retention coefficient are integrated under the constraints of the selected pathway structure constraint rules to generate the pathway credibility weight of the causal influence pathway. During the integration process, the contribution ratio of the pathway length loss coefficient and the contribution ratio of the pathway conduction retention coefficient are dynamically adjusted by the pathway structure constraint rules.
[0112] The comprehensive fusion process employs a weighted harmonic average (HMA) calculation. The HMA effectively highlights the influence of the smaller of the two coefficients on the fusion result, significantly lowering the pathway confidence weight if either coefficient is severely undervalued. This avoids obtaining artificially inflated confidence ratings through unbalanced combinations of long pathways with high conduction or short pathways with low conduction. The weight ratios of the HMA are configured based on the contribution percentage parameters set by the currently selected pathway structure constraint rules. The fusion calculation first takes the reciprocals of both the pathway length loss coefficient and the pathway conduction retention coefficient, then multiplies these two reciprocals by their corresponding weight ratios, sums them, and takes the reciprocal again to obtain the pathway confidence weight.
[0113] Step S440: Combine the basic amount of intervention effect with the credibility weight of each pathway to obtain the weighted intervention effect magnitude that reflects the contribution distribution of each pathway effect and highlights the dominant pathway. The combination operation includes allocating the basic amount of intervention effect according to the credibility weight of the pathway, and multiplying the allocated share of each pathway by the corresponding credibility weight and then summing them up.
[0114] The allocation process involves first proportionally dividing the baseline intervention effect based on the ratio of the pathway confidence weight of each causal pathway to the total confidence weight of all pathways. Each causal pathway receives a share proportional to its own confidence weight. Then, each pathway's share is multiplied by its own confidence weight. The sum of these multiplication results represents the weighted intervention effect magnitude. This method, by introducing pathway confidence weights twice, achieves a quadratic amplification effect on the dominant pathway effect. This results in significantly higher weighted intervention effect magnitudes for candidate root causes with causal effects highly concentrated in a few high-confidence pathways, while relatively suppressing candidate root causes with causal effects dispersed across multiple low-confidence pathways.
[0115] Step S450: Obtain the topological importance index of the candidate root cause node in the causal knowledge graph of hydropower equipment. The topological importance index is a dimensionless value after normalization. Multiply the weighted intervention effect magnitude with the topological importance index to generate the counterfactual necessity measure of the candidate root cause node.
[0116] The topological importance index is used to evaluate the structural importance of candidate root cause nodes within the overall network topology of the causal knowledge graph of hydropower equipment. Its calculation employs a comprehensive evaluation method based on graph centrality metrics. Specifically, for each node in the causal knowledge graph of hydropower equipment, three centrality indices are calculated: degree centrality, betweenness centrality, and proximity centrality. Degree centrality is the number of directed edges directly connected to the node, normalized by the maximum degree value of the entire graph. Betweenness centrality is the number of times the node appears on the shortest causal path between all node pairs in the entire graph, normalized by the total number of node pairs. Proximity centrality is the reciprocal of the sum of the shortest path lengths from the node to all other reachable nodes in the entire graph, normalized by the maximum proximity centrality value of the entire graph. These three centrality indices are then objectively weighted and fused using the entropy weighting method. The entropy weighting method automatically determines the fusion weight of each index based on the dispersion of its numerical distribution across all nodes; indices with greater dispersion are assigned higher weights. The resulting comprehensive centrality value is the topological importance index. Multiplying the weighted intervention effect magnitude with the topological importance index allows candidate root cause nodes that not only have significant causal effects but also occupy key topological positions in the knowledge graph to obtain a higher counterfactual necessity measure.
[0117] Step S460: Collect all counterfactual necessity measures of candidate root cause nodes, construct a measure ranking list, and mark the candidate root cause node with the largest counterfactual necessity measure in the measure ranking list as the root cause node.
[0118] The aggregation operation involves traversing each candidate root cause node in the candidate root cause node set, reading the counterfactual necessity metric value calculated in step S450, and placing the metric entry consisting of the node identifier and the counterfactual necessity metric of all candidate root cause nodes into a metric sorting list container. The metric sorting list container adopts a dynamically expandable sequential storage structure, and each metric entry is a data structure containing a node identifier field and a counterfactual necessity metric value field.
[0119] In one implementation, step S460 may specifically include the following steps S461 to S465: Step S461: Create a metric sorting list container, combine the node identifier of each candidate root cause node with its corresponding counterfactual necessity metric into a metric entry, and store all metric entries into the metric sorting list container.
[0120] The metric sorting list container is initialized with a capacity equal to the size of the candidate root cause node set. It iterates through the candidate root cause node set, creating a metric entry structure for each candidate root cause node. The node identifier string of the candidate root cause node is copied to the node identifier field of the metric entry. The counterfactual necessity metric value corresponding to the candidate root cause node is written to the counterfactual necessity metric field of the metric entry. The completed metric entry is then appended to the end of the metric sorting list container.
[0121] Step S462: Sort the measure items in the measure sorting list container in descending order of counterfactual necessity measure to obtain an ordered sequence of measure items.
[0122] The sorting operation employs the merge sort algorithm. Merge sort possesses the characteristic of stable sorting, ensuring that the relative order of candidate root cause nodes in the original candidate root cause node set remains unchanged when the counterfactual necessity measure values are the same. Furthermore, merge sort maintains a log-linear time complexity even in the worst case, making it suitable for sorting large-scale candidate root cause node sets. The implementation of merge sort involves recursively dividing the metric sorting list container into sublists until the sublist length is unit length. Then, adjacent sublists are merged pairwise in descending order of counterfactual necessity measure. During merging, two pointers are used to traverse the two sublists, comparing the counterfactual necessity measure values of the metric entries pointed to by the pointers, and placing the larger value into the merge buffer.
[0123] Step S463: Extract the first metric item from the ordered sequence of metric items as the first candidate item, extract the second metric item as the second candidate item, and calculate the metric gap between the counterfactual necessity metric of the first candidate item and the counterfactual necessity metric of the second candidate item.
[0124] The first candidate entry is the metric entry at index position zero in the ordered sequence of metric entries, and the second candidate entry is the metric entry at index position one. The metric gap is obtained by subtracting the counterfactual necessity metric of the second candidate entry from the counterfactual necessity metric of the first candidate entry. This gap reflects the leading position of the first-ranked candidate root cause node in causal necessity assessment compared to the second-ranked candidate root cause node.
[0125] Step S464: Compare the measurement difference with the preset root cause distinguishability threshold. If the measurement difference is greater than the preset root cause distinguishability threshold, then mark the candidate root cause node in the first candidate entry as the root cause node.
[0126] The preset root cause distinguishability threshold is determined through statistical analysis of a large number of labeled fault cases containing a single definite root cause and multiple concurrent root causes. During the statistical process, the metric difference between the top two candidate root cause nodes in each labeled case is used as a distinguishing feature. Receiver operating characteristic (ROC) curve analysis is used to determine the metric difference threshold that maximizes the F1 score between cases with a single root cause and those with concurrent root causes. This threshold is then deployed to the system as the preset root cause distinguishability threshold. If the comparison results show that the metric difference is greater than the preset root cause distinguishability threshold, it indicates that the causal necessity of the first candidate root cause node is significantly higher than that of other candidate root cause nodes, providing sufficient evidence to establish it as an independent root cause. The node in the first candidate entry is then marked as the root cause node and recorded as the single root cause determination result.
[0127] Step S465: If the measurement difference is not greater than the preset root cause distinguishability threshold, the candidate root cause nodes in the first and second candidate entries are merged and labeled as a joint root cause node group, and the next measurement entry after the second candidate entry is added as a new second candidate entry. The measurement difference comparison and joint expansion are continued until the stopping condition is met.
[0128] The joint root cause node group is a list of node identifiers, initially containing two node identifiers from the first and second candidate items. The supplementation operation sets the next metric item immediately following the current second candidate item in the ordered metric item sequence as the new second candidate item. It then recalculates the metric difference between the counterfactual necessity metric of the first candidate item and the counterfactual necessity metric of the new second candidate item. If this metric difference is still not greater than a preset root cause distinguishability threshold, the node identifier from the new second candidate item is added to the joint root cause node group, and the process continues to the next metric item for supplementation and comparison. The stopping condition is when the metric difference is greater than the preset root cause distinguishability threshold, or when all metric items in the ordered metric item sequence have been included in the joint root cause node group. When the stopping condition is met, all node identifiers in the joint root cause node group are output as the root cause, indicating a multi-factor concurrent root cause result.
[0129] Step S500: Extract all intermediate state nodes on the causal transmission path from the root cause node to the result node from the causal knowledge graph of the hydropower equipment, synthesize them in sequence into a fault causal explanation chain and output it.
[0130] The fault causal explanation chain is a natural language explanation text synthesized by connecting and synthesizing the causal transmission process from each root cause node in the root cause node or joint root cause node group locked in step S400 to the result node in a temporal causal narrative manner that conforms to human cognitive habits. The extraction operation explores the source point with the root cause node as the path and explores the sink point with the result node as the path, searching for a complete directed causal path from the source point to the sink point in the causal knowledge graph of hydropower equipment. All intermediate state nodes on the path, except for the first and last nodes, form an intermediate state node sequence according to the causal occurrence order. Sequential synthesis refers to alternately splicing the state semantic labels of the root cause nodes, the state semantic labels of each intermediate state node, and the causal transformation condition text descriptions attached to the directed edges between adjacent nodes according to the evolution order from cause to effect. Necessary logical connectors are added during the splicing process to enhance the coherence and readability of the text. Finally, a fluent natural language paragraph is generated as the fault causal explanation chain, which is sent to the operation and maintenance personnel's interactive terminal for display or stored in the fault diagnosis report through the output interface.
[0131] In one implementation, step S500 may specifically include the following steps S510-S560: Step S510: In the causal knowledge graph of hydropower equipment, mark the root cause node as the source point of path exploration and the result node as the sink point of path exploration, and start the path search process with the strength of causal effect as the primary guide.
[0132] The pathfinding process employs a best-first-served search strategy based on a priority queue. Each element in the priority queue is a partial path object, containing the currently visited node sequence, the cumulative causal effect strength of the current partial path, and the identifier of the node at the end of the current path. The priority queue is sorted by the cumulative causal effect strength, and it is implemented as a max-heap data structure, with the top of the heap always holding the partial path object with the largest current cumulative causal effect strength. At the start of the search, a single-node partial path object containing only the root cause node is pushed into the priority queue, and its cumulative causal effect strength is initialized to the initial maximum value.
[0133] Step S520: In the path search process, maintain multiple parallel exploration branches starting from the path exploration source point. When each exploration branch reaches an intermediate node, it prioritizes the directed edge with the largest outgoing edge causal effect strength descriptor as the next expansion direction until the path exploration sink point is reached or there are no more expandable outgoing edges.
[0134] The number of parallel exploration branches is limited by the number of partial path objects simultaneously existing in the priority queue. In each expansion step, the top partial path object is popped from the priority queue, and its terminal node is checked to see if it is a path exploration sink. If so, the node sequence of that partial path object is recorded as a complete path that successfully reaches the path exploration sink. If the terminal node is not a path exploration sink, the outgoing edge adjacency list of that terminal node is obtained. For each outgoing edge in the adjacency list, a new partial path object is created, whose node sequence is the original partial path object's node sequence plus the downstream node pointed to by the outgoing edge. Its cumulative causal effect strength is the geometric mean of the original partial path object's cumulative causal effect strength and the outgoing edge's causal effect strength descriptor. This new partial path object is then pushed into the priority queue. This popping and expansion process is repeated until the priority queue is empty or a sufficient number of complete paths have been collected.
[0135] In one implementation, step S520 may further include the following steps S521 to S525: Step S521: During the parallel exploration branch expansion process, loop detection is performed on the node sequence visited by each exploration branch. When it is found that the node to be visited by the current exploration branch already exists in the visited node sequence of the branch, the branch is marked as an invalid loop branch and the continued expansion of the branch is terminated.
[0136] Loop detection is achieved by checking whether the identifier of the downstream node to be appended already appears in the currently traversed node sequence of the newly created partial path object. The traversed node sequence is quickly determined using a hash set. If the identifier of the downstream node to be appended is detected in the hash set, it means that expanding the downstream node in this partial path object will form a loop. In this case, a new partial path object is not created, and the original partial path object is discarded.
[0137] Step S522: For the exploration branch that successfully reaches the path exploration sink, obtain the causal effect strength descriptor of each directed edge in its node sequence, map each causal effect strength descriptor to a strength value under a unified strength dimension, and perform continuous calculations on all strength values to generate the cumulative causal strength of the exploration branch.
[0138] The unified intensity dimension mapping is accomplished through a pre-calibrated piecewise linear mapping function, which maps causal effect intensity descriptors with different original value ranges to a standard intensity value range. The continuous operation involves geometrically averaging the standard intensity values of all directed edges along the mapped path. This geometric averaging smooths out abnormal fluctuations in intensity values of individual edges, reflecting the overall causal transmission efficiency of the entire path. The result is the cumulative causal intensity of this exploration branch.
[0139] Step S523: Sort and compare the cumulative causal strength of all exploration branches that successfully reach the path exploration sink, and determine the exploration branches whose cumulative causal strength meets the preset strength priority condition as the main causal transmission path.
[0140] The preset strength priority condition is that the cumulative causal strength is the highest among all exploration branches that successfully reach the path exploration destination, that is, the exploration branch with the highest cumulative causal strength is selected as the main causal transmission path.
[0141] Step S524: When the cumulative causal intensity difference of multiple exploration branches is within the preset intensity indifference interval during the sorting and comparison process, extract the node sequence length of these exploration branches, compare the node sequence lengths, and prioritize the exploration branch with the shorter node sequence length as the main causal transmission path.
[0142] The presupposed intensity indifference interval is a small interval immediately close to zero. When the absolute value of the difference in cumulative causal intensity between two exploration branches is less than this interval, it is considered that the two exploration branches cannot be effectively distinguished in terms of causal intensity. In this case, node sequence length is introduced as a secondary comparison standard. The node sequence length is the total number of nodes contained in the node sequence of the exploration branch. A shorter node sequence length implies a more direct and concise causal transmission chain. Prioritizing the concise path as the primary causal transmission path when there is no intensity difference conforms to Occam's razor principle.
[0143] Step S525: If the node sequence length is still the same, extract the sub-paths after the first fork node in these exploration branches, compare the balance of the edge causal effect intensity descriptors in the sub-paths, and select the exploration branch with a more balanced distribution of edge causal effect intensity descriptors as the main causal transmission path.
[0144] The first bifurcation node refers to the location of the first path divergence among these exploration branches starting from the root cause node. The path segments before the first bifurcation node are identical across these exploration branches. A sub-path is the path segment from the first bifurcation node to the path exploration sink. The degree of equilibrium is measured using the coefficient of variation (COV) of the causal effect strength descriptors for each side. The COV is the ratio of the standard deviation to the mean of the causal effect strength descriptors for each side in the sub-path; a smaller COV indicates a more balanced causal effect strength. The exploration branch with the smaller COV is selected as the main causal transmission path.
[0145] Step S530: Collect the node sequences corresponding to all exploration branches that successfully reach the path exploration sink, extract the causal effect strength descriptors of all directed edges on each node sequence for continuous comprehensive calculation, obtain the cumulative causal strength of each node sequence, and select the node sequence whose cumulative causal strength satisfies the preset strength priority condition as the main causal transmission path.
[0146] In the implementation of step S520 which includes sub-steps S521 to S525, this step is completed collaboratively by steps S522 and S523. In the simplified implementation which does not include sub-steps, it is executed independently, and its operation logic is consistent with steps S522 and S523.
[0147] Step S540: Starting from the first node after the source point of the path exploration along the main causal transmission path, extract state semantic information for each node, obtain the state semantic label of each node from the causal knowledge graph of hydropower equipment, and arrange them into a state semantic label sequence according to the path order.
[0148] State semantic tags are standard state description strings assigned by domain experts to each equipment state node and each equipment failure mode node during the construction of the causal knowledge graph for hydropower equipment. These strings describe the state represented by the node in concise and clear natural language phrases, such as insufficient cooling water flow, continuous rise in bearing temperature, and vibration amplitude exceeding warning values. The extraction operation starts from the second node in the main causal transmission path, i.e., the first node after the path exploration source point, and sequentially visits each node on the path, reading the state semantic tag attribute field of the node object. The read strings are then filled into the state semantic tag sequence according to the path access order.
[0149] Step S550: For each pair of adjacent nodes on the main causal transmission path, extract the causal transformation condition text description attached to the directed edge connecting the pair of adjacent nodes, and arrange the extracted causal transformation condition text descriptions in the order of the adjacent node pairs into a transformation condition text sequence.
[0150] The causal transition condition text description is a natural language description text generated by domain experts or through a text generation model for each directed edge during the construction phase of the causal knowledge graph for hydropower equipment. This text is used to explain the physical mechanism or conditional triggering logic that determines the transition from the state of one node to the state of another. The extraction operation sequentially traverses all adjacent node pairs on the main causal transmission path. For each pair of adjacent nodes, it queries the directed edge connecting the two nodes in the knowledge graph, reads the causal transition condition text description string from the attribute field of the directed edge object, and fills the read string into the transition condition text sequence in the order of the adjacent node pairs.
[0151] Step S560: Cross-concatenate the state semantic labels in the state semantic label sequence and the causal transition condition text descriptions in the transition condition text sequence according to the order of causal progression to synthesize the fault causal explanation chain text in natural language form, and send the fault causal explanation chain text to the output interface.
[0152] The cross-concatenation method employs a text organization pattern that alternates between states and conditions, unfolding along a causal timeline. First, the state semantic label of the root cause node serves as the initial statement of the fault causal explanation chain. Then, it sequentially enters a causal progression loop. In each loop, a pair of causal transition condition text descriptions and the corresponding next state semantic label are extracted. The causal transition condition text description serves as the trigger condition clause, and the state semantic label serves as the result clause, forming a complete causal single-step statement. These causal single-step statements are then concatenated sequentially to obtain the complete fault causal explanation chain text. The output interface can be the text display area of the maintenance human-machine interface, the text input interface of the automatic fault diagnosis report generation module, or the message body encapsulation interface of the alarm notification push system.
[0153] In one implementation, step S560 may specifically include the following steps S561 to S566: Step S561: Initialize an interpretation chain text assembly buffer, write the state semantic label of the root cause node as the starting statement of the interpretation chain into the interpretation chain text assembly buffer, and append the root cause initiation word before the starting statement.
[0154] The explanation chain text assembly buffer is a dynamically expandable string concatenation region, implemented as a variable-length character array, supporting efficient string append operations. The root cause start keyword is a predefined, fixed text template used to prominently indicate the root cause of the failure at the beginning of the causal explanation chain, for example, by using the root cause identifier as a prefix. The write operation first copies the root cause start keyword string to the explanation chain text assembly buffer, then appends the state semantic label string of the root cause node to it, forming a complete starting statement.
[0155] Step S562: According to the order of nodes on the main causal transmission path, take the next state semantic label from the state semantic label sequence as the current explanation node label, and take the causal transformation condition text description corresponding to the current explanation node label from the transformation condition text sequence as the trigger condition text.
[0156] The state semantic label sequence and the transition condition text sequence have been arranged in path order in steps S540 and S550, and there is a one-to-one offset relationship between them. That is, the Nth state semantic label in the state semantic label sequence corresponds to the Nth plus one node on the path starting from the path exploration source point, and the Nth causal transition condition text description in the transition condition text sequence corresponds to the directed edge between this node and its previous node. During the loop processing, a position index is maintained, starting from zero and incrementing by one in each loop, and the corresponding position elements of the two sequences are accessed simultaneously using the position index.
[0157] Step S563: Input the trigger condition text and the current explanation node label into the sentence template filler. The sentence template filler will fill the trigger condition text into the preset condition sentence slot and fill the current explanation node label into the preset result sentence slot to generate a causal single-step statement sentence.
[0158] The sentence template filler is a rule-based template-based text generation module. Internally, it stores a set of sentence templates for causal single-step statements. Each sentence template contains a conditional sentence slot and a result sentence slot, connected by fixed logical connectors such as "cause," "lead to," and "result in." The fill operation inserts the trigger condition text string (either as is or after adjusting the first letter's capitalization) into the conditional sentence slot, inserts the current explanation node tag string into the result sentence slot, and outputs the completed template instantiation string as the generated causal single-step statement.
[0159] Step S564: Before appending the causal single-step statement to the interpretation chain text assembly buffer, detect the semantic connection fluency between the previous written statement and the current causal single-step statement. If the semantic connection fluency is insufficient, select a suitable logical connector from the pre-connector lexicon and insert it between the two statements.
[0160] Semantic cohesion fluency is detected by checking for semantic connection breaks at the end of the preceding statement and the beginning of the current causal single-step statement. The determination of semantic connection breaks is based on whether adjacent parts of the two sentences are within the coherent semantic coverage of the same causal chain semantic unit. If the state result described in the preceding statement and the triggering condition described in the current causal single-step statement are semantically different dimensions of device attribute descriptions, then a semantic connection break is identified, resulting in insufficient fluency. The pre-conjunction lexicon is a pre-compiled set of Chinese logical connectors and transition phrases, organized according to semantic relationships such as sequence, progression, and causal reinforcement. When insufficient fluency is detected, a logical connector is selected from the sequence category of the lexicon using a polling method and inserted before the period at the end of the preceding statement or between the two statements to smooth the semantic transition.
[0161] Step S565: Append the causal single-step statement that has been processed to the interpretation chain text assembly buffer, and continue processing the next state semantic label until all state semantic labels in the state semantic label sequence have been processed.
[0162] The append operation connects the final causal single-step statement text string, determined after the connection processing in step S564, to the current tail of the interpretation chain text assembly buffer. After processing each state semantic label, the position index is incremented, and steps S562 to S565 are executed cyclically. When the position index exceeds the length range of the state semantic label sequence, it indicates that all intermediate state nodes have been processed, and the loop terminates.
[0163] Step S566: When the state semantic label sequence is processed, the state semantic label of the result node is written into the interpretation chain text assembly buffer as the closing statement of the interpretation chain, and a fault performance confirmation flag is appended after the closing statement. Finally, the complete content in the interpretation chain text assembly buffer is output as the fault causal interpretation chain.
[0164] The state semantic label of the result node was already read from the knowledge graph and temporarily stored during the result node localization process in step S200; here, this string is directly retrieved from the temporary storage area. The closing statement directly uses the state semantic label text of the result node as the final fault manifestation description sentence and appends it to the end of the explanation chain text assembly buffer. The fault manifestation confirmation mark is a fixed text label appended to the closing statement sentence, used to clearly indicate to the maintenance personnel reading the fault causal explanation chain that the end of the causal chain is the currently observed fault phenomenon. All text content from the starting statement to the fault manifestation confirmation mark in the explanation chain text assembly buffer is extracted into a complete string at once, encapsulated into a fault causal explanation chain object, and sent to the output target through the system's message push channel or human-machine interface update interface.
[0165] Figure 2 A hardware entity diagram of a computer system provided as an embodiment of the present invention, such as... Figure 2 As shown, the hardware entity of the computer system 1000 includes a processor 1001 and a memory 1002, wherein the memory 1002 stores a computer program that can run on the processor 1001, and the processor 1001 executes the program to implement the steps in the method of any of the above embodiments.
[0166] The memory 1002 stores computer programs that can run on the processor. The memory 1002 is configured to store instructions and applications that can be executed by the processor 1001. It can also cache data to be processed or already processed (e.g., image data, audio data, voice communication data, and video communication data) of the processor 1001 and various modules in the computer system 1000. It can be implemented by flash memory or random access memory (RAM).
[0167] The processor 1001 executes the program to implement any of the steps of the knowledge graph-based intelligent operation and maintenance management method for hydropower plants mentioned above. The processor 1001 typically controls the overall operation of the computer system 1000.
[0168] This invention provides a computer storage medium storing one or more programs that can be executed by one or more processors to implement the steps of the knowledge graph-based intelligent operation and maintenance management method for hydropower plants as described in any of the above embodiments.
[0169] It should be noted that the descriptions of the above storage medium and device embodiments are similar to those of the above method embodiments, and have similar beneficial effects. For technical details not disclosed in the storage medium and device embodiments of the present invention, please refer to the descriptions of the method embodiments of the present invention for understanding. The processor described above can be at least one of an Application Specific Integrated Circuit (ASIC), a Digital Signal Processor (DSP), a Digital Signal Processing Device (DSPD), a Programmable Logic Device (PLD), a Field Programmable Gate Array (FPGA), a Central Processing Unit (CPU), a controller, a microcontroller, and a microprocessor. It is understood that the electronic device implementing the above processor function can also be other types, and the embodiments of the present invention do not specifically limit it.
[0170] The above description is merely an embodiment of the present invention, but the scope of protection of the present invention is not limited thereto. Any changes or substitutions that can be easily conceived by those skilled in the art within the scope of the technology disclosed in the present invention should be included within the scope of protection of the present invention.
Claims
1. A knowledge graph-based intelligent operation and maintenance management method for hydropower plants, characterized in that, The method includes: Obtain a pre-constructed causal knowledge graph of hydropower equipment. The nodes of the causal knowledge graph represent the equipment failure mode and equipment status, and the directed edges represent the causal model of the failure propagation structure from cause to effect and carry conditional probability distribution information. Receive the target fault phenomenon, map the target fault phenomenon to the result node in the causal knowledge graph of the hydropower equipment, determine the original fault occurrence probability of the result node, and backtrack along the directed edge of the causal knowledge graph of the hydropower equipment to generate a set of candidate root cause nodes containing all potential causes. For each candidate root cause node in the candidate root cause node set, an intervention operation is performed one by one. By cutting off all external causal edges of the candidate root cause node in the causal knowledge graph of the hydropower equipment and applying external settings to its state, probability propagation is performed using the causal graph structure and conditional probability distribution information adjusted by the intervention to obtain the probability of the updated fault occurrence of the result node after the intervention. The updated failure probability corresponding to each candidate root cause node is read sequentially. The difference between the original failure probability of the result node and the updated failure probability is calculated to obtain the decrease in failure probability of the candidate root cause node. The decrease in failure probability is used as the basis quantity of the intervention effect. Extract all causal influence paths connecting the candidate root cause node and the result node from the causal knowledge graph of the hydropower equipment, count the number of intermediate state nodes traversed by each causal influence path, and extract the causal effect strength descriptors carried by all directed edges from each causal influence path. For each causal influence path, a path length loss coefficient is generated using the number of intermediate state nodes traversed by the path, and a path transmission retention coefficient is generated using the causal effect strength descriptors carried by all directed edges in the path. The path length loss coefficient and the path transmission retention coefficient are then combined to calculate the path credibility weight of the path. The intervention effect baseline quantity is combined with the confidence weight of each pathway to obtain a weighted intervention effect magnitude that reflects the contribution distribution of each pathway effect and highlights the dominant pathway. The combined operation includes allocating the intervention effect baseline quantity according to the pathway confidence weight, and multiplying the allocated share of each pathway by the corresponding pathway confidence weight and then summing them up. The topological importance index of the candidate root cause node in the causal knowledge graph of the hydropower equipment is obtained. The topological importance index is a dimensionless value after normalization. The weighted intervention effect magnitude is multiplied by the topological importance index to generate the counterfactual necessity measure of the candidate root cause node. The topological importance index is a comprehensive centrality value obtained by objectively weighting and fusing three centrality indices: degree centrality, betweenness centrality, and proximity centrality using the entropy weight method. Collect all counterfactual necessity measures of candidate root cause nodes, construct a measure ranking list, and mark the candidate root cause node with the largest counterfactual necessity measure in the measure ranking list as the root cause node. From the causal knowledge graph of the hydropower equipment, all intermediate state nodes on the causal transmission path from the root cause node to the result node are extracted, sequentially synthesized into a fault causal explanation chain, and output.
2. The method according to claim 1, characterized in that, The process involves receiving the target fault phenomenon, mapping it to a result node in the causal knowledge graph of the hydropower equipment, determining the original fault occurrence probability of the result node, and backtracking along the directed edges of the causal knowledge graph of the hydropower equipment to generate a set of candidate root cause nodes containing all potential causes, including: Receive target fault phenomenon description text entered in natural language, perform semantic boundary segmentation on the target fault phenomenon description text, segment the target fault phenomenon description text into multiple semantic segment units, and identify segment units carrying fault subject information and segment units carrying fault performance information from the multiple semantic segment units. The fragment unit carrying the fault subject information is matched with the pre-set component label set in the causal knowledge graph of the hydropower equipment, and the fragment unit carrying the fault manifestation information is matched with the pre-set state label set in the causal knowledge graph of the hydropower equipment. The component matching result and the state matching result are combined and searched in the causal knowledge graph of the hydropower equipment. The fault mode node that simultaneously meets the component label matching condition and the state label matching condition is determined as the result node. Read the probability distribution record attached to the result node from the causal knowledge graph of the hydropower equipment, extract the marginal probability value corresponding to the fault occurrence state in the probability distribution record as the original fault occurrence probability of the result node, and store the original fault occurrence probability in the result node attribute cache. Using the result node as the starting node for reverse traversal, search for all incoming edges pointing to the result node in the causal knowledge graph of the hydropower equipment, extract the source node identifier of each incoming edge, and include the extracted source node identifier into the initial predecessor node set. For each predecessor node in the initial set of predecessor nodes, continue to search for incoming edges pointing to the predecessor node in the causal knowledge graph of the hydropower equipment and extract the source node identifier of the next higher level. Continue this recursive reverse search process and check whether the newly extracted source node identifier has appeared in the previously constructed reverse traversal trajectory in each round of recursion. If it has appeared, it means that a loop has been formed on this branch in this round of reverse backtracking, and terminate further recursion along this branch. All non-repeating source node identifiers collected after all recursive branches terminate are aggregated into a candidate root cause node set containing all potential causes.
3. The method according to claim 2, characterized in that, The process involves matching the segment unit carrying the fault subject information with a pre-set set of component tags in the causal knowledge graph of the hydropower equipment, matching the segment unit carrying the fault manifestation information with a pre-set set of state tags in the causal knowledge graph of the hydropower equipment, and combining the component matching results and state matching results to search the causal knowledge graph of the hydropower equipment. Fault mode nodes that simultaneously meet both component tag matching conditions and state tag matching conditions are identified as the result nodes, including: The fragment unit carrying the fault subject information is input into the component name standardization process. Through synonym expansion and abbreviation restoration operations, the fragment unit is converted into a standardized component designation that is consistent with the standard component label format in the component label set. The standardized component designations are compared with the component labels carried by each fault mode node in the causal knowledge graph of the hydropower equipment through a dual-channel comparison of literal full matching and semantic approximate matching to generate the component matching confidence of each fault mode node. The fragment unit carrying fault performance information is input into the state description standardization process. Through verb normalization and degree adverb stripping operations, the fragment unit is converted into a standardized state reference that is consistent with the standard state label form in the state label set. The similarity between the normalized state reference and the state label carried by each fault mode node is compared using the semantic space embedding vector to generate the state matching confidence of each fault mode node. The component matching confidence and state matching confidence of the same fault mode node are input into the joint confidence fusion unit. The joint confidence fusion unit performs weighted fusion according to the preset contribution ratio of the component dimension and the state dimension to generate the comprehensive location confidence of the fault mode node. Sort all fault mode nodes by their comprehensive location reliability in descending order, and determine the fault mode node with the highest comprehensive location reliability as the result node. Record the node identifier and comprehensive location reliability of the result node together.
4. The method according to claim 2, characterized in that, For each predecessor node in the initial set of predecessor nodes, the process continues to search for incoming edges pointing to that predecessor node in the causal knowledge graph of the hydropower equipment and extracts the source node identifier of the next higher level. This recursive reverse search process continues, and in each round of recursion, it is checked whether the newly extracted source node identifier has appeared in the previously constructed reverse traversal trajectory. If it has appeared, it indicates that a loop has been formed on this branch in this round of reverse backtracking, and further recursion along this branch is terminated, including: Before each round of recursive reverse search begins, the node identifier to be expanded in the current round is obtained, and the node identifier is compared one by one with all the historical node identifiers in the constructed reverse traversal trajectory storage stack. The reverse traversal trajectory storage stack pushes the node identifiers in the order in which the nodes are accessed. When the comparison result indicates that the node identifier to be expanded in the current round already exists in the reverse traversal trajectory storage stack, the storage location depth value corresponding to the node identifier in the stack is extracted, the difference between the current recursion depth value and the storage location depth value is determined as the recursion loop span, and the node identifier is marked as the loop merging point. Generate a loop blocking record, write the node identifier of the loop merging point and the span of the recursive loop into the loop blocking record, and push the loop blocking record to the global blocking record table; For nodes marked as loop junctions, skip the inbound edge search operation for that node, directly return to its parent recursive call level, and set the recursion status of that node to blocked. For nodes not marked as loop junctions, push the node identifier of the node into the reverse traversal trajectory storage stack, and retrieve all incoming edges pointing to the node in the adjacency list of the hydropower equipment causal knowledge graph. Use the source node identifier of the retrieved incoming edges as the node to be expanded in the next round of recursion. When all recursive branches have returned and no new nodes to be expanded are generated, all node identifiers stored in the reverse traversal trajectory storage stack are deduplicated and exported as a candidate root cause node set containing all potential causes.
5. The method according to claim 1, characterized in that, For each candidate root cause node in the candidate root cause node set, an intervention operation is performed one by one. This involves cutting off all external causal edges of the candidate root cause node in the causal knowledge graph of the hydropower equipment and imposing external settings on its state. Probability propagation is then performed using the adjusted causal graph structure and conditional probability distribution information to obtain the probability of the result node's update failure after the intervention. This includes: For the currently selected candidate root cause node, traverse the global set of directed edges in the causal knowledge graph of the hydropower equipment, filter out all directed edges that terminate at the candidate root cause node, summarize these directed edges into a set of edges to be intervened, and mark the transmission attribute of each directed edge in the set of edges to be intervened as a paused transmission state. A complete graph topology is copied from the causal knowledge graph of the hydropower equipment as the intervention operation base map. In the intervention operation base map, the directed edges marked as paused transmission state are logically cut off, so that the causal influence path of the source node connected by the directed edge to the current candidate root cause node is cut off. In the intervention operation base map after logical severance processing, an overwrite operation is performed on the state distribution of the current candidate root cause node, forcing the state distribution of the node to be set to an intervention state distribution that only contains the probability of non-fault states, and the original state distribution is temporarily stored in the rollback cache. Taking the current candidate root cause node after the overwrite is written as the probability propagation starting node, the process advances layer by layer along the outgoing edge direction from the node in the intervention operation base map. Each downstream node that receives the updated state distribution from the upstream node at each layer recalculates its local state based on its stored conditional probability distribution information to generate the updated state distribution of the downstream node. During the layer-by-layer advancement process, the change in the updated state distribution of each node relative to its pre-received state distribution is monitored. When the change in a certain node is lower than the preset propagation attenuation threshold, the propagation branch after that node is truncated. The probability propagation is advanced layer by layer to the level where the result node is located. The probability value corresponding to the fault state is extracted from the updated state distribution of the result node and used as the probability of the updated fault occurrence corresponding to the current candidate root cause node.
6. The method according to claim 5, characterized in that, The probability propagation starts with the current candidate root cause node after the overwrite is written, and proceeds layer by layer along the outgoing edges from that node in the intervention operation base map. Each downstream node receiving the updated state distribution from the upstream node at each layer recalculates its local state based on its stored conditional probability distribution information, generating the updated state distribution of that downstream node, including: Using the current candidate root cause node after the overwrite is written as the propagation root node, a breadth-first traversal is performed on the intervention operation base map, and all reachable nodes are divided into multiple propagation levels according to the shortest directed edge distance between each node and the propagation root node. For the shallowest level where the root node is located, the distribution of the intervention state after the overwrite is encapsulated as a layer propagation signal, and the layer propagation signal is sent to the corresponding downstream node along the outgoing edge from the node in the shallowest level to the node in the next level. After receiving layer propagation signals from all its upstream nodes, each node at the next lower level performs a multi-dimensional probability combination deduction by combining the received multiple layer propagation signals with its own stored conditional probability distribution information to obtain the fused state distribution of the node. The probability offset vector is generated by calculating the state-by-state probability offset between the fused state distribution and the original state distribution held by the node before the start of this round of propagation. The probability offset vector records the increase or decrease in probability for each possible state. The significance of the node's state change is determined based on the magnitude of the probability distribution offset vector. When the magnitude exceeds a preset significant change threshold, the node is marked as a node to continue propagating. When the magnitude does not exceed the preset significant change threshold, the node is marked as a propagation termination node. Collect all nodes marked as continuing propagation nodes and use them as signal sources for the next round of layer propagation. Repeat the layer propagation signal encapsulation and transmission process until a certain level no longer generates any continuing propagation nodes or the propagation has reached the result node.
7. The method according to claim 5, characterized in that, The step of copying a complete graph topology from the causal knowledge graph of the hydropower equipment as the intervention operation base graph, and logically cutting the directed edges marked as paused in the intervention operation base graph to truncate the causal influence path from the source node connected by the directed edge to the current candidate root cause node, also includes: A global scan is performed on the causal path structure changes caused by the logical severance processing in the intervention operation base map to identify all new causal shortcuts generated from the current candidate root cause node due to the breakage of the original path. The causal shortcut refers to an alternative causal path that did not exist originally and bypasses at least one intermediate node of the original path to reach the downstream node directly. For each causal shortcut, an effect sampling test is performed, and the conditional probability distribution information of the bypassed nodes in the original path crossed by the causal shortcut is extracted. Based on the conditional probability distribution information of the bypassed nodes, the blocking probability of the path segment if it is not cut off is deduced. The blocking probability is compared with the probability propagation increment currently carried by the causal shortcut. When the probability propagation increment exceeds the preset tolerance range of the blocking probability, the causal shortcut is marked as an overcompensated path, and the path identifier and compensation deviation of the overcompensated path are recorded in the intervention distortion log. The compensation deviation of all overcompensated paths is read from the intervention distortion log. During the layer-by-layer process of probability propagation, signal attenuation processing is automatically triggered when the signal flows through the overcompensated path. A positive mapping relationship is established between the attenuation amplitude of the signal attenuation processing and the compensation deviation. After signal attenuation processing, the attenuated signal continues to be transmitted downstream along the overcompensation path, and at each downstream node, the attenuated signal from the overcompensation path is distinguished and fused with the unattenuated signal from other normal paths to generate the distinguished and fused state distribution of the downstream node. Replacing the fused state distribution of the downstream node with the distinguished fusion state distribution allows for targeted suppression of the probability contribution from the overcompensated path.
8. The method according to claim 1, characterized in that, For each causal influence path, a path length loss coefficient is generated using the number of intermediate state nodes traversed by the path, and a path propagation retention coefficient is generated using the causal effect strength descriptors carried by all directed edges in the path. The path length loss coefficient and the path propagation retention coefficient are then combined to calculate the path reliability weight, including: The total number of intermediate state nodes traversed by each causal influence path from the candidate root cause node to the result node is counted. The total number of intermediate state nodes is compared with a preset node number threshold. When the total number of intermediate state nodes does not exceed the preset node number threshold, a linear decay mapper is directly used to generate the path length loss coefficient. When the total number of intermediate state nodes exceeds the preset node number threshold, the accelerated decay mapper is switched to generate the path length loss coefficient. Extract the causal effect strength descriptor carried by each directed edge in the causal influence path, organize the causal effect strength descriptors of each directed edge into an effect strength sequence in the order from candidate root cause node to result node, and detect whether there is an effect strength mutation edge in the effect strength sequence. The effect strength mutation edge refers to the edge whose causal effect strength descriptor is different from the causal effect strength descriptor of its predecessor edge, which exceeds a preset strength jump threshold. When an effect intensity abrupt change edge is detected in the effect intensity sequence, the effect intensity sequence is divided into multiple effect intensity sub-sequence segments with the effect intensity abrupt change edge as the boundary, and internal conduction intensity aggregation processing is performed on each effect intensity sub-sequence segment to obtain the intra-segment conduction preservation coefficient of each effect intensity sub-sequence segment; The intra-segment conduction retention coefficients of each effect intensity sub-sequence segment are spliced together according to the segmentation order, and a mutation attenuation correction is added to the position of the effect intensity mutation edge during the splicing process to generate the pathway conduction retention coefficient of the causal influence pathway. Obtain the topological structure label of the causal influence path in the causal knowledge graph of the hydropower equipment. The topological structure label is used to distinguish whether the causal influence path is a series path, a convergence path, or a path containing a feedback loop. Select the corresponding path structure constraint rule according to the topological structure label. The pathway length loss coefficient and the pathway conduction retention coefficient are integrated under the constraints of the selected pathway structure constraint rules to generate the pathway credibility weight of the causal influence pathway. The contribution ratio of the pathway length loss coefficient and the contribution ratio of the pathway conduction retention coefficient during the integration process are dynamically adjusted by the pathway structure constraint rules.
9. A computer system comprising a memory and a processor, the memory storing a computer program executable on the processor, characterized in that, When the processor executes the program, it implements the steps of the method according to any one of claims 1 to 8.
Citation Information
Patent Citations
Computer fault diagnosis method based on causal reasoning and mapping knowledge domain hybrid architecture
CN121957958A
Data and model dual-driven intelligent operation and maintenance method and system for transformer substation
CN122119136A