用遗传python算法生成最小的词集

用遗传python算法生成最小的词集,python,genetic,Python,Genetic,我有一门人工智能课程,我有一个练习,写一个代码,生成尽可能短的句子(以字符数计算),我有一个离开列表 这只是单词表,没有真正的英语句子。我不需要有一个正确的英语句子 data=[["One","Two","He","You","a"],["have","had","make","do"],["red","blue"]] 我必须使一个句子尽可能少的3个单词(以字符数计),我之前给出的例子的解决方案是“a do red” 这就是我在遗传算法中所做的,我通过修改每一代pop的0.05%来寻找最有价值

我有一门人工智能课程,我有一个练习,写一个代码,生成尽可能短的句子(以字符数计算),我有一个离开列表
这只是单词表,没有真正的英语句子。我不需要有一个正确的英语句子

data=[["One","Two","He","You","a"],["have","had","make","do"],["red","blue"]]
我必须使一个句子尽可能少的3个单词(以字符数计),我之前给出的例子的解决方案是“a do red”

这就是我在遗传算法中所做的,我通过修改每一代pop的0.05%来寻找最有价值的部分

个人是一个句子,群体是一个短语集,我试图生成尽可能小的句子


问题是该值不会更改。提前感谢您的帮助。

如果您必须从每个列表中选择一个单词,您可以执行以下操作:

for sublist in data:
    print(min(sublist, key=len))

Out [4]:
a
do
red
或者,如果您想要一个字符串作为结果:

" ".join([min(sublist, key=len) for sublist in data])

Out [2]:
'a do red'

请注意,这将从每个列表中选择第一个最短的单词,因此,如果有多个长度最短的单词,则以列表中的第一个为准。与其打印出来,不如将它们添加到新列表中,或者根据您的用例执行其他操作。

英语句子以大写字母开头,需要动词和主语。是的,对不起,我编辑了,解决方案是“a do red”,我不需要正确的句子。只是单词表没有真正的英语句子“a do red”也不是一个有效的英语句子。只是单词表没有真正的英语句子。我不需要有一个正确的英语句子来缩小你的问题