This document discusses string matching using finite automata, specifically the Aho-Corasick algorithm. It begins by introducing finite state machines and how they can be used for string matching. It then provides details on the Aho-Corasick algorithm, including how it constructs a pattern matching machine from keywords to search for and uses this machine to search text in one pass. It discusses the goto, failure, and output functions used and provides an example of running the algorithm on sample text and keywords.