自动秒收录

AI人工智能约束满足解决的现实世界问题


文章编号:2703 / 分类:技术教程 / 更新时间:2024-05-17 14:44:52 / 浏览:

恭喜您成为首批注册用户

AI人工智能约束满足解决的现实世界问题

前面的部分涉及创建约束满足问题。现在将它应用于现实世界的问题。通过约束满足解决的现实世界问题的一些例子如下-

在约束满足问题的帮助下,可以求解代数关系。在这个例子中,我们将尝试解决一个简单的代数关系a*2=b。它会在我们定义的范围内返回ab的值。

完成此Python程序后,您将能够理解解决约束满足问题的基础知识。

请注意,在编写程序之前,需要安装名为python-constraint的Python包。使用以下命令安装它-

pipinstallpython-constraint

以下步骤向您展示了一个使用约束满足来解决代数关系的Python程序。

使用以下命令导入约束包-

fromconstraintimport*

现在,创建一个名为problem()的模块对象,如下所示-

problem=Problem()

现在,定义变量。请注意,这里有两个变量ab,并且将定义10为它们的范围,这意味着在前10个数字范围内得到解决。

problem.addVariable('a',range(10))problem.addVariable('b',range(10))

接下来,定义应用于这个问题的特定约束。请注意,这里使用约束a*2=b

problem.addConstraint(lambdaa,b:a*2==b)

现在,使用以下命令创建getSolution()模块的对象-

solutions=problem.getSolutions()

最后,使用以下命令打印输出-

print(solutions)

可以观察上述程序的输出如下-

[{'a':4,'b':8},{'a':3,'b':6},{'a':2,'b':4},{'a':1,'b':2},{'a':0,'b':0}]

魔幻正方形一个神奇的正方形是一个正方形网格中不同数字(通常是整数)的排列,其中每行和每列中的数字以及对角线上的数字加起来就是所谓的“魔术常数”。

以下是用于生成幻方的简单Python代码的逐步执行-

定义一个名为magic_square的函数,如下所示-

defmagic_square(matrix_ms):iSize=len(matrix_ms[0])sum_list=[]

以下代码显示了垂直方块的代码-

forcolinrange(iSize):sum_list.append(sum(row[col]forrowinmatrix_ms))

以下代码显示了水平方块的代码-

sum_list.extend([sum(lines)forlinesinmatrix_ms])

水平方块的代码实现-

dlResult=0foriinrange(0,iSize):dlResult=matrix_ms[i][i]sum_list.append(dlResult)drResult=0foriinrange(iSize-1,-1,-1):drResult=matrix_ms[i][i]sum_list.append(drResult)iflen(set(sum_list))>1:returnFalsereturnTrue

现在,给出矩阵的值并查看输出结果-

print(magic_square([[1,2,3],[4,5,6],[7,8,9]]))

可以观察到由于总和未达到相同数字,输出将为False

print(magic_square([[3,9,2],[3,5,7],[9,1,6]]))

可以观察到输出将为True,因为总和是相同的数字,即15

违法和不良信息举报电话:173-0602-2364|


相关标签: AI人工智能约束满足解决的现实世界问题

本文地址:https://www.badfl.com/article/f95b15c9657845619d1e.html

上一篇:AI人工智能神经网络概述...
下一篇:AI人工智能口语词的识别...

发表评论

温馨提示

做上本站友情链接,在您站上点击一次,即可自动收录并自动排在本站第一位!
<a href="https://www.badfl.com/" target="_blank">自动秒收录</a>