From 1f1621940b2a7e9183a8841c65541546ebbd521a Mon Sep 17 00:00:00 2001 From: Mart Lubbers Date: Mon, 3 Nov 2014 17:45:17 +0100 Subject: [PATCH] update send franc --- thesis2/1.introduction.tex | 12 +- thesis2/2.methods.tex | 90 +++++- thesis2/graph21.dot | 8 + thesis2/graph21.ps | 309 +++++++++++++++++++ thesis2/graph22.dot | 9 + thesis2/graph22.ps | 338 ++++++++++++++++++++ thesis2/graph23.dot | 12 + thesis2/graph23.ps | 393 ++++++++++++++++++++++++ thesis2/thesis.bbl | 19 ++ thesis2/thesis.blg | 48 +++ thesis2/thesis.dvi | Bin 0 -> 37828 bytes thesis2/version/mart_thesis_0.1.tar.gz | Bin 0 -> 3093 bytes thesis2/version/mart_thesis_0.1a.tar.gz | Bin 0 -> 10240 bytes 13 files changed, 1228 insertions(+), 10 deletions(-) create mode 100644 thesis2/graph21.dot create mode 100644 thesis2/graph21.ps create mode 100644 thesis2/graph22.dot create mode 100644 thesis2/graph22.ps create mode 100644 thesis2/graph23.dot create mode 100644 thesis2/graph23.ps create mode 100644 thesis2/thesis.bbl create mode 100644 thesis2/thesis.blg create mode 100644 thesis2/thesis.dvi create mode 100644 thesis2/version/mart_thesis_0.1.tar.gz create mode 100644 thesis2/version/mart_thesis_0.1a.tar.gz diff --git a/thesis2/1.introduction.tex b/thesis2/1.introduction.tex index 2aae8a6..3efa80b 100644 --- a/thesis2/1.introduction.tex +++ b/thesis2/1.introduction.tex @@ -48,7 +48,7 @@ information so that the information will appear structured in the expensive. The program is built so that a programmer can easily add fields or categories -to the data to make it flexible for changes. +to the application to reduce programming costs and complex modifications. \section{Why RSS/Atom} Information from venues comes in various different format with for each format @@ -72,7 +72,9 @@ data are static and mainly only usable by computer science experts. There is a great need of data mining in non structured data because the data within companies and on the internet is piling up and are usually left to catch dust. -The project is a continuation of the past project done by Roelofs et -al.\cite{Roelofs2009}. The techniques described by Roelofs et al. are more -focussed on extracting data from websites and/or already isolated data so it -can be an addition to the current project. +The project is a side project of the past project done by Roelofs et +al.\cite{Roelofs2009}. Roelofs et al. describes a technique to recognize date +strings using an adapted Levensteins algorithm. This technique can be fitted in +the current project because it works on a low level and the technique we +describe works on a high level. The algorithm only works on already isolated +data. diff --git a/thesis2/2.methods.tex b/thesis2/2.methods.tex index 9df1941..db5e56c 100644 --- a/thesis2/2.methods.tex +++ b/thesis2/2.methods.tex @@ -22,7 +22,6 @@ Generate xml \section{Crawler application} \subsection{Interface} -\subsection{Algorithm} \subsection{Preprocessing} When the data is received by the crawler the data is embedded as POST data in a HTTP request. The POST data consists of several fields with information about @@ -56,7 +55,7 @@ and intermediate states are marked with a single circle. \caption{Sample DAG} \label{fig:f21} \centering - \digraph[]{graph2}{ + \digraph[]{graph21}{ rankdir=LR; 1, 2 [shape="circle"]; 3, 4 [shape="doublecircle"]; @@ -66,6 +65,87 @@ and intermediate states are marked with a single circle. } \end{figure} -Using the algorithm described by Hopcroft et al\cite{Hopcroft1971} the -nodelists are converted into minimal directed acyclic graphs with a low -complexity($\mathcal{O}(N\log{N})$). +The first algorithm to generate DAG's was proposed by Hopcroft et +al\cite{Hopcroft1971}. The algorithm they described wasn't incremental and had +a complexity of $\mathcal{O}(N\log{N})$. \cite{Daciuk2000} et al. later +extended the algorithm and created an incremental one without increasing the +computational complexity. The non incremental algorithm from Daciuk et al. is +used to convert the nodelists to a graph. + +For example constructing a graph that from the entry: \textit{a,bc} and +\textit{a.bc} goes in the following steps: + +\begin{figure}[H] + \caption{Sample DAG, first entry} + \label{fig:f22} + \centering + \digraph[]{graph22}{ + rankdir=LR; + 1,2,3,5 [shape="circle"]; + 5 [shape="doublecircle"]; + 1 -> 2 [label="a"]; + 2 -> 3 [label="."]; + 3 -> 4 [label="b"]; + 4 -> 5 [label="c"]; + } +\end{figure} + +\begin{figure}[H] + \caption{Sample DAG, second entry} + \label{fig:f23} + \centering + \digraph[]{graph23}{ + rankdir=LR; + 1,2,3,5,6 [shape="circle"]; + 5 [shape="doublecircle"]; + 1 -> 2 [label="a"]; + 2 -> 3 [label="."]; + 3 -> 4 [label="b"]; + 4 -> 5 [label="c"]; + + 2 -> 6 [label=","]; + 6 -> 4 [label="b"]; + } +\end{figure} + +\subsection{Defining categories} +pass + +\subsection{Process} +Proposal was written + + +First html/mail/fax/rss, worst case rss + + +After some research and determining the scope of the project we decided only to +do RSS, this because RSS tends to force structure in the data because RSS feeds +are often generated by the website and thus reliable and consistent. We found a +couple of good RSS feeds. + + +At first the general framework was designed and implemented, no method yet. + + +Started with method for recognizing separators. + + +Found research paper about algorithm that can create directed acyclic graphs +from string, although it was designed to compress word lists it can be +(mis)used to extract information. + + +Implementation of DAG algorithm found and tied to the program. + + +Command line program ready. Conversation with both supervisors, gui had to be +made. + +Step by step gui created. Web interface as a control center for the crawlers. + + +Gui optimized. + + +Concluded that the program doesn't reach wide audience due to lack of well +structured rss feeds. diff --git a/thesis2/graph21.dot b/thesis2/graph21.dot new file mode 100644 index 0000000..887fc4b --- /dev/null +++ b/thesis2/graph21.dot @@ -0,0 +1,8 @@ +digraph graph21 { +rankdir=LR; +1, 2 [shape="circle"]; +3, 4 [shape="doublecircle"]; +1 -> 2 [label="a"]; +2 -> 3 [label="a"]; +2 -> 4 [label="b"]; +} diff --git a/thesis2/graph21.ps b/thesis2/graph21.ps new file mode 100644 index 0000000..4cd7a19 --- /dev/null +++ b/thesis2/graph21.ps @@ -0,0 +1,309 @@ +%!PS-Adobe-3.0 +%%Creator: graphviz version 2.38.0 (20140413.2041) +%%Title: graph21 +%%Pages: (atend) +%%BoundingBox: (atend) +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def +/tapered { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw text fitted to its expected width +/alignedtext { % width text + /text exch def + /width exch def + gsave + width 0 gt { + [] 0 setdash + text stringwidth pop width exch sub text length div 0 text ashow + } if + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +setupLatin1 +%%Page: 1 1 +%%PageBoundingBox: 36 36 246 150 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 210 114 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% 1 +gsave +1 setlinewidth +0 0 0 nodecolor +18 53 18 18 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +14.5 49.3 moveto 7 (1) alignedtext +grestore +% 2 +gsave +1 setlinewidth +0 0 0 nodecolor +97 53 18 18 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +93.5 49.3 moveto 7 (2) alignedtext +grestore +% 1->2 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 36.09 53 moveto +45.66 53 57.82 53 68.68 53 curveto +stroke +0 0 0 edgecolor +newpath 68.96 56.5 moveto +78.96 53 lineto +68.96 49.5 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 68.96 56.5 moveto +78.96 53 lineto +68.96 49.5 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +54 56.8 moveto 7 (a) alignedtext +grestore +% 3 +gsave +1 setlinewidth +0 0 0 nodecolor +180 84 18 18 ellipse_path stroke +1 setlinewidth +0 0 0 nodecolor +180 84 22 22 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +176.5 80.3 moveto 7 (3) alignedtext +grestore +% 2->3 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 114 59.12 moveto +124.16 63.01 137.61 68.16 149.64 72.76 curveto +stroke +0 0 0 edgecolor +newpath 148.72 76.16 moveto +159.31 76.46 lineto +151.22 69.62 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 148.72 76.16 moveto +159.31 76.46 lineto +151.22 69.62 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +133 71.8 moveto 7 (a) alignedtext +grestore +% 4 +gsave +1 setlinewidth +0 0 0 nodecolor +180 22 18 18 ellipse_path stroke +1 setlinewidth +0 0 0 nodecolor +180 22 22 22 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +176.5 18.3 moveto 7 (4) alignedtext +grestore +% 2->4 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 114 46.88 moveto +124.16 42.99 137.61 37.84 149.64 33.24 curveto +stroke +0 0 0 edgecolor +newpath 151.22 36.38 moveto +159.31 29.54 lineto +148.72 29.84 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 151.22 36.38 moveto +159.31 29.54 lineto +148.72 29.84 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +133 43.8 moveto 7 (b) alignedtext +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +%%BoundingBox: 36 36 246 150 +end +restore +%%EOF diff --git a/thesis2/graph22.dot b/thesis2/graph22.dot new file mode 100644 index 0000000..f797302 --- /dev/null +++ b/thesis2/graph22.dot @@ -0,0 +1,9 @@ +digraph graph22 { +rankdir=LR; +1,2,3,5 [shape="circle"]; +5 [shape="doublecircle"]; +1 -> 2 [label="a"]; +2 -> 3 [label="."]; +3 -> 4 [label="b"]; +4 -> 5 [label="c"]; +} diff --git a/thesis2/graph22.ps b/thesis2/graph22.ps new file mode 100644 index 0000000..7e806e8 --- /dev/null +++ b/thesis2/graph22.ps @@ -0,0 +1,338 @@ +%!PS-Adobe-3.0 +%%Creator: graphviz version 2.38.0 (20140413.2041) +%%Title: graph22 +%%Pages: (atend) +%%BoundingBox: (atend) +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def +/tapered { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw text fitted to its expected width +/alignedtext { % width text + /text exch def + /width exch def + gsave + width 0 gt { + [] 0 setdash + text stringwidth pop width exch sub text length div 0 text ashow + } if + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +setupLatin1 +%%Page: 1 1 +%%PageBoundingBox: 36 36 419 88 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 383 52 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% 1 +gsave +1 setlinewidth +0 0 0 nodecolor +18 22 18 18 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +14.5 18.3 moveto 7 (1) alignedtext +grestore +% 2 +gsave +1 setlinewidth +0 0 0 nodecolor +97 22 18 18 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +93.5 18.3 moveto 7 (2) alignedtext +grestore +% 1->2 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 36.09 22 moveto +45.66 22 57.82 22 68.68 22 curveto +stroke +0 0 0 edgecolor +newpath 68.96 25.5 moveto +78.96 22 lineto +68.96 18.5 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 68.96 25.5 moveto +78.96 22 lineto +68.96 18.5 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +54 25.8 moveto 7 (a) alignedtext +grestore +% 3 +gsave +1 setlinewidth +0 0 0 nodecolor +173 22 18 18 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +169.5 18.3 moveto 7 (3) alignedtext +grestore +% 2->3 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 115.16 22 moveto +123.94 22 134.84 22 144.73 22 curveto +stroke +0 0 0 edgecolor +newpath 144.93 25.5 moveto +154.93 22 lineto +144.93 18.5 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 144.93 25.5 moveto +154.93 22 lineto +144.93 18.5 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +133 25.8 moveto 4 (.) alignedtext +grestore +% 4 +gsave +1 setlinewidth +0 0 0 nodecolor +261 22 27 18 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +257.5 18.3 moveto 7 (4) alignedtext +grestore +% 3->4 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 191.4 22 moveto +200.72 22 212.56 22 223.77 22 curveto +stroke +0 0 0 edgecolor +newpath 223.8 25.5 moveto +233.8 22 lineto +223.8 18.5 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 223.8 25.5 moveto +233.8 22 lineto +223.8 18.5 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +209 25.8 moveto 7 (b) alignedtext +grestore +% 5 +gsave +1 setlinewidth +0 0 0 nodecolor +353 22 18 18 ellipse_path stroke +1 setlinewidth +0 0 0 nodecolor +353 22 22 22 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +349.5 18.3 moveto 7 (5) alignedtext +grestore +% 4->5 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 288.03 22 moveto +298.23 22 310.03 22 320.69 22 curveto +stroke +0 0 0 edgecolor +newpath 320.87 25.5 moveto +330.87 22 lineto +320.87 18.5 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 320.87 25.5 moveto +330.87 22 lineto +320.87 18.5 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +306 25.8 moveto 7 (c) alignedtext +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +%%BoundingBox: 36 36 419 88 +end +restore +%%EOF diff --git a/thesis2/graph23.dot b/thesis2/graph23.dot new file mode 100644 index 0000000..8a793b3 --- /dev/null +++ b/thesis2/graph23.dot @@ -0,0 +1,12 @@ +digraph graph23 { +rankdir=LR; +1,2,3,5,6 [shape="circle"]; +5 [shape="doublecircle"]; +1 -> 2 [label="a"]; +2 -> 3 [label="."]; +3 -> 4 [label="b"]; +4 -> 5 [label="c"]; + +2 -> 6 [label=","]; +6 -> 4 [label="b"]; +} diff --git a/thesis2/graph23.ps b/thesis2/graph23.ps new file mode 100644 index 0000000..8335da7 --- /dev/null +++ b/thesis2/graph23.ps @@ -0,0 +1,393 @@ +%!PS-Adobe-3.0 +%%Creator: graphviz version 2.38.0 (20140413.2041) +%%Title: graph23 +%%Pages: (atend) +%%BoundingBox: (atend) +%%EndComments +save +%%BeginProlog +/DotDict 200 dict def +DotDict begin + +/setupLatin1 { +mark +/EncodingVector 256 array def + EncodingVector 0 + +ISOLatin1Encoding 0 255 getinterval putinterval +EncodingVector 45 /hyphen put + +% Set up ISO Latin 1 character encoding +/starnetISO { + dup dup findfont dup length dict begin + { 1 index /FID ne { def }{ pop pop } ifelse + } forall + /Encoding EncodingVector def + currentdict end definefont +} def +/Times-Roman starnetISO def +/Times-Italic starnetISO def +/Times-Bold starnetISO def +/Times-BoldItalic starnetISO def +/Helvetica starnetISO def +/Helvetica-Oblique starnetISO def +/Helvetica-Bold starnetISO def +/Helvetica-BoldOblique starnetISO def +/Courier starnetISO def +/Courier-Oblique starnetISO def +/Courier-Bold starnetISO def +/Courier-BoldOblique starnetISO def +cleartomark +} bind def + +%%BeginResource: procset graphviz 0 0 +/coord-font-family /Times-Roman def +/default-font-family /Times-Roman def +/coordfont coord-font-family findfont 8 scalefont def + +/InvScaleFactor 1.0 def +/set_scale { + dup 1 exch div /InvScaleFactor exch def + scale +} bind def + +% styles +/solid { [] 0 setdash } bind def +/dashed { [9 InvScaleFactor mul dup ] 0 setdash } bind def +/dotted { [1 InvScaleFactor mul 6 InvScaleFactor mul] 0 setdash } bind def +/invis {/fill {newpath} def /stroke {newpath} def /show {pop newpath} def} bind def +/bold { 2 setlinewidth } bind def +/filled { } bind def +/unfilled { } bind def +/rounded { } bind def +/diagonals { } bind def +/tapered { } bind def + +% hooks for setting color +/nodecolor { sethsbcolor } bind def +/edgecolor { sethsbcolor } bind def +/graphcolor { sethsbcolor } bind def +/nopcolor {pop pop pop} bind def + +/beginpage { % i j npages + /npages exch def + /j exch def + /i exch def + /str 10 string def + npages 1 gt { + gsave + coordfont setfont + 0 0 moveto + (\() show i str cvs show (,) show j str cvs show (\)) show + grestore + } if +} bind def + +/set_font { + findfont exch + scalefont setfont +} def + +% draw text fitted to its expected width +/alignedtext { % width text + /text exch def + /width exch def + gsave + width 0 gt { + [] 0 setdash + text stringwidth pop width exch sub text length div 0 text ashow + } if + grestore +} def + +/boxprim { % xcorner ycorner xsize ysize + 4 2 roll + moveto + 2 copy + exch 0 rlineto + 0 exch rlineto + pop neg 0 rlineto + closepath +} bind def + +/ellipse_path { + /ry exch def + /rx exch def + /y exch def + /x exch def + matrix currentmatrix + newpath + x y translate + rx ry scale + 0 0 1 0 360 arc + setmatrix +} bind def + +/endpage { showpage } bind def +/showpage { } def + +/layercolorseq + [ % layer color sequence - darkest to lightest + [0 0 0] + [.2 .8 .8] + [.4 .8 .8] + [.6 .8 .8] + [.8 .8 .8] + ] +def + +/layerlen layercolorseq length def + +/setlayer {/maxlayer exch def /curlayer exch def + layercolorseq curlayer 1 sub layerlen mod get + aload pop sethsbcolor + /nodecolor {nopcolor} def + /edgecolor {nopcolor} def + /graphcolor {nopcolor} def +} bind def + +/onlayer { curlayer ne {invis} if } def + +/onlayers { + /myupper exch def + /mylower exch def + curlayer mylower lt + curlayer myupper gt + or + {invis} if +} def + +/curlayer 0 def + +%%EndResource +%%EndProlog +%%BeginSetup +14 default-font-family set_font +1 setmiterlimit +% /arrowlength 10 def +% /arrowwidth 5 def + +% make sure pdfmark is harmless for PS-interpreters other than Distiller +/pdfmark where {pop} {userdict /pdfmark /cleartomark load put} ifelse +% make '<<' and '>>' safe on PS Level 1 devices +/languagelevel where {pop languagelevel}{1} ifelse +2 lt { + userdict (<<) cvn ([) cvn load put + userdict (>>) cvn ([) cvn load put +} if + +%%EndSetup +setupLatin1 +%%Page: 1 1 +%%PageBoundingBox: 36 36 419 134 +%%PageOrientation: Portrait +0 0 1 beginpage +gsave +36 36 383 98 boxprim clip newpath +1 1 set_scale 0 rotate 40 40 translate +% 1 +gsave +1 setlinewidth +0 0 0 nodecolor +18 47 18 18 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +14.5 43.3 moveto 7 (1) alignedtext +grestore +% 2 +gsave +1 setlinewidth +0 0 0 nodecolor +97 47 18 18 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +93.5 43.3 moveto 7 (2) alignedtext +grestore +% 1->2 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 36.09 47 moveto +45.66 47 57.82 47 68.68 47 curveto +stroke +0 0 0 edgecolor +newpath 68.96 50.5 moveto +78.96 47 lineto +68.96 43.5 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 68.96 50.5 moveto +78.96 47 lineto +68.96 43.5 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +54 50.8 moveto 7 (a) alignedtext +grestore +% 3 +gsave +1 setlinewidth +0 0 0 nodecolor +173 72 18 18 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +169.5 68.3 moveto 7 (3) alignedtext +grestore +% 2->3 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 114.42 52.55 moveto +123.72 55.69 135.55 59.69 146.07 63.24 curveto +stroke +0 0 0 edgecolor +newpath 145.03 66.58 moveto +155.62 66.47 lineto +147.27 59.95 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 145.03 66.58 moveto +155.62 66.47 lineto +147.27 59.95 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +133 62.8 moveto 4 (.) alignedtext +grestore +% 6 +gsave +1 setlinewidth +0 0 0 nodecolor +173 18 18 18 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +169.5 14.3 moveto 7 (6) alignedtext +grestore +% 2->6 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 114.06 40.71 moveto +123.56 36.98 135.81 32.18 146.6 27.95 curveto +stroke +0 0 0 edgecolor +newpath 147.94 31.19 moveto +155.97 24.28 lineto +145.39 24.67 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 147.94 31.19 moveto +155.97 24.28 lineto +145.39 24.67 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +133 35.8 moveto 4 (,) alignedtext +grestore +% 4 +gsave +1 setlinewidth +0 0 0 nodecolor +261 47 27 18 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +257.5 43.3 moveto 7 (4) alignedtext +grestore +% 3->4 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 190.58 67.18 moveto +200.65 64.25 213.87 60.41 226.07 56.86 curveto +stroke +0 0 0 edgecolor +newpath 227.36 60.13 moveto +235.99 53.98 lineto +225.41 53.41 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 227.36 60.13 moveto +235.99 53.98 lineto +225.41 53.41 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +209 64.8 moveto 7 (b) alignedtext +grestore +% 5 +gsave +1 setlinewidth +0 0 0 nodecolor +353 47 18 18 ellipse_path stroke +1 setlinewidth +0 0 0 nodecolor +353 47 22 22 ellipse_path stroke +0 0 0 nodecolor +14 /Times-Roman set_font +349.5 43.3 moveto 7 (5) alignedtext +grestore +% 6->4 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 190.18 23.45 moveto +200.47 26.92 214.17 31.54 226.71 35.77 curveto +stroke +0 0 0 edgecolor +newpath 225.83 39.17 moveto +236.43 39.05 lineto +228.07 32.54 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 225.83 39.17 moveto +236.43 39.05 lineto +228.07 32.54 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +209 34.8 moveto 7 (b) alignedtext +grestore +% 4->5 +gsave +1 setlinewidth +0 0 0 edgecolor +newpath 288.03 47 moveto +298.23 47 310.03 47 320.69 47 curveto +stroke +0 0 0 edgecolor +newpath 320.87 50.5 moveto +330.87 47 lineto +320.87 43.5 lineto +closepath fill +1 setlinewidth +solid +0 0 0 edgecolor +newpath 320.87 50.5 moveto +330.87 47 lineto +320.87 43.5 lineto +closepath stroke +0 0 0 edgecolor +14 /Times-Roman set_font +306 50.8 moveto 7 (c) alignedtext +grestore +endpage +showpage +grestore +%%PageTrailer +%%EndPage: 1 +%%Trailer +%%Pages: 1 +%%BoundingBox: 36 36 419 134 +end +restore +%%EOF diff --git a/thesis2/thesis.bbl b/thesis2/thesis.bbl new file mode 100644 index 0000000..f45b3a8 --- /dev/null +++ b/thesis2/thesis.bbl @@ -0,0 +1,19 @@ +\begin{thebibliography}{1} + +\bibitem{Daciuk2000} +Jan Daciuk, Stoyan Mihov, Bruce~W. Watson, and Richard~E. Watson. +\newblock {Incremental Construction of Minimal Acyclic Finite-State Automata}. +\newblock {\em Computational Linguistics}, 26(1):3--16, March 2000. + +\bibitem{Hopcroft1971} +John Hopcroft. +\newblock {An N log N algorithm for minimizing states in a finite automaton}. +\newblock Technical report, 1971. + +\bibitem{Roelofs2009} +Wouter Roelofs, Alessandro~Tadeo Paula, and Franc Grootjen. +\newblock {Programming by Clicking}. +\newblock In {\em Proceedings of the Dutch Information Retrieval Conference}, + pages 2--3, 2009. + +\end{thebibliography} diff --git a/thesis2/thesis.blg b/thesis2/thesis.blg new file mode 100644 index 0000000..3a83e1f --- /dev/null +++ b/thesis2/thesis.blg @@ -0,0 +1,48 @@ +This is BibTeX, Version 0.99d (TeX Live 2015/dev/Debian) +Capacity: max_strings=35307, hash_size=35307, hash_prime=30011 +The top-level auxiliary file: thesis.aux +The style file: plain.bst +Database file #1: thesis.bib +Warning--empty institution in Hopcroft1971 +You've used 3 entries, + 2118 wiz_defined-function locations, + 516 strings with 4464 characters, +and the built_in function-call counts, 993 in all, are: += -- 95 +> -- 48 +< -- 1 ++ -- 19 +- -- 16 +* -- 70 +:= -- 173 +add.period$ -- 9 +call.type$ -- 3 +change.case$ -- 18 +chr.to.int$ -- 0 +cite$ -- 4 +duplicate$ -- 38 +empty$ -- 75 +format.name$ -- 16 +if$ -- 202 +int.to.chr$ -- 0 +int.to.str$ -- 3 +missing$ -- 2 +newline$ -- 18 +num.names$ -- 6 +pop$ -- 18 +preamble$ -- 1 +purify$ -- 14 +quote$ -- 0 +skip$ -- 26 +stack$ -- 0 +substring$ -- 47 +swap$ -- 8 +text.length$ -- 1 +text.prefix$ -- 0 +top$ -- 0 +type$ -- 12 +warning$ -- 1 +while$ -- 11 +width$ -- 4 +write$ -- 34 +(There was 1 warning) diff --git a/thesis2/thesis.dvi b/thesis2/thesis.dvi new file mode 100644 index 0000000000000000000000000000000000000000..3edb64bd0a7d6351ae6b97870dd15af3e66195b9 GIT binary patch literal 37828 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 literal 0 HcmV?d00001 diff --git a/thesis2/version/mart_thesis_0.1.tar.gz b/thesis2/version/mart_thesis_0.1.tar.gz new file mode 100644 index 0000000000000000000000000000000000000000..7a374a205fa4a622c021777b9a41b25248ef6a08 GIT binary patch literal 3093 zcmV+w4C?bAiwFpKt3Ol%128TzUuJ1?b97&6Zgg^QUu1G&W^^ueVR8WNSzB)#Hx~A* z=T{KeHU$b-mK?iA1Nb3rx2=JsD3Ww{AN0bR;Yh4!$SKK@q6+%&{m$XsBs<&1VjJvY z=RC+VFNf#yoeQbOOq<|r-ef^rGYjhd*?*kopf9hl>F?t9W<<8xfadk>xTGV!&_v@G>+ z(1GSj&(X>YVPvIX1ew|<@PS81U~LX)y4`FrzNn;;E9H50DILBBk;@=c=@ltKo3&Xz zZGmL8z;2WipDgAx#NQ`EZP;!&MQoLN5Y`BZ1vqLZ?%|Nq+x}?TANZKx&2{7lb`6&1 zs?->#`A6!_#E%eB1j}$JWEL7(9@}RGND`oScB6B!b!wy4)?bjr+i$7N9#)PZmW)`i zFDmPl*l6HUkxHegZQa0j&@}ZrfZy0r*aVybNW!{=AhEJeD?dv{PC&je00v{vVGne$ zP{KWJ^-gX8Jyn@(;3!)pWRG8=u?{1-5L|R zXPHo_jWwrjYn44fJT`(1_?Jah@3jx)lJW9X6=WtIqLX~molkzoY1n3bgB4@BM`F@4 zK;uM+$cr7^gA~yWKdsi#By25gscN$BJ*NdxXa_{oV4D(-G=g;XI#;DTI#5dhM9C+k^S=Xh`_(T#MSp_Q+xNzlURdp6* zF^;5Tfvf>D9ABzdoSFFB(ZS5DI}aA9WUj=9O`r9 zI34z<&XRW&R=rhD%vCp`O}7w7WH?a`IqRLOYU`TnaKZk0G~DL!VC$N|QkODQl*X9d zN)p~rP8=|#eZsEq(>+2Kf!E_HVYyLvETGBGZkN^IJCuVXWoU>|%-Lo@9@zlXkxN|G z=8_Jk90#EJz;bU9D7z#?$B-M^#Lv z2@I7%>7ayB+jek>TFz&%t}GM;q?$*TMZGKprnUKA
  • RLv$34GAoNUvZwft^8*~v z*=S2SBWpa>)i-b7KHWSz?^7#XKC^B`|9rv7C|W@dhlEVUN3x-48s*rOz@Af9{vcF(J!qwW_k|KI&3#gKh z!_V8e>okAy2{108b)3pSkb9qmMxXuq-hh^IqUD4{-tx%29qQXO+i9tzt3xlO9OE^U zDA&?!>PK_bSFOsNtLLC>5_`3HG$+Le4(6gn@*@)w7^%{sOPq;OZ2f(`Bj;a|3lGWt zY1M3-MFcoLVUmq>+5$4UE(+8T!^sgFVkV$Nl+4!cU@~-dXyz!^$tXsxxLv}i=EU0p zQ;dL_t*vLjb_h*6A=`4?B`hetV<2d54*9sQI*+^=+c=mWwTRpIB;KL=B~c9ZURIpf zy7n`g4DKi`*Xw>gb1dbKf*N1J4r0RUt+&?*84~|Nq4f2rZE6~Wk8s?HKCSF&JUV?iml({Z1OTa4otgX8ar%K+9<0KcV@8z>`Fxl3ApafmKkuj zZ^y3Y^REuEs*N0h9x-z|g@#AFfvg$JNmt{9v!9Pw-x1Q;1njy#QlZ`@T-&9-wjAc& z{R=rMX`zNsR1w`Z$J}&9v~)_%lCz2aD@dlEo&M*%{QfKNzfAo8dwqNT<;^w57gzJ! z`Skw#F$lqlmgUd%{vZ1P`PJgOd;h<=xn02ji<{f)$^Rea{Xa(mpsp?}rT2SOjMUnP z1Ijl}Tv|bfoG*#*IgZMN~tcp^nPP*M*I%l_@CK6(UD_1M4@QMWktI`Mjvro>s{qtd0 zs=Fl>;yQT!o4UXR3g`o5RQ?W42#uJgO3^OeQO7X+8@Gb(4r2j{8r$!#k^`TStAaSt znmsBwI?sA{z^Ns=`UZO3)w{5^20Q73;Gx}cTxQFrGXAc+x?#wp4Q&?{vh)h4L>1B3 ztUH??d4NYfEx@UDUf>D~arZx>=HI`gt_GgvmMy+%Y}8Q~hUTH+{(#$TZO&1Ij3@py z+du0b^@u!lxZu-d1MS@1{xzafylPUiS3BjKlv<3t{Y%G9tHxd89t~Sr>J_;i%UHQ@ z+x95FJUg^uHSCrwBkLp1%cZ|w%)gr7JcsdF(SKJ@ajIwXAw2~e@FtCiCFft`&Wi@l zedejl^O~#SdxpvfCDA98VrPv3_lAi0@BWWvn(ixZ-76#z*(G}sQYwAz<>b*1`HT5V8DO@0|pEjFkrxd0RsjM P7%*VKfB^#r47?2tC;$Kf literal 0 HcmV?d00001 -- 2.20.1