@@ -10,7 +10,7 @@ though perhaps I never actually LOL'd at "the quick brown fox jumps over the
1010lazy dog", I think they're sort of funny (maybe they are a weak form of Tom 7's
1111[ "improper hierarchy"] ( https://www.youtube.com/watch?v=ar9WRwCiSr0 ) ).
1212
13- So this sentence in Douglas Hofstadter's later book * I am a Strange Loop* is
13+ So this, a sentence in Douglas Hofstadter's later book * I am a Strange Loop* is
1414pretty captivating:
1515
1616> This pangram tallies five a's, one b, one c, two d's, twenty-eight e's, eight
3939<script src =" /assets/js/pangrams.js " ></script >
4040
4141Wait a second - Hofstadter's pangram is wrong! It only contains twenty-one t's!
42- See if you can fix it by clicking the little '+'s and '-s' (are they too small
42+ See if you can fix it by clicking the little '+'s and '-s' (are they too little
4343for phone screens? Sorry. Web design is hard. Why aren't you reading this on a
4444proper computer, anyway? Why are your fingers so fat? It's not my fault) to
4545adjust the letter counts. I can't make it right. This may be funny but it is not
@@ -69,7 +69,7 @@ trying to complete this impossible task here[^2]:
6969In theory it will admit defeat eventually, but if my calculations are correct,
7070its stupid metal brain will oxidise into dust before that happens.
7171
72- One way to think about the difficulty of generating pangrammatic autograms is to
72+ One way to think about the difficulty of generating pangram- autograms is to
7373compare it to a slightly simpler problem: what if we don't care if the
7474individual letter counts are correct, just that they add up to the right total?
7575In that case, the only thing that matters about the phrase "one a" is that it
@@ -79,7 +79,7 @@ sum" problem](https://en.wikipedia.org/wiki/Subset_sum_problem). This is an
7979* NP-complete* problem, which is a fancy way of saying it's "pretty tricky", but
8080it can be solved quite speedily for the values we're interested in here. Before
8181writing this article, I thought I could just write some code to generate these
82- pseudo-autograms, then test loads of them until it found a true autogram among
82+ pseudo-autograms, then test loads of them until I found a true autogram among
8383them. But the number of pseudo-autograms is vaster than I thought (I made the
8484rookie mistake of underestimating the factorial function!) and proper autograms
8585are a very slim subset of pseudo-autograms. My little laptop would take far too
@@ -109,9 +109,9 @@ spit out two valid situations:
109109- You are indeed a mongoose, but you are not speaking
110110- You are indeed speaking, but you are not a mongoose
111111
112- Such simple examples may not make it clear, but a SAT-solver is quite a
112+ Such a simplistic example may not make it clear, but a SAT-solver is quite a
113113spectacular thing, because it turns logical puzzles inside out. Chris Patuzzo
114- figured out a way of feeding the claim "there is a pangrammatic autogram" into a
114+ figured out a way of feeding the claim "there is a pangram- autogram" into a
115115SAT-solver, and the SAT-solver spat out situations where that claim is true
116116i.e. pangrammatic sentences. I have of course been glossing over the details -
117117SAT-solvers do not really understand English[ ^ 3 ] , you feed them formal logical
@@ -126,18 +126,18 @@ use. Patuzzo's work was to express "there is a pangrammatic autogram" in such
126126specific terms that the SAT-solver had no choice but to spit out everything we
127127need to know to write out the actual sentence.
128128
129- I would love to harp on about this until I feel I've really explained it but I
129+ I would love to harp on about this until I feel I've really explained, but I
130130think it would take too long. One more analogy: this technique means that
131131instead of having to answer the question "how do I find pangrammatic
132132autograms?", you just have to answer "given a sentence, how do I figure out if
133- it's a pangrammatic autogram?". The latter is obviously much easier. Patuzzo
133+ it's a pangram- autogram?". The latter is obviously much easier. Patuzzo
134134clearly thought this was a pretty neat idea (and I agree), because he created an
135135entire programming language, called [ Sentient] ( https://sentient-lang.org ) , which
136136helps you express many different problems in ways that bully SAT-solvers into
137137solving them for you, as he did for the problem of pangrammatic autograms.
138138
139139This is pretty satisfying. In a few minutes my little laptop had generated this
140- beauty using Patuzzo's tool:
140+ acmatic beauty using Patuzzo's tool:
141141
142142> This pangram tallies five a's, one b, one c, two d's, twenty nine e's, nine
143143 f's, four g's, six h's, thirteen i's, one j, one k, three l's, two m's, twenty
0 commit comments