亚洲综合原千岁中文字幕_国产精品99久久久久久久vr_无码人妻aⅴ一区二区三区浪潮_成人h动漫精品一区二区三

主頁 > 知識庫 > python廣度搜索解決八數碼難題

python廣度搜索解決八數碼難題

熱門標簽:400電話申請服務商選什么 原裝電話機器人 工廠智能電話機器人 清遠360地圖標注方法 在哪里辦理400電話號碼 千陽自動外呼系統 西藏智能外呼系統五星服務 平頂山外呼系統免費 江蘇客服外呼系統廠家

—— 八數碼難題 ——

1.題目描述

八數碼問題也稱為九宮問題。在3×3的棋盤,擺有八個棋子,每個棋子上標有1至8的某一數字,不同棋子上標的數字不相同。棋盤上還有一個空格,與空格相鄰的棋子可以移到空格中。要求解決的問題是:給出一個初始狀態和一個目標狀態,找出一種從初始狀態轉變成目標狀態的移動棋子步數最少的移動步驟。

代碼

使用算法:廣度搜索算法

python

import numpy as np

class State:
 def __init__(self, state, directionFlag=None, parent=None):
 self.state = state
 self.direction = ['up', 'down', 'right', 'left']
 if directionFlag:
  self.direction.remove(directionFlag)
 self.parent = parent
 self.symbol = ' '

 def getDirection(self):
 return self.direction

 def showInfo(self):
 for i in range(3):
  for j in range(3):
  print(self.state[i, j], end=' ')
  print("\n")
 print('->\n')
 return

 def getEmptyPos(self):
 postion = np.where(self.state == self.symbol)
 return postion

 def generateSubStates(self):
 if not self.direction:
  return []
 subStates = []
 boarder = len(self.state) - 1
 row, col = self.getEmptyPos()
 if 'left' in self.direction and col > 0:
  s = self.state.copy()
  temp = s.copy()
  s[row, col] = s[row, col-1]
  s[row, col-1] = temp[row, col]
  news = State(s, directionFlag='right', parent=self)
  subStates.append(news)
 if 'up' in self.direction and row > 0:
  s = self.state.copy()
  temp = s.copy()
  s[row, col] = s[row-1, col]
  s[row-1, col] = temp[row, col]
  news = State(s, directionFlag='down', parent=self)
  subStates.append(news)
 if 'down' in self.direction and row  boarder:
  s = self.state.copy()
  temp = s.copy()
  s[row, col] = s[row+1, col]
  s[row+1, col] = temp[row, col]
  news = State(s, directionFlag='up', parent=self)
  subStates.append(news)
 if self.direction.count('right') and col  boarder:
  s = self.state.copy()
  temp = s.copy()
  s[row, col] = s[row, col+1]
  s[row, col+1] = temp[row, col]
  news = State(s, directionFlag='left', parent=self)
  subStates.append(news)
 return subStates

 def solve(self):
 openTable = []
 closeTable = []
 openTable.append(self)
 steps = 1
 while len(openTable) > 0:
  n = openTable.pop(0)
  closeTable.append(n)
  subStates = n.generateSubStates()
  path = []
  for s in subStates:
  if (s.state == s.answer).all():
   while s.parent and s.parent != originState:
   path.append(s.parent)
   s = s.parent
   path.reverse()
   return path, steps+1
  openTable.extend(subStates)
  steps += 1
 else:
  return None, None

if __name__ == '__main__':
 symbolOfEmpty = ' '
 State.symbol = symbolOfEmpty
 originState = State(np.array([[2, 8, 3], [1, 6 , 4], [7, symbolOfEmpty, 5]]))
 State.answer = np.array([[1, 2, 3], [8, State.symbol, 4], [7, 6, 5]])
 s1 = State(state=originState.state)
 path, steps = s1.solve()
 if path:
 for node in path:
  node.showInfo()
 print(State.answer)
 print("Total steps is %d" % steps)

以上就是python廣度搜索解決八數碼難題的詳細內容,更多關于python廣度搜索八數碼的資料請關注腳本之家其它相關文章!

您可能感興趣的文章:
  • python實現廣度優先搜索過程解析
  • python廣度優先搜索得到兩點間最短路徑
  • python 遞歸深度優先搜索與廣度優先搜索算法模擬實現
  • python深度優先搜索和廣度優先搜索
  • Python數據結構與算法之圖的廣度優先與深度優先搜索算法示例

標簽:天水 隨州 股票 安慶 錦州 日照 白城 西安

巨人網絡通訊聲明:本文標題《python廣度搜索解決八數碼難題》,本文關鍵詞  python,廣度,搜索,解決,八,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《python廣度搜索解決八數碼難題》相關的同類信息!
  • 本頁收集關于python廣度搜索解決八數碼難題的相關信息資訊供網民參考!
  • 推薦文章
    天天色色网| 午夜精品国产自在现线拍| 欧美a免费| 精品国产香蕉在线播出| 亚洲天堂一区二区三区四区| 九九免费高清在线观看视频| 国产欧美精品午夜在线播放| 天天做日日爱夜夜爽| 999久久久免费精品国产牛牛| 中文字幕一区二区三区精彩视频| 二级片在线观看| 日本伦理网站| 亚洲wwwwww| 天天色成人| 四虎久久精品国产| 免费毛片播放| 国产美女在线观看| 精品国产一区二区三区免费| 国产精品12| 91麻豆国产| 高清一级毛片一本到免费观看| 亚欧成人乱码一区二区| 欧美激情一区二区三区视频| 亚欧视频在线| 精品国产一区二区三区久久久狼| 999精品影视在线观看| 精品视频在线观看免费| 国产精品12| 国产麻豆精品| 国产精品12| 精品国产一区二区三区久| 国产不卡高清| 亚飞与亚基在线观看| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 久久久成人网| 日韩欧美一二三区| 久草免费在线视频| 午夜欧美福利| 一级片免费在线观看视频| 久久精品大片| 国产视频在线免费观看| 国产激情视频在线观看| 日韩在线观看网站| 四虎影视久久久免费| 国产成人精品一区二区视频| 台湾美女古装一级毛片| 久久精品免视看国产明星 | 91麻豆精品国产自产在线观看一区 | 精品久久久久久免费影院| 91麻豆爱豆果冻天美星空| 国产91视频网| 国产精品自拍在线| 免费国产在线观看| 久久99爰这里有精品国产| 精品久久久久久免费影院| 国产成人精品综合久久久| 日韩一级黄色| 精品在线观看国产| 九九热国产视频| 韩国三级一区| 精品视频在线观看视频免费视频 | 天天做日日爱夜夜爽| 91麻豆国产福利精品| 欧美α片无限看在线观看免费| 欧美激情一区二区三区中文字幕| 国产一区二区精品尤物| 欧美1区| 久久99青青久久99久久| 亚洲女人国产香蕉久久精品| 国产亚洲精品成人a在线| 99色吧| 日韩中文字幕在线播放| 国产91精品一区| 91麻豆爱豆果冻天美星空| 国产91视频网| 日韩中文字幕一区二区不卡| 可以免费在线看黄的网站| 91麻豆tv| 色综合久久天天综线观看| 亚久久伊人精品青青草原2020| 日本特黄特黄aaaaa大片| 国产91丝袜在线播放0| 国产欧美精品| 久久99爰这里有精品国产| 精品视频一区二区| 国产一区二区精品久久91| 香蕉视频亚洲一级| 九九国产| 欧美激情影院| 免费一级片在线| 九九九在线视频| 91麻豆精品国产自产在线观看一区 | 999久久狠狠免费精品| 国产a毛片| 精品国产一区二区三区免费| 成人高清视频免费观看| 国产一区免费在线观看| 99久久精品国产免费| 你懂的福利视频| 免费国产一级特黄aa大片在线| 一级女性大黄生活片免费| 91麻豆国产福利精品| 色综合久久手机在线| 精品国产亚洲人成在线| 亚久久伊人精品青青草原2020| 成人影院一区二区三区| 999久久久免费精品国产牛牛| 国产视频一区在线| 国产伦精品一区二区三区在线观看 | 你懂的日韩| 日韩中文字幕在线亚洲一区| 一级毛片视频免费| 国产亚洲精品成人a在线| 免费一级生活片| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 青青久热| 日韩女人做爰大片| 欧美大片aaaa一级毛片| 久久国产影院| 天天做人人爱夜夜爽2020毛片| 色综合久久手机在线| 日本伦理网站| 九九免费高清在线观看视频| 日韩在线观看网站| 色综合久久手机在线| 国产精品1024永久免费视频| 青青久久精品| 国产网站在线| 亚洲精品影院一区二区| 日韩中文字幕一区| 日韩女人做爰大片| 国产不卡高清| 国产a视频| 久草免费在线观看| 国产一区二区精品| 999精品在线| 久久成人综合网| 国产视频一区二区三区四区| 午夜激情视频在线观看| 亚洲 激情| 日韩一级精品视频在线观看| 亚洲精品中文一区不卡| 韩国三级视频网站| 九九久久国产精品大片| 亚欧乱色一区二区三区| 欧美激情一区二区三区视频高清| 国产视频久久久久| 亚欧乱色一区二区三区| 999精品影视在线观看| 91麻豆精品国产自产在线 | 午夜久久网| 免费国产在线观看不卡| 国产不卡在线观看视频| 国产美女在线一区二区三区| 日韩在线观看视频黄| 欧美a级v片不卡在线观看| 国产一区免费观看| 国产一区二区精品久久| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 九九国产| 国产不卡在线播放| 四虎影视精品永久免费网站| 国产a免费观看| 天天做人人爱夜夜爽2020| 一级女性大黄生活片免费| 成人在免费观看视频国产| 亚洲精品影院一区二区| 欧美夜夜骑 青草视频在线观看完整版 久久精品99无色码中文字幕 欧美日韩一区二区在线观看视频 欧美中文字幕在线视频 www.99精品 香蕉视频久久 | 日韩一级黄色大片| 国产一区二区精品| 四虎影视库| 一级女性全黄生活片免费| 91麻豆爱豆果冻天美星空| 亚洲精品影院| 亚洲女初尝黑人巨高清在线观看| 日韩中文字幕在线观看视频| 九九国产| 国产韩国精品一区二区三区| 深夜做爰性大片中文| 亚洲精品中文一区不卡| 亚洲精品永久一区| 四虎影视库| 久久精品店| 好男人天堂网 久久精品国产这里是免费 国产精品成人一区二区 男人天堂网2021 男人的天堂在线观看 丁香六月综合激情 | 欧美国产日韩久久久| 精品国产亚洲人成在线| 日韩av成人| 日日夜夜婷婷| 毛片高清| 久草免费在线观看| 成人在免费观看视频国产| 亚洲精品久久玖玖玖玖| 精品视频在线看 | 黄视频网站免费| 国产不卡在线看| 二级片在线观看| 99色视频| 香蕉视频久久| 超级乱淫伦动漫| 九九干|