Associative Memories – Theory and Applications