The signed directed graph (SDG) has been widely applied in the fault diagnosis. However, the structure of SDG is so complicated especially when it is used to describe a complex system. As a result, this will lead to the problem of combinatorial explosion and has limited SDG to the realistic application. To solve this problem, we present an improved SDG faults diagnosis algorithm in this paper. When the SDG is established, the adjacency matrix will be obtained; then by Warshall algorithm, the reachable matrix is derived. After that, four diagnosis methods for selecting optimal measuring points are developed which avoid inefficient testing in diagnosis process to increase diagnosis efficiency. Finally the hierarchical techniques, constraint propagation, intermediate optimization and the fault backward reasoning of SDG are combined to locate the fault of the system. The methodology is applied to a centrifugal pump and liquid level system for a thermal power plant. The experiment results prove its feasibility and efficiency.