Could the ancient Romans have built a digital computer?

The Romans were undoubtedly master engineers. They were experts at civil engineering, building roads, improving sanitation, inventing Roman concrete, and constructing aqueducts that adhere to tolerances impressive even by today’s standards. Perhaps the best evidence of their aptitude is the fact that many of those structures still stand today, almost 2000 years later. They even began dabbling in technology vastly ahead of their time. Hero of Alexandria drew up plans for a rudimentary steam engine in his Spiritalia seu Pneumatica. He called it the aeolipile.

Aeolipile_illustrationIt didn’t work very well. However, by the late 3rd century AD, all essential parts for constructing a steam engine were known to Roman engineers: Hero’s steam power, the crank and connecting rod mechanism (in the Hierapolis sawmill), the cylinder and piston (in metal force pumps), non-return valves (in water pumps) and gearing (in water mills). That got me thinking: Could the Romans have built a digital computer using only the technology and manufacturing processes available to them?

Maybe the first thing you would think of is a mechanical computer, like the Babbage Difference Engine:

welcome-babbageengine

While it’s a beautiful piece of engineering, it’s actually not a computer. It’s a calculator. Charles Babbage did design a mechanical computer, called the analytical engine. It’s never been built, because it would take up an entire room and be extremely expensive. I don’t think the Romans could have built the analytical engine or other purely mechanical computer because of the tolerances required. I don’t know much about their manufacturing abilities, but I know they didn’t do a lot of it and imported most things. I couldn’t find the tolerances needed for the Harvard Mark I, an electromechanical computer, but I’m hesitant to believe that they could have built that either. It’s hard to know how precise manufacturing techniques were back then, but one of the best clues we have is the Antikythera mechanism. It uses hand cut gears that are surprisingly precise, but still probably not good enough for a mechanical computer. Small inaccuracies in the gear trains would add up, and this is evident in the Antikythera mechanism. It would be even more pronounced in a room sized contraption and would almost certainly prevent any useful calculations from being performed.

If the Romans couldn’t do it mechanically, they would have needed a semiconductor. When most people think of semiconductors, they think of clean rooms and millions of dollars of machinery. However, that kind of equipment is only needed for high performance semiconductors used in modern integrated circuits with high speed, high efficiency switching. It turns out that naturally occurring semiconductors are actually quite common. Minerals like zincite, bornite, and carborundum will work. However, the best mineral to use is lead sulfide, AKA galena. It be used without any modification directly after mining. It’s got a band gap of about 0.4 eV. Ancient societies knew all about galena, and the Egyptians used it as makeup.

They could have easily made a cat’s whisker diode by using a small piece of springy wire to touch a point on the galena crystal, creating a crude and unstable metal-semiconductor junction called a Schottky barrier diode. Current will flow from the metal into the galena, but not the other way around. This is the same technique that was used in early crystal radio receivers. POWs in World War II used the oxidation on razer blades as a semiconductor and a safety pin to create a diode so they could build receivers to keep up to date with news on the war. It took a lot of patience to find a perfect spot on the blade that would work, and likewise it would take time to poke the galena with the wire in different spots to find a place that would act as a diode.

If they could have built a diode, could they have built a transistor? The first transistor that Bell Labs built (although not the first transistor ever built) was point contact and looked pretty similar to the cat’s whisker diode.

bell

Instead of a single point, they had two, each formed by the contact of the edge of a piece of gold foil onto a hunk of Germanium. A simpler version of this can be done by basically building a cat’s whisker diode but using two springy wires touching two different spots on the galena. So couldn’t the Romans have just modified their diodes to make transistors? In my opinion, no. When Bell Labs was experimenting with transistors, they tried making a galena cat’s whisker version and ran into some problems. To being “transisting”, the whisker tips had to be closer than 0.1 mm. They also found that you had to use freshly cleaved galena surfaces and any humidity would interfere. They had to make extremely sharp whiskers by dissolving the ends with electrolysis. Now, I don’t want to underestimate the Romans. Maybe they could have trained workers to be that precise or come up with some other way of solving the problem. But we’re going to take it easy on them because there’s a better way to get around the problem of no transistors.

