Skip to content

kensmosis/ccsearch

release
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
src
 
 
 
 
 
 
 
 
 
 
CCSearch README.  This project contains the reference implementation, white-paper, and documentation for the CCSearch algorithm.

To compile the library (obj/ccslib.so)

make

To compile the documentation (doc/*)

make docs

The following are some useful files and locations:

doc/SearchAlgo.*	White paper on the CCSearch algorithm itself (gen'ed by make)

doc/CCSearch.*		General documentation about API and reference implementation (gen'ed by make)

apitest.py		Python3 front-end (and sample code)

ccsapi.py		A simple API module to be included in any homegrown Python3 file which calls the backend.  Put 'exec(open("ccsapi.py").read())' right after all the import statements.

obj/ccslib.so		The C++ backend API and library (gen'ed by make)

src/*			The C++ Source code for the CCSearch backend and API (i.e. ccslib.so).  Also contains the markdown source for documentation.

Makefile		The make file for the library and docs

README			This file

samplefbdata.txt  	Some sample obfuscated data from a few FB tournaments

Detailed API documentation can be found in the source code src/OAPI.h, and additional documentation can be found throughout the C++ code.  apitest.py also serves as documentation.

The C++ machinery requires nothing beyond a standard setup.  The Python machinery requires Python 3 and numpy.  

Please note that this is a quick and dirty reference implementation.  While we expect it will work fairly well, we make no representation of useability or full functionality.  In particular, it has not been rigorously unit-tested and we include no regression or coverage suite.  

To run a simple test (after running "make") on some sample fantasy baseball data, try

python3 ./apitest.py -f samplefbdata.txt -H -P 1 -G "2:1:1:1:1:1:3" --ispart 1 --ispart 2 --ispart 3 --ispart 4 -C "mingrp:3:2" -C "maxitem:4:5" --maxcost 50000 --ctol 0.2 --itol 0.5 --ntol 1 --resnumb 10000 --maxres 100000 --smode 2 -o foo

For detailed search info and output (warning --- this will generate a LARGE file):

python3 ./apitest.py -f samplefbdata.txt -H -P 1 -G "2:1:1:1:1:1:3" --ispart 1 --ispart 2 --ispart 3 --ispart 4 -C "mingrp:3:2" -C "maxitem:4:5" --maxcost 50000 --ctol 0.2 --itol 0.5 --ntol 1 --resnumb 10000 --maxres 100000 --smode 2 -V 32 -o foo > bar

About

Reference Implementation for a rapid state space Search Algorithm for Fantasy Sorts

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published