Package net.maswag.falcaun
Class NumericMembershipOracleCost
java.lang.Object
net.maswag.falcaun.NumericMembershipOracle
net.maswag.falcaun.NumericMembershipOracleCost
- All Implemented Interfaces:
BatchProcessor<Query<String,,net.automatalib.word.Word<String>>> MembershipOracle<String,,net.automatalib.word.Word<String>> MembershipOracle.MealyMembershipOracle<String,,String> QueryAnswerer<String,,net.automatalib.word.Word<String>> EvaluationCountable
A membership oracle that computes the cost of input-output signals using a specified cost function.
This class extends
NumericMembershipOracle and implements EvaluationCountable.
It processes queries to determine the output signals for given inputs and calculates the associated costs
using a provided cost function. The results are cached to improve efficiency.-
Nested Class Summary
Nested classes/interfaces inherited from interface net.maswag.falcaun.EvaluationCountable
EvaluationCountable.MealyEquivalenceOracle<I,O>, EvaluationCountable.Sum Nested classes/interfaces inherited from interface de.learnlib.oracle.MembershipOracle
MembershipOracle.DFAMembershipOracle<I extends Object>, MembershipOracle.MealyMembershipOracle<I extends Object,O extends Object>, MembershipOracle.MooreMembershipOracle<I extends Object, O extends Object> -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate intprivate static final org.slf4j.Loggerprivate Set<NumericMembershipOracleCost>Fields inherited from class net.maswag.falcaun.NumericMembershipOracle
cache, mapper, sul -
Constructor Summary
ConstructorsConstructorDescriptionNumericMembershipOracleCost(NumericSUL sul, SignalDiscretizer mapper, Function<IOSignal<List<Double>>, Double> costFunc) -
Method Summary
Modifier and TypeMethodDescription(package private) booleanaddNotified(NumericMembershipOracleCost notified) (package private) booleanaddNotifiedAll(Collection<NumericMembershipOracleCost> notified) private voidcacheInsert(net.automatalib.word.Word<String> abstractInput, IOSignal<List<Double>> concreteSignal, net.automatalib.word.Word<String> abstractOutput) voidprocessQueries(Collection<? extends Query<String, net.automatalib.word.Word<String>>> queries) (package private) DoubleprocessQueryWithCost(Query<String, net.automatalib.word.Word<String>> q) Methods inherited from class net.maswag.falcaun.NumericMembershipOracle
cacheInsert, getCache, setCacheMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.maswag.falcaun.EvaluationCountable
getEvaluateCountMethods inherited from interface de.learnlib.oracle.MembershipOracle
answerQuery, answerQuery, asOracle, processBatch, processQuery
-
Field Details
-
LOGGER
private static final org.slf4j.Logger LOGGER -
costCache
-
costFunc
-
notifiedSet
-
evaluateCount
private int evaluateCount
-
-
Constructor Details
-
NumericMembershipOracleCost
NumericMembershipOracleCost(NumericSUL sul, SignalDiscretizer mapper, Function<IOSignal<List<Double>>, Double> costFunc)
-
-
Method Details
-
processQueries
public void processQueries(Collection<? extends Query<String, net.automatalib.word.Word<String>>> queries) - Specified by:
processQueriesin interfaceMembershipOracle<String,net.automatalib.word.Word<String>> - Overrides:
processQueriesin classNumericMembershipOracle
-
processQueryWithCost
-
cacheInsert
-
addNotified
-
addNotifiedAll
-