日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > windows >内容正文

windows

基于Python/PYQT5的动物识别专家系统(人工智能实验)

發(fā)布時間:2023/12/20 windows 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 基于Python/PYQT5的动物识别专家系统(人工智能实验) 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

基于Python/PyQT5的動物識別專家系統(tǒng)(人工智能課程實驗)

本學期人工智能實驗課要求完成一個動物識別專家系統(tǒng)。 功能:推理顯示結(jié)論;添加規(guī)則;推理失敗彈框提示。 本文采用Python+PyQT5去完成GUI的設計和程序編寫。

一、系統(tǒng)主要邏輯:

  • 邏輯:
    (1)用戶輸入已知事實—>點擊推理
    (2)獲取輸入的已知事實 加入 綜合數(shù)據(jù)庫DB
    (3)獲取規(guī)則庫,將前提和結(jié)論分別存儲在兩個列表中命名為P和q,存在對應關系
    (4)將前提和已知事實庫進行匹配:
    如果存在一條前提,全部都出現(xiàn)在已知事實中,那么至少可以得出一個結(jié)論。將此結(jié)論加入綜合數(shù)據(jù)庫,將推理過程進行標記。存在一個推理列表中,其中存的數(shù)字為推理出來的前提和結(jié)論下標。用于顯示。
    如果不存在這樣的前提,就說明一條中間結(jié)論也推不出來,跳轉(zhuǎn)(6)
    (5)等循環(huán)完了,因為至少存在一個中間結(jié)論,所以直接輸出推理過程和(中間或者最終)結(jié)論。
    (6)提示用戶什么也不能推出來,詢問是否進行補充,如果選擇是就回到主頁面,如果選擇否就關閉程序,跟用戶拜拜。
  • 界面設置:
    框:輸入事實的框,顯示推理過程的框,顯示結(jié)論的框,自動顯示當前規(guī)則庫的框,用來添加規(guī)則庫的框。
    按鈕:點擊進行推理的按鈕,點擊添加規(guī)則庫并更新當前窗口的按鈕
    對話提示框:詢問是否進行補充的框,跟用戶拜拜的框。
  • 界面:


    二、系統(tǒng)主要代碼部分:

    #推理部分的代碼def inference(self):#推理input=self.textEdit.toPlainText() #獲取輸入的事實input=input.split('\n')DB=set(input)#將綜合數(shù)據(jù)庫以集合的形式存放[P,Q]=get_rules() #獲取規(guī)則庫self.process='' #用于存儲推理過程self.animal='' #存儲結(jié)論#下面開始正式推理flag=0for premise in P: #對前提條件進行遍歷if ListInSet(premise, DB):#能夠找到一個前提條件全部存在于數(shù)據(jù)庫DB.add(Q[P.index(premise)]) # 把結(jié)論放入綜合數(shù)據(jù)庫self.animal=Q[P.index(premise)]#更新結(jié)論self.process+= "%s --> %s\n" % (premise, Q[P.index(premise)])flag=1#至少有一個能夠推出來的結(jié)論if flag==0:#一個結(jié)論也推不出來,詢問用戶是否進行補充self.alert_window.show()self.alert_window.pushButton.clicked.connect(self.alert_window.close)self.alert_window.pushButton_2.clicked.connect(self.no)else: #flga!=0說明有結(jié)論生成#顯示出推理過程self.textEdit_2.setText(self.process)#顯示出結(jié)論self.lineEdit_2.setText(self.animal)

    添加新的規(guī)則部分的函數(shù)代碼:

    def add_rule(self):#添加新規(guī)則new_rule=self.lineEdit.text()if(new_rule!=" "):self.textBrowser.append(new_rule)RD=open('RD.txt','a')RD.write(new_rule)RD.write('\n')

    四、完整代碼和文件

    請直接運行myanimal.py文件,打開至IDE或者pycharm中再運行。
    如果沒有圖形界面,可以下載并安裝PyQT庫

    鏈接:https://pan.baidu.com/s/1pO7jBUQFT9AMsmJCqgl0sA
    提取碼:me1i

    總結(jié)

    以上是生活随笔為你收集整理的基于Python/PYQT5的动物识别专家系统(人工智能实验)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。