From cd8ca0cc8468740d0d7525cda130567bcd8bae3f Mon Sep 17 00:00:00 2001 From: Fabrice Mouhartem Date: Fri, 2 Feb 2018 16:06:17 +0100 Subject: [PATCH] Figure polynomial reduction --- fig-poly-red.tex | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) create mode 100644 fig-poly-red.tex diff --git a/fig-poly-red.tex b/fig-poly-red.tex new file mode 100644 index 0000000..a688107 --- /dev/null +++ b/fig-poly-red.tex @@ -0,0 +1,41 @@ +\begin{tikzpicture} + \tikzstyle{positive}=[pattern=horizontal lines light gray] + \tikzstyle{negative}=[pattern=dots, pattern color=red!30] + + % Language A + \begin{scope} + \draw[positive] (0,0) arc (0:180:1cm and 2cm) node[xshift=1cm, yshift=1cm] {$A$}; + \draw[negative] (0,0) arc (0:-180:1cm and 2cm) node [xshift=1cm, yshift=-.8cm] {$\bar{A}$}; + \draw (-2.2,0) -- (.2,0); + \end{scope} + + % Language B + \begin{scope}[xshift=3cm] + \draw (0,0) ellipse (1cm and 2cm); + \draw (-1.2,-.4) -- (1.2,.5); + \node at (.3,1.5) {$B$}; + \node at (.3,-1.5) {$\bar{B}$}; + \node[ellipse, draw, positive] (fa) at (-0.1, .8) {\scriptsize $f(A)$}; + \node[ellipse, draw, negative] (fbara) at (-0.1, -.8) {\scriptsize $f(\bar{A})$}; + \end{scope} + % Lines + \draw[dashed] (-1, 2) -- (fa.north); + \draw[dashed] (0, 0) -- (fa.south); + \draw[dashed] (-1, -2) -- (fbara.south); + \draw[dashed] (0, 0) -- (fbara.north); + \draw[thick, ->] (.2, 2.5) -- node[below, midway] {$f$} (1.8, 2.5); + + \begin{scope}[xshift=4.5cm] + \draw (0,2) -- (0,-2); + \end{scope} + + \begin{scope}[xshift=4.7cm] + \draw (1,-1) rectangle (5.5, 1); + \node[anchor=north west] at (1,1) {Algorithm for $A$}; + \node[draw, rectangle, anchor=west] (fbox) at (1.3,0) {$f$}; + \node[draw, rectangle, anchor=west] (bbox) at (2.3,0) {Algorithm for $B$}; + \draw[->, thick] (.5, 0) -- (fbox) -- (bbox) -- (6, 0); + \node[anchor=south] at (.5,0) {\texttt{input}}; + \node[anchor=north] at (.5,0) {$x$}; + \end{scope} +\end{tikzpicture}