答题集规划中的定性与定量优化
asprin的Python项目详细描述
>;答案集编程中定性和定量优化的通用框架。
以一种非常简单的方式定义新的偏好类型。
一些偏好类型(`subset`,`pareto`…)已经在'asprin`'s库中定义了,
但是更多的偏好类型可以通过编写一个逻辑程序来定义。
有关'asprin`的正式描述,请阅读我们的[论文](http://www.cs.uni potsdam.de/wv/pdfformat/brderosc15a.pdf)(http://www.cs.uni potsdam.de/wv/bibtex/brderosc15a.bib))。
从第3版开始,"asprin"记录在[potasco指南](https://github.com/potasco/guide/releases/)中。
旧版本记录在[potasco指南on sourceforge](https://sourceforge.net/projects/potasco/files/guide/)。
选项"--no asprin lib"可能会禁用此功能。
option`-help`打印帮助。
options`-approximation=weak`和`-approximation=heuristic`激活与基本解决模式不同的解决模式,
,并且通常比基本解决模式快。
option`-meta=query`可用于计算包含atom"query"的优化模型。
option s`--meta=simple`或`--meta=combine`应用
非分层偏好程序(在"asprin"的库中,这只能在cp网络中发生,见下文)计算许多最优模型。
option`--on opt heur`可用于枚举不同(或类似)的optimal稳定的模型。
例如,尝试使用"-on opt heur=+,p,1,false--on opt heur=-,p,1,true`.
选项"--improve limit"可用于枚举接近最优稳定模型。
例如,尝试使用"--improve limit 21000`.
---要更改-->;
获取"asprin"的最简单方法是使用水蟒。
potasco频道提供软件包。
首先安装anaconda或miniconda,然后运行:
"conda install-c potasco asprin"。
<;!----->;
`asprin`也可以通过
``pip install asprin```与[pip]一起安装(https://pip.pypa.io)。
对于本地安装,请添加选项```--user``.
在这种情况下,在运行"pip"之前将环境变量"pythonuserbase"设置为"dir",将在"dir/bin/asprin"中安装"asprin"。
<;!---要更改-->;
如果这不起作用,
您始终可以从某些目录"dir"中的
[此处](https://github.com/potasco/asprin/releases/download/v3.1.0/asprin-3.1.0.tar.gz)下载源代码,
并使用"python dir/asprin/asprin/asprin.py"运行"asprin"。
<;!----->;
系统测试可以使用``asprin--test```和``asprin--test--all````运行。
`asprin`已使用`clago 5.3.0``python 2.7.13`和`3.5.3``进行了测试。
``asprin``使用`ply`库,版本为'3.11`,
,该库捆绑在[asprin/src/spec_parser/ply(https://github.com/potassco/postasco/asprin/tree/master/master/asprin/src/spec_parser/ply),
,检索自http://www.dabeaz.com/ply/
` `
` `
$cat-ex例/exampl1.lp
dom(1.3)
1{a(x):dom(x)}。
/>展示a/1。
偏好(P,子集){
a(x)
>>.
优化(p)
$asprin示例/1.lp示例/1.lp 0
asprin 3.0.0版
阅读示例/1示例/1.lp
解决问题……
答案:1
a(3)
a(3)
a(3)
>最优发现
>答案:2
a(2)
>最优发现
>答案:3
>a(1)
a(1)
/>型号:3
最佳:是
最佳:3
$cat示例/示例2.lp
%
%base程序
%
>dom(1..3)。
1{a(x):dom(x)}2.
1 { b(X) : dom(X) } 2.
#show a/1.
#show b/1.
%
% basic preference statements
%
#preference(p(1),subset){
a(X)
}.
#preference(p(2),less(weight)){
X :: b(X)
}.
#preference(p(3),aso){
a(X) >> not a(X) || b(X)
}.
偏好(p(4),偏序集{
a(x);
b(x);
a(x)>a(x)>a(x)>b(x)>b(x)
。
p(x)
偏好(r,neg)偏好(r,neg)
**q
/>}。
%
%
%优化语句
%
mize(r)。
$asprin examples/example2.lp
asprin 3.0.0版
阅读示例/example2.lp
求解…
答案:1
a(3)b(1)
找到最佳值
模型:1+
最佳值:是代表*cp nets*
cp nets的偏好类型,本文介绍了:
*craig boutiler,ronen i.brafman,carmel domshlak,holger h.hoos,david poole:
cp nets:一个用条件ceteris paribus偏好表示和推理的工具纹身。
人工制品英特尔第21号决议:135-191(2004)
"cp"类命题偏好元素具有以下形式之一:
1。`不是{l1;…;ln}`,或者
2。`不是>;>;a{l1;…;ln}`
一些偏好元素,例如"x"和"y"满足所有的"li",或者
元素的形式是(1),而"y"是"x"和"{a}"的并集,
或者
元素的形式是(2),而"y"是"x"减去"{a}"。
那么,如果有一系列改进的翻转,则"w"比"z"好` w`to`z`.
如果没有"x"的解释,使得"x"优于"x",则cp网络是一致的。
e.lp)(https://github.com/potasco/asprin/blob/master/asprin/examples/cp_tree.lp)。
对于非循环CP网络,请参阅示例[cp_acyclic.lp](https://github.com/potasco/asprin/blob/master/asprin/examples/cp_acyclic.lp)。
对于常规CP网络,请参阅示例[cp_general.lp](https://github.com/potasco/aspr)在/blob/master/asprin/examples/cp_u general.lp中,
`asprin`实现的cp网络仅适用于一致的cp网络。
请注意,树状和非周期cp网络始终是一致的,但这在一般情况下并不适用。
*javier romero