// Declare arrays to store the average membership queries and average equivalence queries
double[] avgMemQueriesLstar = new double[xValues.length];
double[] avgMemQueriesRS = new double[xValues.length];
double[] avgMemQueriesKV = new double[xValues.length];
double[] avgMemQueriesOP = new double[xValues.length];
double[] avgMemQueriesTTT = new double[xValues.length];
double[] avgEqQueriesLstar = new double[xValues.length];
double[] avgEqQueriesRS = new double[xValues.length];
double[] avgEqQueriesKV = new double[xValues.length];
double[] avgEqQueriesOP = new double[xValues.length];
double[] avgEqQueriesTTT = new double[xValues.length];
double[] accuracyLstar = new double[xValues.length];
double[] accuracyRS = new double[xValues.length];
double[] accuracyKV = new double[xValues.length];
double[] accuracyOP = new double[xValues.length];
double[] accuracyTTT = new double[xValues.length];
// Iterate over each configuration: y denotes the size of the alphabet of the target DFA, z denotes the size of the target DFA, x denotes the acceptance ratio of the target DFA
for(int y:yValues) {
for (int z : zValues) {
int k=0;
for (double x : xValues) {
// Create the alphabet
Alphabet<Integer> alphabet = Alphabets.integers(0, y - 1);
int memCounterLstar = 0;
int memCounterRS = 0;
int memCounterKV = 0;
int memCounterOP = 0;
int memCounterTTT = 0;
int eqCounterLstar = 0;
int eqCounterRS = 0;
int eqCounterKV = 0;
int eqCounterOP = 0;
int eqCounterTTT = 0;
int controleLstar = 0;
int controleRS = 0;
int controleKV = 0;
int controleOP = 0;
int controleTTT = 0;
// Generate 100 random DFAs for each configuration
for (int i = 0; i < 100; i++) {
System.out.println("Generating random DFA " + i + " for configuration (x,y,z):" + x + "," + y + "," + z + "Test Size: " + 100);
Random rand = new Random();
ExampleRandomDFA example = new ExampleRandomDFA(rand, y, z, x, alphabet);