注册 | 登录      

社区主页 > 活动列表 > 当前活动

Picat 逻辑编程语言简介 Combinatorial Search With Picat

已结束

时间: 06月09日 14:00 - 16:00

地点: 上海 上海交通大学 电信群楼3号楼410会议室 (东川路800号,闵行校区)

活动人数: 无限制

参与对象: 所有人可参加

费用: 免费

发起者: alex00zoe

联系人:alex

联系方式:15026415077

0人赞了一下 | 0人踩了一下

赞一下 踩一下 1 人已参加 862 次浏览

活动描述

Picat 逻辑编程语言简介 

Combinatorial Search With Picat


About Picat
 (http://picat-lang.org/)


Picat is a simple, and yet powerful, logic-based multi-paradigm programming language aimed for general-purpose applications. Picat is a rule-based language, in which predicates, functions, and actors are defined with pattern-matching rules. Picat incorporates many declarative language features for better productivity of software development, including explicit non-determinism, explicit unification, functions, list comprehensions, constraints, and tabling. Picat also provides imperative language constructs, such as assignments and loops, for programming everyday things. The Picat implementation, which is based on a well-designed virtual machine and incorporates a memory manager that garbage-collects and expands the stacks and data areas when needed, is efficient and scalable. Picat can be used for not only symbolic computations, which is a traditional application domain of declarative languages, but also for scripting and modeling tasks.

Picat是多范式的通用型逻辑式编程语言,是基于规则的,拥有声明式语言,命令式语言的众多优良特性,适合于符号计算,提高生产力,脚本化处理,以及建模任务。

Combinatorial Search With Picat

Logic programming has made great strides in solving combinatorial search problems, as witnessed by the cultivation of CLP, ASP, and tabled Prolog systems. Picat, a new member of this family, follows a different doctrine than Prolog in offering the core logic programming concepts: arrays and maps as basic data types; implicit pattern matching with explicit unification and explicit non-determinism; functions that are easier to use than relations for deterministic computations; loops that are more convenient than recursion for scripting and modeling purposes. Picat provides facilities for solving combinatorial search problems, including a common interface with CP, SAT, and MIP solvers, tabling for dynamic programming, and a module for planning. Picat's planner module, which is implemented by use of tabling, has produced surprising and encouraging results; thanks to term-sharing and resource-bounded tabled search, it overwhelmingly outperforms the cutting-edge ASP and PDDL planners on several planning benchmarks used in recent ASP and IPC competitions.

逻辑式编程语言在解决组合数求解问题上不断发展,如CLP, ASP, tabled Prolog systems均对此有贡献。Picat作为逻辑式编程语言的新成员,采取了不同于Prolog的设计思路,如array和map成为基础类型,隐式pattern matching和显式unification与显式non-determinism,采用了更好用的function,循环等。


为了解决组合数求解问题,Picat提供了对于CP,SAT, MIP求解器的通用接口,对于dynamic programming的tabling接口,以及一个规划的模块。规划模块采用tabling方式,采用term-sharing,以及resource-bounded tabled search方法,使得它的效率压倒性地超过了最新的ASP和PDDL规划器。



About Speaker
Neng-Fa Zhou(周能法) 


Professor of Computer and Information Science at Brooklyn College and Graduate Center of the City University of New York. 
http://www.sci.brooklyn.cuny.edu/~zhou/


One of the main authors of
Picat
    Multi-paradigm logic-based programming language
B-Prolog
    An efficient implementation of Prolog, tabling, and finite-domain constraint solving
CGLIB
    A Constraint-based Graphics Library
PRISM
    A Statistical Modeling and Learning Language (at Tokyo Institute of Technology)
DJ
    Declarative Java


Research Areas
    Programming languages, especially constraint and logic programming languages
    Compilers for high-level languages
    Probabilistic learning from large amounts of data (PRISM)
    Agent-based interactive systems
    Optimization and problem solving
    Graphics programming and graphical user interfaces



参考文章:

Combinatorial Search With Picat
http://arxiv.org/abs/1405.2538


The Language Features and Architecture of B-Prolog
http://arxiv.org/abs/1103.0812



可能感兴趣的活动查看全部活动>>

可能感兴趣的职位

全部活动参与者(

  • 昵称
  • 职务|公司
海丁微名片 - 人才地图 - IT求职 - 海丁介绍 - 客服帮助 - 友情链接 - 网站地图

海丁网 @2011-2014(沪ICP备12001151号)