Sebastien commited on
Commit
94fa7ee
·
1 Parent(s): 1d9e20c

update readme with Hugging Face config

Browse files
Files changed (2) hide show
  1. README.md +10 -0
  2. Readme.md +0 -77
README.md ADDED
@@ -0,0 +1,10 @@
 
 
 
 
 
 
 
 
 
 
 
1
+ ---
2
+ title: Sudoku Deeplearning 100% accurate Sudoku solving with deep learning algorithm
3
+ emoji: 🖊️🎲🎯
4
+ colorFrom: blue
5
+ colorTo: purple
6
+ sdk: streamlit
7
+ sdk_version: "1.41.0"
8
+ app_file: app.py
9
+ pinned: true
10
+ ---
Readme.md DELETED
@@ -1,77 +0,0 @@
1
- ## metrics to track
2
- - loss per epoch per model boost layer
3
- - number of error per epoch model boost layer
4
- - number of resolved puzzles per epochs
5
- - threshold per epochs per model layer
6
- - number of filled digits per model boost layer per epoch for both pis ans abs
7
-
8
- ## TODO
9
- - jupyter notebook to python file
10
- - threshold compute on test set (with adding a gap) each epoch. and training threshold initialised with test thresholds that evolve each error during training.
11
-
12
- ## Possible way
13
- - it might be smart to store the intermitent states as boost layereds "buffers". at the end the first X go to the model layer 0 let write it as puseudo code
14
-
15
- ### Method threshold
16
- ```
17
- global init
18
- th -> -10
19
- training step
20
- init
21
- pass
22
- training loop
23
- keep th behind the error limit
24
- validation step
25
- init
26
- compute_th =-10
27
- validation loop
28
- keep compute_th behind error limit + marge
29
- but use th
30
- end
31
- th= compute_th
32
- ```
33
-
34
- ### Method training
35
- ```
36
- Xs -> the x initial batch vector
37
- Y -> the y batch vector
38
- Xs' = M0(Xs)
39
- then we filter Xs'=Y -> resolved sudokus
40
- Xs'==Xs -> we add the rows to X1 buffer
41
- and the remaning Xs' is added to X0 buffer.
42
- ```
43
-
44
- then we look at each buffers X0 to Xn and we process each of them that are => batch size.
45
-
46
- When every buffer are smaller than batch size the process is finished.
47
-
48
- object
49
- ```
50
- Buffers
51
- get_batch(limit_batch_size=True) -> idx, Xb # Xb could be none. (Xb should be a shuffled sample of the batch)
52
- add_batch(Xp, idx)
53
- ```
54
-
55
-
56
- ### Loss optimisation
57
- Both 0 and 1 target are different in the way we should gradient descend them.
58
- y==0 point is something easy: it should be as low as possible I thing we can use the usual log loss function on it.
59
- y==1 is different: there is different case possible:
60
- - the point could be "unpredictable" in that case the gradient descend should be tuned to low, we expect the predictive function to have a low score.
61
- - the point could be well predicted in that case we hope the value is prety hight and we would like to the the gradient descend more heavely.
62
- This could be applied by using a sigmoid centered on the threshold
63
-
64
-
65
- ### Paper writing
66
-
67
- Les niveaux supérieurs font appel à divers types de chaînes :
68
-
69
- 11.6 Dynamic + Dynamic Forcing Chains (145-192 nodes) Cell Forcing Chains
70
- 11.7 Dynamic + Dynamic Forcing Chains (193-288 nodes) Double Forcing Chains
71
- Ces Dynamic Forcing Chains sont une forme d’essais et erreurs.
72
-
73
- ### Trial and error solving technique
74
- We applied trial and error solving technique to reach 100% accuracy over sudoku. The resoning is simple we find the best digit/position to test and produce 2 children grid one with the number the other without. the we process each grid until one of them break sudoku's rules .
75
-
76
- The V1 of this algorithm should only stopped at 1 trail and error test (no binary tree search) it should be simpler and feasible and if not : we will se an improve and try the next step.
77
-