Moons, maths and mystical maidens

A QMUL astronomy banner with the Moon behind it
Credit: Jo Brodie – under a Public Domain CC0 licence

Heavens above, you’ve discovered a new celestial object! What would you call it? Would you name it Clom, Skaro, Poosh, or even Raxacoricofallapatorius? Or maybe those names are already taken. This sort of thing is complicated – even when it comes to naming new planets, moons or asteroids there are rules, and the need for a bit of computer science too.

It’s not Spock

Asteroids start off being designated using the year and the month they were first detected. Only once their orbit has been correctly predicted can they then be named. Predicting the orbit needs a cosmic fusion of astronomy, physics and lots of computer processing to predict and then check they are where they should be. Choosing a name is not too easy either. Since 1971 when one astronomer named an asteroid ‘2309 Mr. Spock’ after his pet cat, the International Astronomical Union decided to ban pets’ names, but that didn’t stop some creative discoverers getting the names ‘6042 Cheshirecat’ and ‘9007 James Bond’ agreed.

Over the moon

Moons are more difficult to name – more rules apply and more physics and computer science are needed to show they are what they are. A moon not only has to orbit a planet, it must do it in a well-defined way. For example the Cassini probe that’s exploring Saturn and its wonderful ring system discovered a range of small moons that keep the rings of Saturn crisp. Some of these tiny ‘shepherd moons’ orbit near the edges of the gaps in the rings. Materials that drift close to them are pulled back by gravity into the rings, spun off into space or made to crash on the shepherd moon itself. To be able to name one of these moons you need to be able to show that its orbit is stable. When the scientists think they have found a moon, the data from the sensors on the Cassini probe is fed into sophisticated computer simulations to show if that moon has a stable orbit. The outcome of the calculation decides if the moon is, well, a moon.

Good Moon Hunting

The software can even hunt down and find unknown moons. Using the laws of geometry and Kepler’s laws of planetary motion (three rules that German astronomer Johannes Kepler discovered in the 16th century) and applying them to the data from the probe it‘s possible to guess where a moon might be. Scientists then perform a full analysis of the data, including whether the possible moon’s orbit is affected by other known moons, and are able to determine where the previously unknown moons actually are. Using this method, scientists have even discovered so-called retrograde moons, which orbit in the opposite direction to Saturn’s rotation.

Once the orbit is predicted and checked the computer-discovered moon can be named. The scientists have now found so many of these mini-moons that the rules about names have had to change.

More giants and monsters please

To start with the moons of Saturn were named after mythological Greek and Roman giants, but as more were discovered astronomers went over to naming them after the mythical Titans, who fought alongside the giants (and were pretty huge themselves). Finally as more moon hunting showed an ever larger and more fascinating picture the names had to expand to include giants and monsters in Norse, Inuit and Gallic mythologies. Astronomer Carl Murray of Queen Mary, University of London, part of the team who discovered the Saturnian moons Polydeuces and Anthe said “I never thought that a knowledge of ancient mythologies would help me do astronomy”. Quite where this moon-related voyage of discovery will end no one quite knows.

Galileo was the first to observe
Saturn’s rings though he had no
idea what they were. He wrote in his
notebook that the planet had ‘ears’.

Knowing the neighbourhood

Finding moons and keeping an eye on asteroids is an activity that involves astronomers, physicists and computer scientists. Without these scientists all working together, each bringing their skills to work on the problem, our solar system could be a less well-known and more dangerous place to live. We know where things are, after all. We don’t want to end up like Poosh and loose a moon.

Out of the way

Computer science also allows the paths of asteroids to be predicted, which is what’s needed to name them. More importantly these computer models can predict if the asteroids will cut across Earth’s orbit. We don’t want to be unexpectedly hitting one of these lumps, even if the idea makes for a good movie.

Paul Curzon, Queen Mary University of London


Related Magazine …


Subscribe to be notified whenever we publish a new post to the CS4FN blog.


Singing bird – a human choir, singing birdsong

Image by Dieter from Pixabay

“I’m in a choir”. “Really, what do you sing?” “I did a blackbird last week, but I think I’m going to be woodpecker today, I do like a robin though!”

This is no joke! Marcus Coates a British artist, got up very early, and working with a wildlife sound recordist, Geoff Sample, he used 14 microphones to record the dawn chorus over lots of chilly mornings. They slowed the sounds down and matched up each species of bird with different types of human voices. Next they created a film of 19 people making bird song, each person sang a different bird, in their own habitats, a car, a shed even a lady in the bath! The 19 tracks are played together to make the dawn chorus. See it on YouTube below.

Marcus didn’t stop there, he wrote a new bird song score. Yes, for people to sing a new top ten bird hit, but they have to do it very slowly. People sing ‘bird’ about 20 times slower than birds sing ‘bird’ ‘whooooooop’, ‘whooooooop’, ‘tweeeeet’. For a special performance, a choir learned the new song, a new dawn chorus, they sang the slowed down version live, which was recorded, speeded back up and played to the audience, I was there! It was amazing! A human performance, became a minute of tweeting joy. Close your eyes and ‘whoop’ you were in the woods, at the crack of dawn!

Computationally thinking a performance

