• 大小: 12KB
    文件类型: .zip
    金币: 1
    下载: 0 次
    发布日期: 2021-05-13
  • 语言: Python
  • 标签: AI  五子棋  Python  CNN  ADP  

资源简介

这个代码是智能五子棋代码,使用python实现,可视化界面,有基于规则的算法和基于神经网络的算法,可以实现一定水准的五子棋棋力。

资源截图

代码片段和文件信息

# !/usr/bin/env python
# -*- coding:utf-8 -*-
# author:DuJinYu time: 2018/5/28
# 用于实现ADP算法

import tensorflow as tf
import numpy as np
pattern_dict = {‘bla_pattern_01‘: [1 1 1 1 1]         ‘bla_pattern_02‘: [-1 1 1 1 1 -1]
                ‘bla_pattern_03‘: [-1 1 1 1 -1 -1]   ‘bla_pattern_04‘: [-1 -1 1 1 1 -1]
                ‘bla_pattern_05‘: [-1 1 1 -1 1 -1]   ‘bla_pattern_06‘: [-1 1 -1 1 1 -1]
                ‘bla_pattern_07‘: [1 1 1 1 -1]        ‘bla_pattern_08‘: [-1 1 1 1 1]
                ‘bla_pattern_09‘: [1 1 -1 1 1]        ‘bla_pattern_10‘: [1 -1 1 1 1]
                ‘bla_pattern_11‘: [1 1 1 -1 1]        ‘bla_pattern_12‘: [-1 -1 1 1 -1 -1]
                ‘bla_pattern_13‘: [-1 -1 1 -1 1 -1]  ‘bla_pattern_14‘: [-1 1 -1 1 -1 -1]
                ‘bla_pattern_15‘: [-1 -1 -1 1 -1 -1] ‘bla_pattern_16‘: [-1 -1 1 -1 -1 -1]
                ‘bla_pattern_17‘: [-1 1 -1 -1 1 -1]  ‘bla_pattern_18‘: [1 -1 -1 -1 1]
                ‘bla_pattern_19‘: [1 1 -1 -1 1]       ‘bla_pattern_20‘: [1 1 -1 -1 -1]
                ‘whi_pattern_01‘: [0 0 0 0 0]         ‘whi_pattern_02‘: [-1 0 0 0 0 -1]
                ‘whi_pattern_03‘: [-1 0 0 0 -1 -1]   ‘whi_pattern_04‘: [-1 -1 0 0 0 -1]
                ‘whi_pattern_05‘: [-1 0 0 -1 0 -1]   ‘whi_pattern_06‘: [-1 0 -1 0 0 -1]
                ‘whi_pattern_07‘: [0 0 0 0 -1]        ‘whi_pattern_08‘: [-1 0 0 0 0]
                ‘whi_pattern_09‘: [0 0 -1 0 0]        ‘whi_pattern_10‘: [0 -1 0 0 0]
                ‘whi_pattern_11‘: [0 0 0 -1 0]        ‘whi_pattern_12‘: [-1 -1 0 0 -1 -1]
                ‘whi_pattern_13‘: [-1 -1 0 -1 0 -1]  ‘whi_pattern_14‘: [-1 0 -1 0 -1 -1]
                ‘whi_pattern_15‘: [-1 -1 -1 0 -1 -1] ‘whi_pattern_16‘: [-1 -1 0 -1 -1 -1]
                ‘whi_pattern_17‘: [-1 0 -1 -1 0 -1]  ‘whi_pattern_18‘: [0 -1 -1 -1 0]
                ‘whi_pattern_19‘: [0 0 -1 -1 0]       ‘whi_pattern_20‘: [0 0 -1 -1 -1]}


class ADP(object):
    def __init__(self _board _select_color _player_turn):
        self.board = _board
        self.select_color = _select_color
        self.player_turn = _player_turn
        self.input_x = [0.]*122

    def init_input(self):
        # pattern_number = 0
        pattern_number_list = []
        for pattern in pattern_dict.values():
            print(pattern)
            pattern_number = self.find_pattern_number(pattern)
            pattern_number_list.append(pattern_number)
        if self.select_color == 1:  # 电脑执黑
            for i in range(len(pattern_number_list)-20):
                self.input_x[i] = pattern_number_list[i]  # 黑子特征图案数量输入节点
                self.input_x[i+20] = pattern_number_list[i+20]  # 白子特征图案数量输入节点
                if self.player_turn == 1:  # 当前轮次,人执黑,电脑执白
                    # 黑子
  

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----
     目录           0  2018-08-01 14:31  AI五子棋Python代码\
     文件          31  2018-05-23 18:02  AI五子棋Python代码\.gitignore
     文件        9658  2018-06-06 09:29  AI五子棋Python代码\adp.py
     文件        5339  2018-05-15 19:49  AI五子棋Python代码\CNN.py
     文件         797  2018-08-01 14:30  AI五子棋Python代码\README.md
     文件       22948  2018-05-23 16:46  AI五子棋Python代码\robot.py
     文件       19102  2018-06-06 09:02  AI五子棋Python代码\wuziqi.py

评论

共有 条评论