行李员间隙
该系统包括多范例语言(GAP-L)及其编译器(GAP-C)和功能模块(GAP-M)。GAP-L包括声明性结构,例如。树语法用于对搜索空间建模,命令式结构用于编程高级评分功能。GAP-L的语法类似于C/Java以降低使用率障碍。GAP-C将高级和无索引的GAP-L程序转换为高效的C++代码,与手写代码相比具有竞争力。它包括一个支持动态规划(DP)的新型表设计优化算法多序列(多轨道DP)、采样、可选自上而下评估、,各种回溯方案等。GAP-M包括用于GAP-L程序的模块。示例包括分类数据类型和采样的有效表示以及过滤器助手函数。
代数动态规划
代数动态编程(ADP)是一个用于指定动态序列上的编程算法。它明确区分了搜索的关注点空间描述、候选描述、候选评价和制表。
树文法(G)指定搜索空间,代数(E)评估候选项和签名(??)声明了树文法和代数的函数库正在使用。制表是通过树语法中的非终结符注释指定的。使用树语法进行搜索空间描述消除了算法描述,即开发DP时编程错误的主要来源算法。
代数是包装不同评分方案或优化的构建块策略(h)。通过产品操作,可以将它们结合到更强大的分析中。
折叠语法
动态编程在生物信息学中无处不在。发展和实施非平凡动态编程算法通常容易出错且繁琐。Bellman的GAP是一个新的编程系统,旨在简化基于动态编程技术。折叠语法是Bellman GAP热力学RNA折叠库。