小编Łuk*_*Lew的帖子

计算机象棋树搜索的最新技术是什么?

我对微小的优化并不感兴趣,因为速度很低.我对alpha-beta搜索最重要的启发式方法感兴趣.而评估功能最重要的组成部分.

我对具有最大(改进/ code_size)比率的算法特别感兴趣.(不是(改进/复杂性)).

谢谢.

PS杀手移动启发式是一个完美的例子 - 易于实现和强大.启发式数据库太复杂了.

algorithm search chess heuristics

15
推荐指数
1
解决办法
3261
查看次数

如何在Sandy Bridge的一系列整数中快速将位数计入单独的箱中?

更新:请阅读代码,它不是关于计算一个int中的位

是否有可能通过一些聪明的汇编程序来提高以下代码的性能?

uint bit_counter[64];

void Count(uint64 bits) {
  bit_counter[0] += (bits >> 0) & 1;
  bit_counter[1] += (bits >> 1) & 1;
  // ..
  bit_counter[63] += (bits >> 63) & 1;
}
Run Code Online (Sandbox Code Playgroud)

Count 是在我算法的最内层循环中.

更新: 架构:x86-64,Sandy Bridge,因此可以使用SSE4.2,AVX1和旧技术,但不能使用AVX2或BMI1/2.

bits 变量几乎是随机位(接近半零和一半)

c++ x86 assembly simd avx

14
推荐指数
3
解决办法
1672
查看次数

socketpair和一对未命名的管道之间有什么区别吗?

我不仅想知道用户方面的差异,还想知道Linux内核实现中的差异/常见部分.

sockets pipe linux-kernel

13
推荐指数
2
解决办法
6955
查看次数

使用Haxe而不是Actionscript-3有什么利弊?

我正在考虑使用Haxe代替AS3.
有什么不同之处?我可以考虑一下:

  • 使用本机AS3库的困难.
  • 语言翻译后的调试难度大.
  • Haxe很年轻,可能有一些粗糙的边缘.可以?

你们中有没有人对Haxe黑暗面有所了解吗?

什么是冒险?我听说:

  • 性能.
  • 多个目标(但我不知道它是如何有用的)
  • 更好地打字AS3
  • 也许更好的语法.

Haxe足够大,应该有更多.Haxe的优点是什么?

编辑:
如果没有真正的缺点那么为什么Haxe没有取代AS3?

haxe actionscript-3

13
推荐指数
1
解决办法
2145
查看次数

模型 - 视图 - 控制器在Qt

我或多或少了解MPV是如何工作的.但我没有得到什么课:

  • QAbstractItemModel
  • QAbstractItemView
  • QAbstractItemDelegate/QItemDelegate

可以帮我吗?

如果这是相关的,我使用 QGraphicsScene/ QGraphicsView与一些元素(游戏板的可视化表示),用户可以交互,而交互逻辑(游戏规则)被封装在其他类中.

c++ model-view-controller qt qitemdelegate

12
推荐指数
1
解决办法
4239
查看次数

如何使用CMake在编译时定义编译器标志?

add_definitions添加了在执行cmake(not make)时修复的定义.执行make(而不是cmake)时如何定义它们?定义的值将是自定义命令的输出.

build-process makefile cmake

12
推荐指数
1
解决办法
2万
查看次数

是否有SCons的库/框架?

使用SCons的每个项目似乎都在重新发明轮子.我很乐意采用某些目录布局和/或变体构建(调试/发布)和/或测试框架和/或最佳实践的解决方案.

即使是一些不太简单的例子也会有所帮助.

build-process scons

11
推荐指数
2
解决办法
1092
查看次数

哪些高级语言很容易与C/C++接口?

我有OCaml的经验.您必须为每个要用于转换类型的函数编写存根,甚至是C int < - > OCaml int.连接很痛苦.我甚至不想要映射C++对象.

其他流行语言怎么样?总是痛苦吗?

编辑:

请避免重复.并分别表示状态C和C++接口功能.

编辑2:

请具体说明."X可以调用C"并不会提供太多信息.

c c++ programming-languages

11
推荐指数
4
解决办法
962
查看次数

如何在fork()之后处理execvp(...)错误?

我做常规的事情:

  • 叉子()
  • 小孩的execvp(cmd,)

如果execvp因为没有找到cmd而失败,我怎么能在父进程中注意到这个错误?

c++ linux posix fork exec

11
推荐指数
2
解决办法
1万
查看次数

如何模拟数据库中的标记联合?

在数据库中模拟Tagged union的最佳方法是什么?我在谈论这样的事情:

create table t1 {
  vehicle_id INTEGER NOT NULL REFERENCES car(id) OR motor(id) -- not valid
  ...
}
Run Code Online (Sandbox Code Playgroud)

其中vehicle_id将在汽车表或电机表中为id,并且它将知道哪个.

(假设电动机和汽车桌没有任何共同点

mysql database sqlite postgresql

11
推荐指数
2
解决办法
1930
查看次数