mirror of
https://github.com/Jaxan/nominal-lstar.git
synced 2025-04-27 06:37:45 +02:00
added a benchmark
This commit is contained in:
parent
1e092a319b
commit
78bb8ef823
2 changed files with 10 additions and 10 deletions
|
@ -15,8 +15,9 @@ myConfig = defaultConfig
|
|||
|
||||
main = defaultMainWith myConfig [
|
||||
bgroup "NomNLStar"
|
||||
[ bench "NFA1 -" $ whnf (learnBollig 1 1) (teacherWithTargetNonDet 2 Examples.exampleNFA1)
|
||||
, bench "NFA2 1" $ whnf (learnBollig 0 0) (teacherWithTargetNonDet 3 (Examples.exampleNFA2 1))
|
||||
, bench "NFA2 2" $ whnf (learnBollig 0 0) (teacherWithTargetNonDet 4 (Examples.exampleNFA2 2))
|
||||
[ bench "NFA1 " $ whnf (learnBollig 0 0) (teacherWithTargetNonDet 2 Examples.exampleNFA1)
|
||||
, bench "NFA2 1 " $ whnf (learnBollig 0 0) (teacherWithTargetNonDet 3 (Examples.exampleNFA2 1))
|
||||
, bench "NFA2 2 " $ whnf (learnBollig 0 0) (teacherWithTargetNonDet 4 (Examples.exampleNFA2 2))
|
||||
, bench "Residual" $ whnf (learnBollig 1 0) (teacherWithTargetNonDet 2 Examples.exampleResidual1)
|
||||
]
|
||||
]
|
||||
|
|
|
@ -12,26 +12,25 @@ import GHC.Generics (Generic)
|
|||
import Prelude (Eq, Ord, Read, Show)
|
||||
import qualified Prelude ()
|
||||
|
||||
data Res1 a = QR1 a | QR2 | QAncStar
|
||||
data Res1 a = QR1 a | QR2 | QEmpty
|
||||
deriving (Eq, Ord, Show, Generic, NominalType, Contextual)
|
||||
|
||||
-- Language L = { w a | a fresh for w }, but anchored with a new symbol
|
||||
-- Language L = { w a | a fresh for w } + {eps}, but anchored with a new symbol
|
||||
exampleResidual1 :: Automaton (Res1 Atom) DataInput
|
||||
exampleResidual1 = automaton
|
||||
-- state space
|
||||
(fromList [QR2, QAncStar]
|
||||
(fromList [QR2, QEmpty]
|
||||
`union` map QR1 atoms)
|
||||
-- alphabet
|
||||
(map Put atoms `union` map Get atoms)
|
||||
-- transition relation
|
||||
(map (\a -> (QR1 a, Get a, QR1 a)) atoms
|
||||
`union` pairsWithFilter (\a b -> maybeIf (a `neq` b) (QR1 a, Put b, QR1 a)) atoms atoms
|
||||
`union` map (\a -> (QR1 a, Put a, QR2)) atoms
|
||||
`union` map (\a -> (QAncStar, Put a, QAncStar)) atoms)
|
||||
`union` map (\a -> (QR1 a, Put a, QR2)) atoms)
|
||||
-- initial states
|
||||
(map QR1 atoms `union` singleton QAncStar)
|
||||
(map QR1 atoms `union` singleton QEmpty)
|
||||
-- final states
|
||||
(fromList [QR2, QAncStar])
|
||||
(fromList [QR2, QEmpty])
|
||||
|
||||
|
||||
-- Example when learning breaks
|
||||
|
|
Loading…
Add table
Reference in a new issue