WOLFRAM

Wolfram Language

Best of Blog

Predicting Who Will Win the World Cup with Wolfram Language

Check out Etienne’s updated predictions from Thursday, June 26 here. The FIFA World Cup is underway. From June 12 to July 13, 32 national football teams play against each other to determine the FIFA world champion for the next four years. Who will succeed? Experts and fans all have their opinions, but is it possible to answer this question in a more scientific way? Football is an unpredictable sport: few goals are scored, the supposedly weaker team often manages to win, and referees make mistakes. Nevertheless, by investigating the data of past matches and using the new machine learning functions of the Wolfram Language Predict and Classify, we can attempt to predict the outcome of matches. The first step is to gather data. FIFA results will soon be accessible from Wolfram|Alpha, but for now we have to do it the hard way: scrape the data from the web. Fortunately, many websites gather historical data (www.espn.co.uk, www.rsssf.com, www.11v11.com, etc.) and all the scraping and parsing can be done with Wolfram Language functions. We first stored web pages locally using URLSave and then imported these pages using Import[myfile,"XMLObject"] (and Import[myfile,"Hyperlinks"] for the links). Using XML objects allows us to keep the structure of the page, and the content can be parsed using Part and pattern-matching functions such as Cases. After the scraping, we cleaned and interpreted the data: for example, we had to infer the country from a large number of cities and used Interpreter to do so: From scraping various websites, we obtained a dataset of about 30,000 international matches of 203 teams from 1950 to 2014 and 75,000 players. Loaded into the Wolfram Language, its size is about 200MB of data. Here is a match and a player example stored in a Dataset:
Products

How the Wolfram Language Measures Up

Back in 2012, Jon McLoone wrote a program that analyzed the coding examples of over 500 programming languages that were compiled on the wiki site Rosetta Code. He compared the programming language of Mathematica (now officially named the Wolfram Language) to 14 of the most popular and relevant languages, and found that most programs can be written in the Wolfram Language with 1/2 to 1/10 as much code---even as tasks become larger and more complex. We were curious to see how the Wolfram Language continues to stack up, since a lot has happened in the last two years. So we updated and re-ran Jon's code, and, much to our excitement (though we really weren't all that surprised), the Wolfram Language remains largely superior by all accounts! Keep in mind that the programming tasks at Rosetta Code are the typical kinds of exercises that you can write in conventional programming languages: editing text, implementing quicksort, or solving the Towers of Hanoi. You wouldn’t even think of dashing off a program in C to do handwriting recognition, yet that’s a one-liner in the Wolfram Language. And since the Wolfram Language’s ultra-high-level constructs are designed to match the way people think about solving problems, writing programs in it is usually easier than in other languages. In spite of the Rosetta Code tasks being relatively low-level applications, the Wolfram Language still wins handily on code length compared to every other language. Here's the same graph as in Jon's 2012 post comparing the Wolfram Language to C. Each point gives the character counts of the same task programmed in the Wolfram Language and C. Notice the Wolfram Language still remains shorter for almost every task, staying mostly underneath the dashed one-to-one line: The same holds true for Python:
Design & Visualization

SlideOScope and Wolfram Language Magically Transform Your Photos and Art

Donald Barnhart is a self-proclaimed mad optical scientist and independent business owner. He’s been developing optical design and analysis software in Mathematica since 1991, he’s the creator of the popular Optica software package, and he’s the developer of the first successful high-resolution holographic instrument that measures three-dimensional velocity fields in fluids. Now Barnhart has another invention to add to his list of accomplishments: a totally new kind of photo album called the SlideOScope.
Products

Rich Interactivity of New ebook, Incredible Numbers, Created with the Wolfram Language

Touch Press recently announced its newest title, Incredible Numbers, by Ian Stewart. The rich interactive explorations in the ebook were prototyped in the Wolfram Language by Phil Ramsden, who is a Teaching Fellow at Imperial College London and a Mathematica trainer. We asked him to relate his experience here. Ian Stewart's mathematical imagination is boundless. There are few areas of the subject that haven't been illuminated, for a general readership, by his gift for clear and vivid exposition. So when Ian, Touch Press, and Profile Books decided to create something interactive, they needed a development and prototyping environment in which you can do pretty much anything; a mere specialist application wasn’t going to cut it. That's where the Wolfram Language came in and, happily for me, where I did too. The Wolfram Language provides an environment in which you can do pretty much anything, and do it quickly. The reason that the Wolfram Language is such a “game-changer” is that where interactive content is concerned, it takes us into a world where an idea (such as one of Ian’s) can become a working prototype in no time.
Products

Injecting Computation Everywhere–A SXSW Update

Two weeks ago I spoke at SXSW Interactive in Austin, TX. Here’s a slightly edited transcript (it’s the “speaker’s cut”, including some demos I had to abandon during the talk): Well, I’ve got a lot planned for this hour. Basically, I want to tell you a story that’s been unfolding for me for about the […]

Products

Starting to Demo the Wolfram Language

We’re getting closer to the first official release of the Wolfram Language—so I am starting to demo it more publicly. Here’s a short video demo I just made. It’s amazing to me how much of this is based on things I hadn’t even thought of just a few months ago. Knowledge-based programming is going to […]

Products

Launching the Wolfram Connected Devices Project

Connected devices are central to our long-term strategy of injecting sophisticated computation and knowledge into everything. With the Wolfram Language we now have a way to describe and compute about things in the world. Connected devices are what we need to measure and interface with those things. In the end, we want every type of […]

Products

“Happy Holidays”, the Wolfram Language Way

I have the good fortune of knowing many people, which means I end up sending out lots of holiday cards. For many years I used to send out physical cards. But last year, convenience, timeliness and ease of reply made me finally make the switch to e-cards. I often like to write notes on the […]