Learning from a black-box system

37 views
Skip to first unread message

John Huynh

unread,
Jan 24, 2020, 1:06:09 PM1/24/20
to LearnLib Q&A
Hello Sir,

regarding to real life systems, I have a few questions that come along an example that I would like to approach:
Imagine we have a ball that starts at a certain point h_max and falls until it hits the ground h_0, then bounces up to h_max again and then falls again and so on.
Certainly, we can model this example with two states 1. "falling" and 2. "rising" with the inputs h_max and h_0. 

Now, all the states and inputs I simply can define in a custom java class that represents the SUL and can be learned from. The "issue" is that I have to know how the system works internally.

I would like to simulate the scenario, where I don't know how the system works internally, i.e. I don't know about the states and conditions. I only get the height of the ball and the direction it is moving in per time unit and I know about the starting point of the ball h_max.
So it should be some sort of black-box system that serves as SUL.

How could I possibly set up such an SUL and learn only from the corresponding outputs of certain inputs? 

All I currently know is, that I can create a learning setup in which the learner learns about the automaton, which is either a DFA or a Java Class that I have to create manually. I don't have information about learning the automaton from an SUL that only gives you outputs for certain inputs and how to set this up.

Is there any source that is available?  

Thanks in advance.

Kind regards,
John

Markus Frohme

unread,
Jan 25, 2020, 9:10:08 PM1/25/20
to John Huynh, LearnLib Q&A
Dear John,


regarding the modeling of your problem, I answered in the other thread. The only new thing you ask here is how to plug-in a SUL into a learning configuration on code level, right?

The second example (the one with the Java class [0]) basically gives you everything you need. Here, the SimplePOJOTestDriver is just a fance SUl that gives you some helper methods to do reflection stuff. However, you can also just put your own SUL implementation into a SULOracle and use the oracle in the learning setup (basically everything from line 85 onward).


Kind regards,
Markus


[0] - https://github.com/LearnLib/learnlib/blob/develop/examples/src/main/java/de/learnlib/examples/Example2.java
> --
> 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/1b363a51-7343-4f48-bba9-02fa8ef7eb84%40googlegroups.com.

Reply all
Reply to author
Forward
0 new messages