The Romans knew how to make wire and also knew how to work iron. So now the question is, can you build a computer using only diodes, wire, and iron? Well, prior to 1953, no computers used transistors. The Romans knew how to work glass, but it’s unlikely they could have manufactured vacuum tubes. While a lot of early computers did use vacuum tubes, they often also relied on diode logic. There are two major problems you have to solve with diode logic. First, diodes have a voltage drop across them, which means you need to amplify the signal every so often. Early designers solved this problem using transistors as amplifiers. The second problem is that you can’t design a NOT gate (an inverter) using only diodes. Designers got around this problem also by using transistors (or vacuum tubes). So how could the Romans have done it without transistors? Well, you can build an inverter using a transformer by simply flipping the secondary output wires around. A transformer is just a square iron ring with wire wrapped around each side. You have to use discrete pulses rather than continuous logic levels, but that’s how everyone did it in the 40’s and 50’s. To solve the amplification problem, you can use a relay. You can make a relay using only iron and wire, but they’re often small, intricate devices and they have moving parts. I think if they recruited Roman jewelry makers and scaled the size so it was reasonable to work with, they could have produced relays. There are some really impressive pieces of Roman jewelry that have been found. The image is too large to embed here, but take a look at the chain on this piece.

They also would have needed to make memory, a way to preserve the state of the machine. The obvious candidate here is core memory. Most core memory was made using ferrite, but regular iron can be used.  I won’t go into detail here on how core memory works because Wikipedia has a good article on it. If you’re not familiar, I recommend checking it out. It’s a really neat idea. Incidentally, you can also make logic using ferrite cores, like the Elliot 803 did, so that could be useful for supplementing (or even replacing) diode logic.

The last, and perhaps most important thing you need for a computer is electricity! We know that the Baghdad Battery existed back then, but it’s highly unlikely that a plausibly large array of them could power this hypothetical Roman computer. Instead, they would have had to use a generator. This is probably the most difficult part of this hypothetical computer. To turn a water wheel into a generator, they could have used a configuration like this:

Magneto

But you need a magnet for that. Basically the only magnet they would have had access to is Lodestone. There are a couple of ways they could have made a better magnet. From Wikipedia:

  • Heating the [iron] above its Curie temperature, allowing it to cool in a magnetic field and hammering it as it cools. This is the most effective method and is similar to the industrial processes used to create permanent magnets.
  • Placing the item in an external magnetic field will result in the item retaining some of the magnetism on removal. Vibration has been shown to increase the effect. Ferrous materials aligned with the Earth’s magnetic field that are subject to vibration (e.g., frame of a conveyor) have been shown to acquire significant residual magnetism.
  • Stroking: An existing magnet is moved from one end of the item to the other repeatedly in the same direction.

By iterating the process several times to make successively stronger magnets, the Romans could probably have made some magnets good enough for a generator.

It’s important to note that I’m not a historian, I’m a computer engineer (who was trained using modern techniques, at that). So this is all speculation. I think if you traveled back in time to the Roman Empire and told them how to manufacture this stuff, you could plausibly create a very modest computer. My main concern is powering the device, I still don’t know if that would work well enough. But there’s only one way to find out: Experiment…

Are you an expert at Roman history or the kind of engineer who remembers using a mercury delay line? I’d love to hear about other tricks they could have used!

Update: The comments on Hacker News make some interesting points about this article. And here are the comments on MetaFilter.

