论文部分内容阅读
非单调知识库访问控制中如何以正确的授权方式使用ASP知识库是一个非常重要、且极具挑战性的问题。回答集程序设计(Answer Set Programming,ASP)是一种主流的知识表示和推理工具,具有较强的知识表达能力。与传统支持单调推理的规则知识库不同,当使用由非单调推理语言ASP表示的知识库时,可能会出现子知识库相对于完整知识库的正确性问题。由于ASP知识库的非单调性,拥有部分权限的知识库用户访问子知识库可能会得出从完整知识库角度而言错误的结论。如果把该子知识库的推论用于决策过程就极有可能导致错误的决策。为此,需要构建合理的非单调知识库访问控制机制。 现有的ASP知识库访问控制方法存在一定的局限性。第一,未考虑ASP知识库中完整性约束规则对用户授权的影响;第二,未考虑与用户相关联的禁止授权的规则问题。针对上述问题,本文构建了较为完善的ASP知识库授权访问正确性理论,依据ASP知识库授权的基本粒度,实现了有效的ASP知识库访问控制机制。 论文的主要研究内容有: (1)建立ASP知识库访问控制框架。首先讨论了子知识库相对于完整知识库在Brave推理和Cautious推理模式下的正确性定义方式;其次根据需要解决的问题,引入两种访问权限命题,并给出一种将原始知识库转换为带有权限命题标记的规则集算法KB_convert,最后依据ASP知识库中文字或谓词与规则间的依赖关系定义了4种权限依赖规则类型,在此基础上分析了知识库用户授权应遵循的3种规则依赖类型:基础规则依赖、完整性约束规则依赖和面向用户访问权限冗余的规则依赖。 (2)提出基于封闭权限集的用户授权方法。计算权限依赖规则集上的封闭权限集,证明了封闭权限集是用户所拥有的正确的ASP知识库授权,设计了一种授予用户封闭权限集的算法EG_Right,并利用划分集理论证明了该授权方法的高效性。 (3)利用java实现了知识库用户授权原型系统UA-KB。当用户提交初始访问权限后,系统会自动授予用户正确的访问权限,并调用DLV求解器将运行结果返回给用户。实验表明该授权方法既能适用于包含完整性约束规则的 ASP 知识库,又能有效避免无关知识授权,且授予用户的访问权限更加准确。