Thursday, December 01, 2016

[opeaxcpi] Big ball sports

Consider modifying a ball sport by making the ball much larger.  Many other things will likely need to change.

Wednesday, November 30, 2016

[rzagbygj] Warping an image

Smoothly warp an image.  This is probably a diffeomorphism, a very practical one.  Can arbitrary diffeomorphisms be approximated by combining simpler objects like the way splines can approximate arbitrary curves and surfaces?

Consider a vector field joining  the"before" and "after" location of each pixel.  Approximate small patches of the vector field (somehow) by discretely sampling it and interpolating a function over the patch, then glue these patches together in a way that preserves smoothness.

[ccmbrcbp] Finite speed of gravity in the solar system

When Earth feels a tug of Jupiter's gravity as it passes it on the inside, is it feeling where Jupiter is now, or where Jupiter was when the gravitational force left Jupiter, traveling at the speed of light toward earth?

Is the typical and naive gravitational simulation with instantaneous gravity incorrect?  I'm guessing it is correct, though explaining the illusion of instantaneous gravity will take some thought.

[vyrbklgi] Time management game theory

Time management in chess, both for computers and humans, does not seem to have well established principles like minimax and alpha-beta search.  Distill time management into an incomplete information game, removing the chess aspect.  Each player begins with a certain amount of "effort", and operates on a probability distribution, perhaps bell curve.  On each turn, a player can expend effort to modify (or perhaps learn?) the parameters of the probability distribution.  At the end of the game, the distribution is sampled to determine the winner.

Many details yet to be worked out.

Spending a lot of effort early is a bet that the game will not be long.

[wsszqdiv] Two visual layers of information

Black text on various-colored background.  Could have two independent streams of information, or they could be related / synchronized (Previously vaguely related).  Need a way of encoding information as a color pattern (and people need to learn to read it).

Easiest is low resolution illustration.

[wiiaulrc] Bender

We imagine a segmented powered device which bends metal tubes from the inside into complex shapes.  It is interesting how a 1-dimensional object can become 3-dimensional.  Inspired by protein folding.

Similar ideas: the powered device forms the desired shape in air, serving as a scaffold, then the tube is constructed around it, perhaps a pumped resin than hardens around the scafford, or precast segments transported then welded into place.

[bbaylkev] Coriolis force on a tethered balloon

Launch a tethered balloon at the equator (perhaps also at the poles for comparison).  Can the Coriolis effect be measured either in the upward centrifugal force or the angle of deflection?  A balloon high up must travel further than the ground to make one revolution around the earth.

[fkjobmao] Ring theory

Wikipedia gives an impressively long sequence of class inclusions:

commutative rings ⊃ integral domains ⊃ integrally closed domains ⊃ GCD domains ⊃ unique factorization domains ⊃ principal ideal domains ⊃ Euclidean domains ⊃ fields ⊃ finite fields

For each step, precisely describe the change and give examples which are in a class but not its subclass.

[ojlyxzsh] Known Rubik's solve

Consider a Rubik's cube solving competition in which the scramble is published far in advance, providing contestants with the opportunity to learn and practice solving it as fast as possible.

Obviously a short solving sequence found by computer is good, but the human contestants might prefer a slightly longer one that is easier to execute rapidly.

For larger cubes, both discovering a short solving sequence and memorizing it may be interesting challenges.  Perhaps prefer a longer sequence that is easier to memorize.

[xqbmjraq] Packing algebraic numbers

The solutions (parameters) to circle packing within a circle or square are probably algebraic numbers (even if the packing is only known to be locally optimal).  Specify these algebraic numbers alongside their picture, perhaps as polynomials with integer coefficients.

[uehzakkk] Difficulty of factorization

Given a Unique Factorization Domain, when is factoring computationally difficult like it is (or seems to be) with the integers?  Actually, factorizations might not need to be unique to be computationally difficult to find even one.

[vvtilfue] Prove that it works

The typical way mathematical proof is taught in education is unpleasant, perhaps partly due to the pointlessness of it.  Adjust it by introducing proofs with tangible outcomes:

Easiest is computer programs: Prove that the program works and does not crash.  A geometric proof might be used to show that a mechanical device will actually do what it is supposed to do.  Such proofs are more satisfying: the effort in proving it had a point.

Unfortunately most engineering is not done with mathematical rigor.

[psxggbnv] Evolution of psychological memory

You cannot consciously change what you like or dislike (especially, are disgusted by).  This instict is partially helpful: a bad experience can lead to disgust (possibly through trauma) which will help you avoid it in the future, without having to consciously recall the details of the bad experience.

