Posts from 2021

How Inevitable Is the Concept of Numbers?

Based on a talk at Numerous Numerosity: An interdisciplinary meeting on the notions of cardinality, ordinality and arithmetic across the sciences.

Everyone Has to Have Numbers… Don’t They?

The aliens arrive in a starship. Surely, one might think, to have all that technology they must have the idea of numbers. Or maybe one finds an uncontacted tribe deep in the jungle. Surely they too must have the idea of numbers. To us numbers seem so natural—and “obvious”—that it’s hard to imagine everyone wouldn’t have them. But if one digs a little deeper, it’s not so clear.

It’s said that there are human languages that have words for “one”, “a pair” and “many”, but no words for specific larger numbers. In our modern technological world that seems unthinkable. But imagine you’re out in the jungle, with your dogs. Each dog has particular characteristics, and most likely a particular name. Why should you ever think about them collectively, as all “just dogs”, amenable to being counted? Continue reading

Launching Version 12.3 of Wolfram Language & Mathematica

Livecoding & Q&A With Stephen Wolfram

Look What We Made in Five Months!

It’s hard to believe we’ve been doing this for 35 years, building a taller and taller tower of ideas and technology that allow us to reach ever further. In earlier times we used to release the results of efforts only every few years. But in recent times we’ve started doing incremental (“.1”) releases that deliver our latest R&D achievements—both fully fleshed out, and partly as “coming attractions”—much more frequently.

We released Version 12.2 on December 16, 2020. And today, just five months later, we’re releasing Version 12.3. There are some breakthroughs and major new directions in 12.3. But much of what’s in 12.3 is just about making Wolfram Language and Mathematica better, smoother and more convenient to use. Things are faster. More “But what about ___?” cases are handled. Big frameworks are more completely filled out. And there are lots of new conveniences.

There are also the first pieces of what will become large-scale structures in the future. Early functions—already highly useful in their own right—that will in future releases be pieces of major systemwide frameworks. Continue reading

The Problem of Distributed Consensus

Distributed Consensus with Cellular Automata & Related Systems Research Conference

In preparation for a conference entitled “Distributed Consensus with Cellular Automata & Related Systems” that we’re organizing with NKN (= “New Kind of Network”) I decided to explore the problem of distributed consensus using methods from A New Kind of Science (yes, NKN “rhymes” with NKS) as well as from the Wolfram Physics Project.

A Simple Example

&#10005

BlockRandom[SeedRandom[77]; 
 Module[{pts = 
    RandomPointConfiguration[HardcorePointProcess[0.09, 2, 2], 
      Rectangle[{0, 0}, {40, 40}]]["Points"], clrs}, 
  clrs = Table[
    RandomChoice[{.65, .35} -> {Hue[0.15, 0.72, 1], Hue[
       0.98, 1, 0.8200000000000001]}], Length[pts]]; 
  Graphics[{EdgeForm[Gray], 
    Table[Style[Disk[pts[[n]]], clrs[[n]]], {n, 
      Range[Length[pts]]}]}]]]

Consider a collection of “nodes”, each one of two possible colors. We want to determine the majority or “consensus” color of the nodes, i.e. which color is the more common among the nodes.

One obvious method to find this “majority” color is just sequentially to visit each node, and tally up all the colors. But it’s potentially much more efficient if we can use a distributed algorithm, where we’re running computations in parallel across the various nodes. Continue reading