diff --git a/2_DeMarco.aux b/2_DeMarco.aux new file mode 100644 index 0000000..7d99db6 --- /dev/null +++ b/2_DeMarco.aux @@ -0,0 +1,6 @@ +\relax +\@writefile{loa}{\contentsline {algorithm}{\numberline {1}{\ignorespaces *}}{2}} +\@writefile{loa}{\contentsline {algorithm}{\numberline {2}{\ignorespaces *}}{2}} +\@writefile{loa}{\contentsline {algorithm}{\numberline {3}{\ignorespaces *}}{2}} +\@writefile{loa}{\contentsline {algorithm}{\numberline {4}{\ignorespaces *}}{3}} +\@writefile{lof}{\contentsline {figure}{\numberline {1}{\ignorespaces An Example of an infinite loop in a Visibility Walk}}{4}} diff --git a/2_DeMarco.log b/2_DeMarco.log new file mode 100644 index 0000000..3fce8a4 --- /dev/null +++ b/2_DeMarco.log @@ -0,0 +1,605 @@ +This is pdfTeX, Version 3.14159265-2.6-1.40.17 (TeX Live 2016) (preloaded format=pdflatex 2016.5.22) 7 NOV 2016 23:23 +entering extended mode + restricted \write18 enabled. + file:line:error style messages enabled. + %&-line parsing enabled. +**2_DeMarco.tex +(./2_DeMarco.tex +LaTeX2e <2016/03/31> +Babel <3.9r> and hyphenation patterns for 83 language(s) loaded. +(/usr/local/texlive/2016/texmf-dist/tex/latex/base/article.cls +Document Class: article 2014/09/29 v1.4h Standard LaTeX document class +(/usr/local/texlive/2016/texmf-dist/tex/latex/base/size10.clo +File: size10.clo 2014/09/29 v1.4h Standard LaTeX file (size option) +) +\c@part=\count79 +\c@section=\count80 +\c@subsection=\count81 +\c@subsubsection=\count82 +\c@paragraph=\count83 +\c@subparagraph=\count84 +\c@figure=\count85 +\c@table=\count86 +\abovecaptionskip=\skip41 +\belowcaptionskip=\skip42 +\bibindent=\dimen102 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphicx.sty +Package: graphicx 2014/10/28 v1.0g Enhanced LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/keyval.sty +Package: keyval 2014/10/28 v1.15 key=value parser (DPC) +\KV@toks@=\toks14 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/graphics.sty +Package: graphics 2016/05/09 v1.0r Standard LaTeX Graphics (DPC,SPQR) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/trig.sty +Package: trig 2016/01/03 v1.10 sin cos tan (DPC) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/graphics.cfg +File: graphics.cfg 2016/01/02 v1.10 sample graphics configuration +) +Package graphics Info: Driver file: pdftex.def on input line 96. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/pdftex-def/pdftex.def +File: pdftex.def 2011/05/27 v0.06d Graphics/color for pdfTeX + +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/infwarerr.sty +Package: infwarerr 2016/05/16 v1.4 Providing info/warning/error messages (HO) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ltxcmds.sty +Package: ltxcmds 2016/05/16 v1.23 LaTeX kernel commands for general use (HO) +) +\Gread@gobject=\count87 +)) +\Gin@req@height=\dimen103 +\Gin@req@width=\dimen104 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsmath.sty +Package: amsmath 2016/03/10 v2.15b AMS math features +\@mathmargin=\skip43 + +For additional information on amsmath, use the `?' option. +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amstext.sty +Package: amstext 2000/06/29 v2.01 AMS text + +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsgen.sty +File: amsgen.sty 1999/11/30 v2.0 generic functions +\@emptytoks=\toks15 +\ex@=\dimen105 +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsbsy.sty +Package: amsbsy 1999/11/29 v1.2d Bold Symbols +\pmbraise@=\dimen106 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsmath/amsopn.sty +Package: amsopn 2016/03/08 v2.02 operator names +) +\inf@bad=\count88 +LaTeX Info: Redefining \frac on input line 199. +\uproot@=\count89 +\leftroot@=\count90 +LaTeX Info: Redefining \overline on input line 297. +\classnum@=\count91 +\DOTSCASE@=\count92 +LaTeX Info: Redefining \ldots on input line 394. +LaTeX Info: Redefining \dots on input line 397. +LaTeX Info: Redefining \cdots on input line 518. +\Mathstrutbox@=\box26 +\strutbox@=\box27 +\big@size=\dimen107 +LaTeX Font Info: Redeclaring font encoding OML on input line 634. +LaTeX Font Info: Redeclaring font encoding OMS on input line 635. +\macc@depth=\count93 +\c@MaxMatrixCols=\count94 +\dotsspace@=\muskip10 +\c@parentequation=\count95 +\dspbrk@lvl=\count96 +\tag@help=\toks16 +\row@=\count97 +\column@=\count98 +\maxfields@=\count99 +\andhelp@=\toks17 +\eqnshift@=\dimen108 +\alignsep@=\dimen109 +\tagshift@=\dimen110 +\tagwidth@=\dimen111 +\totwidth@=\dimen112 +\lineht@=\dimen113 +\@envbody=\toks18 +\multlinegap=\skip44 +\multlinetaggap=\skip45 +\mathdisplay@stack=\toks19 +LaTeX Info: Redefining \[ on input line 2739. +LaTeX Info: Redefining \] on input line 2740. +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/amscls/amsthm.sty +Package: amsthm 2015/03/04 v2.20.2 +\thm@style=\toks20 +\thm@bodyfont=\toks21 +\thm@headfont=\toks22 +\thm@notefont=\toks23 +\thm@headpunct=\toks24 +\thm@preskip=\skip46 +\thm@postskip=\skip47 +\thm@headsep=\skip48 +\dth@everypar=\toks25 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/amssymb.sty +Package: amssymb 2013/01/14 v3.01 AMS font symbols + +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/amsfonts.sty +Package: amsfonts 2013/01/14 v3.01 Basic AMSFonts support +\symAMSa=\mathgroup4 +\symAMSb=\mathgroup5 +LaTeX Font Info: Overwriting math alphabet `\mathfrak' in version `bold' +(Font) U/euf/m/n --> U/euf/b/n on input line 106. +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/preprint/fullpage.sty +Package: fullpage 1999/02/23 1.1 (PWD) +\FP@margin=\skip49 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/eucal.sty +Package: eucal 2009/06/22 v3.00 Euler Script fonts +LaTeX Font Info: Overwriting math alphabet `\EuScript' in version `bold' +(Font) U/eus/m/n --> U/eus/b/n on input line 33. +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics/color.sty +Package: color 2016/05/09 v1.1c Standard LaTeX Color (DPC) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package color Info: Driver file: pdftex.def on input line 144. +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/frontendlayer/tikz.sty +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/basiclayer/pgf.sty +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfrcs.sty +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-common.te +x +\pgfutil@everybye=\toks26 +\pgfutil@tempdima=\dimen114 +\pgfutil@tempdimb=\dimen115 + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-common-li +sts.tex)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfutil-latex.def +\pgfutil@abb=\box28 +(/usr/local/texlive/2016/texmf-dist/tex/latex/ms/everyshi.sty +Package: everyshi 2001/05/15 v3.00 EveryShipout Package (MS) +)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfrcs.code.tex +Package: pgfrcs 2015/08/07 v3.0.1a (rcs-revision 1.31) +)) +Package: pgf 2015/08/07 v3.0.1a (rcs-revision 1.15) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/basiclayer/pgfcore.sty +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/systemlayer/pgfsys.sty +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys.code.tex +Package: pgfsys 2014/07/09 v3.0.1a (rcs-revision 1.48) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex +\pgfkeys@pathtoks=\toks27 +\pgfkeys@temptoks=\toks28 + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeysfiltered.c +ode.tex +\pgfkeys@tmptoks=\toks29 +)) +\pgf@x=\dimen116 +\pgf@y=\dimen117 +\pgf@xa=\dimen118 +\pgf@ya=\dimen119 +\pgf@xb=\dimen120 +\pgf@yb=\dimen121 +\pgf@xc=\dimen122 +\pgf@yc=\dimen123 +\w@pgf@writea=\write3 +\r@pgf@reada=\read1 +\c@pgf@counta=\count100 +\c@pgf@countb=\count101 +\c@pgf@countc=\count102 +\c@pgf@countd=\count103 +\t@pgf@toka=\toks30 +\t@pgf@tokb=\toks31 +\t@pgf@tokc=\toks32 + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgf.cfg +File: pgf.cfg 2008/05/14 (rcs-revision 1.7) +) +Driver file for pgf: pgfsys-pdftex.def + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-pdftex.d +ef +File: pgfsys-pdftex.def 2014/10/11 (rcs-revision 1.35) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsys-common-p +df.def +File: pgfsys-common-pdf.def 2013/10/10 (rcs-revision 1.13) +))) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsyssoftpath. +code.tex +File: pgfsyssoftpath.code.tex 2013/09/09 (rcs-revision 1.9) +\pgfsyssoftpath@smallbuffer@items=\count104 +\pgfsyssoftpath@bigbuffer@items=\count105 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/systemlayer/pgfsysprotocol. +code.tex +File: pgfsysprotocol.code.tex 2006/10/16 (rcs-revision 1.4) +)) (/usr/local/texlive/2016/texmf-dist/tex/latex/xcolor/xcolor.sty +Package: xcolor 2016/05/11 v2.12 LaTeX color extensions (UK) + +(/usr/local/texlive/2016/texmf-dist/tex/latex/graphics-cfg/color.cfg +File: color.cfg 2016/01/02 v1.6 sample color configuration +) +Package xcolor Info: Driver file: pdftex.def on input line 225. +LaTeX Info: Redefining \color on input line 709. +Package xcolor Info: Model `cmy' substituted by `cmy0' on input line 1348. +Package xcolor Info: Model `hsb' substituted by `rgb' on input line 1352. +Package xcolor Info: Model `RGB' extended on input line 1364. +Package xcolor Info: Model `HTML' substituted by `rgb' on input line 1366. +Package xcolor Info: Model `Hsb' substituted by `hsb' on input line 1367. +Package xcolor Info: Model `tHsb' substituted by `hsb' on input line 1368. +Package xcolor Info: Model `HSB' substituted by `hsb' on input line 1369. +Package xcolor Info: Model `Gray' substituted by `gray' on input line 1370. +Package xcolor Info: Model `wave' substituted by `hsb' on input line 1371. +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcore.code.tex +Package: pgfcore 2010/04/11 v3.0.1a (rcs-revision 1.7) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathcalc.code.tex +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathutil.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathparser.code.tex +\pgfmath@dimen=\dimen124 +\pgfmath@count=\count106 +\pgfmath@box=\box29 +\pgfmath@toks=\toks33 +\pgfmath@stack@operand=\toks34 +\pgfmath@stack@operation=\toks35 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.code. +tex +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.basic +.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.trigo +nometric.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.rando +m.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.compa +rison.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.base. +code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.round +.code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.misc. +code.tex) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfunctions.integ +erarithmetics.code.tex))) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmathfloat.code.tex +\c@pgfmathroundto@lastzeros=\count107 +)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepoints.co +de.tex +File: pgfcorepoints.code.tex 2013/10/07 (rcs-revision 1.27) +\pgf@picminx=\dimen125 +\pgf@picmaxx=\dimen126 +\pgf@picminy=\dimen127 +\pgf@picmaxy=\dimen128 +\pgf@pathminx=\dimen129 +\pgf@pathmaxx=\dimen130 +\pgf@pathminy=\dimen131 +\pgf@pathmaxy=\dimen132 +\pgf@xx=\dimen133 +\pgf@xy=\dimen134 +\pgf@yx=\dimen135 +\pgf@yy=\dimen136 +\pgf@zx=\dimen137 +\pgf@zy=\dimen138 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathconst +ruct.code.tex +File: pgfcorepathconstruct.code.tex 2013/10/07 (rcs-revision 1.29) +\pgf@path@lastx=\dimen139 +\pgf@path@lasty=\dimen140 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathusage +.code.tex +File: pgfcorepathusage.code.tex 2014/11/02 (rcs-revision 1.24) +\pgf@shorten@end@additional=\dimen141 +\pgf@shorten@start@additional=\dimen142 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorescopes.co +de.tex +File: pgfcorescopes.code.tex 2015/05/08 (rcs-revision 1.46) +\pgfpic=\box30 +\pgf@hbox=\box31 +\pgf@layerbox@main=\box32 +\pgf@picture@serial@count=\count108 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoregraphicst +ate.code.tex +File: pgfcoregraphicstate.code.tex 2014/11/02 (rcs-revision 1.12) +\pgflinewidth=\dimen143 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretransform +ations.code.tex +File: pgfcoretransformations.code.tex 2015/08/07 (rcs-revision 1.20) +\pgf@pt@x=\dimen144 +\pgf@pt@y=\dimen145 +\pgf@pt@temp=\dimen146 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorequick.cod +e.tex +File: pgfcorequick.code.tex 2008/10/09 (rcs-revision 1.3) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreobjects.c +ode.tex +File: pgfcoreobjects.code.tex 2006/10/11 (rcs-revision 1.2) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepathproce +ssing.code.tex +File: pgfcorepathprocessing.code.tex 2013/09/09 (rcs-revision 1.9) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorearrows.co +de.tex +File: pgfcorearrows.code.tex 2015/05/14 (rcs-revision 1.43) +\pgfarrowsep=\dimen147 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreshade.cod +e.tex +File: pgfcoreshade.code.tex 2013/07/15 (rcs-revision 1.15) +\pgf@max=\dimen148 +\pgf@sys@shading@range@num=\count109 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreimage.cod +e.tex +File: pgfcoreimage.code.tex 2013/07/15 (rcs-revision 1.18) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoreexternal. +code.tex +File: pgfcoreexternal.code.tex 2014/07/09 (rcs-revision 1.21) +\pgfexternal@startupbox=\box33 +)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorelayers.co +de.tex +File: pgfcorelayers.code.tex 2013/07/18 (rcs-revision 1.7) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcoretranspare +ncy.code.tex +File: pgfcoretransparency.code.tex 2013/09/30 (rcs-revision 1.5) +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/basiclayer/pgfcorepatterns. +code.tex +File: pgfcorepatterns.code.tex 2013/11/07 (rcs-revision 1.5) +))) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmoduleshapes.cod +e.tex +File: pgfmoduleshapes.code.tex 2014/03/21 (rcs-revision 1.35) +\pgfnodeparttextbox=\box34 +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmoduleplot.code. +tex +File: pgfmoduleplot.code.tex 2015/08/03 (rcs-revision 1.13) +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version +-0-65.sty +Package: pgfcomp-version-0-65 2007/07/03 v3.0.1a (rcs-revision 1.7) +\pgf@nodesepstart=\dimen149 +\pgf@nodesepend=\dimen150 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/compatibility/pgfcomp-version +-1-18.sty +Package: pgfcomp-version-1-18 2007/07/23 v3.0.1a (rcs-revision 1.1) +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgffor.sty +(/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/utilities/pgfkeys.sty +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgfkeys.code.tex) +) (/usr/local/texlive/2016/texmf-dist/tex/latex/pgf/math/pgfmath.sty +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/utilities/pgffor.code.tex +Package: pgffor 2013/12/13 v3.0.1a (rcs-revision 1.25) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/math/pgfmath.code.tex) +\pgffor@iter=\dimen151 +\pgffor@skip=\dimen152 +\pgffor@stack=\toks36 +\pgffor@toks=\toks37 +)) +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/tikz.cod +e.tex +Package: tikz 2015/08/07 v3.0.1a (rcs-revision 1.151) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/libraries/pgflibraryplothan +dlers.code.tex +File: pgflibraryplothandlers.code.tex 2013/08/31 v3.0.1a (rcs-revision 1.20) +\pgf@plot@mark@count=\count110 +\pgfplotmarksize=\dimen153 +) +\tikz@lastx=\dimen154 +\tikz@lasty=\dimen155 +\tikz@lastxsaved=\dimen156 +\tikz@lastysaved=\dimen157 +\tikzleveldistance=\dimen158 +\tikzsiblingdistance=\dimen159 +\tikz@figbox=\box35 +\tikz@figbox@bg=\box36 +\tikz@tempbox=\box37 +\tikz@tempbox@bg=\box38 +\tikztreelevel=\count111 +\tikznumberofchildren=\count112 +\tikznumberofcurrentchild=\count113 +\tikz@fig@count=\count114 + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/modules/pgfmodulematrix.cod +e.tex +File: pgfmodulematrix.code.tex 2013/09/17 (rcs-revision 1.8) +\pgfmatrixcurrentrow=\count115 +\pgfmatrixcurrentcolumn=\count116 +\pgf@matrix@numberofcolumns=\count117 +) +\tikz@expandcount=\count118 + +(/usr/local/texlive/2016/texmf-dist/tex/generic/pgf/frontendlayer/tikz/librarie +s/tikzlibrarytopaths.code.tex +File: tikzlibrarytopaths.code.tex 2008/06/17 v3.0.1a (rcs-revision 1.2) +))) +(/usr/local/texlive/2016/texmf-dist/tex/latex/algorithms/algorithm.sty +Package: algorithm 2009/08/24 v0.1 Document Style `algorithm' - floating enviro +nment + +(/usr/local/texlive/2016/texmf-dist/tex/latex/float/float.sty +Package: float 2001/11/08 v1.3d Float enhancements (AL) +\c@float@type=\count119 +\float@exts=\toks38 +\float@box=\box39 +\@float@everytoks=\toks39 +\@floatcapt=\box40 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/base/ifthen.sty +Package: ifthen 2014/09/29 v1.1c Standard LaTeX ifthen package (DPC) +) +\@float@every@algorithm=\toks40 +\c@algorithm=\count120 +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/algorithms/algorithmic.sty +Package: algorithmic 2009/08/24 v0.1 Document Style `algorithmic' +\c@ALC@unique=\count121 +\c@ALC@line=\count122 +\c@ALC@rem=\count123 +\c@ALC@depth=\count124 +\ALC@tlm=\skip50 +\algorithmicindent=\skip51 +) +(./2_DeMarco.aux) +\openout1 = `2_DeMarco.aux'. + +LaTeX Font Info: Checking defaults for OML/cmm/m/it on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for T1/cmr/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for OT1/cmr/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for OMS/cmsy/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for OMX/cmex/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. +LaTeX Font Info: Checking defaults for U/cmr/m/n on input line 24. +LaTeX Font Info: ... okay on input line 24. + +(/usr/local/texlive/2016/texmf-dist/tex/context/base/mkii/supp-pdf.mkii +[Loading MPS to PDF converter (version 2006.09.02).] +\scratchcounter=\count125 +\scratchdimen=\dimen160 +\scratchbox=\box41 +\nofMPsegments=\count126 +\nofMParguments=\count127 +\everyMPshowfont=\toks41 +\MPscratchCnt=\count128 +\MPscratchDim=\dimen161 +\MPnumerator=\count129 +\makeMPintoPDFobject=\count130 +\everyMPtoPDFconversion=\toks42 +) (/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/pdftexcmds.sty +Package: pdftexcmds 2016/05/10 v0.21 Utility functions of pdfTeX for LuaTeX (HO +) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifluatex.sty +Package: ifluatex 2016/05/16 v1.4 Provides the ifluatex switch (HO) +Package ifluatex Info: LuaTeX not detected. +) +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/ifpdf.sty +Package: ifpdf 2016/05/14 v3.1 Provides the ifpdf switch +) +Package pdftexcmds Info: LuaTeX not detected. +Package pdftexcmds Info: \pdf@primitive is available. +Package pdftexcmds Info: \pdf@ifprimitive is available. +Package pdftexcmds Info: \pdfdraftmode found. +) +(/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/epstopdf-base.sty +Package: epstopdf-base 2016/05/15 v2.6 Base part for package epstopdf + +(/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/grfext.sty +Package: grfext 2016/05/16 v1.2 Manage graphics extensions (HO) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/kvdefinekeys.sty +Package: kvdefinekeys 2016/05/16 v1.4 Define keys (HO) +)) +(/usr/local/texlive/2016/texmf-dist/tex/latex/oberdiek/kvoptions.sty +Package: kvoptions 2016/05/16 v3.12 Key value format for package options (HO) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/kvsetkeys.sty +Package: kvsetkeys 2016/05/16 v1.17 Key value parser (HO) + +(/usr/local/texlive/2016/texmf-dist/tex/generic/oberdiek/etexcmds.sty +Package: etexcmds 2016/05/16 v1.6 Avoid name clashes with e-TeX commands (HO) +Package etexcmds Info: Could not find \expanded. +(etexcmds) That can mean that you are not using pdfTeX 1.50 or +(etexcmds) that some package has redefined \expanded. +(etexcmds) In the latter case, load this package earlier. +))) +Package grfext Info: Graphics extension search list: +(grfext) [.png,.pdf,.jpg,.mps,.jpeg,.jbig2,.jb2,.PNG,.PDF,.JPG,.JPE +G,.JBIG2,.JB2,.eps] +(grfext) \AppendGraphicsExtensions on input line 456. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg +File: epstopdf-sys.cfg 2010/07/13 v1.3 Configuration of (r)epstopdf for TeX Liv +e +)) +ABD: EveryShipout initializing macros +LaTeX Font Info: Try loading font information for U+msa on input line 25. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/umsa.fd +File: umsa.fd 2013/01/14 v3.01 AMS symbols A +) +LaTeX Font Info: Try loading font information for U+msb on input line 25. + +(/usr/local/texlive/2016/texmf-dist/tex/latex/amsfonts/umsb.fd +File: umsb.fd 2013/01/14 v3.01 AMS symbols B +) +Overfull \hbox (22.7516pt too wide) in paragraph at lines 28--32 +\OT1/cmr/m/n/10 these ques-tions may be found on the course web-site un-der ``h +ome-work''. Name your files as ``2[]\OT1/cmr/m/it/10 your[]last[]name\OT1/cmr/m +/n/10 .pdf'', + [] + +[1 + +{/usr/local/texlive/2016/texmf-var/fonts/map/pdftex/updmap/pdftex.map}] +Overfull \hbox (8.06297pt too wide) in paragraph at lines 91--96 +$\OT1/cmr/bx/n/10 2$ Re-mov-ing Edges \OT1/cmr/m/n/10 Give pseu-docode to im-pl +e-ment a method to re-move an edge. The method \OT1/cmtt/m/n/10 removeedge(e)\O +T1/cmr/m/n/10 , + [] + +[2] +File: cycle.png Graphic file (type png) + +Package pdftex.def Info: cycle.png used on input line 181. +(pdftex.def) Requested size: 316.18047pt x 240.8994pt. + [3] [4 <./cycle.png>] (./2_DeMarco.aux) ) +Here is how much of TeX's memory you used: + 12643 strings out of 493014 + 247990 string characters out of 6133351 + 288279 words of memory out of 5000000 + 15915 multiletter control sequences out of 15000+600000 + 12329 words of font info for 48 fonts, out of 8000000 for 9000 + 1141 hyphenation exceptions out of 8191 + 55i,7n,54p,424b,488s stack positions out of 5000i,500n,10000p,200000b,80000s + +Output written on 2_DeMarco.pdf (4 pages, 175696 bytes). +PDF statistics: + 63 PDF objects out of 1000 (max. 8388607) + 44 compressed objects within 1 object stream + 0 named destinations out of 1000 (max. 500000) + 18 words of extra memory for PDF output out of 10000 (max. 10000000) + diff --git a/2_DeMarco.pdf b/2_DeMarco.pdf new file mode 100644 index 0000000..72635f2 Binary files /dev/null and b/2_DeMarco.pdf differ diff --git a/2_DeMarco.synctex.gz b/2_DeMarco.synctex.gz new file mode 100644 index 0000000..a1b1a72 Binary files /dev/null and b/2_DeMarco.synctex.gz differ diff --git a/2_DeMarco.tex b/2_DeMarco.tex new file mode 100644 index 0000000..e3e75a6 --- /dev/null +++ b/2_DeMarco.tex @@ -0,0 +1,194 @@ +\documentclass{article} +\usepackage{graphicx,amsmath,amsthm,amssymb} +\usepackage{fullpage} +\usepackage{eucal} +\usepackage{graphicx} +\usepackage{color} +\usepackage{tikz} +\usepackage{algorithm,algorithmic} + +\newcommand{\question}[1]{\vspace{10pt}\noindent $\mathbf{#1}$} +\newcommand{\R}{\mathbb{R}} +\newcommand{\vect}[2]{\bigl[\begin{smallmatrix}#1\\#2\end{smallmatrix}\bigr]} +\newcommand{\vectt}[3]{\bigl[\begin{smallmatrix}#1\\#2\\#3\end{smallmatrix}\bigr]} +\newcommand{\gap}{{~~~~~~~~~~~~~~~~~~~~~}} +\newcommand{\vor}{\mathrm{Vor}} +\newcommand{\CC}{\mathrm{conv}} +\newcommand{\sign}{\mathrm{sign}} +\newcommand{\orient}{\textsc{Orient}} + + +\title{Computational Geometry: Fall 2016: Homework 2} +\author{} + +\begin{document} + \maketitle + + \section*{Administration} + Your answers should be typeset in \LaTeX\ or some equivalent and submitted as a \textbf{pdf}. + The \LaTeX\ source of these questions may be found on the course website under ``homework''. + Name your files as ``2\_\emph{your\_last\_name}.pdf'', all lowercase letters. + For example, I would call mine \textbf{2\_sheehy.pdf}. + + % Submission: Use the same repository that you used for your last submission. If you did not submit the last homework: + Create a \textbf{private} repository on github.uconn.edu and add me (userid: she13001) as a collaborator. Name your repository ``your\_last\_name\_compgeom'' (all lowercase). + \textbf{push your solutions to the repository before midnight on Monday, Nov 7. Remember that you have to both commit and push.} + + \section*{PSLGs and the HalfEdge Data Structure} + + Assume (unless otherwise noted) for all of the following problems that you are given a connected HalfEdge data structure that stores the faces implcitly. + That is, there are objects for vertices and edges, but a face can be represented by an arbitrary halfedge bounding that face. + + Assume the definitions of the three classes Vertex, Edge, and HalfEdge as described in class. + + \noindent + \textbf{HalfEdge} supports the following operations. + \begin{enumerate} + \item origin() - Return the Vertex at the origin (tail) of the halfedge. + \item prev() - Return the previous (in ccw order) halfedge on the same face. + \item next() - Return the next (in ccw order) halfedge on the same face. + \item twin() - Return the halfedge on the same edge but the other face. + \end{enumerate} + + \noindent + \textbf{Vertex} supports the following operations. + \begin{enumerate} + \item halfedge() - Return an arbitrary halfedge that has this vertex as its origin. + \item edges() - Return a list of the edges incident to this vertex in ccw order. + \item wedge(vector) - Return the halfedge $h$ that has this vertex as its origin and such that $h$ and $h.next()$ are on opposite sides of vector in ccw order. + \end{enumerate} + + \noindent + \textbf{Edge} supports the following operations. + \begin{enumerate} + \item halfedge - Return an arbitrary halfedge on this edge. + \item vertices() - Return a list of the two vertices incident to this edge. + \end{enumerate} + + \question{1} \textbf{Adding Edges} + Give pseudocode to implement a method to add an edge. + The method \texttt{addedge(u, v)}, takes two vertices as input. + It should update all the appropriate halfedges. + + \begin{algorithm}[H] + \caption*{$ADDEDGE(U, V)$} + \begin{algorithmic} + \STATE $U_{new}$ = new $HalfEdge()$ + \STATE $V_{new}$ = new $HalfEdge()$ + \STATE $U_{new}$.origin = $U$; $U_{new}$.twin = $V_{new}$ + \STATE $V_{new}$.origin = $V$; $V_{new}$.twin = $U_{new}$ + \STATE $U_{new}$.prev = $U$.halfEdge.prev() + \STATE $U$.halfEdge.prev().next = $U_{new}$ + \STATE $U_{new}$.next = $V$.halfEdge.next() + \STATE $V$.halfEdge().next().prev = $U_{new}$ + \STATE $V_{new}$.prev = $V$.halfEdge.prev() + \STATE $V$.halfEdge.prev().next = $V_{new}$ + \STATE $V_{new}$.next = $V$.halfEdge.next() + \STATE $V$.halfEdge.next().prev = $V_{new}$ + \end{algorithmic} + \end{algorithm} + + \question{2} \textbf{Removing Edges} + Give pseudocode to implement a method to remove an edge. + The method \texttt{removeedge(e)}, takes an edge as input. + It should update all the appropriate halfedges. + You may assume the graph will remain connected. + + \begin{algorithm}[H] + \caption*{$REMOVEEDGE(U, V)$} + \begin{algorithmic} + \STATE ITERATE EDGES with $i$ +\IF{$U[i]$.halfEdge().next().origin() === $V$} +\STATE $U[i]$.halfEdge().prev().next = $U[i]$.halfEdge.twin().next() +\STATE $U[i]$.halfEdge().next().prev = $U[i]$.halfEdge.twin().prev() +\ENDIF +\IF{$V[i]$.halfEdge().next().origin() === $U$} +\STATE $V[i]$.halfEdge().prev().next = $U[i]$.halfEdge.twin().next() +\STATE $V[i]$.halfEdge().next().prev = $U[i]$.halfEdge.twin().prev() +\ENDIF + \end{algorithmic} + \end{algorithm} + + \question{3} \textbf{Flipping Edges} + Use the previous methods and the \texttt{InCircle} predicate to give pseudocode for a method \texttt{DelaunayFlip(e)} that takes an edge e and flips it if it's not locally Delaunay. + + \begin{algorithm}[H] + \caption*{$DELAUNEY(E)$} + \begin{algorithmic} + \STATE let $(u, v)$ = $E$.vertices() + \STATE$U_{nextVer}$ = $U$.halfEdge.next().twin().origin() + \STATE$V_{nextVer}$ = $V$.halfEdge.next().twin().origin() + \IF{(incircle($U, V, V_{nextVer}, U_{nextVer}$) OR incircle($U, U_{nextVer}, V, V_{nextVer}$))} + \STATE $removeEdge$(U,V) + \STATE $addEdge(U_{nextVer}, V_{nextVer})$ + \ELSE + \STATE return; + \ENDIF + \end{algorithmic} + \end{algorithm} + + \section*{Walking through a triangulation} % (fold) + Point location in a triangulation is the problem of finding what triangle contains a given query point. + A popular algorithm for locating a point in a triangulation uses an idea very similar to the one we used for polygon membership testing. + Recall that for polygons, we intersected every edge of the polygon with a ray and counted intersections. + Now, we are not interested in the number of intersections, but we would like to return a halfedge on the face (triangle) containing the query point $q$. + If we start from a vertex $v$ of the triangulation, we can draw a straight line segment from $v$ to $q$. + We can then walk from triangle to triangle (using halfedge operations) so that the triangles visited in this process are exactly those intersecting the line segment $\overline{vq}$. + Implemented with a halfedge data structure, we really go from halfedge to halfedge. + + \question{4} \textbf{Point Location by Walking} + Give pseudocode for implementing a walking based point location algorithm for triangulations. + You may make any convenient general position assumptions on the inputs and the query. + + \begin{algorithm}[H] + \caption*{$WALKINGTRIANGULATION(q)$} + \begin{algorithmic} + \STATE $v$ = arbitrary vertex in triangulation + \STATE $l$ = line $vq$ + \STATE $start$ = $v$.halfEdge() + \STATE $current$ = $v$.halfEdge().next() + \WHILE {$true$} + \IF{$start === current$} + \STATE $return$ current + \ENDIF + \IF {$intersection$(current, l)} + \STATE $start$ = $current$.twin() + \STATE $current$ = $start$.next() + \ELSE + \STATE $current$ = $current$.next() + \ENDIF + \ENDWHILE + \end{algorithmic} + \end{algorithm} + + \question{5} \textbf{Visibility Walk} + There is another version of the walking-based point location algorithm called the ``visibility walk''. + In this version, we still go from triangle to triangle (really halfedge to halfedge), but we are less strict about which will be the next triangle. + We are instead allowed to visit the next triangle through any edge that is ``visible'' to the query point. + By ``visible'', we mean that a straight line segment from the query point to a point on the edge (not the endpoints) can drawn that does not intersect either of the other two edges of the current triangle. + There are many cases, there are two possible next triangles and any of several heuristics can be used to choose between the two. + + Find an example of a triangulation and a query (in general position) for which the visibility walk may not terminate. + That is, it will cycle without every reaching the triangle containing the query. + + Is your example Delaunay? + + Bonus: Can there be such a bad example that is also Delaunay? + + \begin{figure} + \caption {An Example of an infinite loop in a Visibility Walk} + \centering + \includegraphics[scale=1]{cycle} + \end{figure} + + \textbf{This infinite cycle can be fixed by using a heuristic that makes random choices when there are two possible paths to take} + + \textbf{BONUS: + A visibility walk in a triangulation that is strictly Delaunay will always terminate} + + % section polygons (end) + + + + +\end{document} diff --git a/cycle.png b/cycle.png new file mode 100644 index 0000000..bd4a40a Binary files /dev/null and b/cycle.png differ