-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathTO_DO.txt
76 lines (56 loc) · 3.26 KB
/
TO_DO.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
- Tune simulated annealing's probability function!
- Probability slider?
- Probably want a piecewise probability function rather than a continuous one
- Conditional cooling?
- Want a function that becomes closer to 0 towards the end, but takes longer to get there
- Implement an easier way to choose probability function
- Statistics for probability functions!
- How often changes occur in each quarter
- When best occurs, and whether the process ends on the best possible
- Distance between theoretical best and best of simulation
- Distribution of best knots
- How do we switch between each of the 16 parities?
- Consider taking 1-moves at random times in the process
- Other potential changes to be made to simulated annealing
- Manually return to previously best found solution
- If no steps accepted in 100 moves, automatically ...
- Develop visualizer.
- What would this visualizer even do? We don't want to see the knot...
- real-time data on the statistics that I want to output
- true acceptance probability of given knot
- probability that bad move is accepted
- frequency of change
- Determine the structure of the whatever we're optimizing over!
- Determine whether
- Try to find a move that changes parity without being absurd. Otherwise, find a way to overcome the parity problem
- Allow one step moves?
- Why would this even help if we don't know which parity would be best?
- Start thinking about non-trefoil knot!
- Implement cost function for starting parity!
- Ensure that end-cost for simulated annealing is the same cost function as exhaustive!
- Look at what happens when we slightly modify a b-spline.
- How can we even modify b-splines to begin with?
- Use parameters for the knot.
- Tilt
- Angle (30 to 60 degrees?)
- Start by running a few b-splines.
- Remember that the number of components need to be at least 12 * number of rotations around the center
- Implement a heuristic based on that
- Ensure that bending angles between points on the knot is more or less pi/6 degrees
- If not, reject
- Ensure that there is some separation between lines too
- Look for the graph of costs for the moves we have in simulated annealing
- Look to see if we can optimize the curve inputted
Find a way to convert Control Points to a cubic polynomial that spits out points on the b - Spline
- t is spaced equally by number in bspline!
We can try to look at initial optimizations and their corresponding parities and see if there is a clear path towards them
Is it possible that every single angle is within some constant number of moves from a good solution?
- Create some metric for deviation. Probably just number of "moves".
Change distance cost to be just distance between vertices.
- 0.5mm apart is the "visibility threshold". Error should increase quadratically from there.
- want to calculate axis cost with polyline as well.
We want 0.001 to be the standardized "invisible" error value.
all costs should increase quadratically
Try chinese button knot!
Try optimization by starting with standard optimization and slowly increase locking angle cost.
Go back to when we originally discretized the angles and see if we find angles close to halfway between two angles.