标签: theory

根据评级为用户生成"邻居"

我正在寻找技术来为我正在工作的网站上的用户生成"邻居"(有相似品味的人); 类似于last.fm的工作方式.

目前,我有一个可以发挥作用的用户的兼容功能.它对用户进行排名1)评级相似的项目2)同样评价该项目.该函数重点高于2,如果在生成"邻居"时我只使用其中一个因素,这将是最重要的.

我的一个想法是只计算每个用户组合的兼容性,并选择最高评级的用户作为用户的邻居.这样做的缺点是,随着用户数量的增加,这个过程需要花费很长时间.对于仅1000个用户,它需要对兼容性功能的1000C2(0.5*1000*999 = = 499 500)调用,这在服务器上也可能非常繁重.

所以我正在寻找任何建议,文章的链接等关于如何最好地实现这样的系统.

theory cluster-analysis neighbours

10
推荐指数
2
解决办法
358
查看次数

有限自动机有什么用?

有限自动机有什么用?以及我们在计算理论中研究的所有概念.我还没见过他们的用途.

theory finite-automata

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

确定球体是否与对象相交

我有一个由三角形的表面表示描述的闭合对象(由三个顶点描述,形成右手规则,法线指向对象的"外部").我将一个半径的球体放置在靠近物体表面的某个3D空间中.我想确定球体是否与物体相交.

我想到了3种方法来确定这一点,但每种方法都有它们的缺点,而且没有一种方法是理想的.

1)I可确定"侧面"在其上球将被放置,从那里我可以从基准面计算距离的网格到其中第一次遇到物体的距离.我可以对球体的相对"侧面"做同样的事情,然后简单地检查到物体的距离是否总是大于到球体表面的距离.如果到对象的距离总是更大,则球体不会在网格上的任何点处与对象相交.

这样做的好处是它相当快,但由于我只计算谨慎点,所以它不是绝对的.如果我的网格的分辨率太高,则球体有可能在我的网格节点之间的点处相交.

2)我可以获取所有三角形的所有顶点,并根据我放置的球体方程检查它们.如果在球体内部检测到顶点,则球体将完全部分位于对象内部.

这样做的好处是它相当快,但也很容易出现故障.球体可以在三角形内与物体相交,并且一起错过所有顶点.

3)我可以计算球体表面上的点簇.然后,我可以检查每个点是否在对象内部(使用多边形算法内的点的3D版本).如果对象内有任何一个点,则球体的一部分位于对象内.

这样做的好处是它可以非常准确,这取决于我在球体表面上使用了多少点(更高的点密度=更高的精度).然而,对象算法内部的点相当昂贵,尤其是当三角形的数量增加时.这种方法最好(甚至可以告诉我球体与物体相交的确切位置和数量),但速度非常慢.

您是否有任何算法或方法可以解决这样的问题?我最重要的目标是准确性,我需要知道球体是否会接触物体.知道球体接触的位置或至少是一般区域也是很好的.最后速度总是一件好事.

谢谢

-Faken

theory algorithm 3d

10
推荐指数
1
解决办法
2878
查看次数

服务器是作为后台进程运行的无限循环吗?

服务器本质上是一个运行无限循环侦听端口的后台进程吗?例如:

while(1){
   command = read(127.0.0.1:xxxx);
   if(command){
      execute(command);
   }
}
Run Code Online (Sandbox Code Playgroud)

当我说服务器时,我显然不是指物理服务器(计算机).我指的是MySQL服务器,或Apache等.

完全披露 - 我没有时间浏览任何源代码.实际代码示例会很棒!

c theory

10
推荐指数
2
解决办法
1148
查看次数

是否有一个有限状态机的术语可以保证停止?

我之前正在讨论状态机,并且有一个问题是它是否可能不会停止某些输入.这似乎是国家机器的一个重要且经常被提及的属性,但我不能为我的生活弄清楚该属性的名称是什么.有这样一个词吗?它是"可停止的","不是无限循环",还是其他什么?

