Go to file
Yann Esposito (Yogsototh) aba7bc1213
wip to compile it again with XCode on Sierra
2016-09-24 14:08:58 +02:00
dees.xcodeproj wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
help Initial git init 2011-05-17 22:24:18 +02:00
include Initial git init 2011-05-17 22:24:18 +02:00
lib Initial git init 2011-05-17 22:24:18 +02:00
.gitignore wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
README.md updated README 2016-09-24 13:41:53 +02:00
apprend.sh Initial git init 2011-05-17 22:24:18 +02:00
dees Initial git init 2011-05-17 22:24:18 +02:00
general.H wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
interface.H wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
interface.cpp wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
ma.H wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
ma.cpp wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
main.H Initial git init 2011-05-17 22:24:18 +02:00
main.cpp wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
oldsimplex.H Initial git init 2011-05-17 22:24:18 +02:00
pfa.H Initial git init 2011-05-17 22:24:18 +02:00
pfa.cpp wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
pprfa.H wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
pprfa.cpp Initial git init 2011-05-17 22:24:18 +02:00
pprfa_bm.cpp Initial git init 2011-05-17 22:24:18 +02:00
pprfa_dees.cpp wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
sample.H wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
sample.cpp wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
simplex.H Initial git init 2011-05-17 22:24:18 +02:00
simplex.cpp Initial git init 2011-05-17 22:24:18 +02:00
spfa.H Initial git init 2011-05-17 22:24:18 +02:00
spfa.cpp Initial git init 2011-05-17 22:24:18 +02:00
test.H Initial git init 2011-05-17 22:24:18 +02:00
test.cpp wip to compile it again with XCode on Sierra 2016-09-24 14:08:58 +02:00
toto Initial git init 2011-05-17 22:24:18 +02:00
ySimplex.cpp Initial git init 2011-05-17 22:24:18 +02:00

README.md

What is DEES and what does it do?

DEES is a is a Multiplicity Automata (MA) inference algorithm. This C++ program is about 7,500 lines (10,000 with comments). The theory behind this algorithm can be found in the following papers:

A Multiplicity Automaton can be seen as a generalisation of Hidden Markov Models (HMM). See this paper for more details.

So mainly DEES is an algorithm that learn both the parameters and the structure of HMM. And for that it doesn't use an euristic but properties proven to converge. In fact DEES can generate HMM but also more generic models. These models are the Multiplicity Automata (mainly, imagine an HMM with some parameter being able to be negative).

It takes a sample of many sequences (or words) generated by a target probability distribution and return a model (a multiplicity automaton) generating a probability distribution as close as possible of the target distribution.

We can restric the learned model to be:

  • a Multiplicity Automaton
  • a Probabilistic Automaton (PA) (another name for Hidden Markov Models - HMM) ; in this case the identified class is the set of Probabilistic Residual Automata (PRA)
  • a Probabilistic Deterministic Automaton (PDA)

Features

The main features of DEES are:

  • Multiplicity automata (MA) inference from a sample of sequences.
  • Probabilistic Automata (PA) Inference
  • Probabilistic Deterministic Automata (PDA) Inference

This repository also contains many other features:

  • Viterbi algorithm
  • Baulm-Welch algorithm
  • Random generation methods of MA, PA, PRA and PDA
  • GraphViz export of models
  • Sample generation from an MA
  • Model class detection (MA, PA, PRA, PDA)
  • Compute, if it exists, the sum of all values of all the words of a distribution generated by a MA.
  • Convertion between Alergia, MDI and DEES file format ; sample and automata
  • Generation of the trimmed MA of an MA in linear time
  • If GraphViz is intalled, model are shown and export them in PDF

More informations

http://yann.esposito.free.fr/dees.php?css=blue.css&lang=en

If you want all the gory details you can check my Ph.D. thesis written in French.

Contact me if you have question. I'll be happy to talk to you.