codecamp

AI人工智能 逻辑编程的例子

以下是一些可以通过逻辑编程解决的例子 -

匹配数学表达式

实际上,我们可以通过使用逻辑编程以非常有效的方式找到未知值。 以下 Python 代码用于匹配数学表达式 -

考虑先导入下列软件包 -

from kanren import run, var, fact
from kanren.assoccomm import eq_assoccomm as eq
from kanren.assoccomm import commutative, associative

需要定义要使用的数学运算 -

add = 'add'
mul = 'mul'

加法和乘法都是交互进程。 因此,我们需要指定它,这可以按照以下方式完成 -

fact(commutative, mul)
fact(commutative, add)
fact(associative, mul)
fact(associative, add)

定义变量是强制性的; 这可以如下完成 -

a, b = var('a'), var('b')

需要将表达式与原始模式相匹配。有以下原始模式,基础是(5 + a)* b-

Original_pattern = (mul, (add, 5, a), b)

有以下两个表达式来匹配原始模式 -

exp1 = (mul, 2, (add, 3, 1))
exp2 = (add,5,(mul,8,1))

输出可以使用以下命令打印 -

print(run(0, (a,b), eq(original_pattern, exp1)))
print(run(0, (a,b), eq(original_pattern, exp2)))

运行此代码后,将得到以下输出 -

((3,2))
()

第一个输出表示ab的值。 第一个表达式匹配原始模式并返回ab的值,但第二个表达式与原始模式不匹配,因此没有返回任何内容。

AI人工智能 安装必需的包
AI人工智能 查找素数
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

AI人工智能监督学习(回归)

AI人工智能无监督学习:聚类

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }