73得票9回答
简化SQL语句的通用规则

我在寻找一些“推理规则”(类似于集合操作规则或逻辑规则),我可以使用这些规则来减少SQL查询的复杂性或大小。是否存在此类规则?是否有相关论文、工具?你自己发现的任何等效性吗?这与查询优化有些相似,但并非指性能方面。 换句话说:如果有一个带有JOINs、SUBSELECTs、UNIONs的(复...

46得票1回答
班级排课转为布尔可满足性问题[多项式时间归约]

我有一个理论/实践问题,目前我不知道如何处理,以下是问题: 我创建了一个SAT求解器,能够在C语言中使用遗传算法解决CNF问题,当存在模型时,它能够找到一个模型;当不存在模型时,它能够证明矛盾。 SAT问题基本上像这样的问题: 我的目标是将这个求解器用于许多不同的NP完全问题。基本上,我...

42得票5回答
在OpenMP中减少数组

我正在尝试并行化以下程序,但不知道如何在数组上进行约简。我知道这是不可能的,但是否有替代方法?谢谢。(我添加了对m的约简,但这是错误的,希望能得到如何解决它的建议。)#include <iostream> #include <stdio.h> #include <...

22得票5回答
使用OpenMP在数组上进行缩减操作是否可行?

OpenMP原生支持代表数组的变量的归约吗? 这应该像以下代码一样工作...float* a = (float*) calloc(4*sizeof(float)); omp_set_num_threads(13); #pragma omp parallel reduction(+:a) for...

21得票6回答
Lambda演算的前驱函数规约步骤

我在lambda演算中的前导函数的维基百科描述上卡住了。 维基百科上的描述如下:PRED := λn.λf.λx. n (λg.λh. h (g f)) (λu.x) (λu.u) 有人能够逐步解释一下缩减过程吗? 谢谢。

17得票3回答
CUDA中的块缩减

我正在尝试在CUDA中进行降维,但我是个新手。我目前正在学习NVIDIA的示例代码。 我猜我真的不确定如何设置块大小和网格大小,特别是当我的输入数组比单个块大小更大(512 X 512)时。 以下是代码。template <unsigned int blockSize> __g...

16得票3回答
Lambda演算规约

大家好, 以下是我发现难以简化的lambda表达式,即我不知道如何解决这个问题。 谢谢。 (λm λn λa λb . m (n a b) b) (λ f x. x) (λ f x. f x) 这是我尝试过的,但我卡住了: 将上述表达式视为:(λm. E) M 等于 E = (λ...

15得票4回答
在Haskell中查看视图简化步骤

有没有办法在Haskell中查看缩减步骤,即跟踪递归函数调用?例如,Chez Scheme为我们提供了trace-lambda。 Haskell中是否有类似的形式?

14得票2回答
在λ演算中的按值调用

我正在学习类型与编程语言,Pierce在介绍按值调用规约策略时,举了一个术语id (id (λz. id z))的例子。内部redex id (λz. id z)先被规约为λz. id z,这是第一次规约的结果,然后外部redex被规约为正常形式λz. id z。 但是按值调用顺序被定义为“...

14得票5回答
如何在Magento中为特定产品创建优惠券?

假设我有一个10%的折扣优惠码。 这个优惠码仅适用于产品B 客户购物车中有: 产品P1 产品B 产品P2 我不希望我的10%折扣优惠码适用于其他产品,而只适用于产品B。 您知道在Magento中如何实现吗?