标签: genetic-programming

通过字符串调用外部模块中的Python函数

我有一个手动维护的 python 函数和模块列表,将由遗传算法使用,我希望能够重复调用这些函数和模块并监视结果。

测试执行.py

import os
from random import randint

def main():
    toolList = [{'file':'test1.py', 'function':'sum_even_numbers', 'args':['list'], 'return':['int']},
                {'file':'test1.py', 'function':'get_min_even_num', 'args':['list'], 'return':['int']}   ]
    for tool in toolList:
        for i in range(0,3):
            run(tool, [randint(10,99) for j in range(1,randint(2,5))])

def run(tool, args):
    mod = __import__( os.path.basename(tool['file']).split('.')[0])
    func = getattr(mod, tool['function'])
    tool['return'] = func(args)
    print('main called ' + tool['file'] + '->' + tool['function'] + ' with ', args, ' = ', tool['return'])

main()
Run Code Online (Sandbox Code Playgroud)

测试1.py

def sum_even_numbers(numbers):
    return sum([i for i in numbers if …
Run Code Online (Sandbox Code Playgroud)

python genetic-programming python-import

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

当你拥有一大堆输入/输出对时,你如何找到函数的定义?

假设您获得了输入/输出对的列表:

f 0 = 0
f 1 = 2
f 2 = 1
f 3 = -1
f 4 = 0
f 5 = 0
f 6 = -76
f 7 = -3
f 8 = 3
f 9 = -1
f 10 = -1
f 11 = -6
f 12 = -1
f 13 = -1
f 14 = 4
f 15 = -2
f 16 = -10
f 17 = 0
f 18 = 0
f 19 = …
Run Code Online (Sandbox Code Playgroud)

algorithm haskell functional-programming function genetic-programming

0
推荐指数
1
解决办法
194
查看次数

遗传算法/人工智能;基本上,我在正确的轨道上吗?

我知道 Python 并不是编写任何此类软件的最佳主意。我的理由是在 Raspberry Pi 3 的决策中使用这种类型的算法(仍然不确定会如何进行),以及我将使用的库和 API(Adafruit motor HAT、Google 服务、OpenCV、各种传感器等)都可以很好地导入 Python,更不用说我在这种环境中更适合 rPi。我已经诅咒它了,因为 Java 或 C++ 等面向对象对我来说更有意义,但我更愿意处理它的低效率并专注于 rPi 集成的更大图景。

我不会在这里解释代码,因为它在整个脚本的注释部分都有很好的记录。我的问题如上所述;这可以被认为基本上是一种遗传算法吗?如果不是,它必须是一个基本的人工智能或遗传密码吗?我是否处于解决此类问题的正确轨道上?我知道通常有加权变量和函数来促进“适者生存”,但我认为可以根据需要弹出。

我已经阅读了很多关于这个主题的论坛和文章。我不想复制我几乎不理解的其他人的代码,并开始将其用作我更大项目的基础;我想确切地知道它是如何工作的,所以我不会对为什么某些事情在此过程中不起作用感到困惑。所以,我只是试图理解它如何工作的基本思想,并写下我如何解释它。请记住,我想为此留在 Python 中。我知道 rPi 有多个用于 C++、Java 等的环境,但如前所述,我使用的大多数硬件组件只有 Python API 用于实现。如果我错了,请在算法级别进行解释,而不仅仅是用一段代码(同样,我真的很想了解这个过程)。另外,请不要挑剔代码约定,除非它 与我的问题有关,每个人都有自己的风格,这只是现在的草图。在这里,感谢您的阅读!

# Created by X3r0, 7/3/2016
# Basic genetic algorithm utilizing a two dimensional array system.
# the 'DNA' is the larger array, and the 'gene' is a smaller array as an element
# of the DNA. There exists no weighted algorithms, or statistical tracking to
# make the program …
Run Code Online (Sandbox Code Playgroud)

python genetic artificial-intelligence genetic-programming genetic-algorithm

-1
推荐指数
1
解决办法
788
查看次数

如何使用遗传算法求解节点之间的最短路径?

如果我有一个节点网络,我如何使用遗传算法计算任意两个节点之间的最短路径?

genetic-programming genetic-algorithm

-8
推荐指数
1
解决办法
4570
查看次数