61 thoughts on “Could the ancient Romans have built a digital computer?

  1. Great article! I really enjoyed reading that (although a fair bit was over my head). It’s humbling to think that could even be a slight possibility. Such an interesting period in history, would be fascinating to bring their greatest minds forward to our day and age.

  2. A mechanical computer was possible with the old Roman tech. In the fact, the Greks did it before. You only need to search for the Antikythera mechanism. In the worst case only was an astronomical clock (some people think that it’s a astronomical calculator), but the mechanical tech that used, and the quality of the mechanism is impressive.

    • Another cowboy that jumps straight to the comments section without reading the article.

      Well done, you just made yourself look stupid in front of the Internet.

      • I think the article might be too quick to dismiss the Antikythera mechanism. The Babbage difference engine prevents small inaccuracies in the gear trains from accumulating by a very clever mechanism that, on every full turn, re-aligns the displayed digits (if they are reasonably close) to the nearest integer value — that’s why it can be called a digital calculator. Why not have them add this feature?

        (Also, if you’re going to postulate that you travelled back in time to tell them how to manufacture why not tell them a little about how to improve their manufacture of gears?)

  3. If you look around the world today you will be able to trace every item’s technological past back to a few antique origins. That doesn’t mean it would have been plausible.

    Romans didn’t even have compasses, and despite the speculation regarding the Baghdad Battery, there is no evidence of actual usage of electrical current.

    It’s more an exercise in Robinson Crusoe tech.

  4. I used to work at Elliott’s in the ’60’s. Not on the 803, though that was the first machine I programmed, on the 4100.

    The 803 used magneto-restrictive Ni delay lines for working register storage. Probably easier to work with than Hg. IIRC higher constrictive performance and much easier to do the read and write coils. But did need high gain on the reader to regenerate the signal. Same problem with core memory. And in both cases the bigger the geometry the higher the energy needed to work them. Not sure it is possible to make the pulses long enough to use relays as amplifiers.

    Another technology they might have been able to use is fluidic logic. See http://en.wikipedia.org/wiki/Fluidic_logic – purely mechanical, no electronics at all. Good seals are the key, but almost anything can be the working fluid. Can get up into the KHz working range with good engineering. All booleans and latches are doable.

  5. Something else the Romans had – a big and disciplined army.

    Each soldier gets commanded to behave like a logic gate. A ‘one’ is a thumbs up – a ‘zero’ a thumbs down. They are ‘connected’ being told which other soldiers to watch, applying their logic rule. A big sweaty guy with drum would bang out the clock. Digital display would be a testudo formation, with only some shields held up.

    (and above it all a languid geek emperor munches another grape as he steadily debugs his new platformer … such a pain to have to display the high score as DCCCXC)

    @coderkeith

    • This seems a much more Roman way of doing things.

      To generalise: the Romans, whilst awesome at logistics, just can’t add subtract multiply or divide. The Greeks could, they were brilliant at it, so I could imagine such a weird device in Greek Alexandria or the like, but not in Rome.

    • That gets into why it never happened. The “Roman Way” was to use cheap slaves…not technology. It wasn’t really until the Black Death made labor dear that technology really started to take off.

      • Technology started to take off in what had been the Western Roman Empire after the Catholics had put an end to slavery, cheap or dear. Water power ground grain and drove fulling mills all over Christendom well before the Black Plague arrived.

    • http://en.wikipedia.org/wiki/Air_conditioning

      The basic concept behind air conditioning is known to have been applied in ancient Egypt, where reeds were hung in windows and were moistened with trickling water. The evaporation of water cooled the air blowing through the window, though this process also made the air more humid (also beneficial in a dry desert climate).

    • I think Roman do have air-condition. According to one of the tour guide that gives tour around the Palatine Hill, the Romans used to have air duct which provide heating during cold days and cold air ventilation during the hot day.

  6. @Zardoz – The author doesn’t need to search for the Antikythera mechanism. It’s mentioned in this article, twice.

    “It’s hard to know how precise manufacturing techniques were back then, but one of the best clues we have is the Antikythera mechanism.”

  7. One problem: Roman numeral systems didn’t have a zero. Even if they had the technology, they didn’t have the mathematical concepts for encoding data in a format suitable for automated processing.

  8. I’ve performed this exercise in other ways, too. One of my favorites is the observation that middle-ages silversmiths and armorers could have built compound bows that would have made steel swiss cheese of the armor of the time.

  9. You know, rather looking at iron wire and diodes for a Roman computer, you should be looking at fluidic logic: pneumatic or hydraulic tubes, flapper valves, push rods, etc. Could the Romans have built miles of skinny pipes to perform logic operations on puffs of air?

    The key thing is to build a “logically adequate” module like a NAND or NOR gate with your chosen technology, everything else is built on that. For fluidic logic, a NAND gate might be built with some sort of bladder that fills in a sealed chamber to cut off another flow.

  10. Keith, that’s brilliant..

    I know there is a game that organizes kids to emulate a microprocessor. Some kids act as the arithmetic/logic unit, other kids act act as memory cells or instruction decoders. Kids on roller skates are the “bus” providing communication services between components.

  11. The paint used by cavemen on cavern walls is also a viable semiconductor candidate.

    Learning how to make things is 95% + of the work. If you travel back in time and explain what to make and how to make it, literally anyone could do this.

  12. Pingback: Links of the Day | History Banter

  13. Roman era does not necessarily imply Romans. The Alexandrian Greeks who are credited with most of the automation inventions including Hero’s steam engine were Grewks. While the Romans were master civil engineers thanks in part to the arch, an invention of the East brought in Europe after Alexander, and its logical twist, the cupola, they rarely made any inventions. Artilery and siege machinery had been invented by Syracusan Greeks and perfected by Philip’s and Alexander’s Macedonians. Archimedes was actually the nemesis of the Romans and was killed by them. The physical sciences as we know them were develeped by the Greeks especialky of Alexandria. If anything, the Roman conquest of the Hellenistic lands, by creating a flood of cheap slave labor became the prime historical hindrance to further developing the application of theoretical into applied science and for creating more machines that saved labor…like Archimefes’ pump.

  14. Using just wire – you can make a resistor. You can also make a memristor – this gives you both memory fx and a way to make Transistors! Still to calibrate would require knowledge of a huge chain of other inventions. Memristors were only discovered 15 years ago – the theory was missing. Could a Roman make these – no – to many other things needed first. Could today’s engineers – yes.

  15. “But you need a magnet for that. Basically the only magnet they would have had access to is Lodestone. There are a couple of ways they could have made a better magnet.”
    if one adds a coil around the N-S bar magnet and then draws some (initially weak) generated electricity from the outer coils to power the coil-magnet-combo turning on the inside then only a weak bar-magnet will be sufficient to create very high currents?voltages?, errr … strong electricity eventually! feed-back loop.

    to be honest, light at night and a way to keep food fresh for extended periods of time (fridge) would probably be more important to roman leaders then a computer?

  16. “To solve the amplification problem, you can use a relay.”
    With relays you can do the whole computer… no need for diodes or core memory.
    Double-throw relays can do logic, and logic can do memory (flip-flop).

  17. Pingback: Could The Ancient Romans Have Built A Digital Computer? | Last news- mosfli-ks.com

  18. Very interesting!

    Few people have spent much time coming up with alternatives to electrically powered logic, but surely there are lots of possibilities. Consider a gravity powered flipflop.

    A flipflop as a black box requires a boolean input, a clock input and a the state/output. In our gravity-powered flipflop, the state could be pebble at one end of its little enclosing cage or the other. The input could be physical restraint to allow the pebble to move in one direction or not. The clock could be flipping the apparatus over. All restrained cages retain their states but those enabled to move in the down direction would change.

    This would be clumsy, slow and inefficient. But in theory, you could craft a real computer with no electric power. A waterwheel could turn the apparatus over.

  19. Pingback: Could the ancient Romans have built a digital computer? | Best of the Web

  20. There is a great that could have been done in the early centuries of the common era, and since technology always builds upon technology there is every reason to think that the modern age could have come centuries before it did.

    Except for one thing: there was no motivation to do these things. Why would the ancient invent labor saving devices when they already had all the labor they could possibly want, i.e., slaves.

  21. Interesting subject. The difficulty with the post is that Romans did not know about the separate elements of a computer. Instead what you’ve posted is background for an old Star Trek episode. Yes, if you were stranded in the past you might use those elements to communicate (?) with …who? As Mr. Spock said, ‘Stone knives and Bear skins’ will not do. But interesting.

  22. They might not have been able to construct a digital computer, but they had all the technology needed to build an analog computer like the differential analyzer. This was first built in 1934, and uses purely mechanical components- the first one was built of Mecchano parts (the British equivalent of the Erector Set.) But while the had the technology, they didn’t have the mathematics needed- most importantly, the caluculus.

  23. Very interesting idea.
    My preference would be hydraulics. The piston pump, tap, and one-way valve gives them all they need.

    While running a hydraulically-sequenced ASM (faster, more reliable, and more accurate than a CNC but takes much longer to set up), I toyed with the idea of replacing electronics with hydraulics. Using only hand tools and scrap brass stock, I made working equivalents.

    AND, OR, NOR, and NAND gates were easy — pistons with a deep groove to align with or close off passages perpendicular to the bore. The only difference between them was the path of the passages. Amplification is the same.
    I only made a couple of each thing. They leaked horribly but worked far better than I expected. The best clock rate was about 0 006Hz.

    The idea that you can’t do binary computing without a zero is laughable. It’s like saying you couldn’t control traffic if everyone was colorblind. 1s and 0s are only conventions. The true states are On and Off.

  24. Pingback: From the Archives: 3/1/2013 Edition « whatsjohnreading

  25. Pingback: Instapundit » Blog Archive » ASKING THE IMPORTANT QUESTIONS: Could the ancient Romans have built a digital computer?…

  26. Admittedly, ancient history was a minor field in my comps, but I do know a bit about the Romans. (It’s a hobby, rather than my professional interest.)

    Assuming we’re talking about the Roman Empire, rather than the Republic, the problem’s fundamentally electricity. Electromagnetism is a little beyond the Roman conception of the world, though they’re probably curious about it. (Note that I’m talking about the full sweep of the Empire, including Romans, Gauls and the Hellenistic East.)

    Mechanical stuff is well in the Roman milleu- they have a very practical knowledge of how to construct a number of geared devices. The tolerances question is the key one- I think, given enough experience with mechanical computers, the Romans would eventually make them to tighter tolerances for basic analog calculating. It’s just a matter of making the measuring tools (Romans get measuring stuff) and finding a craftsman to make it. (Millions to choose from.)

    The comments that point to fluid computing are a lot more Roman. The Romans have a lot of experience with water- from basic plumbing and aqueducts to some really fancy work with fountains, pumps and baths. Particularly as we get into the middle and later empire, the things that they do with decorative fountains and with heating and cooling baths are really impressive. Building a fluid computer? Well in the mindset and ability, I think.

    I think the big sticking point is motivation. The Romans like novelty and practicality- one might be built as a one off for fun, but the Romans would have to have a need for a programmable computer. If they found some, they would keep building them. But, given their mindset (practicality) and math (no calculus or beyond) they would most likely end up with purpose built, single use sorts of things rather than programmable devices.

  27. I think a better fit for the Romans would be spool valves made by investment casting, with air provided by bellows or alternately filling and draining valved chambers with water. Ands and inverters and amplifiers are easy.

    And no, they didn’t have dyadic or binary notation or even a zero per se.

  28. Pingback: Transterrestrial Musings - Ancient Roman Computers

  29. You have talked materials and neglected algorithms. Just try adding
    CCCLXIX + DCCCXLV. Without positional notation, a general purpose computer is a practical impossibility.

    From Wikipedia:

    The Hindu–Arabic numeral system[1] or Hindu numeral system[2] is a positional decimal numeral system developed between the 1st and 4th centuries by Indian mathematicians. The system was adopted by Persian Muslim mathematician (Al-Khwarizmi’s c. 825 book On the Calculation with Hindu Numerals) and Arab mathematicians (Al-Kindi’s c. 830 volumes On the Use of the Indian Numerals) by the 9th century. It later spread to the western world by the High Middle Ages.

    And Rome was “the western world”.

    • I disagree that a lack of positional notation would have stymied the Romans. The examples of Roman numbers that you use are anachronistic, the Romans didn’t use IX for 9. That notation is a medieval innovation. Rather they typically expressed 9 as VIIII.

      Addition of two numbers encoded in Roman numerals can be accomplished mechanically by combining like terms. Subtraction is accomplished by canceling terms that appear in the subtrahend from the minuend, decomposing terms in the minuend as required. Multiplication and division are accomplished by repeated addition and subtraction, respectively.

      Nor does the encoding of a computer instruction set require the idea of place-value, although it would certainly simplify a machine’s construction.

      The advantage of the Hindu system of place-value and a zero is that it speeds calculations done on paper by hand. One might speculate that had the Romans and Byzantines had calculating devices, the replacement of Roman numerals by Hindu numbers might never have happened.

  30. They could have built any number of things but it wouldn’t have mattered much. The main factor in the Industrial Revolution wasn’t technology, it was the very peculiar state of affairs in England 1688 that allowed for creative destruction — in the vast, vast majority of cases the political/economic elites use the state to crush innovation because it threatens their interests. Rome was certainly no exception to this.

    In England (ironically in large part due to their failures relative to other European powers) the balance of political power was such that inventions like steam power and power looms could not be resisted, even as the Hapsburgs and the French shunned them.

  31. Pingback: Wednesday Wrap-Up | Countenance Blog

  32. Poor souls are you. To create a digital computer you only need two things: wood and nerds!

    http://shop.evilmadscientist.com/productsmenu/tinykitlist/375-dcii

    The roman had wood but they hated nerds:

    “Archimedes died c. 212 BC during the Second Punic War, when Roman forces under General Marcus Claudius Marcellus captured the city of Syracuse after a two-year-long siege. According to the popular account given by Plutarch, Archimedes was contemplating a mathematical diagram when the city was captured. A Roman soldier commanded him to come and meet General Marcellus but he declined, saying that he had to finish working on the problem. The soldier was enraged by this, and killed Archimedes with his sword.” From wikipedia.

  33. Pingback: La sélection scientifique de la semaine (no 63) | Passeur de sciences

  34. Pingback: Weekend Reading VI : Blogcoven

  35. Pingback: Systemizing Knowledge | ANOTHER NEOREACTIONARY BLOG

  36. I seem to recall once seeing or reading something about a few computers in early 1960’s being made using transformers instead of transistors or vacuum tubes in the processor circuits. This is very obscure, and was abandoned early. I believe there is youtube video about it, or was, but I have thus far been unable to find it again. If the Romans had wire and iron cores, and batteries as the Baghdad Battery, they could probably have made transformers, but I’m not technical enough to say if they could have made a computer based on this.

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>