答题集规划中的定性与定量优化

asprin的Python项目详细描述


#asprin
>;答案集编程中定性和定量优化的通用框架。

以一种非常简单的方式定义新的偏好类型。
一些偏好类型(`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


欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java在ArrayList中比较数字   java在Kotlin中使异步调用同步   让“Scala编程”junit示例在IntelliJ中工作的java问题   java Servlet侦听器未在ContextListener中设置属性   将Microsoft SQL Server数据库连接到我的Java项目   加载资源时出现java“需要注册工厂”异常   java如何使用POI检查excel中的重复记录?   java如何更改机器生成的代码   java如何确保重写的方法是同步的   用Spring编写Hibernate时的java XML奥秘   java管理mysql数据库中存储的用户权限   java如何运行。来自Javascript的jar方法   java我想在Web应用程序中进行身份验证&对桌面应用程序使用相同的凭据。我该怎么做?