1%{ @file mmap_compress.m
2 % @brief Compresses an
MMAP into a smaller representation
4 % @author LINE Development Team
8 % @brief Compresses a Marked MAP into a smaller representation
11 % This function compresses an
MMAP (Marked Markovian Arrival Process) into
12 % a smaller representation
using various compression methods including
13 % mixture fitting, MAMAP2, and M3PP approaches.
23 % <tr><th>Name<th>Description
24 % <tr><td>
MMAP<td>Original Marked Markovian Arrival Process
25 % <tr><td>config<td>(Optional) Configuration
struct with compression method
30 % <tr><th>Name<th>Description
34function
MMAP = mmap_compress(
MMAP, config)
35if nargin<1%~exist(
'config',
'var')
38if ~isfield(config,'method')
39 config.method = 'default';
44 case {
'default',
'mixture',
'mixture.order1'}
45 lambda = mmap_lambda(
MMAP);
46 AMAPs = mmap_maps(
MMAP);
48 AMAPs{k} = mmpp2_fit1(map_mean(AMAPs{k}),map_scv(AMAPs{k}),map_skew(AMAPs{k}),map_idc(AMAPs{k}));
50 MMAP = mmap_mixture(lambda/sum(lambda), AMAPs);
58 MMAP = mamap2m_fit_gamma_fb_mmap(
MMAP);
59 case 'm3pp.approx_cov'
60 MMAP = m3pp2m_fitc_theoretical(
MMAP,
'approx_cov', 1, 1e6); %derivest
62 MMAP = m3pp2m_fitc_theoretical(
MMAP,
'approx_ag', 1, 1e6); %derivest
63 case 'm3pp.exact_delta'
64 MMAP = m3pp2m_fitc_theoretical(
MMAP,
'exact_delta', 1, 1e6); %derivest
65 case 'm3pp.approx_delta'
66 MMAP = m3pp2m_fitc_theoretical(
MMAP,
'approx_delta', 1, 1e6); %derivest