\documentclass[12pt,titlepage]{article} \usepackage{amsmath} \usepackage{mathrsfs} \usepackage{amsfonts} \usepackage{amssymb} \usepackage{amsthm} \usepackage{mathtools} \usepackage{graphicx} \usepackage{color} \usepackage{ucs} \usepackage[utf8x]{inputenc} \usepackage{xparse} \usepackage{hyperref} %----Macros---------- % % Unresolved issues: % % \righttoleftarrow % \lefttorightarrow % % \color{} with HTML colorspec % \bgcolor % \array with options (without options, it's equivalent to the matrix environment) % Of the standard HTML named colors, white, black, red, green, blue and yellow % are predefined in the color package. Here are the rest. \definecolor{aqua}{rgb}{0, 1.0, 1.0} \definecolor{fuschia}{rgb}{1.0, 0, 1.0} \definecolor{gray}{rgb}{0.502, 0.502, 0.502} \definecolor{lime}{rgb}{0, 1.0, 0} \definecolor{maroon}{rgb}{0.502, 0, 0} \definecolor{navy}{rgb}{0, 0, 0.502} \definecolor{olive}{rgb}{0.502, 0.502, 0} \definecolor{purple}{rgb}{0.502, 0, 0.502} \definecolor{silver}{rgb}{0.753, 0.753, 0.753} \definecolor{teal}{rgb}{0, 0.502, 0.502} % Because of conflicts, \space and \mathop are converted to % \itexspace and \operatorname during preprocessing. % itex: \space{ht}{dp}{wd} % % Height and baseline depth measurements are in units of tenths of an ex while % the width is measured in tenths of an em. \makeatletter \newdimen\itex@wd% \newdimen\itex@dp% \newdimen\itex@thd% \def\itexspace#1#2#3{\itex@wd=#3em% \itex@wd=0.1\itex@wd% \itex@dp=#2ex% \itex@dp=0.1\itex@dp% \itex@thd=#1ex% \itex@thd=0.1\itex@thd% \advance\itex@thd\the\itex@dp% \makebox[\the\itex@wd]{\rule[-\the\itex@dp]{0cm}{\the\itex@thd}}} \makeatother % \tensor and \multiscript \makeatletter \newif\if@sup \newtoks\@sups \def\append@sup#1{\edef\act{\noexpand\@sups={\the\@sups #1}}\act}% \def\reset@sup{\@supfalse\@sups={}}% \def\mk@scripts#1#2{\if #2/ \if@sup ^{\the\@sups}\fi \else% \ifx #1_ \if@sup ^{\the\@sups}\reset@sup \fi {}_{#2}% \else \append@sup#2 \@suptrue \fi% \expandafter\mk@scripts\fi} \def\tensor#1#2{\reset@sup#1\mk@scripts#2_/} \def\multiscripts#1#2#3{\reset@sup{}\mk@scripts#1_/#2% \reset@sup\mk@scripts#3_/} \makeatother % \slash \makeatletter \newbox\slashbox \setbox\slashbox=\hbox{$/$} \def\itex@pslash#1{\setbox\@tempboxa=\hbox{$#1$} \@tempdima=0.5\wd\slashbox \advance\@tempdima 0.5\wd\@tempboxa \copy\slashbox \kern-\@tempdima \box\@tempboxa} \def\slash{\protect\itex@pslash} \makeatother % math-mode versions of \rlap, etc % from Alexander Perlis, "A complement to \smash, \llap, and lap" % http://math.arizona.edu/~aprl/publications/mathclap/ \def\clap#1{\hbox to 0pt{\hss#1\hss}} \def\mathllap{\mathpalette\mathllapinternal} \def\mathrlap{\mathpalette\mathrlapinternal} \def\mathclap{\mathpalette\mathclapinternal} \def\mathllapinternal#1#2{\llap{$\mathsurround=0pt#1{#2}$}} \def\mathrlapinternal#1#2{\rlap{$\mathsurround=0pt#1{#2}$}} \def\mathclapinternal#1#2{\clap{$\mathsurround=0pt#1{#2}$}} % Renames \sqrt as \oldsqrt and redefine root to result in \sqrt[#1]{#2} \let\oldroot\root \def\root#1#2{\oldroot #1 \of{#2}} \renewcommand{\sqrt}[2][]{\oldroot #1 \of{#2}} % Manually declare the txfonts symbolsC font \DeclareSymbolFont{symbolsC}{U}{txsyc}{m}{n} \SetSymbolFont{symbolsC}{bold}{U}{txsyc}{bx}{n} \DeclareFontSubstitution{U}{txsyc}{m}{n} % Manually declare the stmaryrd font \DeclareSymbolFont{stmry}{U}{stmry}{m}{n} \SetSymbolFont{stmry}{bold}{U}{stmry}{b}{n} % Manually declare the MnSymbolE font \DeclareFontFamily{OMX}{MnSymbolE}{} \DeclareSymbolFont{mnomx}{OMX}{MnSymbolE}{m}{n} \SetSymbolFont{mnomx}{bold}{OMX}{MnSymbolE}{b}{n} \DeclareFontShape{OMX}{MnSymbolE}{m}{n}{ <-6> MnSymbolE5 <6-7> MnSymbolE6 <7-8> MnSymbolE7 <8-9> MnSymbolE8 <9-10> MnSymbolE9 <10-12> MnSymbolE10 <12-> MnSymbolE12}{} % Declare specific arrows from txfonts without loading the full package \makeatletter \def\re@DeclareMathSymbol#1#2#3#4{% \let#1=\undefined \DeclareMathSymbol{#1}{#2}{#3}{#4}} \re@DeclareMathSymbol{\neArrow}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\neArr}{\mathrel}{symbolsC}{116} \re@DeclareMathSymbol{\seArrow}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\seArr}{\mathrel}{symbolsC}{117} \re@DeclareMathSymbol{\nwArrow}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\nwArr}{\mathrel}{symbolsC}{118} \re@DeclareMathSymbol{\swArrow}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\swArr}{\mathrel}{symbolsC}{119} \re@DeclareMathSymbol{\nequiv}{\mathrel}{symbolsC}{46} \re@DeclareMathSymbol{\Perp}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\Vbar}{\mathrel}{symbolsC}{121} \re@DeclareMathSymbol{\sslash}{\mathrel}{stmry}{12} \re@DeclareMathSymbol{\bigsqcap}{\mathop}{stmry}{"64} \re@DeclareMathSymbol{\biginterleave}{\mathop}{stmry}{"6} \re@DeclareMathSymbol{\invamp}{\mathrel}{symbolsC}{77} \re@DeclareMathSymbol{\parr}{\mathrel}{symbolsC}{77} \makeatother % \llangle, \rrangle, \lmoustache and \rmoustache from MnSymbolE \makeatletter \def\Decl@Mn@Delim#1#2#3#4{% \if\relax\noexpand#1% \let#1\undefined \fi \DeclareMathDelimiter{#1}{#2}{#3}{#4}{#3}{#4}} \def\Decl@Mn@Open#1#2#3{\Decl@Mn@Delim{#1}{\mathopen}{#2}{#3}} \def\Decl@Mn@Close#1#2#3{\Decl@Mn@Delim{#1}{\mathclose}{#2}{#3}} \Decl@Mn@Open{\llangle}{mnomx}{'164} \Decl@Mn@Close{\rrangle}{mnomx}{'171} \Decl@Mn@Open{\lmoustache}{mnomx}{'245} \Decl@Mn@Close{\rmoustache}{mnomx}{'244} \makeatother % Widecheck \makeatletter \DeclareRobustCommand\widecheck[1]{{\mathpalette\@widecheck{#1}}} \def\@widecheck#1#2{% \setbox\z@\hbox{\m@th$#1#2$}% \setbox\tw@\hbox{\m@th$#1% \widehat{% \vrule\@width\z@\@height\ht\z@ \vrule\@height\z@\@width\wd\z@}$}% \dp\tw@-\ht\z@ \@tempdima\ht\z@ \advance\@tempdima2\ht\tw@ \divide\@tempdima\thr@@ \setbox\tw@\hbox{% \raise\@tempdima\hbox{\scalebox{1}[-1]{\lower\@tempdima\box \tw@}}}% {\ooalign{\box\tw@ \cr \box\z@}}} \makeatother % \mathraisebox{voffset}[height][depth]{something} \makeatletter \NewDocumentCommand\mathraisebox{moom}{% \IfNoValueTF{#2}{\def\@temp##1##2{\raisebox{#1}{$\m@th##1##2$}}}{% \IfNoValueTF{#3}{\def\@temp##1##2{\raisebox{#1}[#2]{$\m@th##1##2$}}% }{\def\@temp##1##2{\raisebox{#1}[#2][#3]{$\m@th##1##2$}}}}% \mathpalette\@temp{#4}} \makeatletter % udots (taken from yhmath) \makeatletter \def\udots{\mathinner{\mkern2mu\raise\p@\hbox{.} \mkern2mu\raise4\p@\hbox{.}\mkern1mu \raise7\p@\vbox{\kern7\p@\hbox{.}}\mkern1mu}} \makeatother %% Fix array \newcommand{\itexarray}[1]{\begin{matrix}#1\end{matrix}} %% \itexnum is a noop \newcommand{\itexnum}[1]{#1} %% Renaming existing commands \newcommand{\underoverset}[3]{\underset{#1}{\overset{#2}{#3}}} \newcommand{\widevec}{\overrightarrow} \newcommand{\darr}{\downarrow} \newcommand{\nearr}{\nearrow} \newcommand{\nwarr}{\nwarrow} \newcommand{\searr}{\searrow} \newcommand{\swarr}{\swarrow} \newcommand{\curvearrowbotright}{\curvearrowright} \newcommand{\uparr}{\uparrow} \newcommand{\downuparrow}{\updownarrow} \newcommand{\duparr}{\updownarrow} \newcommand{\updarr}{\updownarrow} \newcommand{\gt}{>} \newcommand{\lt}{<} \newcommand{\map}{\mapsto} \newcommand{\embedsin}{\hookrightarrow} \newcommand{\Alpha}{A} \newcommand{\Beta}{B} \newcommand{\Zeta}{Z} \newcommand{\Eta}{H} \newcommand{\Iota}{I} \newcommand{\Kappa}{K} \newcommand{\Mu}{M} \newcommand{\Nu}{N} \newcommand{\Rho}{P} \newcommand{\Tau}{T} \newcommand{\Upsi}{\Upsilon} \newcommand{\omicron}{o} \newcommand{\lang}{\langle} \newcommand{\rang}{\rangle} \newcommand{\Union}{\bigcup} \newcommand{\Intersection}{\bigcap} \newcommand{\Oplus}{\bigoplus} \newcommand{\Otimes}{\bigotimes} \newcommand{\Wedge}{\bigwedge} \newcommand{\Vee}{\bigvee} \newcommand{\coproduct}{\coprod} \newcommand{\product}{\prod} \newcommand{\closure}{\overline} \newcommand{\integral}{\int} \newcommand{\doubleintegral}{\iint} \newcommand{\tripleintegral}{\iiint} \newcommand{\quadrupleintegral}{\iiiint} \newcommand{\conint}{\oint} \newcommand{\contourintegral}{\oint} \newcommand{\infinity}{\infty} \newcommand{\bottom}{\bot} \newcommand{\minusb}{\boxminus} \newcommand{\plusb}{\boxplus} \newcommand{\timesb}{\boxtimes} \newcommand{\intersection}{\cap} \newcommand{\union}{\cup} \newcommand{\Del}{\nabla} \newcommand{\odash}{\circleddash} \newcommand{\negspace}{\!} \newcommand{\widebar}{\overline} \newcommand{\textsize}{\normalsize} \renewcommand{\scriptsize}{\scriptstyle} \newcommand{\scriptscriptsize}{\scriptscriptstyle} \newcommand{\mathfr}{\mathfrak} \newcommand{\statusline}[2]{#2} \newcommand{\tooltip}[2]{#2} \newcommand{\toggle}[2]{#2} % Theorem Environments \theoremstyle{plain} \newtheorem{theorem}{Theorem} \newtheorem{lemma}{Lemma} \newtheorem{prop}{Proposition} \newtheorem{cor}{Corollary} \newtheorem*{utheorem}{Theorem} \newtheorem*{ulemma}{Lemma} \newtheorem*{uprop}{Proposition} \newtheorem*{ucor}{Corollary} \theoremstyle{definition} \newtheorem{defn}{Definition} \newtheorem{example}{Example} \newtheorem*{udefn}{Definition} \newtheorem*{uexample}{Example} \theoremstyle{remark} \newtheorem{remark}{Remark} \newtheorem{note}{Note} \newtheorem*{uremark}{Remark} \newtheorem*{unote}{Note} %------------------------------------------------------------------- \begin{document} %------------------------------------------------------------------- \section*{ribbon graph} \hypertarget{context}{}\subsubsection*{{Context}}\label{context} \hypertarget{graph_theory}{}\paragraph*{{Graph theory}}\label{graph_theory} [[!include graph theory - contents]] \hypertarget{contents}{}\section*{{Contents}}\label{contents} \noindent\hyperlink{idea}{Idea}\dotfill \pageref*{idea} \linebreak \noindent\hyperlink{definition}{Definition}\dotfill \pageref*{definition} \linebreak \noindent\hyperlink{boundary_of_a_fat_graph}{Boundary of a fat graph}\dotfill \pageref*{boundary_of_a_fat_graph} \linebreak \noindent\hyperlink{further_constructions}{Further constructions}\dotfill \pageref*{further_constructions} \linebreak \noindent\hyperlink{properties}{Properties}\dotfill \pageref*{properties} \linebreak \noindent\hyperlink{geometric_realization}{Geometric realization}\dotfill \pageref*{geometric_realization} \linebreak \noindent\hyperlink{moduli_space_of_surfaces__classifying_spaces_of_mapping_class_groups}{Moduli space of surfaces / classifying spaces of mapping class groups}\dotfill \pageref*{moduli_space_of_surfaces__classifying_spaces_of_mapping_class_groups} \linebreak \noindent\hyperlink{related_concepts}{Related concepts}\dotfill \pageref*{related_concepts} \linebreak \noindent\hyperlink{references}{References}\dotfill \pageref*{references} \linebreak \hypertarget{idea}{}\subsection*{{Idea}}\label{idea} A \emph{ribbon graph} (also called \emph{fat graph} ) is a (typically finite and connected) [[graph]] equipped with a cyclic ordering on the half edges incident to each vertex. To each ribbon graph, one can associate an [[orientation|oriented]] [[surface]] with [[boundary]] by replacing edges by thin oriented rectangles (ribbons) and vertices by disks, and pasting rectangles to disks according to the chosen cyclic orders at the vertices. (For some illustrations of this, see \hyperlink{MulPen}{Mulase-Penkava}.) \hypertarget{definition}{}\subsection*{{Definition}}\label{definition} The following definition of an ordinary [[graph]] (allowing loops and multiple edges) is not the standard one used for ordinary graphs, but is easily seen to be equivalent to it, while being the right starting point for describing ribbon graphs. \begin{defn} \label{}\hypertarget{}{} A \textbf{[[graph]]} is a quadruple $(V, H, s, i)$, where \begin{itemize}% \item $V$ is a [[set]], called the \textbf{set of vertices}; \item $H$ is a [[set]], called the \textbf{set of half-edges} \item $s : H \to V$ is a [[function]], thought of as sending each half-edge to the vertex that it is \emph{incident} on; \item $i : H \to H$ is a [[involution|involutive]] [[function]] without fixed points, thought of as sending each half-edge to its other half. \end{itemize} The set of [[cycle]]s of $i$ is the set $E$ of full edges. A [[homomorphism]] of graphs is a pair of [[function]]s $V_1 \to V_2$ and $H_1 \to H_2$ commuting with the $i$- and $s$-maps. \end{defn} An edge is a \emph{loop} if its constituent half-edges are incident on the same vertex. \begin{defn} \label{}\hypertarget{}{} A \textbf{fat graph} or \textbf{ribbon graph} is a graph $(V,H,i,s)$ equipped with a [[bijection]] $\sigma : H \to H$ whose [[cycle]]s correspond to the sets $s^{-1}(v)$ of half-edges incident on vertices $v \in V$. \end{defn} This means that on all sets $s^{-1}(v)$ of jointly incident half-edges there is induced a cyclic ordering. When drawing ribbon graphs on paper this cyclic ordering is identified with the ordering induced from the standard orientation of the plane. Note that this definition (which appears in \hyperlink{Igusa02}{Igusa 02}) is essentially equivalent to that of an oriented [[combinatorial map]], except that the usual definition of combinatorial map does not make the set $V$ and the function $s : H \to V$ explicit, instead identifying vertices with the cycles of $\sigma$. Under this style of definition, the extra condition (often assumed) that the underlying graph be connected corresponds to the condition that the group generated by the permutations $i$ and $\sigma$ acts [[transitive action|transitively]] on the set of half-edges $H$. \hypertarget{boundary_of_a_fat_graph}{}\subsubsection*{{Boundary of a fat graph}}\label{boundary_of_a_fat_graph} \begin{defn} \label{}\hypertarget{}{} Write \begin{displaymath} \partial : FatGraph \to Graph \end{displaymath} for the [[functor]] -- called the \textbf{boundary graph functor} -- that sends a fat graph $\Gamma = (V, H, s, i, \sigma)$ to the graph \begin{displaymath} \partial \Gamma = \left( \coprod_{v \in V} \coprod_{h \in s^{-1}(v)} \{v_h\},\, \coprod_{h \in H} \{h_0, h_1\},\, s_{\partial_\Gamma},\, i_{\partial_\Gamma} \right) \end{displaymath} with $s_{\partial \Gamma}$ given by \begin{displaymath} s_{\partial \Gamma}(h_0) = v_h \end{displaymath} \begin{displaymath} s_{\partial \Gamma}(h_1) = \sigma(v_h) \end{displaymath} and $i_{\partial \Gamma}$ given by \begin{displaymath} i_{\partial \Gamma}(h_0) = i(h)_1 \end{displaymath} \begin{displaymath} i_{\partial \Gamma}(h_1) = i(h)_0 \,. \end{displaymath} \end{defn} \begin{prop} \label{}\hypertarget{}{} The set of [[boundary]] components of $\Sigma_\Gamma$ is naturally identified with the [[cycle]]s of $\sigma \circ i : H \to H$, or equivalently with the cycles of $i \circ \sigma$. \end{prop} Write $S : FatGraph \to Graph$ for the evident [[forgetful functor]] sending fat graphs to their underlying graph. \begin{prop} \label{}\hypertarget{}{} There is a [[natural transformation]] \begin{displaymath} c : \partial \to S \end{displaymath} from the boundary graph functor to the forgetful functor -- called the \textbf{collapse map}, whose components morphism on a fat graph $\Gamma$ sends on vertices \begin{displaymath} v_h \mapsto s(h) \end{displaymath} and on half-edges \begin{displaymath} h_{0,1} \mapsto h \,. \end{displaymath} \end{prop} \hypertarget{further_constructions}{}\subsubsection*{{Further constructions}}\label{further_constructions} Given any edge $e$ in a graph $\Gamma$, we can collapse it to a new graph $\Gamma/e$ by merging the two vertices containing the edge and removing both half edges. A forest $F$ (disjoint union of trees) spans a graph $\Gamma$ if it contains all of its vertices. One can collapse $\Gamma$ to $\Gamma/F$ by collapsing each tree to a separate vertex. Then the edges in $\Gamma/F$ are the edges of $\Gamma$ which do not lie in any tree in $F$; the vertices of $\Gamma/F$ correspond to the sets of leaves of the component trees of $F$. A morphism of graphs $\Gamma_0\to\Gamma_1$ is defined as an isomorphism $\Gamma_0/F\to\Gamma_1$ where $F$ is a spanning forest of $\Gamma_0$. Morphisms of such graphs are both epi and mono. For a ribbon graph, the set of leaves of any tree inherits a cyclic order. Thus $\Gamma/F$ has a canonical structure a ribbon graph. This makes the following definition possible: A morphism of ribbon graphs is the morphism of underlying graphs which respects the ordering on the vertices; i.e. $\Gamma_0/F\to\Gamma_1$ is an isomorphism of ribbon graphs. Every endomorphism of a ribbon graph is an automorphism and for any two ribbon graphs $\Gamma$ and $\Gamma'$, the set $Aut(\Gamma)$ acts freely on $Hom(\Gamma,\Gamma')$ on the right and $Aut(\Gamma')$ acts freely on $Hom(\Gamma,\Gamma')$ from the left. Let $\mathcal{Fat}$ denote the category of ribbon graphs and ribbon automorphisms. Strebel proved that the geometric realization $|\mathcal{Fat}|$ of the category of ribbon graphs decomposes into a direct sum of classifying spaces of all [[mapping class group]]s $M^s_g$ \begin{displaymath} |\mathcal{Fat}| = \coprod_{g,s} BM^s_g \end{displaymath} $M^s_g$ is a mapping class group of a surface of genus $g$ with $s$ punctures. Alternatively, one can instead of the geometric realization take a moduli space of ribbon graphs with metric. A \textbf{metric} on a ribbon graph is a positive real valued function on the set of edges. \hypertarget{properties}{}\subsection*{{Properties}}\label{properties} For the following we represent a fat graph by \begin{itemize}% \item a set $V$ of vertices; \item a set $H$ of half-edges; \item a source map $s : H \to V$; \item an involution $i : H \to H$ which sends each half-edge to its partner half-edge; \item an permutation $\sigma : H \to H$ which gives the cyclic order on the edges. \end{itemize} \hypertarget{geometric_realization}{}\subsubsection*{{Geometric realization}}\label{geometric_realization} For $\Gamma$ a fat graph, write $\Sigma_\Gamma$ for the [[surface]] that it defines. \begin{prop} \label{}\hypertarget{}{} The [[genus]] of $\Sigma_\Gamma$ is \begin{displaymath} g = \frac{1}{2} \left( 2 - \vert V\vert + \vert E\vert - \vert boundary components\vert \right) \,. \end{displaymath} \end{prop} \begin{prop} \label{}\hypertarget{}{} For every surface $S$ with boundary, there is a fat graph $\Gamma$ and a [[homeomorphism]] \begin{displaymath} S \stackrel{\simeq}{\to} \Sigma_\Gamma \,. \end{displaymath} \end{prop} \hypertarget{moduli_space_of_surfaces__classifying_spaces_of_mapping_class_groups}{}\subsubsection*{{Moduli space of surfaces / classifying spaces of mapping class groups}}\label{moduli_space_of_surfaces__classifying_spaces_of_mapping_class_groups} Write $FatGraph^c_3$ for the [[full subcategory]] of fat graphs on the connected fat graphs for which every vertex has valence at least 3. Write $\vert FatGraph^c_3 \vert \in$ [[Top]] for the [[geometric realization]] of this [[category]]. For $\Sigma$ a [[surface]], write $\Gamma_Sigma$ for its [[mapping class group]] and $B \Gamma_\Sigma$ for the corresponding [[classifying space]]. \begin{theorem} \label{}\hypertarget{}{} There is a [[weak homotopy equivalence]] \begin{displaymath} \vert FatGraph^c_3 \vert \simeq \coprod_{[\Sigma]} B \Gamma_\Sigma \,, \end{displaymath} where on the right thr coproduct ranges over isomorphism classes of orientable, closed 2-dimensional manifolds with $n \geq 1$ marked points, except those for which $(g,n) = (0,1)$ or $(g, n) = (0,2)$. \end{theorem} In various guises this theorem has been proven by \hyperlink{Costello}{Costello}, \hyperlink{Kontsevich92}{Kontsevich92}, \hyperlink{Igusa02}{Igusa02}, \hyperlink{Penner}{Penner}, \hyperlink{Strebel}{Strebel}. The restriction to valence $\geq 3$ can be dropped: \begin{theorem} \label{}\hypertarget{}{} There is a [[weak homotopy equivalence]] \begin{displaymath} \vert FatGraph^c \vert \simeq B U(1) \coprod B U(1) \coprod_{[\Sigma]} B \Gamma_\Sigma \,, \end{displaymath} where again on the right the [[coproduct]] ranges over [[isomorphism class]]es of orientable, closed 2-dimensional manifolds with $n \geq 1$ marked points, except those for which $(g,n) = (0,1)$ or $(g, n) = (0,2)$. The two extra copies of $B U(1)$ corespond to these two exceptional cases. \end{theorem} This has been shown in (\hyperlink{Godin}{Godin}). One of the $B U(1)$-summands is also produced in (\hyperlink{Igusa02}{Igusa02}). A detailed complete proof appears as (\hyperlink{Kupers}{Kupers, theorem 3.59}). \hypertarget{related_concepts}{}\subsection*{{Related concepts}}\label{related_concepts} \begin{itemize}% \item [[graph]] \item [[directed graph]] \begin{itemize}% \item [[directed n-graph]] \end{itemize} \item \textbf{ribbon graph} \item [[topological map]] \item [[combinatorial map]] \end{itemize} \hypertarget{references}{}\subsection*{{References}}\label{references} Original references include \begin{itemize}% \item [[Maxim Kontsevich]], \emph{Intersection theory on the moduli space of curves and the matrix Airy function} , Commun. Math. Phys. (1992), no. 147, 1-23. \item [[Kiyoshi Igusa]], \emph{Higher Franz Reidemeister torsion} , IP Studies in Advanced Mathematics, American Mathematical Society, 2002. \item [[Kiyoshi Igusa]], \emph{Graph cohomology and Kontsevich cycles}, Topology \textbf{43} (2004), n. 6, p. 1469-1510, \href{http://www.ams.org/mathscinet-getitem?mr=2005d:57028}{MR2005d:57028}, \href{http://dx.doi.org/10.1016/j.top.2004.03.004}{doi} \item K. Strebel, \emph{Quadratic Differentials}, Springer, Berlin, 1984, \href{http://www.ams.org/mathscinet-getitem?mr=86a:30072}{MR86a:30072} \item R. C. Penner, \emph{The decorated Teichm\"u{}ller space of punctured surfaces}, Commun. Math. Phys. \textbf{113} (2) (1987) 299--339. \href{http://www.ams.org/mathscinet-getitem?mr=89h:32044}{MR89h:32044} \item John Harer, \emph{The cohomology of the moduli space of curves}, Lec. Notes in Math. \textbf{1337}, p. 138--221. Springer, Berlin, 1988. \item M. Mulase, M. Penkava, \emph{Ribbon graphs, quadratic differentials on Riemann surfaces, and algebraic curves defined over} $\overline{\mathbb{Q}}$. Mikio Sato: a great Japanese mathematician of the twentieth century. Asian J. Math. \textbf{2} (1998), no. 4, 875--919. (\href{http://arxiv.org/pdf/math-ph/9811024v2.pdf}{pdf}) \item [[Maxim Kontsevich]], \emph{Feynman diagrams and low-dimensional topology}, First European Congress of Mathematics, 1992, Paris, vol. II, Progress in Mathematics \textbf{120}, Birkh\"a{}user (1994), 97--121, \href{http://www.ihes.fr/~maxim/TEXTS/Feynman%20%20diagrams%20and%20low-dimensional%20topology.pdf}{pdf} \item Ib Madsen, Michael Weiss, \emph{The stable moduli space of Riemann surfaces: [[Mumford's conjecture]]}, Ann. of Math. (2) \textbf{165} (2007), no. 3, 843--941, \href{http://www.ams.org/mathscinet-getitem?mr=2009b:14051}{MR2009b:14051}, \href{http://dx.doi.org/10.4007/annals.2007.165.843}{doi} \item J. Conant, K. Vogtmann, \emph{On a theorem of Kontsevich}, \href{http://arxiv.org/abs/math/0208169}{math.QA/0208169} \item Gabriele Mondello, \emph{Riemann surfaces, ribbon graphs and combinatorial classes}, \href{http://www1.mat.uniroma1.it/people/mondello/ricerca/papers/ober-definitive.pdf}{pdf} \href{http://arxiv.org/abs/0705.1792}{arxiv} \item [[Veronique Godin]], \emph{Higher string topology operations} (2007)(\href{http://arxiv.org/abs/0711.4859}{arXiv:0711.4859}) \end{itemize} A survey is in chapter 3 of \begin{itemize}% \item [[Sander Kupers]], \emph{String topology operations} MSc thesis (2011) \end{itemize} Some discussion is at \begin{itemize}% \item MathOverflow: \href{http://mathoverflow.net/questions/51978/why-does-ribbon-graph-cohomology-compute-cohomology-of-mcg}{why does ribbon graph cohomology compute cohomology of mapping class group} \end{itemize} [[!redirects ribbon graphs]] [[!redirects fat graph]] [[!redirects fat graphs]] \end{document}