However, this instinct is also the basis of a tremendous number of ways people can be socially manipulated.  It is somewhat surprising that evolution has deemed it to be more good than bad.

[lhzfamml] Effectiveness of the cartridge box

One of the arguments against gun control is that an armed populace safeguards liberty, prevents the government from becoming tyrannical.  Objectively, how effective is it?  A tricky thing to measure, the number of violent revolutions prevented.

Many liberals fear the tyranny of the upcoming Trump presidency.  Should they be arming themselves?  Selling guns right now to Muslims and other soon-to-be-oppressed groups seems like a profitable venture.

[fvjcccjx] Unexpected presidency revealing puppeteers

The election of Trump caught many commoners by surprise.  Did it also catch any powerful people by surprise?  Are there powerful people and entities who would like to remain hidden or unnoticed but are now needing to pivot rapidly to survive or thrive in the new political situation?  Does such rapid pivoting reveal them?

[wpdvkvkk] Heptatonic fun

Given a song that uses only the notes in a heptatonic scale (no accidentals), it can easily be transposed (by note number in the scale) to all keys and modes (including alternate heptatonic scales).  Many of the transpositions may sound pretty weird.  Multiple voices allow modal counterpoint.

Ascending melodic minor = heptatonia secunda; descending = natural minor / Aeolian mode.

[avwkaxre] Predicting Obama martial law

When Obama was elected in 2008, the fringe right predicted he would declare himself dictator-for-life, refusing to step down at the end of his term, destroying the American democracy.

With Trump elected, the fringe left, or perhaps even the mainstream left, would prefer Obama do exactly that (perhaps holding new elections with Trump and Trump clones made ineligible, perhaps through assassination).

In 2008, did the fringe right make a prediction as to how a large number of Americans would come to support, or at least stand idly by, as democracy hypothetically being destroyed?  Were they correct in the predicted mechanism by which they would become convinced?

[aigfrdxb] Jumping on a graph

Checkers can be generalized to any graph.  Color the edges.  A jump enters from an adjacent node, captures the piece on the node, and exits by another edge the same color as the inbound edge.

More fancy stuff: directed edges, different edges (same nodes) for different piece types.


[xyahdvvi] Kanji in ASCII

Create a ASCII text description of Chinese characters that (in principle) can be read by people.

One way: standardized vocabulary (in some ASCII renderable language) of radicals and way of describing the position of a radical within a character. First disambiguation,suffix: a number by stroke count.  Second disambiguation suffix: a number by commonness.

It will be very cumbersomely long.

[ejvcrbcp] Variations on jumping

Rule possibilities on jumping and capturing for games like checkers:

Multiple jumps (chained jumps) permitted or forbidden.

Is a player required to capture if capturing is possible?  No captures required, at least one jump required (not required to make multiple jumps beyond the first), multiple jumps required (but player has option of which multiple jumps) until no more jumps possible, the multiple jump which captures the most pieces is required.

For a game like Lasca in which a piece does not necessarily disappear after being jumped once, are multiple jumps over the same piece in a loop permitted?

[lvvgphfj] Avoiding mirror strategy in replicated games

When playing multiple simultaneous games in the style of combinatorial game theory (game sum), an easy way to avoid mirror strategy is to have different boards have different initial positions, like Chess960.

[mvtobfjv] Memorizing the best pi approximation

Memorize just that e^(pi*sqrt(163)) is almost a perfect cube, and its difference from a perfect cube is almost an integer.  The other constants can be derived.

First calculate the cube root of the "almost integer".  Note exp(x/3) = cbrt(x).

? exp(Pi*sqrt(163)/3)

Then find the offset from the cube.  Note that many scientific calculators do not have enough internal precision to compute this correctly.

? exp(Pi*sqrt(163))-640320^3

Then you have recovered the necessary ingredients for the formula, which yields 30 correct digits of pi.  One did not have to memorize 640320 or +744.

? \p50
   realprecision = 57 significant digits (50 digits displayed)
? log(640320^3+744)/sqrt(163)-Pi
2.23735150380481508416601318272292512584 E-31

A similar memorization: sqrt(58) ... perfect 4th power yields 18 digits.

We can get 46 digits with a little more work, memorizing 2*Pi*sqrt(163) and perfect square:

? exp(Pi*sqrt(163))

? exp(Pi*2*sqrt(163))-262537412640768744^2

Note 393768/2 = 196884 is Monstrous Moonshine.  Skip the next 2 steps if one already found 640320 and 744 from above.

? sqrt(exp(Pi*2*sqrt(163))+393768)^(1/3)

