Static Arithmetic Encoding/Adaptive Arithmetic Encoding Algorithm I'm trying to learn how to implement the Arithmetic Encoder algorithm for one of my classes. The thing is the notes we have explaining the actual algorithm are a bit on the confusing side. 
I have been looking up tutorials and videos about the algorithm and found some on youtube.
I was wondering if anyone could tell me the difference between Infinite Precision Arithmetic Encoding and Finite Precision Arithmetic Encoding as shown in these videos..
Finite Precision Video
Infinite Precision Video
From what I can gather, Static Arithmetic encoding uses predefined probabilities for each character in the input. Meaning that it needs to know what symbols are going to be in the input and their probabilities.
Adaptive has a predefined set of characters that can come up and assigns equal probabilities to all of these characters until a character is read and then raises the probability of this character, and so on. 
Do the videos above correspond to my interpretations of the algorithm? I'm a bit wary as he doesn't mention static or adaptive anywhere in the videos.
Thanks,
Aimee
 A: Both of the videos linked to use static arithmetic encoding. So the symbols and probabalities associated with them are constant. This is why the video does not mention static or adaptive anything in the videos, they are not related for the specific subject matter.
As for infinite versus finite, there is no such thing as an actual infinite precision method because at each step the values are shifted and scaled and divided, and the numbers to represent them grow in their respective bitsize. They do so with no end (in the theoretical infinite precision method). So do not think of the two as two different methods, they are both one in the same. But the one is introduced as a way to avoid the extra complication of precision. Just to concentrate only on the important concepts.
The other (finite precision encoder) is the actual implementation. When you attempt the algorithm, you realize that you do not want to keep longer and longer (in bitsize) values, which is what happens with the infinite precision algorithm. I would say "algorithm" (in quotes), except technically it is an algorithm; just one that runs on a theoretical machine capable of infinite precision.
I hope that helps.
