Ho un flusso di dati binari. Non presupporre conoscenze preliminari sul modello previsto nei dati di input.
I simboli possono rappresentare dati binari o altri simboli, quindi gerarchici.
L'output dovrebbe minimizzare lo spazio, ma non deve essere ottimale. Ma l'algoritmo deve essere online - cioè, con più input, la rappresentazione deve adattarsi. L'approssimazione è consentita e molto desiderabile se può essere controllata con alcuni parametri che possono decidere di compromettere l'accuratezza della rappresentazione con il runtime di aggiornamento e l'utilizzo dello spazio.
Esempio: 00011100110011 = > ABCDCDC = > ABEEC
000 = > A
111 = > B
00 = > C
11 = > D
CD = > E