theory turing-machines

10
推荐指数
1
解决办法
325
查看次数

条件分支是图灵完备性的要求吗?

我一直在网上搜索,我发现有些矛盾的答案.一些消息来源声称,语言/机器/什么具备的,你是图灵完备当且仅当它有两个有条件和无条件分支(我的猜测是一种多余的),有的说只有无条件的要求,别人只有条件是必须的.

阅读德国Z3ENIAC,维基百科说:

德国Z3(显示于1941年5月工作)由Konrad Zuse设计.它是第一台通用型数字计算机,但它是机电式的,而不是电子的,因为它使用了继电器用于所有功能.它使用二进制数学逻辑计算.它可以通过穿孔带编程,但缺少条件分支.虽然不是为图灵完整性而设计的,但它偶然发生在1998年(但为了利用这种图灵完整性,复杂,聪明的黑客是必要的).

究竟是什么复杂,聪明的黑客?

R. Rojas撰写的1998年论文摘要也指出(请注意,我没有读过这篇论文,它只是IEEE的一个片段.):

由Konrad Zuse在1938年至1941年之间建造的计算机器Z3可以仅执行在穿孔带中编码的浮点算术运算(加法,减法,乘法,除法和平方根)的固定序列.从计算历史的角度来看,一个有趣的问题是这些操作是否足以进行通用计算.该论文表明,实际上,包含这些算术指令的单个程序循环可以模拟其磁带具有给定有限大小的任何图灵机.这是通过纯粹的算术方法模拟条件分支和间接寻址来完成的.因此,Zuse的Z3至少在原则上与今天具有有限寻址空间的计算机一样普遍.

简而言之,SOers,Turing-completeness究竟需要什么类型的分支?假设无限的内存,只有一个gotojmp分支结构(没有ifjnz构造)的语言可以被认为是图灵完备吗?

theory computer-science branch turing-complete

10
推荐指数
2
解决办法
1972
查看次数

编码与转义是否相同?

我对编码是否与转义相同的理论感兴趣?根据维基百科

转义字符是对字符序列中的后续字符调用替代解释的字符。

我目前的想法是,它们是不同的。逃避是指您在元字符前面放置一个转义字符以将其标记为与常规字符不同的行为。

另一方面,编码就是将数据转换为另一种形式,并且在想要读取原始内容时,会将其解码回其原始形式。

theory encoding escaping

10
推荐指数
2
解决办法
2914
查看次数

岩纸剪刀机器人算法

在我的学校,我们的老师正在举办摇滚,纸,剪刀机器人比赛.我知道如何用Python编程,但我不知道如何编写一个比随机选择武器更有成功机会的机器人.我认为可以存储所有先前的动作,然后寻找模式以抵抗攻击.我正朝着正确的方向前进吗?有任何想法吗?

python theory algorithm

10
推荐指数
1
解决办法
5876
查看次数

即使 useState 是常量,它如何改变?

我知道这const是无法改变的,即使它是 a ,声明 aconst [counter, setCouter] = useState();仍然能够改变 a吗?const counterconst

我遇到了变量阴影和不同块作用域内的变量。但是,const counter即使当您使用 重新分配它时它不在不同的范围内,这里也可以正常工作setCounter

theory variables constants reactjs

10
推荐指数
1
解决办法
2818
查看次数

Coinduction - 清晰,简洁的描述

我正在研究coinduction(归纳)作为静态分析课程的一部分.在互联网上肆虐,我根本没有找到清晰,简洁的描述:

  • 什么是coinduction
  • coinduction如何实际证明了某些东西(似乎coinduction就像在我读过的治疗中挥舞着一只神奇的手)
  • 什么命题需要共同证明
  • 如何操作共同证明

theory computer-science

9
推荐指数
2
解决办法
1523
查看次数