Wolfram Computation Meets Knowledge

Wolfram Summer School


Richard Lapin

Science and Technology

Class of 2019


In June 2019, Richard Lapin graduated with a Bachelor of Science degree in Economics from University College London (UCL). He has written two research papers so far—one exploring the correlation between voting patterns and socioeconomic background in Slovak parliamentary elections and the other one identifying the underlying reasons behind the low level of wages relative to productivity in the Visegrad group countries and discussing policies to fix the situation. In August 2019, he will be joining Accenture in Bratislava as a Junior Consultant in the management consulting division. Among Richard’s academic interests are game theory, various asset pricing models, labour economics and environmental economics. In his free time, Richard enjoys hiking, playing basketball or watching British comedy panel shows.

Computational Essay: Prisoner’s dilemma

Project: Cartogram Function


The goal of this project is to create a function that creates maps with geometric distortion. The distortion conveys a piece of information obtained from the due dataset. Currently, more than 25 different algorithms for creating distortion can be found in the literature. As I enjoy working with matrices, I decided to use the cellular automata machine method. The algorithm was developed in 1990 by Daniel Dorling, an English social geographer and a professor of geography at the University of Oxford. The limitations of this approach are that it does not work properly for non-contiguous areas and that it preserves the global borders. However, it is relatively easy to implement in the Wolfram Language and the output is reliable.

Summary of Results

I successfully managed to build the function based on Daniel Dorling’s cellular automata machine algorithm. Unfortunately, the built-in function CellularAutomata isn’t suitable for use here, so I had to use a less efficient method. The function has four arguments, three of which are optional and have default values. The first argument can takes an entity of the type “Country”.

Future Work

I will try to think about a way to rewrite the algorithm so the function CellularAutomata can be used because I believe it would significantly speed up the whole process.