diff --git a/.gitignore b/.gitignore index cf10936..f7ba972 100644 --- a/.gitignore +++ b/.gitignore @@ -9,3 +9,4 @@ qubo_nn/datasets/* *.bak runs*/ qubo_nn/models/*.pickle +dist/ diff --git a/LICENSE.txt b/LICENSE.txt new file mode 100644 index 0000000..6c6e376 --- /dev/null +++ b/LICENSE.txt @@ -0,0 +1,17 @@ +MIT License +Copyright (c) 2018 InstanceLabs +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. diff --git a/README.md b/README.md index fdcf666..7966db2 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ ## QUBO - NN -qubo heat map +qubo heat map

9 problems and their respective QUBO matrices.

@@ -14,6 +14,10 @@ Now, these matrices are quite an interesting construct.. Thus, a few questions a Let's find out. +``` +pip install qubo-nn +``` + ## Project Structure |File|Purpose| @@ -49,6 +53,12 @@ Problems implemented so far: ## Setup +``` +pip install qubo-nn +``` + +OR + ``` pip3 install -r requirements.txt pip3 install -e . @@ -130,7 +140,7 @@ The list of problems can be found in `qubo_nn/problems/__init__.py`. Also: The pipeline of interest is as follows. -Reverse-engineering pipeline/architecture. +Reverse-engineering pipeline/architecture. Given some QUBO matrix that was generated using a set of problem parameters, we first classify the problem in step a and then predict the parameters in step b. @@ -145,19 +155,19 @@ sizes such as 32x32. The smaller sizes are zero-padded to the biggest supported size, which most of the time is 64x64 and in rare cases goes up to 144x144 (for Quadratic Assignment). -Avg total misclassification rate +Avg total misclassification rate The t-SNE plot for this experiment is shown below. -t-SNE +t-SNE ### Reverse regression This is preliminary. Some of the problems are easily learned by a neural network regressor. Each line represents 10 models and includes the 95% confidence interval. -Reversal regression losses over multiple problems +Reversal regression losses over multiple problems -Reversal regression R**2 over multiple problems +Reversal regression R**2 over multiple problems ### Reversibility @@ -190,7 +200,7 @@ Reversing some problems like Quadratic Knapsack might be possible - an algorithm The figure below shows that there are major differences between problem classes in terms of their overall redundancy. -Redundacy of QUBos with AutoEncoders, R**2 +Redundacy of QUBos with AutoEncoders, R**2 ## Contributing diff --git a/setup.cfg b/setup.cfg new file mode 100644 index 0000000..3287428 --- /dev/null +++ b/setup.cfg @@ -0,0 +1,3 @@ +# Inside of setup.cfg +[metadata] +description-file = README.md diff --git a/setup.py b/setup.py index 9f1ca15..f8ce165 100644 --- a/setup.py +++ b/setup.py @@ -2,13 +2,14 @@ setup( name='qubo-nn', - version='0.2.1', + version='0.2.3', install_requires=[ 'numpy', 'networkx', 'torchvision', 'torch', 'dwave-qbsolv', 'qubovert', 'matplotlib', 'scipy', 'tensorflow', 'sklearn', 'tensorboard', 'ml-pyxis@git+https://github.com/vicolab/ml-pyxis@master', ], + long_description_content_type='text/markdown', description='QUBO translations for 14 problems. Also: Reverse-engeering and AutoEncoders for QUBOs.', url='https://github.com/instance01/qubo-nn', author='Instance01', @@ -20,6 +21,10 @@ 'License :: OSI Approved :: MIT License', 'Programming Language :: Python :: 3', 'Topic :: Utilities', + 'Topic :: Scientific/Engineering :: Physics', + 'Topic :: Software Development :: Libraries', + 'Topic :: Scientific/Engineering :: Artificial Intelligence', + 'Intended Audience :: Science/Research' ], long_description=open('README.md').read(), zip_safe=False)