Skip to content

Commit

Permalink
Publish version 2.0.0a1
Browse files Browse the repository at this point in the history
  • Loading branch information
jacquev6 committed Jun 12, 2024
1 parent c94d879 commit ecd3737
Show file tree
Hide file tree
Showing 55 changed files with 826 additions and 337 deletions.
15 changes: 15 additions & 0 deletions doc-sources/changelog.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,21 @@
Changelog
=========

Version 2.0.0a1 (2024-06-12)
============================

- **Major** Support single-peaked criteria

- in all features (generation, description, classification, learning, ...) *except visualization*
- on the command-line: ``lincs generate classification-problem ... --allow-single-peaked-criteria``
- in the Python API: ``lc.generate_problem(..., allowed_preference_directions=[..., lc.Criterion.PreferenceDirection.single_peaked])``
- in the problem file format: ``preference_direction: single-peaked``
- in the model file format: ``kind: intervals`` and ``intervals: [[20, 80], [40, 60]]``
- with *all* learning approaches

- **Breaking** Adapt parts of the Python API to support single-peaked criteria
- **Breaking** Rename ``LearningData.urbgs`` to ``LearningData.random_generators``

Version 2.0.0a0 (2024-05-23)
============================

Expand Down
2 changes: 1 addition & 1 deletion doc-sources/conceptual-overview/conceptual-overview.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs classify problem.yml model.yml alternatives.csv\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs classify problem.yml model.yml alternatives.csv\n",
"name,Math,Physics,Literature,History,category\n",
"A,1,1,1,1,\"Full scholarship\"\n",
"B,1,1,1,0,\"Full scholarship\"\n",
Expand Down
8 changes: 4 additions & 4 deletions doc-sources/get-started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ The generated ``problem.yml`` should look like:

.. code:: yaml
# Reproduction command (with lincs version 2.0.0a1.dev0): lincs generate classification-problem 4 3 --random-seed 40
# Reproduction command (with lincs version 2.0.0a1): lincs generate classification-problem 4 3 --random-seed 40
kind: classification-problem
format_version: 1
criteria:
Expand Down Expand Up @@ -144,7 +144,7 @@ It should look like:

.. code:: yaml
# Reproduction command (with lincs version 2.0.0a1.dev0): lincs generate classification-model problem.yml --random-seed 41 --model-type mrsort
# Reproduction command (with lincs version 2.0.0a1): lincs generate classification-model problem.yml --random-seed 41 --model-type mrsort
kind: ncs-classification-model
format_version: 1
accepted_values:
Expand Down Expand Up @@ -217,7 +217,7 @@ It should start with something like this, and contain 1000 alternatives:

.. code:: text
# Reproduction command (with lincs version 2.0.0a1.dev0): lincs generate classified-alternatives problem.yml model.yml 1000 --random-seed 42 --misclassified-count 0
# Reproduction command (with lincs version 2.0.0a1): lincs generate classified-alternatives problem.yml model.yml 1000 --random-seed 42 --misclassified-count 0
name,"Criterion 1","Criterion 2","Criterion 3","Criterion 4",category
"Alternative 1",0.37454012,0.796543002,0.95071429,0.183434784,"Best category"
"Alternative 2",0.731993914,0.779690981,0.598658502,0.596850157,"Intermediate category 1"
Expand Down Expand Up @@ -253,7 +253,7 @@ so it is numerically different:

.. code:: yaml
# Reproduction command (with lincs version 2.0.0a1.dev0): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver glop --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor cpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0
# Reproduction command (with lincs version 2.0.0a1): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver glop --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor cpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0
kind: ncs-classification-model
format_version: 1
accepted_values:
Expand Down
8 changes: 4 additions & 4 deletions doc-sources/get-started/get-started.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs generate classification-problem 4 3 --random-seed 40\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs generate classification-problem 4 3 --random-seed 40\n",
"kind: classification-problem\n",
"format_version: 1\n",
"criteria:\n",
Expand Down Expand Up @@ -126,7 +126,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs generate classification-model problem.yml --random-seed 41 --model-type mrsort\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs generate classification-model problem.yml --random-seed 41 --model-type mrsort\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down Expand Up @@ -211,7 +211,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs generate classified-alternatives problem.yml model.yml 1000 --random-seed 42 --misclassified-count 0\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs generate classified-alternatives problem.yml model.yml 1000 --random-seed 42 --misclassified-count 0\n",
"name,\"Criterion 1\",\"Criterion 2\",\"Criterion 3\",\"Criterion 4\",category\n",
"\"Alternative 1\",0.37454012,0.796543002,0.95071429,0.183434784,\"Best category\"\n",
"\"Alternative 2\",0.731993914,0.779690981,0.598658502,0.596850157,\"Intermediate category 1\"\n",
Expand Down Expand Up @@ -260,7 +260,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver glop --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor cpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver glop --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor cpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down
2 changes: 1 addition & 1 deletion doc-sources/user-guide.rst
Original file line number Diff line number Diff line change
Expand Up @@ -512,7 +512,7 @@ They produce a different kind of model, with the sufficient coalitions specified