? sqrt(exp(Pi*2*sqrt(163))+393768)-640320^3

? log((640320^3+744)^2-393768)/(2*sqrt(163))-Pi
-9.303470618546941055 E-47

Of course, it is a little bit silly to be using a high-precision value of pi to compute a lower-precision approximation of pi.  Furthermore, if one is memorizing a formula for pi, easiest would be to memorize 4 atan 1 which gives an infinite number of correct digits.

Monday, November 28, 2016

[xxneozpu] Demonstration of Data.Numbers.Fixed

Here is a little demonstration of arbitrary precision floating-point (actually fixed-point) arithmetic in Haskell, using Data.Numbers.Fixed in the numbers package.  Using dynamicEps, we calculate sqrt(1/x) to arbitrary precision, outputting the number in a user-specified base.

Performance is not so great; the package implements Floating functions using elegant but not necessarily high performance algorithms based on continued fractions (Gosper, HAKMEM).  The hmpfr package might be better.  (For square root, it might also be easy to roll one's own implementation of Newton's method on Rational.)

Radix conversion of a fractional number is implemented as an unfold, similar to radix conversion of an integer.

Thursday, November 24, 2016

[odwlmxqk] Lists versus sets in grammars

Wherever there is an asterisk in a grammar, denoting zero or more repetitions of a production, say whether order semantically matters in the repetitions.

(If order doesn't matter but repetitions of identical items matter, then bag or multiset.)

Inspired by function ordering within a file mattering in C, but not in many later languages.

[fsyidptc] Deleting all public references

Consider adding to the Anyone Can Censor sharing site a seemingly ridiculously draconian feature that any published URL to content on sharing site that the sharing site owner can find will have the linked content censored, killing the link.  Finding publicly published URLs to a site can be done with a search engine.

At first glance, it seems the site owner is defeating the popularity of his or her own service.  However, such a policy or feature might help promote the growth of trust networks, so that URLs to content are only disseminated along trusted covert paths.  Those who want to censor content can typically find it only when published.

URL link shorteners easily defeat this, but that might be OK.

[ijeciwqn] Network and CPU load

Decrease the bandwidth or increase the latency of a device's, e.g., smartphone's, network connection.  I strongly suspect this causes increased CPU load or memory usage as apps and tasks that would a completed quickly with a faster network stall and pile up.  This is unfortunate, as the foreground task might have no network interaction whatsoever, but gets slowed by a slow network.

[onfophfd] Find the missing card

All but one item of a set is shown simultaneously but shuffled.  The winner is the one who identifies the missing item first.  Or, instead of one missing, one duplicated item.

Create an input method to fairly judge the race.  25 items suggest an input method of one button pressed per hand (one button assigned to each finger).

[eufsxvbu] Fanfic ascended

The original author offers to edit and improve fanfics.  A liberal license like Creative Commons would be very useful.

[bneanpnh] How severe should business cycles be?

Less severe business cycles decrease the suffering during depressions or recessions, but bad large business are more likely to survive them, preventing innovative changings of the guard.

[rboaqvao] Phone manufacturers

A list of some large smartphone manufactuers, after cursory research:


[gcnbudzm] Dueling mojo

Got My Mojo Workin' (Asylum Street Spankers) ends similarly to the beginning of Dueling Banjos (Theme from Deliverance).  Mashup.

[eqsdkhiw] Nature amplified

Universal rule of art: take something people are already familiar with and modify it, making it "better".  Apply the rule to nature, depicting modified nature in virtual reality.

Take a photorealistic VR helicopter tour of a more awesome waterfall than exists on Earth.  Vaguely inspired by Niagara Falls being artificially rate limited.  Also inspired by the "Amplified" Minecraft terrain option.

[ruzomkls] Smoother numbers

Given two numbers, which is smoother?  This is mostly an aesthetic question; there is no right answer.  Start by comparing their largest prime factor.  The one with the larger prime factor is less smooth.

If they are the same, we could compare their second largest prime factors, equivalently comparing the smoothness of the two numbers divided through once by their common largest prime factor.  Here is that ranking of smoothness of numbers 1 through 99:

1 2 4 8 16 32 64 3 6 12 24 48 96 9 18 36 72 27 54 81 5 10 20 40 80 15 30 60 45 90 25 50 75 7 14 28 56 21 42 84 63 35 70 49 98 11 22 44 88 33 66 99 55 77 13 26 52 39 78 65 91 17 34 68 51 85 19 38 76 57 95 23 46 92 69 29 58 87 31 62 93 37 74 41 82 43 86 47 94 53 59 61 67 71 73 79 83 89 97

Alternatively, if two numbers share the same largest prime factor, then declare the smaller number smoother.  Here is such a ranking for 1-99:

1 2 4 8 16 32 64 3 6 9 12 18 24 27 36 48 54 72 81 96 5 10 15 20 25 30 40 45 50 60 75 80 90 7 14 21 28 35 42 49 56 63 70 84 98 11 22 33 44 55 66 77 88 99 13 26 39 52 65 78 91 17 34 51 68 85 19 38 57 76 95 23 46 69 92 29 58 87 31 62 93 37 74 41 82 43 86 47 94 53 59 61 67 71 73 79 83 89 97

Inspiration is that smooth numbers might more memorable.  The perfect powers might be memorable 0 1 4 8 9 16 25 27 32 36 49 64 81.  Let the more important or more frequent public transit bus routes have the more memorable numbers.

Alternative or more complicated criteria possible.  Smoothness of exponents: 2^2^2^2 seems smoother than (say) 2^13.  64 seems smoother than 32.  Number of factors or divisors.  Squarefree numbers might be considered smoother, then avoiding multiple squared prime factors, then avoiding cubes, etc.

[yglwlarn] Chess annotation chat

Consider chat about a chess game limited only to variations and annotations, e.g., Numeric Annotation Glyphs.  Also add the ability for people to agree or disagree with an annotation, a meta annotation.  Are other types of meta annotations needed?

Some way of rescinding annotations and meta annotations.

[ksvzgrpc] Hilbert curve text

Lay text out on a page as a Hilbert curve, so that words near each other in "time" (as if spoken) tend to be near each other in space (on the page).

Easiest is a grid of letters with lines or walls (like a maze) to guide the eye.  Or maybe smoothly changing background colors.

More complicated is to create a new alphabet designed to be written in the highly twisty Hilbert curve.  Morse code might be a good start.  Electrical capacitor symbol.  Thin line with large dot.  Triangles of various colors pointing to the next letter.  Thin line becoming thick, or double line.

Vaguely inspired by boustrophedonic writing sytems.

[ksvzgrpc] Jump into the middle of a function

Consider a programming language which permits calling functions to start running (have an entry point) at any point in the function, controlled at the call site.  Perhaps more radically, the call site can perform arbitrary code manipulations on a function before calling it.  It probably needs to be an interpreted language.

Slightly tricky might be to define the function type signature for such modified calls.

This decreases the need to refactor, or at least the for the function/library author to refactor: the caller -- the function caller -- can do the refactoring.  A demo program can quickly be reused as a library.

Sunday, November 20, 2016

[djekhfwt] Hash size affects result

We modified the Stockfish chess engine to store a 64-bit key (up from 16 bits) in each transposition table entry (TTEntry).  Previously.  This effectively raises the hash key size to at least 76 bits, so there should be approximately no hash collisions.  Nevertheless, the size of the hash table affects the result of the computation to a given fixed depth.

The transposition table is not acting strictly as memoization.  If it were strictly memoization, then a smaller hash size would simply result in repeated computation, taking longer to compute to a given fixed depth, but the same answer.

Source code.

Logs demonstrating the issue.

Future: measure which memory size is stronger (for a given fixed depth) with a head-to-head match.

Thursday, November 17, 2016

[ntwzztae] Stockfish arbitrary hash size

By default, the Stockfish chess engine can only have the memory use for its transposition table be a power of two number of bytes.  This is inconvenient because most computers come with exactly a power of two amount of memory (and for Macs, this cannot be upgraded).  One cannot give the entire memory to the engine, leaving none for the operating system, but leaving almost half of it unused is also undesirable.

However, by modifying the source code, and possibly sacrificing performance, one can fine tune the memory use to any size.  Adjust ClusterSize in tt.h, possibly remove the padding, and possibly also disable the static assertions that it fit in a cache line.

ClusterSize is the maximum depth of the linear separate chaining, in hash table terminology, so avoid making it too large.

[kwyvloxk] Legislative deals

Would government be improved by providing legislators mechanisms to make more complicated deals with each other?

Perhaps any and all votes within a legislative session may be rescinded.  Or, somewhat equivalently, the legislatures votes on exactly one mammoth bill at the end of the session.  Not sure how votes on amendments to bills should work.

[cptggwey] Load balancing with subdomains

Consider a protocol in which a client is not provided with a full host name to connect to, but a domain name.  The client is supposed to generate a random host name to prefix in front of the domain name.  The server's DNS can be configured to provide an IP addresses for any host name.  This provides a client-driven mechanism for load balancing, which seems somewhat less sleazy than the current common method, in which one host name gets mapped or redirected to multiple different IP addresses, with load balancing baked into DNS.

With the clients generating nonces, we lose the benefit of the DNS fabric being permitted to cache.  Perhaps the client checks a few agreed-upon common hostnames first, then if those are down or slow, creates a random one.

[bpzzpxsc] Chess in jail

Prisons are one place which can implement fairly draconian measures to prevent players from cheating using computers.

[nclzdccu] Replenishing the lower classes

The lower classes, constantly working the system to achieve upward class mobility, will have some members, often of the next generation, succeed.  However, assume society needs a fixed size (or fixed proportion) lower class population, probably for labor.  Enumerate the methods used in various societies of keeping the lower classes sufficiently populated counteracting losses due to upward movement, probably methods of class demotion.

Forbidding abortion might be one: unplanned pregnancy, especially with single mother, may demote both mother and future child.

Wednesday, November 16, 2016

[bwraaqjk] Security updates

Users can choose their favorite mirror for package updates of Debian and Ubuntu, but everyone is funneled through or for security updates.

This seems like a bad idea.  An attacker can deny a user access to security updates by attacking the user's DNS, preventing them from resolving security.{...}, or redirecting it to a site not containing a security update the attacker intends to exploit.  Attacking DNS to prevent or spoof the resolution of just one name seems easier than preventing the resolution of every possible mirror (including unpublished ones) a user might have chosen.

Furthermore, an attacker eavesdropping DNS can estimate who has taken security updates and who hasn't (and target the latter for attack) by monitoring who resolves and accesses security.{...}.

[cdhqseis] Shiny plate

Create a dinner plate that is shiny like a mirror and resists scratching, tarnishing, or corroding (or poisoning).

Easiest might be glass over aluminum, like a typical mirror.

Tuesday, November 15, 2016

[jzmyrjkx] cksum of zeroes

Results of cksum on files consisting only of null bytes.  File sizes 1, 3, or 5 times a power of 2. File sizes up to 8796093022208 bytes (8 TiB) were generated in their entirety with dd if=/dev/zero .  It turns out a null byte does not change the internal state of the checksum algorithm (CRC-32), so sizes larger than 8 TiB were simulated with this program which processes only the size appended as a suffix to the (null) data.

Not sure what this is useful for: a file of zeros can easily be verified by reading it.

Previously, with MD5 and SHA1.

4294967295 0
4215202376 1
4135437457 2
4072462630 3
3975907619 4
3896153236 5
3849957965 6
3656847943 8
3497339177 10
3404948635 12
3018728591 16
2699711059 20
2514929975 24
1742489887 32
1104454823 40
734892655 48
3413741448 64
2271761656 80
1398421864 96
2532515601 128
248556017 160
2725605222 192
4215202376 256
3128462852 320
2041723600 384
4135437457 512
1961958409 640
4072462630 768
3975907619 1024
3896153236 1280
3849957965 1536
3656847943 2048
3497339177 2560
3404948635 3072
3018728591 4096
2699711059 5120
2514929975 6144
1742489887 8192
1104454823 10240
734892655 12288
3413741448 16384
2271761656 20480
1398421864 24576
2532515601 32768
248556017 40960
2725605222 49152
4215202376 65536
3128462852 81920
2041723600 98304
4135437457 131072
1961958409 163840
4072462630 196608
3975907619 262144
3896153236 327680
3849957965 393216
3656847943 524288
3497339177 655360
3404948635 786432
3018728591 1048576
2699711059 1310720
2514929975 1572864
1742489887 2097152
1104454823 2621440
734892655 3145728
3413741448 4194304
2271761656 5242880
1398421864 6291456
2532515601 8388608
248556017 10485760
2725605222 12582912
4215202376 16777216
3128462852 20971520
2041723600 25165824
4135437457 33554432
1961958409 41943040
4072462630 50331648
3975907619 67108864
3896153236 83886080
3849957965 100663296
3656847943 134217728
3497339177 167772160
3404948635 201326592
3018728591 268435456
2699711059 335544320
2514929975 402653184
1742489887 536870912
1104454823 671088640
734892655 805306368
3413741448 1073741824
2271761656 1342177280
1398421864 1610612736
2532515601 2147483648
248556017 2684354560
2725605222 3221225472
4215202376 4294967296
3128462852 5368709120
2041723600 6442450944
4135437457 8589934592
1961958409 10737418240
4072462630 12884901888
3975907619 17179869184
3896153236 21474836480
3849957965 25769803776
3656847943 34359738368
3497339177 42949672960
3404948635 51539607552
3018728591 68719476736
2699711059 85899345920
2514929975 103079215104
1742489887 137438953472
1104454823 171798691840
734892655 206158430208
3413741448 274877906944
2271761656 343597383680
1398421864 412316860416
2532515601 549755813888
248556017 687194767360
2725605222 824633720832
4215202376 1099511627776
3128462852 1374389534720
2041723600 1649267441664
4135437457 2199023255552
1961958409 2748779069440
4072462630 3298534883328
3975907619 4398046511104
3896153236 5497558138880
3849957965 6597069766656
3656847943 8796093022208
3497339177 10995116277760
3404948635 13194139533312
3018728591 17592186044416
2699711059 21990232555520
2514929975 26388279066624
1742489887 35184372088832
1104454823 43980465111040
734892655 52776558133248
3413741448 70368744177664
2271761656 87960930222080
1398421864 105553116266496
2532515601 140737488355328
248556017 175921860444160
2725605222 211106232532992
4215202376 281474976710656
3128462852 351843720888320
2041723600 422212465065984
4135437457 562949953421312
1961958409 703687441776640
4072462630 844424930131968
3975907619 1125899906842624
3896153236 1407374883553280
3849957965 1688849860263936
3656847943 2251799813685248
3497339177 2814749767106560
3404948635 3377699720527872
3018728591 4503599627370496
2699711059 5629499534213120
2514929975 6755399441055744
1742489887 9007199254740992
1104454823 11258999068426240
734892655 13510798882111488
3413741448 18014398509481984
2271761656 22517998136852480
1398421864 27021597764222976
2532515601 36028797018963968
248556017 45035996273704960
2725605222 54043195528445952
4215202376 72057594037927936
3128462852 90071992547409920
2041723600 108086391056891904
4135437457 144115188075855872
1961958409 180143985094819840
4072462630 216172782113783808
3975907619 288230376151711744
3896153236 360287970189639680
3849957965 432345564227567616
3656847943 576460752303423488
3497339177 720575940379279360
3404948635 864691128455135232
3018728591 1152921504606846976
2699711059 1441151880758558720
2514929975 1729382256910270464
1742489887 2305843009213693952
1104454823 2882303761517117440
734892655 3458764513820540928
3413741448 4611686018427387904
2271761656 5764607523034234880
1398421864 6917529027641081856
2532515601 9223372036854775808
248556017 11529215046068469760
2725605222 13835058055282163712

[kaigcpee] 4D data visualization

A 2D plot is a 1D value plotted against another 1D value.  We 3D beings can see an entire 2D plot from "above", which is nice.  5D beings could easily see a 4D plot: 2D plotted against 2D, which seems interesting.

[izwwgqom] Rational roots of 2

The cube root of 2 seems close to 1.26 ("26 cents"), but nothing special happens in the continued fraction expansion.

? 2^(1/3)
? contfrac(2^(1/3))
[1, 3, 1, 5, 1, 1, 4, 1, 1, 8, 1, 14, 1, 10, 2, 1, 4, 12, 2, 3, 2, 1, 3, 4, 1, 1, 2, 14, 3, 13]
? contfrac(1.26)
[1, 3, 1, 5, 2]

We explore rational approximations to other roots of 2, truncated before large terms in the CF.  The Pari/GP function contfracpnqn was useful.

4th root 1+7/37

5th root 1+40/269

6th root 1+6/49

7th root 1+28/269 .  This is the second instance of denominator 269.

8th root 1+1/11 or 1+41/453

9th root 1+2/25 = 1.08

10th root 1+1/14

11th root 1+8/123

12th root does not have any nice small rational approximation, despite musical pitches and intervals being based on the twelfth root of 2.  2^(1/12) = 3^(1/19) = 1.5^(1/7)

Create a geometric or mechanical demonstration of these approximations.

From elsewhere:

9.1^(1/4) = 33/19
91000^(1/4) = 330/19

[bxbdewak] A collection of approximations of pi

Number of digits correct:


Later versions of Pari/GP may have to use a different name for this function.

? digits(3.14)

? digits(22/7)

? digits(355/113)

? digits(sqrt(sqrt(2143/22)))

The fraction above can be written 3^4+2^4+1/(2+(2/3)^2) = 9^2+19^2/22 . Previously discussed.

? u=5^4+53*sqrt(89) ; digits(80*sqrt(15)*u^(3/2)/(3308*u-3*sqrt(89)))

? digits(log(396^4-104)/sqrt(58))
Previously discussed.

? digits(12*log((3+sqrt(10))*(sqrt(8)+sqrt(10)))/sqrt(190))

? digits(log(640320^3+744)/sqrt(163))

? digits(log((640320^3+744)^2 - 2*196884)/(2*sqrt(163)))

? digits(log((5280*(236674+30303*sqrt(61)))^3+744)/sqrt(427))

? s=sqrt(17) ; t=sqrt(2) ; a=(23+4*t*s)/2 ; b=(19*t+7*s)/2 ; c=429+304*t ; d=(627+442*t)/2 ; u=q(a)^2*q(b)^2*q(c)*q(d) ; digits(log((2*u)^6+24)/sqrt(3502))

GP allows multiple nullary variables to be defined on a single line, separated by semicolons, but I cannot find a way to also define a function q(x) in a one-liner followed by more variable assignments.  The scope extends to the end of the line, allowing functions with semicolons in them.

Create a mechanical or geometric demonstration of these approximations.

Most of these came from the following two sources.

Monday, November 14, 2016

[qhnbbhqu] Dits and dahs

Consider a binary language in which one character takes up more space than the other.  How many sequences are shorter than a given amount of space?

Inspired of course by Morse code, in which the ratio is supposedly 1/3.

Wednesday, November 09, 2016

[ivdphoee] Cloud block device

Perhaps the best interface for a cloud data storage provider is a block device, randomly accessible by block.  It is up to the user to format this network block device to something useful, like a filesystem with whatever features a user desires.

I know of no cloud data provider which does this.  They all try to be more user friendly, which makes things complicated and difficult.

Simultaneous access remains a thorny problem, though it is squarely the user's (or users') problem now.  The network block device could provide some atomicity primitives.

[ctykdfkh] P2P collaborative

Create a peer-to-peer platform for collaboration.  Instead of a central repository like a wiki (e.g., Wikipedia) or Github, everyone owns a master copy, and the software automatically pulls updates from everyone else's copy to keep things in sync, and makes sure everyone has the most up to date version.

We envision a filesystem interface, so a distributed network filesystem, though probably many other architectures are possible.  Data contention, e.g., merge conflicts, could be handled by the system (maybe locks), higher level tools (maybe storage consists only of messages written in order, never modifying or deleting anything old), or social engineering (they have agreed to collaborate so aren't going to be evil to each other, which is the source of difficult merges).

This might be especially useful for collaboration with large amounts of data, e.g., video, where centralized hosting might be expensive.  However peer-to-peer collaboration with large data will require everyone have high bandwidth and large local storage.

Peer-to-peer synchronization should be encrypted to thwart outsiders from eavesdropping on the collaboration.  Of course authentication also.

[esotcmtl] Recalling a moment of light

There was a brief glimpse of light in the late 90s with the proliferation of P2P software such as Napster, et al., when it looked like the flow of information might not remain controlled by a few giant media companies.  That light got extinguished by lawsuits and legislation, and now we have Facebook, Apple, Google, etc., as well as a few traditional companies controlling most of the media people see, as well as having and exercising powerful editorial ability to restrict what people see.

[rkmgkssw] Climate change caused by life

Climate change caused by humans is minuscule compared to climate change caused by other forms of life in older eras of the earth's history, e.g., Great Oxygenation Event.

This is not an argument against preventing climate change but merely an observation of how little humans are amidst the great forces that shape the universe, and even the planet: bow down to the almighty microorganisms.

Inspired by the hypothesis that continents formed only because of life; if not for life, earth would be an ocean planet.  (Which makes sense: why should there be continents in the face of erosion and minerals tending to dissolve in the "most powerful solvent"?)

[cpzvqzgl] Theo Epstein for President

Made the Red Sox great again.  Made the Cubs great again.

That the same person should be responsible for ending the two longest baseball World Series championship droughts seems an accomplishment without equal, in any field: the Greatest Of All Time.

Perhaps comparable are double Nobel Prize winners.

Epstein twice succeeded at tasks that many before had put in decades of tremendous effort, with tremendous resources, but had failed.  Nobel prize winners are sometimes merely the people who happened to be in the right place at the right time when technology and knowledge of the field advanced just enough to be able to perform an experiment or achieve a result.

That the Cubs' predicament was called the Billy Goat was not a curse; it was a prophecy that the end would be brought about by the GOAT.

(Had Cleveland won, we would be writing the same about Terry Francona.)

[gpnoyhuv] Nice packings of circles in a rectangle

Consider the task of packing N circles (discs) into a rectangle.

Easiest is to arrange the circles in a rectangular array, factoring N = P*Q.  Pick the factorization that fits the rectangular area the best.

Rectangular array with incomplete last row.  There might be some choices about how many circles go in the last row versus the number of circles per row.  The last row can be centered for elegance.

Hexagonal close packing, with rows alternating P, P-1, P, P-1, ... and last row possibly incomplete.  First row could be P-1.  It might not be possible to symmetrically center the last row while maintaining hexagonal close packing.

Hexagonal close packing with all rows (except possibly last) having the same number of circles, but alternatingly shifted left and right.  This arrangement does not have bilateral symmetry, though maybe it does if tilted 90 degrees.

There are other more efficient packings for different values of N, but more irregular.

Inspiration was wanting to pack 128 items into a window for the world's hardest puzzle.

Monday, November 07, 2016

[wisnmyni] Data as a number

Convert a number with possibly many leading zeroes in base M to base N, prefixing the base N output representation with leading zeroes in a way that unambigiously specifies the number of leading zeroes in base M input.  I think this is possible when M > N.  Some potentially useful conversions:

(M=16, N=10); (M=256, N=10); (M=256, N=100); (M=10; N=2)

The deeper idea is, whenever a string of characters represents raw data and not a word in a natural language, it should be encoded so that it is clear that the string is not meant to be interpreted as a word in natural language.  Unannotated hexadecimal fails this rule: if you see the string "deadbeef", is it a word, with a meaning perhaps related to food, or is it a number?  (Annotated hexadecimal, e.g., "0xdeadbeef" is clearly not a word.)  Simpler example: what does "a" mean, indefinite article or ten in hexadecimal?  English, and other orthographies which use Hindu-Arabic numerals, already have a character set which unambiguously state that a string encodes data and not words: the numerals.  (One could argue that numbers -- strings of Hindu-Arabic numerals -- have more meaning than strictly data: they have ordinality, they obey group and field axioms, etc.  However, we frequently see numbers which aren't that, e.g., serial numbers, phone numbers, ZIP codes, ID and credit card numbers.)

The inspiration was, expressing hashes in hexadecimal is silly.  Radix conversion is quick and easy for a computer; it should be in decimal with leading zeroes if necessary.  If making the hash compact is a goal, then base 26 or base 95, with some annotation signifying it is encoded data, is better than hexadecimal.

Some Haskell code demonstrating some of the conversions.

Sunday, November 06, 2016

[ulfdtybu] Transposition table key width

We modified the Stockfish chess engine, changing the width of the key stored in a transposition table entry, the key16 field in TTEntry, from 16 bits to 32 bits.  This changes the key width effectively from 16+27 = 43 bits to 32+27 = 59 bits.  The 27 comes from, in experiments below, hash table sizes such that there were 2^27 Clusters.  The hash table was 3840 megabytes for 16-bit (with padding / alignment disabled, otherwise it would have been 4096), and 4608 megabytes for 32-bit.  Hash 5000 was sufficient for both.

The tables below give the ranking of black responses to 1.e4, as reported by MultiPV 500 at various depths.  The top line is 16-bit unmodified Stockfish, 1 Thread.  The second line is 32-bit.  The colors are randomly assigned to moves.

Snapshot of the code used to generate the output below is on github.  Here is a patch against Official Stockfish 1c0c4db6775fae5a8b785630f4fd406c235880d9. 

This is a work in progress.  In the future, we hope to explore even wider hashes, wide enough that hash collisions do not occur.  We may also explore the region between 16 and 32 bits.

Here are more complete logs, including scores and pv.  "before" is 16-bit; "after" is 32-bit.

Previous work: Hyatt and Cozzie, "The effect of hash collisions in a Computer Chess program", which concludes that collisions do not affect performance much.  However, we feel that with computers having gotten much more powerful, and people running very long analyses, the birthday paradox is having a significant effect, as seen below.  Hash table collisions are obscuring the answer to the question, what is the ground truth about a position?  What is the best response to 1.e4?  Open game, French, Sicilian, Caro-Kann, or Nimzowitsch?

Depth 1


Depth 2


Depth 3


Depth 4


Depth 5


Depth 6


Depth 7


Depth 8


Depth 9


Depth 10


Depth 11


Depth 12


Depth 13


Depth 14


Depth 15


Depth 16


Depth 17


Depth 18


Depth 19


Depth 20


Depth 21


Depth 22


Depth 23


Depth 24


Depth 25


Depth 26


Depth 27


Depth 28


Depth 29


Depth 30


Depth 31


Depth 32


Depth 33


Depth 34


Depth 35


Depth 36