| Algorithm 1: Steps of ANFIS algorithm |
| 1: Defining of linguistic variables for each hardware component 2: Constructing membership functions for each linguistic variable 3: Developing knowledge base (rule base for Mamdani ANFIS and training dataset for Sugeno ANFIS) 4: Fuzzifying the crisp inputs 5: Training process and evaluating knowledge base (database, dataset, and rule base) 6: Combining the output results of each rule 7: Defuzzifying nonfuzzy outputs |