### Abstract

algorithm, in which pruning reduces the search space drastically,

so that an otherwise exponential time complexity is reduced to linearity. The

central steps of the algorithm, expansion and pruning, can be expressed in

a concise and clear way in CHR, but additional control is needed in order

to obtain the desired time complexity. It is shown how auxiliary constraints,

called trigger constraints, can be applied to fine-tune the order of CHR rule

applications in order to reach this goal. It is indicated how properties such

as confluence can be useful for showing such optimized programs correct.

Original language | English |
---|---|

Title of host publication | Proceeedings of the 7th International Workshop on Constraint Handling Rules |

Editors | Peter Van Weert, Leslie De Koninck |

Number of pages | 7 |

Place of Publication | Leuven, Belgium |

Publisher | Katholieke Universiteit Leuven |

Publication date | May 2010 |

Pages | 17-24 |

Publication status | Published - May 2010 |

### Keywords

- Logic Programming
- Constraint Handling Rules
- Dynamic Programming
- Viterbi Algorithm

### Cite this

*Proceeedings of the 7th International Workshop on Constraint Handling Rules*(pp. 17-24). Leuven, Belgium: Katholieke Universiteit Leuven.

}

*Proceeedings of the 7th International Workshop on Constraint Handling Rules.*Katholieke Universiteit Leuven, Leuven, Belgium, pp. 17-24.

**The Viterbi Algorithm expressed in Constraint Handling Rules.** / Christiansen, Henning; Have, Christian Theil; Lassen, Ole Torp; Petit, Matthieu.

Research output: Chapter in Book/Report/Conference proceeding › Article in proceedings › Research › peer-review

TY - GEN

T1 - The Viterbi Algorithm expressed in Constraint Handling Rules

AU - Christiansen, Henning

AU - Have, Christian Theil

AU - Lassen, Ole Torp

AU - Petit, Matthieu

PY - 2010/5

Y1 - 2010/5

N2 - The Viterbi algorithm is a classical example of a dynamic programmingalgorithm, in which pruning reduces the search space drastically,so that an otherwise exponential time complexity is reduced to linearity. Thecentral steps of the algorithm, expansion and pruning, can be expressed ina concise and clear way in CHR, but additional control is needed in orderto obtain the desired time complexity. It is shown how auxiliary constraints,called trigger constraints, can be applied to fine-tune the order of CHR ruleapplications in order to reach this goal. It is indicated how properties suchas confluence can be useful for showing such optimized programs correct.

AB - The Viterbi algorithm is a classical example of a dynamic programmingalgorithm, in which pruning reduces the search space drastically,so that an otherwise exponential time complexity is reduced to linearity. Thecentral steps of the algorithm, expansion and pruning, can be expressed ina concise and clear way in CHR, but additional control is needed in orderto obtain the desired time complexity. It is shown how auxiliary constraints,called trigger constraints, can be applied to fine-tune the order of CHR ruleapplications in order to reach this goal. It is indicated how properties suchas confluence can be useful for showing such optimized programs correct.

KW - Logic Programming

KW - Constraint Handling Rules

KW - Dynamic Programming

KW - Viterbi Algorithm

M3 - Article in proceedings

SP - 17

EP - 24

BT - Proceeedings of the 7th International Workshop on Constraint Handling Rules

A2 - Van Weert, Peter

A2 - De Koninck, Leslie

PB - Katholieke Universiteit Leuven

CY - Leuven, Belgium

ER -