Skip to content
Snippets Groups Projects
Commit 42bc5a27 authored by Muhammad Raufu Miah's avatar Muhammad Raufu Miah
Browse files

Update ExperimentsScaleAlphabet

parent b944be90
No related branches found
No related tags found
No related merge requests found
import de.learnlib.acex.AcexAnalyzer;
import de.learnlib.algorithm.kv.dfa.KearnsVaziraniDFA;
import de.learnlib.algorithm.kv.dfa.KearnsVaziraniDFABuilder;
import de.learnlib.algorithm.lstar.dfa.ClassicLStarDFABuilder;
import de.learnlib.algorithm.observationpack.dfa.OPLearnerDFA;
import de.learnlib.algorithm.observationpack.dfa.OPLearnerDFABuilder;
import de.learnlib.algorithm.rivestschapire.RivestSchapireDFA;
import de.learnlib.algorithm.ttt.base.AbstractTTTLearner;
import de.learnlib.algorithm.ttt.dfa.TTTLearnerDFA;
import de.learnlib.algorithm.ttt.dfa.TTTLearnerDFABuilder;
import de.learnlib.filter.statistic.oracle.DFACounterOracle;
import de.learnlib.oracle.EquivalenceOracle;
import de.learnlib.oracle.MembershipOracle;
import de.learnlib.oracle.equivalence.DFASimulatorEQOracle;
import de.learnlib.oracle.equivalence.WMethodEQOracle;
import de.learnlib.oracle.membership.DFASimulatorOracle;
import de.learnlib.query.DefaultQuery;
import net.automatalib.alphabet.Alphabet;
......@@ -20,14 +17,14 @@ import net.automatalib.alphabet.Alphabets;
import net.automatalib.automaton.fsa.DFA;
import de.learnlib.algorithm.lstar.dfa.ClassicLStarDFA;
import de.learnlib.algorithm.rivestschapire.RivestSchapireDFABuilder;
import net.automatalib.word.Word;
import org.knowm.xchart.QuickChart;
import org.knowm.xchart.SwingWrapper;
import org.knowm.xchart.XYChart;
import org.knowm.xchart.XYSeries;
import java.util.ArrayList;
import java.util.List;
import java.util.Random;
import java.util.stream.Collectors;
public class ExperimentsScaleAlphabet {
......@@ -35,7 +32,7 @@ public class ExperimentsScaleAlphabet {
// Define configurations
double[] yValues = {0.01};
int[] zValues = { 100 };
int[] xValues = {10,20,30,40,50,60,70,80,90,100};
int[] xValues = {100,200,300};
// Declare arrays to store the average membership queries and average equivalence queries
double[] avgMemQueriesLstar = new double[xValues.length];
......@@ -198,6 +195,10 @@ public class ExperimentsScaleAlphabet {
// Create the second XY chart (equivalence queries) with extended series
XYChart chart2 = QuickChart.getChart("Average Equivalence Queries, n=100, Acceptence Ratio = 0.01", "Alphabet Length", "Queries", extendedSeriesNames2, xValuesDouble, new double[][]{avgEqQueriesLstar, avgEqQueriesRS,avgEqQueriesKV, avgEqQueriesOP, avgEqQueriesTTT, upperboundeqValues});
new SwingWrapper(chart2).displayChart();
printXYChartPairs(chart1);
printXYChartPairs(chart2);
printXYChartPairs(chartExcludingLS);
}
......@@ -302,4 +303,32 @@ public class ExperimentsScaleAlphabet {
return n;
}
public static void printXYChartPairs(XYChart chart) {
System.out.println("Chart: " + chart.getTitle());
// Get all series in the chart
List<XYSeries> seriesList = chart.getSeriesMap().values().stream().collect(Collectors.toList());
// Iterate over each series
for (XYSeries series : seriesList) {
System.out.println("Series: " + series.getName());
// Get x and y data
double[] xData = series.getXData();
double[] yData = series.getYData();
// Ensure x and y data are of the same size
if (xData.length != yData.length) {
System.out.println("Mismatch in data size for series: " + series.getName());
continue;
}
// Print (x, y) pairs
for (int i = 0; i < xData.length; i++) {
System.out.println("(" + xData[i] + ", " + yData[i] + ")");
}
}
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment