【发布时间】:2014-12-07 02:22:35
【问题描述】:
您能否列出 Java 代码修改自身的可能性? 将要使用它的场景是一个学习程序。作为对用户输入的响应,程序会学习一种新算法:
- 它会在现有代码库中查找类似算法
- 如果代码库中没有类似的算法,程序只是添加一个新算法
- 如果存在类似的算法,则程序(可能在用户的帮助下)修改现有算法,使其能够同时服务于旧目的和新目的
存在类似的问题 Self modifying code in Java ,但当时可用的最新 Java 是 6,并且该问题因过于宽泛而被关闭。
【问题讨论】:
-
这些场景都不意味着程序需要修改自身。
-
如果程序不修改自己,它必须解释新学习的算法,这至少很慢。
-
正如其他问题的几个答案所建议的那样,您可以选择在运行时生成和加载字节码。无需口译。
-
也许你对Genetic Programming感兴趣。它是进化算法的一个子领域,处理算法的创建,但与自我修改代码无关......
-
我对遗传编程有点兴趣,谢谢,但这是一个单独的话题。在这个问题中,我尝试只关注 Java 中自我修改的工具。计算机程序的演进是另一种自我修改的使用场景。
标签: java algorithm machine-learning artificial-intelligence self-modifying