Bidirectional Algorithm: Internal Concepts