单个调度的问题对于使用Java和C#等静态类型语言进行编码的人来说大多是熟悉的.基本思路是:
虽然运行时多态性允许我们根据类型(运行时类型)调度到正确的方法调用receiver,例如:
IAnimal mything = new Cat();
mything.chop();
Run Code Online (Sandbox Code Playgroud)
方法调用将根据运行时类型执行mything,即Cat.这是单一调度功能(存在于Java/C#中).
现在,如果您不仅需要调度接收器的运行时类型,还需要调度(多个)参数的类型,那么您将面临一个小问题:
public class MyAcceptor {
public void accept (IVisitor vst) {...}
public void accept (EnhancedConcreteVisitor vst) {...}
}
Run Code Online (Sandbox Code Playgroud)
第二种方法永远不会被调用,因为在我们的"消费者"代码中,我们倾向于通过常见的超类型或接口来处理不同类型的对象(在我的示例中为访问者).
这就是我问的原因 - 因为动态类型允许多重调度多态,C#4.0有动态关键字;)
能否请您解释一下逻辑编程基础与类型系统和传统逻辑之间语法相似现象之间的基本联系是什么?
这不是一个实际重要的问题,但我想在F#中看到默认编程的一个例子,其中我的无点函数可以有多个参数(不是列表或元组的形式).
其次,这些函数如何操作复杂的数据结构.我在F#Interactive中试用它,但还没有成功.
我试过,例如:
> (fun _ -> (fun _ -> (+))) 333 222 111 555
Run Code Online (Sandbox Code Playgroud)
这是对的吗?
和:
> (fun _ -> (fun _ -> (+))) "a" "b" "c" "d";;
val it : string = "cd"
Run Code Online (Sandbox Code Playgroud) 我想问一下,是否存在一个程序,它打算在全球范围内旅行(例如跟随一些物理力量),可能占用和释放计算资源/节点.从字面上看,这意味着某些基于代理的系统只是定期更改其位置和(在某种程度上)不可避免的配置.
一个例子是:假设你有外部传感器,空间中有免费的计算机 - 节点.自我复制代理遵循传感器的初始化程序是否有意义,但是以这种限制性方式,计算仅局限于物理业务正在进行的位置.
我想强调的是,这个问题只是为了"理论上的"乐趣,因为除了优化"过时的"(替代?)代理处理外,我看不到所提到的限制的任何实际好处.但也许它可能有一些兴趣.谢谢!
编辑:很明显病毒是合适的例子,尽管删除这些代理很少是开发人员关心的问题.更准确地说,我对"旅行"软件感兴趣 - 也就是说,当代理的计数(或至少是顺序)是不变的时候,它只是整个系统的旅行.
图灵机的定义说,禁止人们阅读/修改其指令表(程序)。确实,图灵机无法访问其自己的程序。
如果可以弱化这一限制,可以获得什么好处?如果机器可以分析和/或修改其程序。这会扩展图灵计算任务的类别吗?
我在维基百科中读到,在任意实数/有理数字段上定义的神经网络函数(以及算法模式和推测性的"transrecursive"模型)比我们今天使用的计算机具有更多的计算能力.当然这是一个俄罗斯维基百科(ru.wikipedia.org)的页面,可能没有得到适当的证明,但这不是这种谣言的唯一来源.
现在,我真正不理解的是:字符串重写机器(NN是完全字符串重写机器,就像图灵机器一样;只有编程语言不同)如何才能比普通功能的U机更强大?
是的,描述性工具确实不同,但事实是这种类的任何功能都可以(很容易或不能)变成合法的图灵机.我错了吗?我是否会错过重要的事情?
人们说这是什么原因?我知道今天已经广泛接受了不确定性的fenomenum(尽管根据我所读的内容并未得到一致证明),但我并没有真正看到NN能够解决该特定问题的可能性最小.
加载项:Not consistently proven according to what I've read- 我的意思是你可能想在90年代中期之后看看A.Zenkin的(俄罗斯数学家)论文,他有说服力地假设G. Cantor概念的错误,包括超限集,不可数集,对角化方法(图灵用于证明不可判定性的方法)和其他方法.甚至Goedel的不完备性定理也只是在21世纪才得到证实.这只是为了将Zenkin的工作插入到帖子中,因为我不知道CS社区知识的普及程度如此,如果看起来确实很愚蠢,请原谅我.
谢谢!
是否有一个来源,我可以用它来学习一些关于演员/代理导向编程的最常用和流行的做法?我主要担心的是并行性和分布仅限于上述方案 - 演员,消息传递.
我应该从Erlang文档开始,还是可能有任何类型的书籍描述编程面向Actor时最重要的构建块?
(最有用的例子是Scala或F#)
我一直在尝试使用 KDevelop 浏览大型代码库。我不得不放弃这一点,但由于后台解析,KDevelop 已成功在项目文件夹中生成了 3GB 的数据。我想删除 KDevelop 剩余的所有内容,因为该项目位于空间很小的虚拟机中。我只是不知道在哪里寻找文件,即使它们很大。
我真的不知道这是否经过科学证明,但我读过一本书(这是Peter Norvig的一本相对现代的AI书),二阶逻辑编程可能比现有的一阶语言更具表现力.
问题是:在统计上/符号上证明高阶谓词逻辑在其表达能力上超过一阶谓词吗?或者他们只是为您的知识库带来模块化/便利/可维护性?
另外:如果有某种坚定的方向,我可以寻求比我更具表现力的能力(我的意思是我用给定的语义/语法写出的符号的描述性潜力) - 那么我很高兴听到几乎一切:)
谢谢.
f# ×2
logic ×2
.net ×1
actor ×1
algorithm ×1
c# ×1
c#-4.0 ×1
curry-howard ×1
erlang ×1
file ×1
instructions ×1
kdevelop ×1
scala ×1
type-theory ×1
wpf ×1
wpf-controls ×1