Skip to content

Commit 1c46597

Browse files
committed
Minor update.
1 parent 0e983c7 commit 1c46597

File tree

7 files changed

+26
-8
lines changed

7 files changed

+26
-8
lines changed

.gitignore

+1
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@ Gemfile.lock
55

66
_site/
77

8+
*/.ipynb_checkpoints/*
89
*.pickle
910
*.pth

_contents/python/figure-detection.md

+3
Original file line numberDiff line numberDiff line change
@@ -171,3 +171,6 @@ cv2.putText(result, text, (px + 10, py + 10), font, 1.0, (255, 255, 255), 2, cv2
171171

172172
{% include lightbox.html src="/public/images/figure_detection/detection.jpg" %}
173173

174+
## まとめコード
175+
176+
<https://github.com/tatsy/programming-for-beginners/blob/master/_programs/python/sudoku/detect_figure.ipynb>{: target="_blank" }

_contents/python/solve-sudoku.md

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ nums = set([i for i in range(10)]).difference(used_nums)
105105

106106
バックトラック法について考える前に、数独をコンピュータに解かせる最も単純な方法を考えてみよう。上記の使用済みの数字を調べる方法を少し変更すれば、各行、各列、各ブロックで数字が正しく1度だけ使われているかどうかを調べることができそうだ。とすれば、全ての空きマスに適当に数字を入れて、その結果が正しいかどうかを順に試せば良さそうだ。
107107

108-
ただ、当然ながらこれでは計算に時間がかかりすぎる。各マスに入れられる数字の候補は9通りでマスが81マスあるので、最悪の場合には$9^81$個の候補について調べる必要がある。
108+
ただ、当然ながらこれでは計算に時間がかかりすぎる。各マスに入れられる数字の候補は9通りでマスが81マスあるので、最悪の場合には$9^{81}$個の候補について調べる必要がある。
109109

110110
一方で、実際にはいくつかのマスにはすでに数字が入っており、上記のように何も考えずに全てのパターンを試すのは非常に効率が悪いことが分かるだろう。そこで、可能な候補についてだけ、しらみ潰しに調べることを考える。これを実現するのがバックトラック法だ。
111111

_programs/python/.gitignore

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
1-
.ipynb_checkpoints/*
1+
.ipynb_checkpoints/*.ipynb
2+
*/.ipynb_checkpoints/*.ipynb
23
*/mnist/*
34
*/kmnist/*
5+
*/data/*
46

57
.DS_Store

_programs/python/sudoku/image_load.ipynb

+1-1
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@
139139
"name": "python",
140140
"nbconvert_exporter": "python",
141141
"pygments_lexer": "ipython3",
142-
"version": "3.7.3"
142+
"version": "3.7.2"
143143
}
144144
},
145145
"nbformat": 4,

_programs/python/sudoku/solve_sudoku.ipynb

+1-1
Original file line numberDiff line numberDiff line change
@@ -296,7 +296,7 @@
296296
"name": "python",
297297
"nbconvert_exporter": "python",
298298
"pygments_lexer": "ipython3",
299-
"version": "3.7.3"
299+
"version": "3.7.2"
300300
}
301301
},
302302
"nbformat": 4,

_programs/python/sudoku/sudoku_photo_solver.ipynb

+16-4
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,21 @@
99
},
1010
{
1111
"cell_type": "code",
12-
"execution_count": 39,
12+
"execution_count": 1,
1313
"metadata": {},
14-
"outputs": [],
14+
"outputs": [
15+
{
16+
"ename": "ImportError",
17+
"evalue": "dlopen(/Users/tatsuya/miniconda3/envs/beginners/lib/python3.9/site-packages/cv2.cpython-39-darwin.so, 2): Symbol not found: __cg_jpeg_resync_to_restart\n Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO\n Expected in: /usr/local/lib/libJPEG.dylib\n in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO",
18+
"output_type": "error",
19+
"traceback": [
20+
"\u001b[0;31m---------------------------------------------------------------------------\u001b[0m",
21+
"\u001b[0;31mImportError\u001b[0m Traceback (most recent call last)",
22+
"\u001b[0;32m<ipython-input-1-44fe1b775427>\u001b[0m in \u001b[0;36m<module>\u001b[0;34m\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mos\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mnumpy\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m----> 3\u001b[0;31m \u001b[0;32mimport\u001b[0m \u001b[0mcv2\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 4\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mmatplotlib\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mpyplot\u001b[0m \u001b[0;32mas\u001b[0m \u001b[0mplt\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 5\u001b[0m \u001b[0;32mfrom\u001b[0m \u001b[0msklearn\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mlinear_model\u001b[0m \u001b[0;32mimport\u001b[0m \u001b[0mLogisticRegression\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n",
23+
"\u001b[0;31mImportError\u001b[0m: dlopen(/Users/tatsuya/miniconda3/envs/beginners/lib/python3.9/site-packages/cv2.cpython-39-darwin.so, 2): Symbol not found: __cg_jpeg_resync_to_restart\n Referenced from: /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO\n Expected in: /usr/local/lib/libJPEG.dylib\n in /System/Library/Frameworks/ImageIO.framework/Versions/A/ImageIO"
24+
]
25+
}
26+
],
1527
"source": [
1628
"import os\n",
1729
"import numpy as np\n",
@@ -22,7 +34,7 @@
2234
},
2335
{
2436
"cell_type": "code",
25-
"execution_count": 65,
37+
"execution_count": null,
2638
"metadata": {},
2739
"outputs": [],
2840
"source": [
@@ -792,7 +804,7 @@
792804
"name": "python",
793805
"nbconvert_exporter": "python",
794806
"pygments_lexer": "ipython3",
795-
"version": "3.7.3"
807+
"version": "3.9.1"
796808
}
797809
},
798810
"nbformat": 4,

0 commit comments

Comments
 (0)