产生式系统实验程序-人工智能实验

上机任务 1. 产生式系统实验程序说明文档

一、运行环境

操作系统:Windows10

开发软件:Anaconda3

Python 版本:Python 3 及以上

所需要的依赖包:无

二、操作步骤

在命令行或 Anaconda3 等集成开发环境中运行程序 production.py。按照提示输入相应的条

件,根据知识库推理得出相应的结论。

  • 结果展示

 

 

代码:

# 特征数组 yinxipeng 201906020103

characteristic = ["毛发","奶","羽毛","会飞","吃肉","犬齿","有爪","眼盯前方","有蹄",

                  "反刍动物","哺乳动物","鸟","善飞","信天翁","食肉动物","黄褐色","暗斑点",

                  "黑色条纹","长腿","长脖子","有蹄类动物","虎","金钱豹","长颈鹿","斑马",

                  "不会飞","黑白二色","会游泳","鸵鸟","企鹅","下蛋"]

# 描述数组 存放推理出和原有的特征

describe = []

print("请输入一共有多少个特征:")

a=int(input())

print("请输入特征空格分开:")

for i in range (0,a):

    S = input()

    describe.append(S)

def search(describe):

    for i in range(len(describe)):

        if(describe[i]=="毛发" or describe[i]=="奶"):

            print(describe[i]+"-->"+"哺乳动物")

            if("哺乳动物" not in describe):

                describe.append("哺乳动物")

        if(describe[i]=="羽毛"):

            print(describe[i]+"-->"+"鸟")

            if("鸟" not in describe):

                describe.append("鸟")

        if(describe[i] == "吃肉"):

            print(describe[i]+"-->"+"食肉动物")

            if ("食肉动物" not in describe):

                describe.append("食肉动物")

    if("会飞" in describe and "下蛋" in describe):

        print("会飞,下蛋--->鸟")

        if("鸟" not in describe):

            describe.append("鸟")

    if("犬齿" in describe and "有爪" in describe and "眼盯前方" in describe):

        print("犬齿,有爪,眼盯前方--->食肉动物")

        if("食肉动物" not in describe):

            describe.append("食肉动物")

    if("哺乳动物" in describe and "有蹄" in describe):

        print("哺乳动物,有蹄--->有蹄类动物")

        if("有蹄类动物" not in describe):

            describe.append("有蹄类动物")

    if("哺乳动物" in describe and "反刍动物" in describe):

        print("哺乳动物,反刍动物--->有蹄类动物")

        if("有蹄类动物" not in describe):

            describe.append("有蹄类动物")

    if("哺乳动物" in describe and "黄褐色" in describe and "食肉动物" in describe):

        if("暗斑点" in describe):

            print("哺乳动物,食肉动物,黄褐色,暗斑点--->金钱豹")

            if("金钱豹" not in describe):

                describe.append("金钱豹")

        if ("黑色条纹" in describe):

            print("哺乳动物,食肉动物,黄褐色,黑色条纹--->金钱豹")

            if ("虎" not in describe):

                describe.append("虎")

    if("有蹄类动物" in describe and "长脖子" in describe and "长腿" in describe and "暗斑点" in describe):

        print("有蹄类动物,长脖子,长腿,暗斑点--->长颈鹿")

        if("长颈鹿" not in describe):

            describe.append("长颈鹿")

    if("有蹄类动物" in describe and "黑色条纹" in describe):

        print("有蹄类动物,黑色条纹--->斑马")

        if("斑马" not in describe):

            describe.append("斑马")



    if ("鸟" in describe and "长脖子" in describe and "长腿" in describe and "不会飞" in describe and "黑白二色" in describe):

        print("鸟,长脖子,长腿,不会飞,黑白二色--->鸵鸟")

        if ("鸵鸟" not in describe):

            describe.append("鸵鸟")

    if ("鸟" in describe and "会游泳" in describe  and "不会飞" in describe and "黑白二色" in describe):

        print("鸟,会游泳,不会飞,黑白二色--->企鹅")

        if ("企鹅" not in describe):

            describe.append("企鹅")

    if("鸟" in describe and "善飞" in describe):

        print("鸟,善飞--->信天翁")

        if("信天翁" not in describe):

            describe.append("信天翁")

def result(describe):

    for i in range(len(describe)):

        if(describe[i]=="虎" or describe[i]=="金钱豹" or describe[i]=="斑马"

            or describe[i]=="长颈鹿" or describe[i]=="鸵鸟" or describe[i]=="企鹅" or describe[i]=="信天翁"):

            print("该动物是:"+describe[i])

    if("虎" not in describe and "金钱豹" not in describe and "斑马" not in describe

            and "长颈鹿" not in describe and "鸵鸟" not in describe

            and "企鹅" not in describe and "信天翁" not in describe):

        print("无法判断是什么动物!")

print()

print("提取特征:")

print(describe)

print()

print("推理过程:")

search(describe)

print()

print("结论:")

result(describe)



  • 3
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值