12:37 AM
@user202729 latest weird result: tested my last layout and @isaacg's last layout with three exit types, my original exit, @isaacg's tricky exit, and my new trident exit. my layout works best with trident exit, other two exits perform equally worse. @isaacg's layout works equally well with trident exit and tricky exit, my original exit proving so bad that adding more 2-way branches does better.

1:07 AM
0

Rage Against the Dying of the Light code-golfkolmogorov-complexity Introduction "Do not go gentle into that good night" is the title of a poem by 20th century English poet Dylan Thomas. If you've heard it before it was probably because you watched Interstellar, where it was quoted multiple times....

1:24 AM
Today is the 365th day in a row I've visited CGCC
No, I'm not addicted, I just like the site

3 hours later…
4:34 AM
1

Given two base ten integers m and n, you will need to make the last n digits of m its first digits. Tests Num,n => Output 123,1 => 312 123,2 => 231 123,3 => 123 123,4 => 312 1,637 => 1 10,1 => 1 (01=>1) 100,2 => 1 (Final result was 001, but the leading zeros were removed) 10,2 => 10 110,2 => 10...

5 hours later…
9:40 AM
0

Combinatorial Decomposition code-golf combinatorics base-conversion Any nonnegative integer \$m\$, given arbitrary nonnegative integer \$r\$, can be written as a unique series of combinations such that $$m=\sum\limits_{i=1}^{r}\begin{pmatrix}C_i\\i\end{pmatrix}$$ provided \$C\$ is strictly increa...

2 hours later…
11:10 AM
@Neil Equal as in having the exact same score?

@user202729 well I'm assuming the small difference is due to floating-point inaccuracies

I think scipy is good. The error is in the order of ~1e-14 (double precision) of the result?

11:37 AM
@Neil Also do you use anything (other than pure Python code) to manipulate the board?

the thing is, I only compared the results to the nearest integer, which is 8 digits, and I can't remember what I did with the original results, or whether I kept enough of the scripts to reproduce them

@Neil "Wall finder"?

but as a comparison, I think that moving the start squares to be horizontal instead of vertical made a difference of <1e-10
@user202729 "Wall finder" just goes through every horizontal and vertical wall, recalculates the score with them added, then picks the highest score, rinse and repeat. It likes width 2 corridors.

@Neil or removed?

but, it's what I used to find my trident layout (I based the idea on my "fewer dead ends" applied to width 3 corridors, and it suggested adding the tridents)

11:43 AM
I think it would be better to move a wall by one unit (perpendicular to the wall). Both adding and removing a wall is not a good idea.

@user202729 no, I didn't try that

@Neil Did you write a faster judge program? It rating through 10^4 options would take forever.

yeah, it's not fast. it took a few hours. I did apply multiprocessing to it in one of my scripts, but then I couldn't work out how to use my "this wall blocks the way to the exit, don't try it again" optimisation

12:18 PM
Decide to implement from_compact_ascii to edit the maze manually.
def as_compact_ascii(self):
self._fix_maze()
vertex="·"
lines = [vertex + ("-"+vertex)*self.width]
for y in range(self.height):
lines.append("|" + "".join("{}{}".format("S" if (x, y) in self.starts else "E" if (x, y) in self.exits else " ",
" |"[x == self.width - 1 or int(self.hwalls[x,y])])
for x in range(self.width)))
lines.append(vertex + "".join(("-" if y == self.height - 1 or self.vwalls[x,y] else " ")+vertex
for x in range(self.width)))
return "\n".join(lines)
Can't find any way to improve that solution.

1 hour later…
1:44 PM
More idea: 90-degree turns?
I think there would be twice as many turns...

2 hours later…
4:08 PM
@user202729 instead of a width 3 corridor, I tried an arrangement whereby the route zigzagged a bit like a width 2 corridor concertinaed in on itself, however this also turned out to score the same (within <1e-10) as a regular width 3 corridor

(deleted)