Add Jigsaw-Puzzle & Sudoku

dev
bushuhui 5 years ago
parent c61a5003ed
commit a02de9dea4

@ -46,7 +46,9 @@ git pull upstream master
1. [交通事故理赔审核预测](report_01_accident_claims/README.md)
2. [Titanic](report_02_Titanic/README.md)
3. [Fashion](report_03_Fashion/README.md)
3. [Tetris](report_04_Tetris/README.md)
4. [Tetris](report_04_Tetris/README.md)
5. [Jigsaw-Puzzle](report_05_Jigsaw-Puzzle)
6. [Sudoku](report_06_Sudoku)

@ -0,0 +1,58 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Report - 报告题目\n",
"\n",
"* 姓名\n",
"* 学号\n",
"\n",
"\n",
"## 任务简介\n",
"\n",
"这里简述一下任务是什么;最终的目标是什么\n",
"\n",
"## 解决途径\n",
"\n",
"主要包括:\n",
"1. 问题的思考,整体的思路\n",
"2. 选用的方法,以及为何选用这些方法\n",
"3. 所用方法的详细解释,包括理论上的背景、模型、实现的细节\n",
"3. 实现过程遇到的问题,以及如何解决的\n",
"4. 最终的结果,实验分析\n",
"\n",
"要求:\n",
"1. 数据的基本情况介绍\n",
"2. 程序,以及各个部分的解释、说明\n",
"3. 结果的可视化,精度等的分析\n",
"\n",
"## 总结\n",
"总结任务实现过程所取得的心得等。"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.9"
},
"main_language": "python"
},
"nbformat": 4,
"nbformat_minor": 2
}

@ -0,0 +1,39 @@
# Report5 - 拼图游戏
## 任务介绍
拼图游戏是广受欢迎的一种智力游戏它的变化多端难度不一。拼图游戏也有置换不变性不管拼图的顺序是什么输出总是固定的。下面是一个2x2的网格难题的例子我们将在这个项目中尝试解决它。
![Jigsaw-Puzzle_demo1.png](images/Jigsaw-Puzzle_demo1.png)
解决一个3x3网格的难题是极其困难的。下面是这些谜题的可能组合。
```
2x2 puzzle = 4! = 24 combinations
3x3 puzzle = 9! = 362880 comb'ns
```
为了解决一个3x3的难题网络必须从362880中预测出一个正确的组合。这也是为什么3x3拼图是一个难题的另一个原因。
为了让大家学习如何使用卷积神经网络首先尝试解决一个2x2的拼图游戏。
## 数据
这个数据集包含2x2和3x3的puzzle。你可以在这里找到它。
https://www.kaggle.com/shivajbd/jigsawpuzzle
下面是一个2x2网格拼图的数据示例。输入是一个200x200像素的图像和标签是一个4个整数的数组其中每个整数告诉每个片段的正确位置。
![Jigsaw-Puzzle_sample-data](images/Jigsaw-Puzzle_sample-data.png)
## 要求
1. 分析拼图游戏的特点,设计实现的方法
2. 在Kaggle网站上下载数据
3. 编写神经网络代码,测试自己算法的效果如何
4. 测试所研究方法的效果
5. 分析自己实现的方法的问题,以及如何改进
6. 深入思考如何解决3x3的拼图或者更大的拼图
7. 按照`report_template.ipynb`撰写自己的报告。
## References
* https://www.kaggle.com/shivajbd/jigsawpuzzle

Binary file not shown.

After

Width:  |  Height:  |  Size: 164 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 524 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 75 KiB

@ -0,0 +1,58 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Report - 报告题目\n",
"\n",
"* 姓名\n",
"* 学号\n",
"\n",
"\n",
"## 任务简介\n",
"\n",
"这里简述一下任务是什么;最终的目标是什么\n",
"\n",
"## 解决途径\n",
"\n",
"主要包括:\n",
"1. 问题的思考,整体的思路\n",
"2. 选用的方法,以及为何选用这些方法\n",
"3. 所用方法的详细解释,包括理论上的背景、模型、实现的细节\n",
"3. 实现过程遇到的问题,以及如何解决的\n",
"4. 最终的结果,实验分析\n",
"\n",
"要求:\n",
"1. 数据的基本情况介绍\n",
"2. 程序,以及各个部分的解释、说明\n",
"3. 结果的可视化,精度等的分析\n",
"\n",
"## 总结\n",
"总结任务实现过程所取得的心得等。"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.9"
},
"main_language": "python"
},
"nbformat": 4,
"nbformat_minor": 2
}

