Understanding Transformer Reasoning Capabilities via Graph Algorithms