Wolfram Computation Meets Knowledge

Date Archive: 2014 June

Products

World Cup Follow-Up: Update of Winning Probabilities and Betting Results

Find out Etienne’s initial predictions by visiting last week’s World Cup blog post. The World Cup is half-way through: the group phase is over, and the knockout phase is beginning. Let's update the winning probabilities for the remaining teams, and analyze how our classifier performed on the group-phase matches. From the 32 initial teams, 16 are qualified for the knockout phase:
Products

Wolfram Programming Cloud Is Live!

Twenty-six years ago today we launched Mathematica 1.0. And I am excited that today we have what I think is another historic moment: the launch of Wolfram Programming Cloud—the first in a sequence of products based on the new Wolfram Language. My goal with the Wolfram Language in general—and Wolfram Programming Cloud in particular—is to […]

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:
Announcements & Events

Wolfram Technology Conference 2014: Register Now!

It’s been a productive 2014 already here at Wolfram with tons of new technology being released and a whole new world of possibilities opening up. One great way to learn more about these accomplishments is to join us at the 2014 Wolfram Technology Conference. The conference takes place Wednesday, October 22 through Friday, October 24, in Champaign, Illinois (our headquarters). This year's talks will highlight the Wolfram Language and the thriving ecosystem growing around it, including the new Wolfram Programming Cloud, Mathematica, Wolfram|Alpha, SystemModeler, and more. At the conference, you’ll hear from Stephen Wolfram himself. Plus our top Wolfram developers will cover exciting new features in-depth, while industry experts will show you how you can use Wolfram technologies in your everyday work to accomplish more--and do so more efficiently.
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: