You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Yann Esposito (Yogsototh) aba7bc1213
wip to compile it again with XCode on Sierra
5 years ago
dees.xcodeproj wip to compile it again with XCode on Sierra 5 years ago
help Initial git init 11 years ago
include Initial git init 11 years ago
lib Initial git init 11 years ago
.gitignore wip to compile it again with XCode on Sierra 5 years ago
README.md updated README 5 years ago
apprend.sh Initial git init 11 years ago
dees Initial git init 11 years ago
general.H wip to compile it again with XCode on Sierra 5 years ago
interface.H wip to compile it again with XCode on Sierra 5 years ago
interface.cpp wip to compile it again with XCode on Sierra 5 years ago
ma.H wip to compile it again with XCode on Sierra 5 years ago
ma.cpp wip to compile it again with XCode on Sierra 5 years ago
main.H Initial git init 11 years ago
main.cpp wip to compile it again with XCode on Sierra 5 years ago
oldsimplex.H Initial git init 11 years ago
pfa.H Initial git init 11 years ago
pfa.cpp wip to compile it again with XCode on Sierra 5 years ago
pprfa.H wip to compile it again with XCode on Sierra 5 years ago
pprfa.cpp Initial git init 11 years ago
pprfa_bm.cpp Initial git init 11 years ago
pprfa_dees.cpp wip to compile it again with XCode on Sierra 5 years ago
sample.H wip to compile it again with XCode on Sierra 5 years ago
sample.cpp wip to compile it again with XCode on Sierra 5 years ago
simplex.H Initial git init 11 years ago
simplex.cpp Initial git init 11 years ago
spfa.H Initial git init 11 years ago
spfa.cpp Initial git init 11 years ago
test.H Initial git init 11 years ago
test.cpp wip to compile it again with XCode on Sierra 5 years ago
toto Initial git init 11 years ago
ySimplex.cpp Initial git init 11 years ago

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.