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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 人工智能 > pytorch >内容正文

pytorch

【基于机器视觉与深度学习的人机对弈机器人——决策篇】

發(fā)布時間:2023/12/10 pytorch 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【基于机器视觉与深度学习的人机对弈机器人——决策篇】 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

文章目錄

  • 前言
  • 一、中國象棋云庫
  • 二、網頁URL程序編寫
    • 1.引入庫
    • 2.代碼實現
  • 總結


前言

棋盤識別部分已經在上一篇博客講過了,這篇主要講如何進行決策。
決策,即讓程序、機器人自行決策下一步走什么棋,我這邊想到的方法有三種。第一,使用強化學習,消耗的資源較多;第二,手動編程,對于這樣娛樂、沒有工資的項目,妥妥的不可能;第三,直接調用中國象棋云庫,這也是我要介紹的方法。
工程代碼:https://github.com/darkfan-cheese/Chinese-chess-robot


一、中國象棋云庫

先放地址:中國象棋云庫
https://www.chessdb.cn/query/
其實這網頁不僅僅能夠玩中國象棋,國際象棋也可以,基本操作都差不多。
我們的目的是使用代碼,讓這個云庫幫助我們進行決策。

二、網頁URL程序編寫

1.引入庫

在python中,使用的庫是requests,直接導入

import requests

2.代碼實現

網頁api使用的格式為:
http://www.chessdb.cn/chessdb.php?action=[ACTION]{&[OPTION1]=[VALUE1]…&[OPTIONn]=[VALUEn]}
具體的見官方網頁:中國象棋云庫接口說明

但是,在我多次嘗試下發(fā)現,這個api使用有點問題,當然,也可能是我的打開方式不對。我發(fā)現,這個api不能在棋局編碼(FEN碼)后面直接添加多個行棋信息(moves 后面的是行棋信息),這樣:
rnbakabnr/9/1c5c1/p1p1p1p1p/9/9/P1P1P1P1P/1C5C1/9/RNBAKABNR w moves g3g4 h7g7 b2e2 g9e7 f0e1
一步兩步還行,但是多了之后就有bug或者計算不出來,實在是無奈。

不過我們可以通過每次的行棋信息,來更新我們的棋局編碼,這樣我們每次傳入的api只有一步行棋,例如:
rnbakabnr/9/1c4c2/p1p1p3p/9/2P3p2/P3P3P/1CN4CB/9/R1BAKA1NR b moves h9i7
這樣在每次使用api獲得結果后對棋局編碼和行棋編碼進行解碼,解碼完成后,機器人走棋,再更新了棋局,對棋局重新編碼,識別了玩家(人類)的行棋信息后,再向云庫傳輸完整的api,獲取下一步行棋方法。

發(fā)送api命令代碼如下:

def sendw(api_open):api_0 = "http://www.chessdb.cn/chessdb.php?action=querybest&board="url = api_0 + api_open + ' w'print(url+'\n')ret = requests.post(url=url)a = ret.content.decode('utf-8')if 'search' in a:d = a.split('|')c = d[-1]b = c[7:11]print(b)else:b = (a[5:])print(b)return b

url變量就是向網頁輸出的命令,字符串的組合而已,在云庫的說明里面有解釋,之后就是使用post發(fā)送命令,ret接受,再解碼,解碼之后,使用判斷來提取我們需要的返回數據,存在b中。

而這段代碼的上級如下:

def compute_walk(api_open='9/9/3k5/9/2b6/4N4/9/1c2B4/4K4/3A5'):result = sendw(api_open=api_open)org = result[:2]tar = result[2:4]dictorg[tar]=dictorg[org]dictorg[org] = '0'return result

這段代碼就是對上個函數結果的處理,解析行棋信息(起點與終點)。dictorg是一個棋盤映射字典,存儲的棋局信息。

此外,還有對棋局編碼(FEN)的解碼(fen轉python字典)代碼,由于是我同門完成的,這里只貼代碼。

def inver_list_to_fen(self, ax_i_new):self.stri = ''count = 0inti = 0count_i = []for i in ax_i_new:count += 1inti += 1if i.isdigit():count_i.append(i)else:count_i.append(i)if count_i[inti - 2].isdigit():self.stri += str(count - 1)self.stri += ielse:self.stri += icount = 0self.stri += str(count)if self.stri[-1] == '0':self.stri = self.stri[:-1]return self.stri

另外還有棋局編碼轉化為python字典的代碼:

