A Non-deterministic Finite Automaton (NFA) is a theoretical model of computation used in computer science to represent and analyze the behavior of systems that can be in multiple states simultaneously. Unlike deterministic finite automata, NFAs allow for multiple transitions for a given input from a particular state, which can lead to different possible outcomes or paths of execution.