Equivalence Query L* DFA

39 views
Skip to first unread message

Simone Agostinelli

unread,
Feb 3, 2020, 10:32:03 AM2/3/20
to LearnLib Q&A
Hi eveyone,

I am using the following line of code for the equivalence test:
DFAWMethodEQOracle wMethod = new DFAWMethodEQOracle(mqOracle, EXPLORATION_DEPTH)

However, I need to change the test condition for the equivalence check. Is there a way to implement it for the L* algorithm?

Thank you in advance,
Simone Agostinelli

Carlos Diego Nascimento Damasceno

unread,
Feb 3, 2020, 11:05:19 AM2/3/20
to Simone Agostinelli, LearnLib Q&A
Dear Simone,

Recently, I had to implement some EqOracles using LearnLib.
To do that, I extended the class and overrode the findCounterExample() method. 
Thus, I did not have to rebuild the whole library.

--
You received this message because you are subscribed to the Google Groups "LearnLib Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to learnlib-qa...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/learnlib-qa/bf472c38-847c-437d-923b-ffdde078e52c%40googlegroups.com.


--
Regards, 

Carlos Diego N. Damasceno, MSc
PhD candidate @ ICMC - USP

Markus Frohme

unread,
Feb 4, 2020, 2:54:10 AM2/4/20
to Simone Agostinelli, LearnLib Q&A
Hi Simone,


you can either -- as Diego suggested -- override the respective
`findCounterExample` method of the oracle you want to refine or you can
write an own EQ oracle subclassing the `AbstractTestWordEQOracle` class.

Here, you'll need to implement a `Stream<Word<I>> generateTestWords(A
hypothesis, Collection<? extends I> inputs)` method that returns a stream
of input words for which the hypothesis' output should be compared with
the system's output. This may be more convenient/efficient if you can
lazily generate the test words of your custom equivalence criterion. Plus,
it would already give you support for batching queries, in case you are
using parallel MQ oracles.


Kind regards,
Markus


Am Mo, 3.02.2020, 16:32 schrieb 'Simone Agostinelli' via LearnLib Q&A:
> Hi eveyone,
>
> I am using the following line of code for the equivalence test:
> *DFAWMethodEQOracle wMethod = new DFAWMethodEQOracle(mqOracle,
> EXPLORATION_DEPTH)*;

Simone Agostinelli

unread,
Feb 4, 2020, 4:12:46 PM2/4/20
to LearnLib Q&A
Dear Diego,

Thank you for the prompt reply. I got the point but I'm encountering some problems in computing the DefaultQuery result the findCounterExample() method has to return.

Can you please share with me the line of codes of your overridden findCounterExample() method?

Thank you again :-)

--Simone

Il giorno lunedì 3 febbraio 2020 17:05:19 UTC+1, Diego Damasceno ha scritto:
Dear Simone,

Recently, I had to implement some EqOracles using LearnLib.
To do that, I extended the class and overrode the findCounterExample() method. 
Thus, I did not have to rebuild the whole library.

On Mon, 3 Feb 2020 at 12:32, 'Simone Agostinelli' via LearnLib Q&A <learn...@googlegroups.com> wrote:
Hi eveyone,

I am using the following line of code for the equivalence test:
DFAWMethodEQOracle wMethod = new DFAWMethodEQOracle(mqOracle, EXPLORATION_DEPTH)

However, I need to change the test condition for the equivalence check. Is there a way to implement it for the L* algorithm?

Thank you in advance,
Simone Agostinelli

--
You received this message because you are subscribed to the Google Groups "LearnLib Q&A" group.
To unsubscribe from this group and stop receiving emails from it, send an email to learn...@googlegroups.com.

Simone Agostinelli

unread,
Feb 4, 2020, 4:25:00 PM2/4/20
to LearnLib Q&A
Hi Mark,

Thank you for the answer!

I'm currently overriding the findCounterExample() method of DFAWMethodEQOracle class. If I won't succeed I will try the second method.

Best regards,
Simone
Reply all
Reply to author
Forward
0 new messages