@ -0,0 +1,58 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Report - 报告题目\n",
"\n",
"* 姓名\n",
"* 学号\n",
"\n",
"\n",
"## 任务简介\n",
"\n",
"这里简述一下任务是什么;最终的目标是什么\n",
"\n",
"## 解决途径\n",
"\n",
"主要包括:\n",
"1. 问题的思考,整体的思路\n",
"2. 选用的方法,以及为何选用这些方法\n",
"3. 所用方法的详细解释,包括理论上的背景、模型、实现的细节\n",
"3. 实现过程遇到的问题,以及如何解决的\n",
"4. 最终的结果,实验分析\n",
"\n",
"要求:\n",
"1. 数据的基本情况介绍\n",
"2. 程序,以及各个部分的解释、说明\n",
"3. 结果的可视化,精度等的分析\n",
"\n",
"## 总结\n",
"总结任务实现过程所取得的心得等。"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.9"
},
"main_language": "python"
},
"nbformat": 4,
"nbformat_minor": 2
}

@ -0,0 +1,57 @@
# Report6 - 数独
## 内容
数独shù dú, Sudoku是源自18世纪[瑞士](https://baike.baidu.com/item/瑞士/131482)的一种数学游戏。是一种运用纸、笔进行演算的[逻辑游戏](https://baike.baidu.com/item/逻辑游戏/12814189)。玩家需要根据9×9盘面上的已知数字推理出所有剩余空格的数字并满足每一行、每一列、每一个粗线宫3*3内的数字均含1-9不重复。
数独盘面是个九宫每一宫又分为九个小格。在这八十一格中给出一定的已知数字和解题条件利用逻辑和推理在其他的空格上填入1-9的数字。使1-9每个数字在每一行、每一列和每一宫中都只出现一次所以又称“九宫格”。
![sudoku_1.jpeg](images/sudoku_1.jpeg)
是否可以用卷积神经网络(CNN)解决数独问题。数独有空间特征因为它有特殊的数字排列而CNN擅长提取空间特征尝试使用CNN来求解数独。
## 数据
这个数据集包含了1百万数独的数据你可以在这里找到它。
https://www.kaggle.com/bryanpark/sudoku
示例的数据如下所示
![sudoku_data.png](images/sudoku_data.png)
数据集包含2列。`quizzes`栏目是未解的游戏,`solutions`栏目各自的已解游戏。每场比赛都由81个数字组成的字符串表示。以下是从字符串转换而来的9x9数独。数字0代表未解游戏中的空白位置。
```
[[0 0 4 3 0 0 2 0 9]
[0 0 5 0 0 9 0 0 1]
[0 7 0 0 6 0 0 4 3]
[0 0 6 0 0 2 0 8 7]
[1 9 0 0 0 7 4 0 0]
[0 5 0 0 8 3 0 0 0]
[6 0 0 0 0 0 1 0 5]
[0 0 3 5 0 8 6 9 0]
[0 4 2 9 1 0 3 0 0]]
```
## 要求
1. 分析数独游戏的特点,设计实现的方法
2. 在Kaggle网站上下载数据
3. 编写神经网络代码,测试自己算法的效果如何
4. 测试所研究方法的效果
5. 分析自己实现的方法的问题,以及如何改进
6. 深入思考,如何使用强化学习的方法实现求解数独问题?
7. 按照`report_template.ipynb`撰写自己的报告。
## References
* https://www.kaggle.com/bryanpark/sudoku

Binary file not shown.

After

Width:  |  Height:  |  Size: 501 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 30 KiB

@ -0,0 +1,58 @@
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Report - 报告题目\n",
"\n",
"* 姓名\n",
"* 学号\n",
"\n",
"\n",
"## 任务简介\n",
"\n",
"这里简述一下任务是什么;最终的目标是什么\n",
"\n",
"## 解决途径\n",
"\n",
"主要包括:\n",
"1. 问题的思考,整体的思路\n",
"2. 选用的方法,以及为何选用这些方法\n",
"3. 所用方法的详细解释,包括理论上的背景、模型、实现的细节\n",
"3. 实现过程遇到的问题,以及如何解决的\n",
"4. 最终的结果,实验分析\n",
"\n",
"要求:\n",
"1. 数据的基本情况介绍\n",
"2. 程序,以及各个部分的解释、说明\n",
"3. 结果的可视化,精度等的分析\n",
"\n",
"## 总结\n",
"总结任务实现过程所取得的心得等。"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.6.9"
},
"main_language": "python"
},
"nbformat": 4,
"nbformat_minor": 2
}
Loading…
Cancel
Save