AI_Sudoku

基于 GUI 的智能数独解算器
授权协议 CC0-1.0
开发语言 Python
所属分类 神经网络/人工智能、 机器学习/深度学习
软件类型 开源软件
地区 不详
投 递 者 甄坚白
操作系统 跨平台
开源组织
适用人群 未知
 软件概览

AI_Sudoku 是一个基于 GUI 的智能数独解算器,能够从照片中提取数独谜题并解决它。

安装

  1. 下载并安装 Python3

  2. 建议使用 virtualenv,通过打开终端并键入以下内容来下载 virtualenv:

    pip install virtualenv
  3. 创建一个名为 sudokuenv 的虚拟环境。

    • Windows
    virtualenv sudokuenv
    cd sudokuenv/Scripts
    activate
    • Linux:
    source sudokuenv/bin/activate
  4. 克隆此存储库,如果下载了 .zip 或 .tar 文件则将其解压缩并 cd 到克隆的存储库中。

    • 例如:
    cd A: \A I_Sudoku-master
  5. 键入以下命令安装所需的软件包:

    pip install -r requirements.txt

用法

  • 在运行应用程序之前,你可以将 Run.py 中的模型类型变量设置为“CNN”或“KNN”以选择卷积神经网络或最近邻算法进行识别。默认情况下,它设置为“KNN”

    '''Run this file to run the application'''
    from MainUI import MainUI
    from CNN import CNN
    from KNN import KNN
    import os
    # Change the model type variable value to "CNN" to use the Convolutional Neural Network
    # Change the model type variable value to "KNN" to use the K Nearest Neighbours Classifier
    modeltype = "KNN"
  • 键入以下命令以运行应用程序。

    python Run.py
  • 运行应用程序后立即打开的 GUI 主页。

  • 需要通过 GUI 主页选择数独游戏的图像。

     

  • 一旦按下 Next,就会发生多个阶段的图像处理,GUI 会显示这些阶段以进行识别。以下是两个阶段的快照:

  • 对于识别,可以使用 CNN 或 KNN。可以按照第一点中提到的那样切换此选项。识别后,将对内容进行显示,用户可以更正面板中任何错误识别的条目。

  • 最后点击显示解决方案以显示解决方案。

  • 今天笔者无意中打开Github发现了这个目前趋势榜霸榜的项目是是一个利用AI玩数独的项目AI_Sudoku (Github发址:https://github.com/neeru1207/AI_Sudoku)笔者体验了一下感觉还是比较有意思的,AI_Sudoku本质上就是使用图像识别的方式来完成MINST数字识别,然后再使用dancing links x算法解出数独问题,对于初学者来说既能解决AI的

  • Sudoku Solver Sudoku Solver 是由C++编写的数独计算工具,使用了基于MRV策略的Forward Checking算法,是典型的CSP问题的实例。 读者可以复制代码编译使用。 #include<iostream> #include<algorithm> #include<cstring> using namespace std; const int SIZE = 9;

  • 题目:leetcode Sudoku Solver   Write a program to solve a Sudoku puzzle by filling the empty cells. Empty cells are indicated by the character '.'. You may assume that there will be only one unique solut

  • ai怎么约束每个字的大小 Constraint Satisfactory problems, as the name suggests are the problems which have some constraints which need to be satisfied while solving any problem. In simpler words, we can say that

  • 进度不满意,一直没有写博客。 项目github地址: https://github.com/wlh1998/wlhbitse 将目前进度进行总结,主要是终局生成部分初版。 1 psp 单位:分钟 planning:30 estimate:14*8*60 development:12*8*60 analysis:2*8*60 design spec:1*8*60 design review:0.5*

  • 为什么用Ubuntu?         ubuntu是目前最为流行的linux的发行版,安装简单,可视化,傻瓜化。目前的相关社区也比较完善,网上资料丰富,是新手上手linux环境下开发比较不错的一个版本。         ubuntu目前一般每隔两年会发行一版LTS版本,即长周期支持版,往往在4月份发布。普通版本一般支持18个月,而LTS能够支持三年以上。         目前最新的版本是18.0

  • 约束满足问题 约束满足问题简称CSP问题(Constraint Satisfaction Problem)。 CSP问题表示一组具有约束条件的变量集。它可以定义为一个三元组<V, D, C>,其中,V表示变量的集合,D表示各个变量域的集合,C表示约束条件的集合。 局部状态是对一些变量的一个赋值,目标状态则是对所有变量的一个赋值。求解CSP问题就是给定局部状态求解目标状态。 前向检测解决CSP问题

  • Just don't be scared by this problem :-) It's also very standard backtracking problem. This post shares a very concise code, which is rewritten below in C++. 1 class Solution { 2 public: 3 void

  • 题意:求解数独问题 思路:dfs深搜,注意用三个数组保存每行每列每个小九宫格是否存在某数字, 通过这个题目初步了解了dfs的大概用法,对其中的栈的返回有了新的理解(每一层栈都有返回值);, #include<iostream> #include<stdio.h> #include<cstring> using namespace std; char aa[11][11]; int a[11][11

  • 人工智能时代不建一个人工智能分类就显得不跟时代 转载于:https://www.cnblogs.com/stonehat/p/7725195.html

 相关资料
  • 我们迄今为止看到的模型可能具有“基于规则”的特征,因为它们涉及受简单规则支配的系统。 在本章和以后的章节中,我们将探索基于智能体(agent)的模型。 基于智能体的模型包含智能体,它旨在模拟人和其他实体,它们收集世界的信息,制定决策并采取行动。 智能体通常位于空间或网络中,并在本地彼此交互。 他们通常有不完整的,不全面的世界信息。 智能体之间经常存在差异,而不像以前的所有模型,它们的所有成分都相同

  • 指针是C/C++区别于其他语言的最强大的语法特性,借助指针,C/C++可以直接操纵内存内容。但是,指针的引入也带来了一些使用上的困难,这要求程序员自己必须手动地对分配申请的内存区进行管理。 unique_ptr基本用法 unique_ptr是C++11提供的用于防止内存泄漏的智能指针中的一种实现,独享被管理对象指针所有权的智能指针。unique_ptr对象包装一个原始指针,并负责其生命周期。当该对

  • 本文向大家介绍基于wxpython开发的简单gui计算器实例,包括了基于wxpython开发的简单gui计算器实例的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了基于wxpython开发的简单gui计算器。分享给大家供大家参考。具体如下: 希望本文所述对大家的Python程序设计有所帮助。

  • 问题内容: 我需要从单台PC生成唯一的代码,我的软件将通过许可证进行分发,并且我需要在本地识别环境并将此代码发送到服务器。我不想在服务器上保留一个序列号,并且每个客户端都收到一个序列号,我试图从NetworkInterfaces读取MAC地址,但并不安全,用户可以轻松更改MAC地址。我认为最好的方法是读取主板序列号,但直到现在我还没有找到方法。有什么建议吗? 问题答案: 您的软件值多少钱? 目标市

  • 问题 我有一组客户端计算机,它们是企业web应用程序的一部分。每台机器运行相同的软件,这是一个连接到服务器的基于PYQT的web客户端。这个客户端软件是定期更新的,我希望有一些配置/供应工具,允许在每台机器上有相同的环境,从而提供软件在每个客户端机器上的轻松部署和配置。 是否可以使用Docker为基于GUI的应用程序(PyQt/Qt)提供开发/生产环境?如果是的话,要实现这一目标的第一步是什么?

  • 本文向大家介绍c++ 智能指针基础详解,包括了c++ 智能指针基础详解的使用技巧和注意事项,需要的朋友参考一下 简介 在现代 C++ 编程中,标准库包含了智能指针(Smart pointers)。 智能指针用来确保程序不会出现内存和资源的泄漏,并且是"异常安全"(exception-safe)的。 智能指针的使用 智能指针定义在头文件 memory 里的命名空间 std 中。它对于资源获取即初始化