MatSeFi
@MatSeFi@lemmy.liebeleu.de
- Comment on Find Cow 1 week ago:
Yes, this would work — but it comes with a subtle statistical bias: the character ‘W’ ends up underrepresented. With a naïve “avoid COW” approach, only about 25% of the grid will typically be ‘W’.
A more elegant solution would be:
- fill the grid completely at random
- search for every “COW” cluster
- whenever one is found, copy a random character from one cell in the cluster into another cell of the same cluster
- Iterate until no “COW” remains
- search for every “COW” cluster
That keeps the distribution much closer to uniform while still guaranteeing a valid puzzle. Then just insert the single “COW” manually wherever you want the hidden solution to be.
Julia code example
julia s= (320,180) #size m=rand([‘C’,‘O’,‘W’],s) #random init c=1 while c>0 #iterate till solved c=0 for i in 1:first(s) for j in 1:last(s) #check for ‘COW’ in each cluster of 3 and copy a character #from a rendom cell to an other random cell of the cluster if found if i>2 && m[i-2:i,j] ==[‘C’,‘O’,‘W’] #vertical c +=1 r =shuffle([1,2]) m[i-r[1],j] = m[i-r[2],j] end if j>2 && m[i,j-2:j] ==[‘C’,‘O’,‘W’] #horizontal c +=1 r =shuffle([0,1,2]) m[i,j-r[1]] = m[i,j-r[2]] end end end endThe neat part is that this preserves an almost perfectly balanced character frequency.
For comparison, the puzzle in the example image seems to contain roughly:
C: ~260 (~25%) O: ~520 (~50%) W: ~244 (~25%)
So the original author clearly used a different generation strategy.
Possibly on purpose: visually, ‘C’ and ‘O’ are much easier to confuse than ‘W’. Reducing the number of 'W’s therefore increases the search difficulty. In that sense, the approach suggested by @Snazz@lemmy.world is probably preferable: keep the distribution mostly balanced, but intentionally bias it just enough to make the puzzle psychologically annoying.
I wonder if there is a non iterative way to generate this puzzle with a ‘uniform’ character distribution 🤔
- fill the grid completely at random
- Comment on Window alignment 5 weeks ago:
Well, at least thy were trying, whil other archtiects just use the
rnd()function for placement: - Comment on America 1 month ago:
Absolutely… Similar argument holds for the year btw. In that case it is better to treat a “day” or “year” as an artificial time constant and define them as 2π while skipping all the astronomical context. Otherwise you are free to write UT1D in a 2π notation also.
- Comment on America 1 month ago:
Bahh… The full day is 2π.
- 12:00 is π
- 15:00 is 3/2π And so on… Sane people use 2π = 𝜏 instead.
- Comment on Small little shenanigans 3 months ago:
Yes Metals in general shild RF-Waves used to sample the image (and could get hot by that process)
- Comment on Small little shenanigans 3 months ago:
I think its not about the property of beeing a metall ist a bout beeing ferromagnetic (In that case probably not an issue because these bearing balls are usually out of some kind stainless steel. )
- Comment on Small little shenanigans 3 months ago:
Wow: Balls of Steel AND Darwin Award at the same time…
- Comment on RAS Syndrome 3 months ago:
Yes the gamma rays even disinfect your wohle immune system… actually you are dead within 1min close the the handrails…