小编Lio*_*gan的帖子

在任务关键型/生命关键型软件中使用动态分配

在任务关键型/生命关键型系统中使用动态分配是否安全,还是应该避免?

c++

6
推荐指数
2
解决办法
841
查看次数

如何对采样的音频信号进行频谱反转

我正在寻找一个简单的(伪)代码,用于对采样的音频信号进行频谱反转.理想情况下是C++

代码应支持不同的采样率(16/32/48KHz).

algorithm audio signal-processing

6
推荐指数
1
解决办法
4063
查看次数

图表中最有价值的路径

我面临以下问题:

给定的

  • 一个无向图,其中每条边 E 具有:
    • Et - 遍历 E 所需的时间
    • Er - 遍历 E 的奖励

目标:

  • 问题 1:给定时间段 T,在图中找到最有价值的路径
  • 问题 2:给定时间段 T,在图中找到最有价值的循环(在时间段 T 之后,代理必须再次处于起点)。

笔记:

  • 如果一条边被部分遍历,则奖励与遍历的部分成正比
  • 每条边(或部分边)只能领取一次奖励
  • 路径/循环可以从任何给定点开始(在顶点上或沿边)

我的问题:

  • 这是一个已知问题吗(它有名字吗?以前是否研究过?)。
  • NP难吗?
  • 任何想法如何处理它?

已知的相关问题:

  • 定向运动问题- 奖励是基于顶点的 ()。就我而言,奖励是基于边缘的。
  • Profitable Arc Tour Problem - 目标是在图中找到一组循环,使利润减去旅行成本的集合最大化。
  • 编辑: 具有利润的无向电容弧路由问题- 与我的问题非常相似,但给出了一个仓库顶点(每个周期的开始,结束),满足三角不等式,并将问题推广到一组代理,所有在同一个仓库开始和结束)。

algorithm graph

6
推荐指数
1
解决办法
985
查看次数

每个方向具有不同名称的方向关系

在GraphDB平台(Neo4j,OrientDB,FlockDB,HyperGraphDB ......)中,可以定义节点之间的关系.

我需要定义方向关系,以便关系根据其方向具有不同的名称.

例如:

Parent(A,B) := Sibling(B,A).
Run Code Online (Sandbox Code Playgroud)

然后,我想使用术语和方向遍历或查询图表.

当然,我不想定义两个关系,而只需要一个.

有时我甚至想使用非方向名称,例如:

Call(A,B) := Answer(B,A);
TalkWith(A,B) := Call(A,B) || Call(B,A)
Run Code Online (Sandbox Code Playgroud)

并使用定向或间接遍历/查询

例如,我可能想问:

Get any X that TalkWith(A,X))
Run Code Online (Sandbox Code Playgroud)

要么

Get any X that Call(A,X))
Run Code Online (Sandbox Code Playgroud)

要么

Get any X that Answer(A,X))
Run Code Online (Sandbox Code Playgroud)

哪些现有的GraphDB平台支持它?

neo4j nosql graph-databases orientdb

5
推荐指数
1
解决办法
798
查看次数

在矩形内生成随机点(均匀)

在矩形内生成随机点(均匀)

这假设是一个简单的问题.

但是,在RANDOM_DATA主页中,我发现了以下注释:

但是,如果我们将随机值(u1,u2)天真地缩放为(A*u1,B*),我们将无法在非等边[0,A] x [0,B]的矩形的简单情况下实现均匀分布. U2).在这种情况下,宽的短区域的预期点密度将不同于窄的高区域的预期点密度.如果绘制点,则没有均匀性是最明显的.

我发现它很奇怪......我无法弄清楚为什么这种缩放会影响均匀性.

我错过了什么?

编辑:

谢谢Patrick87和missingno.我正在寻找声明的理论原因.我现在明白,原因不是理论上的,而是实际的 - 浮点值的粒度.

如果我将在0和1之间生成两个统一的浮点(由于浮点值表示的性质,这本身就是个问题.在这里查看算法) - 粒度将受到限制.

