コード例 #1
0
ファイル: dfa.py プロジェクト: TCatshoek/STMLearn
 def setUp(self):
     s1 = DFAState('s1')
     s2 = DFAState('s2')
     s3 = DFAState('s3')
     s1.add_edge('a', s2)
     s1.add_edge('b', s1)
     s2.add_edge('a', s2)
     s2.add_edge('b', s3)
     s3.add_edge('a', s3)
     s3.add_edge('b', s3)
     self.dfa = DFA(s1, [s3])
コード例 #2
0
ファイル: partition.py プロジェクト: TCatshoek/STMLearn
    def setUp(self):
        # Set up an example mealy machine
        s1 = DFAState('1')
        s2 = DFAState('2')
        s3 = DFAState('3')

        s1.add_edge('a', s2)
        s1.add_edge('b', s1)
        s2.add_edge('a', s3)
        s2.add_edge('b', s1)
        s3.add_edge('a', s3)
        s3.add_edge('b', s1)

        self.dfa = DFA(s1, [s3])
コード例 #3
0
import tempfile

from stmlearn.equivalencecheckers import BFEquivalenceChecker
from stmlearn.learners import TTTDFALearner
from stmlearn.suls import DFA, DFAState
from stmlearn.teachers import Teacher

# Set up a simple state machine (S1) =a> (S2) =b> ((S3))

s1 = DFAState('s1')
s2 = DFAState('s2')
s3 = DFAState('s3')

s1.add_edge('a', s2)
s2.add_edge('b', s3)

sm = DFA(s1, [s3])

# Since we are learning a DFA, we need edges for the whole alphabet in every state
s1.add_edge('b', s1)
s2.add_edge('a', s2)
s3.add_edge('a', s3)
s3.add_edge('b', s3)

# We are using the brute force equivalence checker
eqc = BFEquivalenceChecker(sm)

# Set up the teacher, with the system under learning and the equivalence checker
teacher = Teacher(sm, eqc)

# Set up the learner who only talks to the teacher
コード例 #4
0
ファイル: partition.py プロジェクト: TCatshoek/STMLearn
 def setUp(self):
     # Set up an example mealy machine
     s1 = DFAState('1')
     s1.add_edge('a', s1)
     s1.add_edge('b', s1)
     self.dfa = DFA(s1, [])