Generative Creativity - lecture 12:
Hierarchical Markov chains

Introduction

Using a Markov model derievd from a collection of examples we can use chaining to generate new instances.

This can be the basis for generative production of novel sequential objects, e.g,.

But how do we choose the level of analysis?

In choosing to sample particular transition probabilities (words? notes? phrases?) we fix the level of detail at which the model works.

Sampling note-transition probabilities in music, we obtain a model which represents note-transition structure.

New instances will then exhibit good note-level struture but may have very poor structure at some other level.

Markov-generated music often exhibits the `wandering melody' effect.

Short note sequences sound right but they don't fit together in an organized way.

Hierarchical modeling?

Ideally we'd like a modeling method which would not fix the level of analysis in advance, but which would be able to find structure at any level.

We need a Markov-model hierarchy.

But how to get it?

Uncertainization approach

Starting at the smallest scale of analysis, carry out an n-gram analysis (also taking account of disjunctive n-grams, i.e., `a b/c d', `e/f g h') and form a Markov model.

Find the smallest encoding of the data in terms of the n-grams found.

Treat the encoding obtained as new data and start again.

Continue until an encoding of a single element is generated.

Markov models obtained along the way then form a hierarchical structure.

Replexer applet

Follow `demos etc.' from

http://www.christhornton.eu

Summary

Resources


Page created on: Mon Feb 16 18:47:52 GMT 2009
Feedback to Chris Thornton