## 3 Results
### AI Development Description  
#### 3.4.1 Fault Detection Network  
This neural network can identify abnormal operations within the system and can additionally specify the zone of the ship where the anomaly is occurring. Neural networks (NNs) are computational models designed to simulate the functioning of neurons in the human brain, with the objective of solving complex computational problems that are not easily programmable [43]. Therefore, these artificial neural networks are trained to learn from data. A multi-layer perceptron (MLP) architecture was employed in this study. The MLP is composed of multiple layers of neurons: an input layer, one or more hidden layers, and an output layer. Each neuron in each layer is fully connected to every neuron in the next layer. This configuration allows the network to learn complex patterns and relationships within the dataset, making it suitable for the task of detecting and localizing faults in the ship's firefighting system. The developed algorithm has a general scheme like the following (Figure 3):  
The input data for the neural network consist of a series of pressure measurements from each sensor, capturing both time and pressure values. The output is a binary indicator (0/1) that signifies either a fault or normal operation of the system. In the neural network model, each node functions as a neuron, and the connections between nodes in different layers are represented by arrows. These connections involve multiplying the neuron's output by a weight value, which can either enhance or diminish the activation level of neighboring neurons. Furthermore, at the neuron's output, an activation function or threshold may be applied. This function adjusts the output value or imposes a limit before it propagates to the next neuron, playing a crucial role in the network's learning process. The architecture chosen for the fault detection was a fitting neural network. In this context, the network is trained on a set of inputs to produce corresponding target outputs. Various configurations of the network, including different numbers of layers and neurons, as well as different sizes of input data samples, were explored to identify the optimal configuration. Figure 3: Neural network (fault detection) scheme. A feed-forward, fully connected neural network architecture was selected due to its wide usage and versatility. Error correction learning, specifically a back propagation/gradient descent algorithm, was employed to allow the network to self-adjust its parameters. Bayesian regularization was chosen as the training algorithm to avoid potential overfitting issues. This decision was based on preliminary results obtained using MATLAB's NFTOOL, which allows for straightforward neural network training without programming. The results with Bayesian regularization significantly improved upon those obtained using the Levenberg-Marquardt algorithm. Since there is no established rule for determining the optimal number of layers or neurons for a neural network, a sensitivity analysis was conducted to identify the optimal structure that minimizes error: a number of layers that varies from 1 to 3 and a number of neurons that varies from 5 to 30. Manual selection of cases for training, validation, and testing was performed to ensure a correct distribution of real-world cases. The primary evaluation metric used was the mean squared error (MSE). The network's performance was assessed based on the training, validation, and test errors to ensure the models' generalization capabilities. The performance results were obtained from the three best networks stored by the program for each configuration. Figure 4 illustrates the algorithm proposed for developing the neural network. To develop both the detection and localization algorithms, the standard model selection and error estimation procedure was employed [44]. This procedure encompasses a set of techniques utilized in machine learning and statistics for selecting models and estimating generalization error.