diff --git a/clean.sh b/clean.sh new file mode 100644 index 0000000..e92e43c --- /dev/null +++ b/clean.sh @@ -0,0 +1,5 @@ +rm *.aux +rm *.bbl +rm *.blg +rm *.log +rm *.toc diff --git a/compile.sh b/compile.sh new file mode 100644 index 0000000..9456c2b --- /dev/null +++ b/compile.sh @@ -0,0 +1,5 @@ +pdflatex l4proj +bibtex l4proj +pdflatex l4proj +pdflatex l4proj +./clean.sh diff --git a/l4proj.bib b/l4proj.bib new file mode 100644 index 0000000..c064350 --- /dev/null +++ b/l4proj.bib @@ -0,0 +1,458 @@ +@misc{Lichman:2013 , +author = "M. Lichman", +year = "2013", +title = "{UCI} Machine Learning Repository", +url = "http://archive.ics.uci.edu/ml", +institution = "University of California, Irvine, School of Information and Computer Sciences" } + +% From example +@Misc{JChoco, +title = {{CHOCO Solver}}, +howpublished = {http://www.emn.fr/x-info/choco-solver/} +} + +@Misc{DIMACS, +title = {{DIMACS clique benchmark instances}}, +howpublished = {ftp://dimacs.rutgers.edu/pub/challenge/graph/benchmarks/clique} +} + +@article{bollobasErdos, + author = {B. Bollob\'{a}s and P. Erd\"{o}s}, + title = {{Cliques in random graphs}}, + journal = {Mathematical Proceedings of the Cambridge Philosophical Society}, + year = {1976}, + volume = {80}, + pages = {419-427} +} + +@Misc{matula, +author = {David W. Matula}, +title = {{The Largest Clique Size in a Random Graph}}, +howpublished = {Technical Report CS 7608, Department of Computer Science, Southern Methodist University, Dallas, Texas 75275}, +pages = {1-23}, +year = 1976 +} + +@article{Haralick80, + author = {Haralick, R. M. and Elliot, G. L.}, + title = {{Increasing tree search efficiency for constraint + satisfaction problems}}, + journal = {Artificial Intelligence}, + year = {1980}, + volume = {14}, + pages = {263--314} +} + +@inproceedings{fahle, + author = {Torsten Fahle}, + title = {{Simple and Fast: Improving a Branch-and-Bound Algorithm for Maximum Clique}}, + booktitle = {Proceedings {ESA 2002}, LNCS 2461}, + pages = {485-498}, + year = 2002 +} + +@inproceedings{regin2003, + author = {Jean-Charles R\'{e}gin}, + title = {{Using Constraint Programming to Solve the Maximum Clique Problem}}, + booktitle = {Proceedings {CP 2003}, LNCS 2833}, + pages = {634-648}, + year = 2003 +} + +@article{brelaz, +author = "Daniel Br\'{e}laz", +title = {{New Methods to Color the Vertices of a Graph}}, +journal = "Communications of the ACM", +volume = 22, +number = 4, +pages = {251-256}, +year = 1979} + +@article{welshPowell, +author = "D.J.A. Welsh and M.B. Powell", +title = {{An upper bound for the chromatic number of a graph and its application to timetabling problems}}, +journal = "The Computer Journal", +volume = 10, +number = 1, +pages = {85-86}, +year = 1967} + +@article{matulaBeck, +author = "David W. Matula and Lelan L. Beck", +title = {{Smallest-Last Ordering and Clustering and Graph Coloring Algorithms}}, +journal ="Journal of the Association for Computing Machinery", +volume = 30, +number = 3, +pages = {417-427}, +year = 1983} + +@article{freuder, +author = "Eugene C. Freuder", +title = {{A Sufficient Condition for Backtrack-Free Search}}, +journal ="Journal of the Association for Computing Machinery", +volume = 29, +number = 1, +pages = {24-32}, +year = 1982} + +@article{wood97, +author = "David R. Wood", +title = {{An algorithm for finding a maximum clique in a graph}}, +journal = "Operations Research Letters", +volume = 21, +pages = {211-217}, +year = 1997} + +@article{carraghanPardalos90, +author = "Randy Carraghan and Panos M. Pardalos", +title = {{An exact algorithm for the maximum clique problem}}, +journal = "Operations Research Letters", +volume = 9, +pages = {375-382}, +year = 1990} + +@article{pardalosRodgers92, +author = "Panos M. Pardalos and Gregory P. Rodgers", +title = {{A Branch and Bound Algorithm for the Maximum Clique Problem}}, +journal = "Computers and Operations Research", +volume = 19, +pages = {363-375}, +year = 1992} + +@inproceedings{geelen, + author = {P. A. Geelen}, + title = {{Dual viewpoint heuristics for binary constraint satisfaction problems}}, + booktitle = {Proceedings {ECAI'92}}, + year = 1992 +} + +@book{gareyJohnson, +author = {M.R. Garey and D.S. Johnson}, +title = {Computers and Intractability}, +publisher = {W.H. Freeman and Co}, +year = 1979} + +@book{nilsson, +author = {Nils J. Nilsson}, +title = {Principles of Artificial Intelligence}, +publisher = {Springer-Verlag}, +year = 1982} + +@inproceedings{ckt, + author = {Peter Cheeseman and Bob Kanefsky and William M. Taylor}, + year = 1991, + title = {{Where the really hard problems are}}, + pages = "331-337", + booktitle = {Proceedings {IJCAI'91}} +} + +@inproceedings{kappa, + author = {Ian P. Gent and Ewan MacIntyre and Patrick Prosser and Toby Walsh}, + year = 1996, + title = {{The constrainednss of search}}, + pages = "246-252", + booktitle = {Proceedings {AAAI'96}} +} + + +@article{am97, +author = "Brian Hayes", +title = "Can't get no satisfaction", +journal = "American Scientist", +volume = 85, +pages = "108-112", +year = 1997} + +@article{vardi, + author = {C. Coarfa and D.D. Demopoulos and A.S.M. Aguirre and D. Subramanian and M.Y. Vardi}, + title = {{Random 3-SAT: The Plot Thickens}}, + journal = {Constraints}, + year = {2003}, + volume = {8}, + pages = {243--261} +} + + +@article{physicaA, + author = {K.A. Zweig and G Palla and T. Vicsek}, + title = {{What makes a phase transition? Analysis of the random satisfiability problem}}, + journal = {Physica A}, + year = {2010}, + volume = {389}, + pages = {1501-1511} +} + +@conference{San09, +author = "Peter Sanders", +booktitle = "Efficient Algorithms", +pages = "321--340", +publisher = "Springer", +series = "Lecture Notes in Computer Science", +title = "{A}lgorithm {E}ngineering -- {A}n {A}ttempt at a {D}efinition", +url = "http://algo2.iti.kit.edu/1577.php", +volume = "5760", +year = "2009", +} + +@article{maxClique, + author = {Panos M. Pardalos and Jue Xue}, + title = {{The Maximum Clique Problem}}, + journal = {Journal of Global Optimization}, + year = {1994}, + volume = {4}, + pages = {301-324} +} + +@article{heuristics, + author = {Bahram Alidaee and Gary Kochenberger and Haibo Wang}, + title = {{Simple and fast surrogate constraint heuristics for maximum independent set problem}}, + journal = {Journal of Heuristics}, + year = {2008}, + volume = {14}, + pages = {571-585} +} + +@book{algDesign, + author = {Steven S. Skiena}, + title = {{The Algorithm Design Manual}}, + publisher = {Springer}, + year = {2008} +} + +@inproceedings{cp10wshop, + author = {Patrick Prosser}, + year = 2010, + title = {{Triangle Packing with Constraint Programming}}, + pages = "1-15", + booktitle = {{9th International Workshop on Constraint Modelling and Reformulation (ModRef 2010)}}} +} + +@article{segundo2011, + author = {Pablo San Segundo and Diego Rodr\'{i}guez-Losada and August\'{i}n Jim\'{e}nez}, + title = {{An exact bit-parallel algorithm for the maximum clique problem}}, + journal = {Computers and Operations Research}, + year = {2011}, + volume = {38}, + pages = {571-581} +} + +@article{segundo2011b, + author = {Pablo San Segundo and Fernando Matia and Diego Rodr\'{i}guez-Losada and Miguel Hernando}, + title = {{An improved bit parallel exact maximum clique algorithm}}, + journal = {Optimization Letters}, + year = {2011} +} + +@inproceedings{cp96, + author = {Ian P. Gent and Ewan MacIntyre and Patrick Prosser and Barbara M. Smith and Toby Walsh}, + year = 1996, + title = {{An Empirical Study of Dynamic Variable Ordering Heuristics for the Constraint satisfaction Problem}}, + pages = "179-193", + booktitle = {Proceedings {CP 1996}} +} + +@article{golomb65, + author = {Solomon W. Golomb and + Leonard D. Baumert}, + title = {Backtrack Programming}, + journal = {J. ACM}, + volume = {12}, + number = {4}, + year = {1965}, + pages = {516-524} +} + +@article{bk73, +author = {Coen Bron and Joep Kerbosch}, +title = {Algorithm 457: Finding All Cliques of an Undirected Graph [H]}, +journal = "Communications of the ACM", +volume = 16, +number = 9, +pages = "575-579", +year = 1973} + +@article{prjo2002, +author = {Patric R. J. \"{O}sterg\aa{}rd}, +title = {A fast algorithm for the maximum clique problem}, +journal = "Discrete Applied Mathematics", +volume = 120, +pages = "197-207", +year = 2002} + +@inproceedings{tomita2010, +author = {E. Tomita and Y. Sutani and T. Higashi and S. Takahashi and M. Wakatsuki}, +title = {A Simple and Faster Branch-and-Bound Algorithm for Finding Maximum Clique}, +booktitle = {WALCOM 2010, LNCS 5942}, +pages = "191-203", +year = 2010} + +@article{tomita2007, +author = {E. Tomita and Toshikatsu Kameda}, +title = {An efficient branch-and-bound algorithm for finding a maximum clique and computational experiments}, +journal = {Journal of Global Optimization}, +volume = 37, +pages = "95-111", +year = 2007} + +@article{tomita2006, +author = {Etsuji Tomita and Akira Tanaka and Haruhisa Takahashi}, +title = {The worst-case time complexity for generating all maximal cliques and computational experiments}, +journal = {Theoretical Computer Science}, +volume = 363, +pages = "28-42", +year = 2006} + +@article{ci1993, + author = {Patrick Prosser}, + title = {Hybrid Algorithms for the Constraint Satisfaction Problem}, + journal = {Computational Intelligence}, + volume = {9}, + year = {1993}, + pages = {268-299} +} + +@inproceedings{cp1997, + author = {Ian P. Gent and + Ewan MacIntyre and + Patrick Prosser and + Toby Walsh}, + title = {The Constrainedness of Arc Consistency}, + booktitle = {CP}, + year = {1997}, + pages = {327-340} +} + +@article{jair1993, + author = {Matthew L. Ginsberg}, + title = {Dynamic Backtracking}, + journal = {Journal of Artificial Intelligence Research}, + volume = {1}, + year = {1993}, + pages = {25-46} +} + +@article{Konc_Janezic_2007, +title={An improved branch and bound algorithm for the maximum clique problem}, +volume={58}, +journal={MATCH Communications in Mathematical and Computer Chemistry}, +author={Janez Konc and Du\u{s}anka Jane\u{z}i\u{c}}, +year={2007}, +pages={569--590}} + +@INPROCEEDINGS{aaai2010, +AUTHOR = "Chu Min Li and Zhe Quan", +TITLE = "An Efficient Branch-and-Bound Algorithm Based on MaxSAT for the Maximum Clique Problem.", +booktitle = "AAAI'10", +pages = {128-133}, +YEAR = {2010} } + +@INPROCEEDINGS{tai2010, +AUTHOR = "Chu Min Li and Zhe Quan", +TITLE = "Combining Graph Structure Exploitation and Propositional Reasoning for the Maximum Clique Problem", +booktitle = "Tools With Artificial Intelligence", +pages = {344-351}, +YEAR = {2010} } + +@inproceedings{tomita2003, +author = {E. Tomita and Y. Sutani and T. Higashi and S. Takahashi and M. Wakatsuki}, +title = {An Efficient Branch-and-Bound Algorithm for Finding a Maximum Clique}, +booktitle = {DMTC 2003, LNCS 2731}, +pages = "278-289", +year = 2003} + +@inproceedings{eppstein2011, +author = {David Eppstein and Darren Strash}, +title = {Listing All Maximal Cliques in Large Sparse Real-World Graphs}, +booktitle = {Experimental Algorithms, LNCS 6630}, +pages = "364-375", +year = 2011} + +@article{maffray1999, +title={{Sequential colorings and perfect graphs}}, +volume={94}, +journal={Discrete Applied Mathematics}, +author={Fr\'{e}d\'{e}ric Maffray and Myriam Preissmann}, +year={1998}, +pages={287--296}} + +@book{cadenhead, +author = {Rogers Cadenhead}, +title = {{Sams Teach Yourself Java in 24 Hours, edition 6}}, +publisher = {Sams}, +year = 2011} + +@article{qsort, +author = {Jon L. Bentley and M. Douglas McIlroy}, +title = {{Engineering a Sort Function}}, +journal = {Software-Practice and Experience}, +volume = 23, +number = 11, +pages = {1249-1265}, +year = 1993} + +@article{sparseSet, +title= {{An Efficient Representation for Sparse Sets}}, +author = {Preston Briggs and Linda Torczon}, +journal = {ACM Letters on Programming Languages and Systems}, +volume = 2, +number = "1-4", +pages = {59-69}, +year = 1993} + +@book{dek, +author = {Donald E. Knuth}, +title = {The Art of Computer Programming, Volume 4, Fascicle 3: Generating all Combinations and Permutations}, +publisher = {Addison-Wesley}, +year = 2010} + +@article{carmoZuge, + author = {Renato Carmo and + Alexandre P. Z{\"u}ge}, + title = {Branch and bound algorithms for the maximum clique problem + under a unified framework}, + journal = {J. Braz. Comp. Soc.}, + volume = {18}, + number = {2}, + year = {2012}, + pages = {137-151}, + ee = {http://dx.doi.org/10.1007/s13173-011-0050-6}, + bibsource = {DBLP, http://dblp.uni-trier.de} +} + +@article{smallWorld, + author = {Duncan J. Watts and Steven H. Strogatz}, + title = {Collective dynamics of small world networks}, + journal = {Nature}, + volume = {394}, + year = {1998}, + pages = {440-442} +} + +@article{akk73, + author = {E.A. Akkoyunlu}, + title = {The enumeration of maximal cliques of large graphs}, + journal = {SIAM Journal of Computing}, + volume = {2}, + number = 1, + year = {1973}, + pages = {1-6} +} +@inproceedings{segundoT10, + author = {Pablo San Segundo and + Crist{\'o}bal Tapia}, + title = {A New Implicit Branching Strategy for Exact Maximum Clique}, + booktitle = {ICTAI (1)}, + year = {2010}, + pages = {352-357} +} + +@article{sewell98, + author = {E. C. Sewell}, + title = {A Branch and Bound Algorithm for the Stability Number of + a Sparse Graph}, + journal = {INFORMS Journal on Computing}, + volume = {10}, + number = {4}, + year = {1998}, + pages = {438-447} +} diff --git a/l4proj.pdf b/l4proj.pdf new file mode 100644 index 0000000..46e8a69 Binary files /dev/null and b/l4proj.pdf differ diff --git a/l4proj.tex b/l4proj.tex new file mode 100644 index 0000000..fed35be --- /dev/null +++ b/l4proj.tex @@ -0,0 +1,167 @@ +\documentclass{l4proj} + +\usepackage{url} +\usepackage{fancyvrb} +\usepackage[final]{pdfpages} + + +\begin{document} +\title{How to Produce a Level 4 Project Report} +\author{Pitchaya Boonsarngsuk} +\date{February 29, 2013} +\maketitle + +\begin{abstract} +We show how to produce a level 4 project report using latex and pdflatex using the +style file l4proj.cls\cite{Lichman:2013} +\end{abstract} + +%\educationalconsent +% +%NOTE: if you include the educationalconsent (above) and your project is graded an A then +% it may be entered in the CS Hall of Fame +% +\tableofcontents +%============================================================================== +\chapter{Introduction} +\label{intro} +\pagenumbering{arabic} +The first page, abstract and table of contents are numbered using Roman numerals. From now on pages are numbered +using Arabic numerals. Therefore, immediately after the first call to $\backslash$chapter we need the call +$\backslash$pagenumbering$\{$arabic$\}$ and this should be called once only in the document. + +The first Chapter should then be on page 1. You are allowed 50 pages for a 30 credit project and 35 pages for a +20 credit report. This includes everything up to but excluding the appendices and bibliograph, i.e. this is a limit on +the body of the report. + +You are not allowed to alter text size (it is currently 11pt) neither are you allowed to alter the margins. + +Note that in this example, and some of the others, you need to execute the following commands the first time you process the files. +Multiple calls to pdflatex are required to resolve references to labels and citations. The file bib.bib is the bibliography file. + +\begin{verbatim} + + > pdflatex example0 + > bibtex example0 + > pdflatex example0 + > pdflatex example0 + +\end{verbatim} + + +\section{First Section in Chapter} +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog \cite{DIMACS}. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. + +\subsection{A subsection} +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. + +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox \cite{fahle} jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. + +\chapter{The Fox and Dog} +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. + +\section{The Fox Jumps Over} +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over Uroborus (Figure \ref{uroborus}). +The quick brown fox jumped over the lazy dog. + +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. + +%\vspace{-7mm} +\begin{figure} +\centering +%\includegraphics[height=9.2cm,width=13.2cm]{uroboros.pdf} +\vspace{-30mm} +\caption{An alternative hierarchy of the algorithms.} +\label{uroborus} +\end{figure} + +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over \cite{ckt} the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. + +\section{The Lazy Dog} +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. + +The quick brown fox jumped over the lazy dog. +The quick brown fox \cite{am97} jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. +The quick brown fox jumped over the lazy dog. + +%%%%%%%%%%%%%%%% +% % +% APPENDICES % +% % +%%%%%%%%%%%%%%%% +\begin{appendices} + +\chapter{Running the Programs} +An example of running from the command line is as follows: +\begin{verbatim} + > java MaxClique BBMC1 brock200_1.clq 14400 +\end{verbatim} +This will apply $BBMC$ with $style = 1$ to the first brock200 DIMACS instance allowing 14400 seconds of cpu time. + +\chapter{Generating Random Graphs} +\label{sec:randomGraph} +We generate Erd\'{o}s-R\"{e}nyi random graphs $G(n,p)$ where $n$ is the number of vertices and +each edge is included in the graph with probability $p$ independent from every other edge. It produces +a random graph in DIMACS format with vertices numbered 1 to $n$ inclusive. It can be run from the command line as follows to produce +a clq file +\begin{verbatim} + > java RandomGraph 100 0.9 > 100-90-00.clq +\end{verbatim} +\end{appendices} + +%%%%%%%%%%%%%%%%%%%% +% BIBLIOGRAPHY % +%%%%%%%%%%%%%%%%%%%% + +\bibliographystyle{plain} +\bibliography{l4proj} + +\end{document}