ISSN 1000-1239 CN 11-1777/TP

计算机研究与发展 ›› 2018, Vol. 55 ›› Issue (12): 2734-2740.doi: 10.7544/issn1000-1239.2018.20170529

• 人工智能 • 上一篇    下一篇

一种基于STR算法的新表压缩方法

董爱迪,李占山,于海鸿   

  1. (吉林大学计算机科学与技术学院 长春 130012) (符号计算与知识工程教育部重点实验室(吉林大学) 长春 130012) (dong_ad@126.com)
  • 出版日期: 2018-12-01
  • 基金资助: 
    吉林省自然科学基金项目(20180101043JC)

A New Table Compression Method Based on STR Algorithm

Dong Aidi, Li Zhanshan, Yu Haihong   

  1. (College of Computer Science and Technology, Jilin University, Changchun 130012) (Key Laboratory of Symbol Computation and Knowledge Engineering (Jilin University), Ministry of Education, Changchun 130012)
  • Online: 2018-12-01

摘要: 约束传播是约束编程的关键方法,近些年来,一些约束传播算法中频繁用到简单表缩减(simple tabular reduction, STR)算法来降低约束表的空间消耗,同时提高广义弧相容(generalised arc consistent, GAC)算法的运行速度.短支持方法是在约束传播算法中使用最广泛的一种表压缩方式,但当约束表压缩率较低时,短支持方法提高运行速度效果不明显.因此提出一种压缩约束表的新算法STRO(simple tabular reduction optimization),结合短支持压缩和位操作,在提高STR算法的运行速度的同时压缩表空间效果更好.实验结果表明:在约束表的平均大小不是特别小的情况下,STRO与ShortSTR2,STR2算法相比,速度更快、效率更高;与STRbit算法相比,在时间上可以替代STRbit算法,但STRO算法的表压缩率更大、更加节省空间.

关键词: 约束传播, 约束编程, 表约束, 表压缩方法, 位操作, 广义弧相容, 简单表缩减

Abstract: Constraint propagation is one of the key methods of constraint programming, and it can be used for solving constraint satisfaction problems and also deal with industrial modeling issues. In recent years, simple tabular reduction (STR) algorithms have been frequently used in some constraint propagation algorithms to cut down the consumption of constraint table space, and at the same time increase running speed of the generalised arc consistent (GAC) algorithm. For the past few years, short support method was the most frequently used as a table compression method in constraint propagation algorithms. This method can propagate more constraints than original STR algorithms especially when the memory is small. But when the compression ratio is low, short support method improving the running speed effect is not obvious. In this paper, we present a new algorithm to compress constraint table, called simple tabular reduction optimization (STRO), combined short support compression method and bit-wise operation. STRO algorithm improves the running speed of STR algorithm, and at the same time, the compression of space effect is better. Experimental results show that when the average size of the table is not particularly small, STRO algorithm is faster and more efficient than ShortSTR2 and STR2 algorithm; compared with STRbit algorithm, the compression rate of STRO algorithm is bigger, and it can save more space and replace STRbit algorithm on time.

Key words: constraint propagation, constraint programming, table constraint, table compression method, bit-wise operation, generalised arc consistent (GAC), simple tabular reduction (STR)

中图分类号: