An anonymous 4chan post could help solve a 25-year-old math mystery - The Verge

  
Apparently, I wasn't the only hybrid amateur computer scientist/otaku, and this anonymous viewer solved a problem in combinatorics to boot.

The interesting aspect of this case is that it arose out of a simple question by a viewer about the most efficient way to watch 14 episodes of the first season of the anime series The Melancholy of Haruhi Suzumiya in every possible order. It shows that certain problems in mathematics can be solved even if one is not a mathematician; indeed, even if one is an otaku.

According to the article,

"A 4chan poster may have solved part of a very tricky math problem that mathematicians have been working on for at least 25 years. The user was just trying to figure out the most efficient way to watch episodes of a nonlinear anime series, but the result has generated considerable interest from mathematicians around the world who have no way to identify the anonymous user.

"Yesterday, Robin Houston, a computer scientist and mathematician tweeted about the bizarre intersection of 4chan and mathematics, inadvertently setting off a wave of public interest in the story. Within hours of his tweet, his phone was vibrating constantly. 'It started to go mad,' he says. 'My phone started going crazy.'

"The 4chan part of this saga began on September 17th, 2011, when a poster posed a question: if you wanted to watch 14 episodes of the anime The Melancholy of Haruhi Suzumiya in every possible order, what’s the shortest string of episodes you’d need to watch?

"There are 14 episodes in the first season of Haruhi, a 2006 anime based on a series of Japanese light novels. The episodes, which feature time travel and are otherwise chronologically challenging for the viewer, originally aired in a nonlinear order. When the series went to DVD, the episodes were rearranged, and it’s become something of an obsession for fans to rewatch the series over and over again, going through as many chronologies as possible.

"An anonymous poster figured out one possible way to solve to the 4chan problem, satisfying the more mathematically inclined Haruhi fans. But in the process, they also helped puzzle out an issue that mathematicians have been working on since 1993. The anonymously authored proof (which was recently reposted on a Fandom wiki) is currently the most elegant solution to part of a mathematical problem involving something called superpermutations. It’s an enigma that goes well beyond anime.

"In mathematics, a permutation is the order of a set of numbers. In anime terms, one permutation of Haruhi would be watching all 14 episodes in the order that they aired. But what if you’re a Haruhi superfan and watching the season once isn’t enough for you? In that case, you might be interested in a superpermutation, or all of the possible permutations of a set strung together. Think of it as the ultimate Haruhi marathon.

...

"With the Haruhi problem, people were looking for the shortest possible superpermutation for the 14-episode set. But no one has found a formula that would actually solve that problem. The 1993 paper suggested one part of that solution. But in 2014, Houston figured out that the math used in the 1993 problem didn’t work for sets containing more than six numbers. The result got mathematicians really excited about the problem again after it had languished in the literature for a quarter century. Eventually, one of them found the 4chan proof, and all those numbers and symbols started to fall into place.

"The 4chan proof outlines how to find the smallest possible number of episodes for the solution. But that doesn’t fully solve the problem. An even bigger breakthrough came earlier this month when sci-fi author and mathematician Greg Egan wrote up a proof that outlined how to find the largest possible number for any given superpermutation problem.

"Pantone crunched the numbers of the Haruhi problem for _The Verge_ and found that you’d need to watch at least 93,884,313,611 episodes to watch the season in any possible order. At most, you’d need to watch 93,924,230,411 episodes to accomplish the task. There’s still a ways to go to narrow down the exact answer, but they’re getting there.

"Now, mathematicians have a way to figure out the range of answers, and a group of them — including Houston and Pantone — are actively working to figure out a formula that combines Egan’s work and the anonymous proof into a cohesive formula. 'It might be possible to crack the thing completely open,' Houston says."

An anonymous 4chan post could help solve a 25-year-old math mystery

Image/photo

An anime math problem
Python vs Ruby - Which one you should learn and why? | Geekboots Story

  
Personally, I have always preferred Ruby to Python. Ruby is much more poetic, and allows the programmer, essentially, to write code in the same manner as a writer writes sentences in English: by thinking sequentially from left to right. Python, by contrast, requires frequent backtracking in reasoning from right to left, and is much less poetic; as a result, I have never felt comfortable with Python.

In addition, Python is whitespace-sensitive; I have never felt comfortable with any whitespace-sensitive programming language unless it used equational reasoning (as Haskell does). Ruby is not whitespace-sensitive; as a result, I feel much more comfortable with Ruby than with Python.

Furthermore, the values in Python culture are essentially the opposite of those in Ruby culture. Python culture teaches that there is 1 correct way of doing everything, and encourages programmers to share code. Ruby culture, by contrast, teaches that each programmer should use the language as that programmer feels most comfortable, and does not especially encourage programmers to share code.