def fen_to_the_dict(self, org_gen):self.ax_9, self.ax_8, self.ax_7, self.ax_6, self.ax_5, self.ax_4, self.ax_3, self.ax_2, self.ax_1, self.ax_0 = org_gen.split('/')self.ax_list_key = ['ax_9', 'ax_8', 'ax_7', 'ax_6','ax_5', 'ax_4', 'ax_3', 'ax_2', 'ax_1', 'ax_0']self.ax_list_value = [self.ax_9, self.ax_8, self.ax_7, self.ax_6,self.ax_5, self.ax_4, self.ax_3, self.ax_2, self.ax_1, self.ax_0]self.ax_dict = dict(zip(self.ax_list_key, self.ax_list_value))dict_key = []non = '0'for j in self.latter_table:for i in range(10):dict_key.append(j + str(i))dictvalue = [non for i in range(0, 90)]self.dictorg = dict(zip(dict_key, dictvalue))self.cal_chess('self.ax_9')self.cal_chess('self.ax_8')self.cal_chess('self.ax_7')self.cal_chess('self.ax_6')self.cal_chess('self.ax_5')self.cal_chess('self.ax_4')self.cal_chess('self.ax_3')self.cal_chess('self.ax_2')self.cal_chess('self.ax_1')self.cal_chess('self.ax_0')return self.dictorg

總結

總的來說,實現決策的步驟就是:
1.解析棋局信息,轉換成FEN碼。
2.學習中國象棋云庫api的使用方法
3.將棋局編碼填入api命令,獲取返回值
4.根據返回值操縱機械臂行棋落子
5.更新棋局信息,等待下一步行棋

總結

以上是生活随笔為你收集整理的【基于机器视觉与深度学习的人机对弈机器人——决策篇】的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 日韩二区 | 午夜999 | 精品人妻久久久久一区二区三区 | 农夫色综合 | 中文字幕无人区二 | 男人av在线 | 国产在线激情视频 | 欧美色图在线观看 | 日批免费看 | 操白虎逼| 午夜精品亚洲 | 欧美第一页草草影院 | 激情综合色 | 久久无码人妻丰满熟妇区毛片 | 国产一区二区 | 日韩欧美国产高清 | 亚洲美女在线视频 | 亚洲欧美少妇 | 久久精品视频8 | 亚洲天堂男人网 | 91涩漫成人官网入口 | 国产一级片毛片 | 欧美精品99久久 | 丁香花国语版普通话 | 成人看片免费 | 99精品国产免费 | 女生张开腿给男生桶 | 日本美女视频网站 | 国产精品久久久久久久久久免费看 | 99久久久无码国产精品6 | 三浦惠理子aⅴ一二三区 | av不卡一区二区三区 | 五月婷婷六月婷婷 | 美女被男人c| 国产日韩欧美综合在线 | 精品无码av一区二区三区 | 国产又粗又猛又爽又黄视频 | 麻豆福利在线观看 | 欧美人一级淫片a免费播放 西方av在线 | 黄色无遮挡网站 | 午夜国产在线观看 | 黄色片特级 | 啄木乌欧美一区二区三区 | 国外成人免费视频 | 97人妻天天摸天天爽天天 | 俺来也av | 久久久久久久人妻无码中文字幕爆 | 天堂8在线视频 | 午夜色福利 | 亚洲天堂精品视频 | 久久天| 日本三级不卡 | 首尔之春在线看 | 中文字幕一区二区人妻痴汉电车 | www.色图 | 亚洲宅男天堂 | 久久在线精品视频 | 秋霞一区二区三区 | 美国式禁忌1980 | 人妻无码中文久久久久专区 | 日韩欧美亚洲成人 | 中文字幕一区不卡 | 男性影院| 午夜在线精品 | 老司机综合网 | 美女的诞生免费观看在线高清 | 久久综合伊人77777蜜臀 | 天天干天天上 | 亚洲阿v天堂 | 69人人 | 欧美性猛交xxxx乱大交退制版 | 91视频免费观看 | 一级视频毛片 | 四虎影视国产精品 | 久色视频在线 | 亚洲大片免费观看 | 久久毛片网站 | 人妻av无码一区二区三区 | 中文字幕福利 | 尤物视频在线观看 | 超碰人人人人人人人 | 人人妻人人澡人人爽精品日本 | 免费的毛片视频 | 国产精品久久一区二区三区动 | 欧美乱妇狂野欧美视频 | 欧美日韩一区二区三区四区五区六区 | 一级成人免费视频 | 花样视频污| 久久中文视频 | 久久综合热| 超碰人人爱 | 成人精品一区二区三区在线 | 久久精品视频在线观看 | 国产美女在线精品 | 美女黄色片网站 | 成人免费观看cn | 国产碰碰 | 国产稀缺精品盗摄盗拍 | 久久精品导航 |