.. code:: yaml
# Reproduction command (with lincs version 2.0.0a1.dev0): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy sat-by-coalitions
# Reproduction command (with lincs version 2.0.0a1): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy sat-by-coalitions
kind: ncs-classification-model
format_version: 1
accepted_values:
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver alglib --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor cpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver alglib --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor cpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down
2 changes: 1 addition & 1 deletion doc-sources/user-guide/gpu-learning/gpu-learning.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver glop --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor gpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 43 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver glop --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor gpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down
4 changes: 2 additions & 2 deletions doc-sources/user-guide/sat-learning/sat-learning.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy sat-by-coalitions\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy sat-by-coalitions\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down Expand Up @@ -58,7 +58,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy max-sat-by-separation --ucncs.max-sat-by-separation.solver eval-max-sat --ucncs.max-sat-by-separation.eval-max-sat.nb-minimize-threads 0 --ucncs.max-sat-by-separation.eval-max-sat.timeout-fast-minimize 60 --ucncs.max-sat-by-separation.eval-max-sat.coef-minimize-time 2\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs learn classification-model problem.yml learning-set.csv --model-type ucncs --ucncs.strategy max-sat-by-separation --ucncs.max-sat-by-separation.solver eval-max-sat --ucncs.max-sat-by-separation.eval-max-sat.nb-minimize-threads 0 --ucncs.max-sat-by-separation.eval-max-sat.timeout-fast-minimize 60 --ucncs.max-sat-by-separation.eval-max-sat.coef-minimize-time 2\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down
8 changes: 4 additions & 4 deletions doc-sources/user-guide/synthetic-data/synthetic-data.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs generate classification-problem 4 3 --random-seed 57\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs generate classification-problem 4 3 --random-seed 57\n",
"kind: classification-problem\n",
"format_version: 1\n",
"criteria:\n",
Expand Down Expand Up @@ -63,7 +63,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs generate classification-model problem.yml --random-seed 58 --model-type mrsort\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs generate classification-model problem.yml --random-seed 58 --model-type mrsort\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down Expand Up @@ -101,7 +101,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs generate classified-alternatives problem.yml model.yml 100 --random-seed 59 --misclassified-count 0\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs generate classified-alternatives problem.yml model.yml 100 --random-seed 59 --misclassified-count 0\n",
"name,\"Criterion 1\",\"Criterion 2\",\"Criterion 3\",\"Criterion 4\",category\n",
"\"Alternative 1\",0.924035132,0.804616809,0.157870576,0.637420833,\"Best category\"\n",
"\"Alternative 2\",0.866915047,0.979161799,0.0841569453,0.397855282,\"Best category\"\n",
Expand Down Expand Up @@ -224,7 +224,7 @@
"name": "stdout",
"output_type": "stream",
"text": [
"# Reproduction command (with lincs version 2.0.0a1.dev0): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 60 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver glop --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor cpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0\n",
"# Reproduction command (with lincs version 2.0.0a1): lincs learn classification-model problem.yml learning-set.csv --model-type mrsort --mrsort.strategy weights-profiles-breed --mrsort.weights-profiles-breed.models-count 9 --mrsort.weights-profiles-breed.accuracy-heuristic.random-seed 60 --mrsort.weights-profiles-breed.initialization-strategy maximize-discrimination-per-criterion --mrsort.weights-profiles-breed.weights-strategy linear-program --mrsort.weights-profiles-breed.linear-program.solver glop --mrsort.weights-profiles-breed.profiles-strategy accuracy-heuristic --mrsort.weights-profiles-breed.accuracy-heuristic.processor cpu --mrsort.weights-profiles-breed.breed-strategy reinitialize-least-accurate --mrsort.weights-profiles-breed.reinitialize-least-accurate.portion 0.5 --mrsort.weights-profiles-breed.target-accuracy 1.0\n",
"kind: ncs-classification-model\n",
"format_version: 1\n",
"accepted_values:\n",
Expand Down
2 changes: 1 addition & 1 deletion docs/.buildinfo
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Sphinx build info version 1
# This file hashes the configuration used when building these files. When it is not found, a full rebuild will be done.
config: 8d916e58879a5236c33588991f04ca50
config: 7c170ebe7a19ebcfb974e1bab0e88bbe
tags: 645f666f9bcd5a90fca523b33c5a78b7
Binary file modified docs/.doctrees/changelog.doctree
Binary file not shown.
Binary file modified docs/.doctrees/contributor-guide.doctree
Binary file not shown.
Binary file modified docs/.doctrees/environment.pickle
Binary file not shown.
Binary file modified docs/.doctrees/get-started.doctree
Binary file not shown.
Binary file modified docs/.doctrees/python-api.doctree
Binary file not shown.
Binary file modified docs/.doctrees/reference.doctree
Binary file not shown.
Binary file modified docs/.doctrees/reference/lincs.doctree
Binary file not shown.
Binary file modified docs/.doctrees/user-guide.doctree
Binary file not shown.
4 changes: 2 additions & 2 deletions docs/README.html
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />

<title>Contributors &#8212; lincs 2.0.0a0 documentation</title>
<title>Contributors &#8212; lincs 2.0.0a1 documentation</title>
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=4f649999" />
<link rel="stylesheet" type="text/css" href="_static/alabaster.css?v=039e1c02" />
<link rel="stylesheet" type="text/css" href="_static/graphviz.css?v=eafc0fe6" />
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=6727bded"></script>
<script data-url_root="./" id="documentation_options" src="_static/documentation_options.js?v=c35f39f4"></script>
<script src="_static/doctools.js?v=888ff710"></script>
<script src="_static/sphinx_highlight.js?v=4825356b"></script>
<link rel="index" title="Index" href="genindex.html" />
Expand Down
Loading

0 comments on commit ecd3737

Please sign in to comment.