标签: computer-science

模糊逻辑真的能改进简单的机器学习算法吗?

我正在阅读模糊逻辑,我只是​​看不出它在大多数情况下如何改进机器学习算法(它似乎相对经常应用).

例如,k个最近的邻居.如果你有很多属性color: [red,blue,green,orange], temperature: [real number], shape: [round, square, triangle],你可能不会真正模糊这些属性除了真正的编号属性(请纠正我,如果我错了),我不知道这怎么可以改善任何东西比把东西拼凑在一起.

机器模糊逻辑如何用于改善机器学习?大多数时候,您在大多数网站上找到的玩具示例似乎都不适用.

computer-science machine-learning fuzzy-logic data-structures

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

至少重要一点

在研究ruby时,我遇到了

> "cc".unpack('b8B8')
 => ["11000110", "01100011"] 
Run Code Online (Sandbox Code Playgroud)

然后我试图谷歌找到一个关于"最低点"的好答案,但找不到任何好的答案.

任何人都在向我解释或指出一个方向,我可以理解"LSB优先"和"MSB优先"之间的区别.

ruby computer-science

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

Dijkstra算法属性

Dijkstra(G,w,s) {
  ISS(G,s);
  let S be an empty set
  let Q be a priority queue, initialized with V[G]
  while Q is not Empty:
       u<-extractMin(Q);
       add u to S
       for each vertex v neighbor of u
             Relax(u,v,w);
}
Run Code Online (Sandbox Code Playgroud)

我的问题是,为什么在while循环算法的每个步骤中选择Q中所有v的MINIMUM d [v]是很重要的,如果我们不选择最小值,那么会怎样?

我的意思是从我看到的方式来看,所有边缘(u,v)都会以宽度第一顺序放松(意味着如果 - s-> u-> v和(s,v)不在E中那么(s, u)在(u,v)之前会放松,所以为什么每次选择最小d [v]很重要?

假设存在一个函数extractMaxFiniteD(Q),它返回顶点v,使得它具有Q中有限的max d [v]

假设我们将该行更改为u <-extractMaxFiniteD(Q); 任何人都可以画出一个图表,其中修改后的alg会失败 - 甚至更好 - 最短路径的属性会变得暴力吗?

我知道这个问题可能非常困难和抽象,但如果某些人可以帮助我,那将会很棒.

algorithm computer-science graph-theory dijkstra

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

通用机器代码语言?

我一直在考虑机器代码如何特定于架构以及Javascript如何在(几乎)每个浏览器中工作.我一直在研究一个必须做一些严肃计算的项目,它是基于Javascript的,需要一分钟才能完成计算.它让我渴望C的速度.但是项目使用Javascript的全部原因是为了简单和便携.

这给了我一个想法,如果有一种类似于Javascript的语言,就像在每个架构上一样可移植并作为可执行文件运行,该怎么办?大多数人会指向Java,但我正在考虑一些开销较少且由操作系统处理的东西.不是字节代码,而是本机机器代码.

做了一些研究和思考,以实现这项任务的不可能性.您如何制作一个像普通C编写的应用程序一样小的可执行文件,该应用程序适用于在每个体系结构上工作的特定体系结构,速度与在C中为该体系结构本地编译的速度相同?

这是我的下一个想法.本机机器代码特定于架构,每个架构都具有某些特殊功能,有时以不同方式处理相同的任务.某些优化也是针对每个体系结构的.如果有通用机器代码怎么办?当操作系统将指令加载到ram中时,它会自动转换指令以适应架构.或许(更疯狂的想法)CPU可以包含接收通用机器代码并自动将通用机器代码调整到其本机代码中的能力?

通用机器代码规范必须足够通用,以涵盖正常的机器代码功能.

当然,如果通用机器代码确实有效,人们可能会想要一个由所有操作系统处理的通用可执行格式.这样,可执行文件不需要在OS上进行更改.这导致需要专门针对机器进行通用的框架.更多的细节将是操作系统特定的功能,输入和输出的能力超出我所知的范围.

Universal Machine Code编译可执行文件:

优点:

  • 与本机编译的可执行文件几乎相同的大小
  • 几乎如果不是本机编译可执行文件的相同性能

缺点:

  • 稍微(希望不存在)加载速度较慢,因为它在ram中加载可执行文件时将通用机器代码转换为本机机器代码

这可行吗?

编辑:

我用过Java,在其中制作游戏.它不像我想的那样普遍,也不像友好.*它是由Oracle维护的自己的编程语言.专有和有点太大.需要在某些机器上安装.

更具体地说,我不是在谈论使用新的编程语言.我正在谈论拥有一种新的机器代码语言,该语言拥有足够的额外信息,在执行时,会将一个非常薄的过程转换为架构的机器代码.这样C编译器就可以将它们的可执行文件编译成通用机器代码,并且可执行文件可以在任何地方运行.

assembly computer-science machine-code computer-architecture

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

无限语言的正则表达式

我只是对正则表达式感到困惑.可以有一个识别无限语言的正则表达式,还是所有正则表达式都能识别有限语言?

regex theory computer-science regular-language

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

机器码要执行,这是怎么回事?

多年来我一直在学习计算机编程,抽象层使我的理解变得模糊。假设我编译了一些源代码并且我有可执行的机器代码。一旦计算机运行此代码,会发生什么?

例如,假设我运行一个简单的 if then else 语句并拥有机器代码。执行此指令的计算机电路中发生了什么?

computer-science

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

确定线性时间中是否存在多数元素

这是我的面试问题,对此我有些困惑。给定一个由k个元素组成的数组,设计一种线性时间算法来确定列表是否具有多数元素,其中多数元素是一个在列表中出现k / 2次以上的元素。

algorithm computer-science

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

每个算法都可以用有限状态机表示吗?

我知道可以将一些算法表示为FSM,但FSM可以描述每种可能的算法吗?

algorithm computer-science state-machine

3
推荐指数
2
解决办法
1006
查看次数

在RAFT中,是否可以在日志条目上达成多数共识,但条目未提交?

在官方筏网页上考虑这种模拟

在此输入图像描述

为什么term 2 index 1不承诺S2 (leader),S3S4同意日志?我运行这几分钟以确保所有通信都已发生.

奇怪的是,如果我再添加一个日志条目,term 6 index 2那么term 2 index 1将提交.

有谁知道什么是阻止term 2 index 1提交的规则?

algorithm computer-science distributed-system consensus raft

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

计算机如何理解时间?没有asm指令等待

我一直在学习编程语言,有一个问题一直困扰着我.

例如,假设我编写了一些允许我每隔5秒按一下按钮的东西.

计算机如何理解等待部分(允许按下按钮 - 等待5秒并再次允许)?

我已经知道,第一个更高级的编程语言被编译成机器代码,以便计算机可以运行它.但是,如果我们采用汇编程序,例如非常接近机器代码,只是人类可读,则没有等待的指令.

我在等待中给出的例子只是一个例子,还有更多我不理解计算机如何理解的东西;)

computer-science programming-languages cpu-architecture

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