# Chapter 0 dont do np hard problems # Define ## Computability Theory 1930s - 1950s What can be computed? ## Automata Theory 1930s - 1950s How does making changes o the underlying model effect computational power? ## Complexity Theory 1960s - Present What is computable in practice? P vs. NP # Graph Theory? ## Define ### Subgraph Let $G = \{V_G, E_G\}$ and $H = \{V_H, E_H\}$ $G$ is a subgraph of $H$ if 1. $V_A = V_H$ 2. $E_G \subset E_H + \forall(v_1, v_2)$ ### Path Hits vertices in a graph Simple Graph: only hits vertices once Cycle: There's some sort of loop in the graph Simple Cycle: Only repeated node is the first and last one Tree Directed Graph: a graph that is made up of a set of vertices connected by directed edges Strongly Connected: A directed graph is strongly connected if a directed path connects every two nodes. # Strings & Languages Alphabet: Non-empty finite set Symbol: Member of alphabet String: Sequence of symbols Language: Set of strings