假设在0和1之间存在X个不同的值.通过缩放(u1,u2)到(u1,2*u2),我们将在[0,u1]范围内具有X个不同的值,并且在范围内具有X个不同的值[ 0,2*U2.对于面积均匀性,[0,2*u2]中的不同值应比[0,u1]中的两倍多.

鉴于此,请允许我更改我的问题:

我应该如何在矩形内生成随机点(按区域均匀分布)?

random algorithm geometry 2d distribution

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

对点进行排序,使得连续点之间的最小欧几里德距离最大化

给定3D笛卡尔空间中的一组点,我正在寻找一种算法来对这些点进行排序,这样两个连续点之间的最小欧几里德距离将最大化.

如果算法倾向于最大化连续点之间的平均欧几里德距离也将是有益的.

编辑:

我已经在https://cstheory.stackexchange.com/上进行了交叉,并得到了一个很好的答案.请参阅https://cstheory.stackexchange.com/questions/8609/sorting-points-such-that-the-minimal-euclidean-distance-between-consecutive-poin.

algorithm math geometry mathematical-optimization

5
推荐指数
1
解决办法
1972
查看次数

确定线性不定方程的非负值解存在性的算法

我正在寻找一种方法来确定是否存在方程的解,例如: 3n1 + 4n2 + 5n3 = 456,其中n1,n2,n3是正整数.

或者更一般:是零或正整数n1,n2,n3 ......解决方程k1n1 + k2n2 + k3n3 ... = m其中k1,k2,k3 ......和m是已知的正整数.

我不需要找到解决方案 - 只是为了确定是否存在解决方案.

编辑:

关于这个算法的实际使用:

在通信库中,我想在处理消息之前根据其大小决定给定消息是否有效.例如:我知道消息包含零个或多个3字节元素,零个或多个4字节元素和零个或多个5个字节元素.我收到了456字节的消息,我想在进一步检查其内容之前确定其有效性.当然,消息的标题包含每种类型的元素数量,但我想通过传递类似的东西在通信库级别进行第一次检查pair<MsgType,vector<3,4,5>>.

algorithm math number-theory

4
推荐指数
1
解决办法
3995
查看次数

给定n个整数,找到其和的绝对值最小的m

我给出了n个整数; 包括正值和负值.从该列表中找到m个整数的好算法是什么,这样m个整数之和的绝对值是最小的?

algorithm

4
推荐指数
1
解决办法
685
查看次数

寻找具有.NET或C++绑定的成熟,可扩展的GraphDB

我对GraphDB的基本要求:

  • 成熟(准备就绪)
  • 本机.NET或C++语言绑定
  • 横向可扩展性:两者
    • 自动数据冗余和分片
    • 分布式图算法/查询执行

目前我取消了以下资格:

  • InfiniteGraph:没有C++/.NET语言绑定
  • HyperGraphDB:没有C++/.NET语言绑定
  • Microsoft Trinity:尚未成熟
  • Neo4j:没有分发

我不确定以下的可扩展性:

  • 稀疏性DEX
  • Franz Inc. AllegroGraph
  • Sones GraphDB

我发现有关水平可扩展性功能的可用信息非常普遍.我想这有充分的理由.

任何信息,将不胜感激.

nosql graph-databases distributed-database

4
推荐指数
1
解决办法
1068
查看次数

强加模板函数类型的约束,没有c ++ 0x概念

现在我们知道Concepts不是C++ 0x的一部分,我正在寻找对模板函数中的类型施加限制的方法.

这是两个例子:

如果我们想确保给定的类型是整数,我们可以使用:

template <class N> inline int f(const N n)
{
    if ((N)0.1 != 0)               // if type of N is floating-point
        err()

    ....
}
Run Code Online (Sandbox Code Playgroud)

如果我们想确保给定类型是无符号整数,我们可以使用:

template <class N> inline int f(const N n)
{
    if ((N)-1 < (N)1)              // if type of N is floating-point / signed-integer
        err()

    ....
}
Run Code Online (Sandbox Code Playgroud)

我正在寻找创造性的方法来检查额外的限制,这些限制会导致运行时失败,或者更好,在编译时(没有概念和没有RTTI).

有什么建议?

c++

3
推荐指数
1
解决办法
219
查看次数