In college, I was never taught to share code; in fact, Professor Stanley C. Eisenstat actively discouraged sharing code. In his "Computer Science 323a: Introduction to Systems Programming (in C)" course, Eisenstat required each student to work alone, and employed a fuzzy-logic-based homework comparison program that auto-checked each submission against all submissions by all students for the same assignment for the past 5 years, and raised a flag if any suspicious structural similarities existed (e.g., similarities in numbers of for-loops, while-clauses, if-then-else statements, etc.). If a homework submission was flagged, the student was required to provide a suitable explanation of the similarity within 1 week, or receive a grade of 0 for that assignment.

On one occasion, a student in his class suggested, during office hours, that he provide a mid-term collaborative team project; Eisenstat solemnly replied, "I do not see the purpose of such a project."

Because of my exposure to Eisenstat's teachings, I refuse to use any programming language whose culture encourages the sharing of code. Python is a prime example of this culture, and that culture is the main reason that I refuse to use Python under any circumstances, even though I enjoy Ruby.

Python vs Ruby - Which one you should learn and why? | Geekboots Story

Image/photo

Python or Ruby which one you should learn - story on Geekboots
 Ruby  Python
Haskell Programming from first principles

  
What is especially frustrating about attempting to study Haskell is that what seems to be the perfect book (Haskell Programming from first principles) actually exists, but is too expensive to purchase (USD$59 for the PDF file).  It is not even available on Amazon.com, but apparently must be purchased from Gumroad (see http://http://haskellbook.com/).

Having looked through a number of Haskell books over the past years, what is interesting about this title is that it is designed for a linguist with no prior exposure to programming or computer science, and is therefore at exactly the right level for me.  Most other Haskell books assume either prior programming experience, or a certain degree of mathematical maturity; this title assumes neither.

There are some other Haskell books that are much too informal and imperative in style for my taste (e.g., Learn You a Haskell for Great Good!: A Beginner's Guide); such books make me feel acutely embarrassed in front of the spirit of Professor Paul Hudak.

Hudak's own publication, The Haskell School of Expression, while interesting, assumes too much trigonometry in some of its exercises.  While I reviewed trigonometry in college, that was prior to 1994, which was 24 years ago, and I have since long forgotten trigonometry and wish to use another title.

HPffp seems to adopt the right approach, and does not (from what I have read so far) make me want to feel embarrassed in front of the spirit of Hudak; however, it makes my wallet want to cry.  USD$59 for a PDF file is enough to purchase approximately 35 cans of sardines, which is enough to eat (when the meals are accompanied with rice) for approximately 12 days.  Spending enough capital to purchase 12 days' worth of food on a single PDF file seems rather exorbitant to me....

Lack of enough capital to purchase this book has essentially been keeping me from progressing in learning Haskell since 2015....  Perhaps one day my current employer will give me an editing assignment that won't disrupt my current lifestyle substantially, but which will allow me to purchase this book without experiencing a heart attack over subsequently not being able to afford enough sardine cans for the next 12 days....

Haskell Programming

Image/photo


A Haskell book for beginners that works for non-programmers and experienced hackers alike.
Alan Perlis Quote: “Syntactic sugar causes cancer of the semicolon.” (7 wallpapers) - Quotefancy

  
Once a user has been exposed to the convenience of a Lisp-like programming language (Emacs Lisp, Scheme, etc.), it is almost impossible for that user to use any C-like programming language again.

Lisp-like programming languages allow the user to focus more on a high-level perspective without getting bogged down with such details as type coercion, pointers, segmentation faults, etc. As a result, programs are typically shorter, have less convoluted logic, and are divided into many very short functions that typically all operate on the same simple list.

It is much easier to have many short functions all operating on the same list than a few large functions operating on many different data structures.

As Alan Perlis once said, “Syntactic sugar causes cancer of the semicolon.”

Alan Perlis Quote: “Syntactic sugar causes cancer of the semicolon.”

Image/photo


Alan Perlis Quote: “Syntactic sugar causes cancer of the semicolon.”
Re: The fundamental concept of continuations

  last edited: Fri, 01 Feb 2019 17:36:20 -0500  
A humorous description of the magic of Scheme-style continuations (or the real reason that nothing else comes even close to Scheme) (remember:  "Any sufficiently advanced technology is indistinguishable from magic."  -- Arthur C. Clarke):

===== description follows immediately after this line =====
Ahhh, Kenny, Kenny, you're missing the whole point of "real"
(Schemish) continuations. Here's how your story should go,
which may help explain (or not):

0. You're slaving away on Cello version 72531.22.91 when you
   realize you've got to have some coffee, but you know you're
   going to be working all night and you only have enough cash
   left after buying that 42nd mongo flatpanel [needed to show
   off the full feature set of Cello version 72531.22.90] to
   buy one cup. Thankfully, you've been reading this thread,
   so you...

1. Put a sticky note on your monitor to remind you what it is
   you want to do next after your coffee break [note (and this
   is very important): you SETF the note, not LET-bind it!!] and
   then you make your coffee run (but DON'T drink it yet!!)
   and bring it back to the CelloCAVE, and while it's nice and
   hot, just before you take the first sip, you do a CALL/CC
   and stick the resulting continuation you got into a special
   box on a shelf near the door. Then you...

2. Enjoy your coffee, get your caffeine rush, and head back to
   your coding CAVE and start doing whatever it says on the little
   yellow sticky you put on your monitor in step #1.

Now here's where the real fun starts...

3. Several hours [minutes?!?] later, having used up your caffeine
   rush [but Cello 72531.22.91 still being unfinished], it's time
   for another coffee run, but as noted in #0 you now have no money
   left. No problemo! Make a note to yourself on a little yellow
   sticky saying what you want to do after your coffee and stick
   it on your monitor [SETF, not LET-bind!], then go over next to
   the door and FUNCALL the continuation in the box on the shelf
   by the door, and you...

4. Wake up, just back from the coffee run you made in #1, with a
   hot steaming cut of fresh coffee in your hand, which you enjoy,
   get your rush, and head back to your coding CAVE and start doing
   whatever it says on the little yellow sticky you put on your
   monitor in step #1.

3a. Several hours [minutes?!?] later, having used up your caffeine
   rush [but Cello 72531.22.91 still being unfinished], it's time
   for another coffee run, but as noted in #0 you now have no money
   left. No problemo! Make a note to yourself on a little yellow
   sticky saying what you want to do after your coffee and stick
   it on your monitor [SETF, not LET-bind!], then go over next to
   the door and FUNCALL the continuation in the box on the shelf
   by the door, and you...

4a. Wake up, just back from the coffee run you made in #1, with a
   hot steaming cut of fresh coffee in your hand, which you enjoy,
   get your rush, and head back to your coding CAVE and start doing
   whatever it says on the little yellow sticky you put on your
   monitor in step #1.

And you continue in this way, never having to pay for another cup of
coffee, until Cello 72531.22.91 *is* finally finished, then you...

5. Crash all weekend, and get up on Sunday night just long enough
   to post the announcement of Cello 72531.22.91 [no documentation,
   of course, but it all WORKS!!] to "comp.lang.lisp", and then
   crash back in your bed again. [Only to wake up Monday morning
   to discover that the ungrateful yobbos of "c.l.lisp" are all
   bitching about the (lack of) documentation instead of singing
   hosannas about all the new features... But that's another story.]

In a nutshell: The thing that's different about full/real/Schemish
continuations is that you can call them more than once. But note
that only the control path is repeated; any globals that you
SETF'd [such as the yello sticky] aren't reset when you call the
continuation a 2nd, 3rd, 4th, etc., time, so you can use them to
tell the difference between successive FUNCALLs of the continuation.


-Rob

p.s. Smart Schemers will realize I've cheated in the above story.
Well, unless somebody knows how to instantiate a cup of coffee
entirely in the control path and not in a stateful "coffee-mug object"
whose mutations (and eventual emptiness) will be noticed across
reinvocations of the continuation.
===== description ends immediately before this line =====

https://groups.google.com/d/msg/comp.lang.lisp/ZxJ5uFPQMnc/QSi65St4H04J
  
An elementary description of a Turing machine.

(This topic is much more interesting than poetry; it is unfortunate that I happen to be much better at poetry composition than at computability theory. If the reverse were true, most of my problems would be solved: The only new problem that I would face is that I would then have a much higher probability of committing suicide upon losing my job the next time, since computability theory, unlike poetry, does nothing to relieve emotional stress. The only way that I avoided committing suicide when I became almost broke while living in Manhattan just after the WTC disaster on September 11, 2001, was to cheer myself up by writing haiku.)

Turing machines explained visually

Image/photo

A Turing machine is a model of a machine which can mimic any other (known as a universal machine). What we call "computable" is whatever a Turing machine can...
Welcome to GogglePlus!

 Tokyo, Japan,  last edited: Fri, 01 Feb 2019 17:58:34 -0500  
Welcome to GogglePlus!

You have reached the English-language "Scholar-aspirant/Haiku Poet" profile for Benjamin L. Russell on GogglePlus, a hub on HubZilla!

This profile is reserved for English-language posts on scholarly/poetic topics.  The intended audience comprises, essentially, nerds, as opposed to otaku-geeks; i.e., non-social technophiles who are primarily interested in academic/scholarly discussion of such topics as theoretical computer science, pure mathematics, and haiku poetry.

This profile assumes that you enjoy reading about scholarly/poetic topics, and most likely harbor a disdain of otaku-geeky topics.

If you have reached this profile by mistake, and would prefer either to discuss a topic in Japanese, or to discuss otaku-geeky topics, please let me know, and I shall direct you to the appropriate profile.