This algorithm has terrible time-performance characteristics, so we make the assumption that we can divide a large number of points with k-means and then solve those subproblems.
In other words, we make the simplifying assumption that the Enclosing Circle Algorithm has [https://en.wikipedia.org/wiki/Optimal_substructure Optimal Substructure].
== Structure of Program ==
* TODO
== Parameters ==
== Example Structure and Usage == ==== vc_circles.py ==== *What it does**If given a "master file" through argument infile, splits it into constituent data files, and stores them in DATA_DIRECTORY**Takes data files in DATA_DIRECTORY and calls circles.py in parallel for each of these data files, which writes its output files to OUTPUT_DIRECTORY**Takes output files in OUTPUT_DIRECTORY and calls outjoiner.py, which writes its report files to REPORT_DIRECTORY *Command Line Arguments**--sweep-time overwrites <code>SWEEP_CYCLE_SECONDS</code>**--instances overwrites <code>NUMBER_INSTANCES</code>**--min_points overwrites <code>MIN_POINTS_PER_CIRCLE</code>**--infile: Path to large master file, e.g. CirclesTestData.txt**--out overwrites <code>OUTPUT_DIRECTORY</code>**--split-out overwrites <code>DATA_DIRECTORY</code>**--report overwrites <code>REPORT_DIRECTORY</code> ==== circles.py ==== *What it does *Command Line Arguments
=== Example Usage ===
<nowiki>
$ python vc_circles.py --infile E:/McNair/Projects/OliverLovesCircles/CoLevelForCirclesNotRunGTE200.txt</nowiki>