Computational thinking is at the heart of the way computer scientists solve problems. Marcus Coates, doesn’t claim to be a computer scientist, he is an artist who looks for ways to see how people are like other animals. But we can get an idea of what computational thinking is all about by looking at how he created his sounds. Firstly, he and wildlife sound recordist, Geoff Sample, had to focus on the individual bird sounds in the original recordings, ignore detail they didn’t need, doing abstraction, listening for each bird, working out what aspects of bird sound was important. They looked for patterns isolating each voice, sometimes the bird’s performance was messy and they could not hear particular species clearly, so they were constantly checking for quality. For each bird, they listened and listened until they found just the right ‘slow it down’ speed. Different birds needed different speeds for people to be able to mimic and different kinds of human voices suited each bird type: attention to detail mattered enormously. They had to check the results carefully, evaluating, making sure each really did sound like the appropriate bird and all fitted together into the Dawn Chorus soundscape. They also had to create a bird language, another abstraction, a score as track notes, and that is just an algorithm for making sounds!

Fun to try

Use your computational thinking skills to create a notation for an animal’s voice, a pet perhaps? A dog, hamster or cat language, what different sounds do they make, and how can you note them down. What might the algorithm for that early morning “I want my breakfast” look like? Can you make those sounds and communicate with your pet? Or maybe stick to tweeting? (You can follow @cs4fn on Twitter too).

Enjoy the slowed-down performance of this pet starling which has added a variety of mimicked sounds to its song repertoire.

Jane Waite, Queen Mary University of London


Watch …


Related Magazine …


EPSRC supports this blog through research grant EP/W033615/1.

Can a computer tell a good story?

A tale by Rafael Pérez y Pérez

What’s your favourite story? Perhaps it’s from a brilliant book you’ve read: a classic like Pride and Prejudice or maybe Twilight, His Dark Materials or a Percy Jackson story? Maybe it’s a creepy tale you heard round a campfire, or a favourite bedtime story from when you were a toddler? Could your favourite story have actually been written by a machine?

Stories are important to people everywhere, whatever the culture. They aren’t just for entertainment though. For millennia, people have used storytelling to pass on their ancestral wisdom. Religions use stories to explain things like how God created the world. Aesop used fables to teach moral lessons. Tales can even be used to teach computing! I even wrote a short story called ‘A Godlike Heart‘ about a kidnapped princess to help my students understand things like bits.

It’s clear that stories are important for humans. That’s why scientists like me are studying how we create them. I use computers to help. Why? Because they give a way to model human experiences as programs and that includes storytelling. You can’t open up a human’s brain as they create a story to see how it’s done. You can analyse in detail what happens inside a computer while it is generating one, though. This kind of ‘computational modelling’ gives a way to explore what is and isn’t going on when humans do it.

So, how to create a program that writes a story? A first step is to look at theories of how humans do it. I started with a book by Open University Professor Mike Sharples. He suggests it’s a continuous cycle between engagement and reflection. During engagement a storyteller links sequences of actions without thinking too much (a bit like daydreaming). During reflection they check what they have written so far, and if needed modify it. In doing so they create rules that limit what they can do during future rounds of engagement. According to him, stories emerge from a constant interplay between engagement and reflection.

What knowledge would you need to write a story about the last football World Cup?

With this in mind I wrote a program called MEXICA that generates stories about the ancient inhabitants of Mexico City (they are often wrongly called the Aztecs – their real name is the Mexicas). MEXICA simulates these engagement-reflection cycles. However, to write a program like this you need to solve lots of problems. For instance, what type of knowledge does the program need to create a story? It’s more complicated than you might think. What knowledge would you need to write a story about the last football World Cup? You would need facts about Brazilian culture, the teams that played, the game’s rules… Similarly, to write a story about the Mexicas you need to know about the ancient cultures of Mexico, their religion, their traditions, and so on. Figuring out the amount and type of knowledge that a system needs to generate a story is a key problem a computer scientist trying to develop a computerised storyteller needs to solve. Whatever the story you need to know something about human emotions. MEXICA uses its knowledge of them to keep track of the emotional links between the characters using them to decide sensible actions that then might follow.

By now you are probably wondering what MEXICA’s stories look like. Here’s an example:

“Jaguar Knight made fun of and laughed at Trader. This situation made Trader really angry! Trader thoroughly observed Jaguar Knight. Then, Trader took a dagger, jumped towards Jaguar Knight and attacked Jaguar Knight. Jaguar Knight’s state of mind was very volatile and without thinking about it Jaguar Knight charged against Trader. In a fast movement, Trader wounded Jaguar Knight. An intense haemorrhage aroused which weakened Jaguar Knight. Trader knew that Jaguar Knight could die and that Trader had to do something about it. Trader went in search of some medical plants and cured Jaguar Knight. As a result, Jaguar Knight was very grateful towards Trader. Jaguar Knight was emotionally tied to Trader but Jaguar Knight could not accept Trader’s behaviour. What could Jaguar Knight do? Trader thought that Trader overreacted; so, Trader got angry with Trader. In this way, Trader – after consulting a Shaman – decided to exile Trader.”

As you can see it isn’t able to write stories as well as a human yet! The way it phrases things is a bit odd, like “Trader got angry with Trader” rather than “Trader got angry with himself”. It’s missing another area of knowledge: how to write English naturally! Even so, the narratives it produces are interesting and tell us something about what does and doesn’t make a good story. And that’s the point. Programs like MEXICA help us better understand the processes and knowledge needed to generate novel, interesting tales. If one day we create a program that can write stories as well as the best writers we will know we really do understand how humans do it. Your own favourite story might not be written by a machine, but in the future, you might find your grandchildren’s favourite ones were!

If you like to write stories, then why not learn to program too then you could try writing a storytelling program yourself. Could you improve on MEXICA?

Rafael Pérez y Pérez, Universidad Autónoma Metropolitana, México

from the CS4FN archive

More on …

Related Magazines …


Subscribe to be notified whenever we publish a new post to the CS4FN blog.


This blog is funded by EPSRC on research agreement EP/W033615/1.

QMUL CS4FN EPSRC logos