# The Future of Thought, via Thought Vectors

In my opinion this is one of the most promising directions in AI. I expect significant progress in the next 5-10 years. Note the whole problem of parsing languages like English has been subsumed in the training of neural Encoders/Decoders used, e.g., in the translation problem (i.e., training on pairs of translated sentences, with an …

More

# Fischetti on Benders Decomposition

I just came across slides for a presentation that Matteo Fischetti (University of Padova) gave at the Lunteren Conference on the Mathematics of Operations Research a few days ago. Matteo is both expert at and dare I say an advocate of Benders decomposition. I use Benders decomposition (or variants of it) rather extensively in my …

More

# Dangerous Knowledge and Existential Risk (Dominic Cummings)

Dominic Cummings begins a new series of blog posts. Highly recommended! It’s worth noting a few “factor of a million” advances that have happened recently, largely due to physical science, applied mathematics, and engineering: 1. Destructive power of an H-bomb is a million times greater than that of conventional explosives. This advance took ~20 years. …

More

# Pro Bono Analytics Is Growing Social

Pro Bono Analytics is a program by INFORMS (the Institute for Operations Research and the Management Sciences, for the acronym-averse), “the largest society in the world for professionals in the field of operations research (O.R.), management science, and analytics”. PBA “connects our members and other analytics professionals with nonprofit organizations working in underserved and developing communities”. …

More

# AlphaGo (BetaGo?) Returns

Rumors over the summer suggested that AlphaGo had some serious problems that needed to be fixed — i.e., whole lines of play that it pursued poorly, despite its thrashing of one of the world’s top players in a highly publicized match. But tuning a neural net is trickier than tuning, for example, an expert system …

More

# Mapping Trackball Buttons

For years, I’ve used a Logitech M570 wireless trackball with my Linux Mint PC. I generally prefer trackballs to mice — no need to lift and reposition after a bunch of movement — and I find that using my thumb, rather than my index finger (or, if I’m in a bad mood, my middle finger) …

More

# rJava: The Gift That Keeps On Giving

I’ve written not once but twice before (in 2011 and 2015) about the hassles of getting the rJava package to work with R. Every time I think I have a fix for it, someone changes something somewhere and the previous fix no longer works. I had to reinstall rJava today (from the Canonical repositories) after …

More

# Using an MCE Remote with Mythbuntu

As I chronicled in a previous post, I’ve been using MythMote on my (Android) cell phone to serve as a remote control for my MythTV installation (running on Mythbuntu) when watching recordings  or live TV. For the most part this works fine, but there are little inconveniences associated with it, so I decided it was …

More

As I mentioned a couple of months ago, I upgraded a laptop from Linux Mint 17.3 (“Rebecca”) to 18.0 (“Sarah”) with minimal difficulties. My laptop serves as a guinea pig for these things. Once I’m sure things work fine on the laptop, I’ll consider upgrading my desktop as well. A few days ago I finally …

More

# A Panel Launcher Menu for MATE

A recent upgrade to my Linux Mint PC forced me to switch the desktop environment from Cinnamon (which I’ve been using for years) to MATE. For the most part, that was painless, but a few things from my old desktop did not translate well. I had the icons on my Cinnamon desktop organized in a …

More

# Thought vectors and the dimensionality of the space of concepts

This NYTimes Magazine article describes the implementation of a new deep neural net version of Google Translate. The previous version used statistical methods that had reached a plateau in effectiveness, due to limitations of short-range correlations in conditional probabilities. I’ve found the new version to be much better than the old one (this is quantified …

More

# Support for Benders Decomposition in CPLEX

As of version 12.7, CPLEX now has built-in support for Benders decomposition. For details on that (and other changes to CPLEX), I suggest you look at this post on J-F Puget’s blog and Xavier Nodet’s related slide show. [Update 12/7/16: There is additional information about the Benders support in a presentation by IBM’s Andrea Tramontani …

More

# Von Neumann: “If only people could keep pace with what they create”

I recently came across this anecdote in Von Neumann, Morgenstern, and the Creation of Game Theory: From Chess to Social Science, 1900-1960. One night in early 1945, just back from Los Alamos, vN woke in a state of alarm in the middle of the night and told his wife Klari: “… we are creating … …

More

# MIP Models in R with OMPR

A number of R libraries now exist for formulating and solving various types of mathematical programs in R (or formulating them in R and solving them with external solvers). For a comprehensive listing, see the Optimization and Mathematical Programming task view on CRAN. I decided to experiment with Dirk Schumacher’s OMPR package for R. OMPR …

More

# Interactive R Plots with GGPlot2 and Plotly

I refactored a recent Shiny project, using Hadley Wickham’s ggplot2 library to produce high quality plots. One particular feature the project requires is the ability to hover over a plot and get information about the nearest point (generally referred to as “hover text” or a “tool tip”). There are multiple ways to turn static ggplots …

More

I decided to upgrade first my laptop (the canary in the mine shaft), then my desktop (assuming the canary lived), from Linux Mint 17.3 (“Rebecca”) to 18.0 (“Sarah”). The “old school” approach would be to download the distribution to a CD/DVD, or create a bootable version on a USB stick, test it and then install …

More

# AI, Westworld, and Electric Sheep

AI, Westworld, and Electric Sheep I’m holding off on this in favor of a big binge watch. Certain AI-related themes have been treated again and again in movies ranging from Blade Runner to the recent Ex Machina (see also this episode of Black Mirror, with Jon Hamm). These artistic explorations help ordinary people think through …

More

# DNS on Home WiFi

DNS on Home WiFi Like a lot of people, I have a home WiFi network, and I recently changed my Internet service provider. That required replacing my cable modem. Both the old and new modems provided a DHCP service that doled out local IP addresses to devices connecting to the home WiFi network. Both modems …

More

# Better Estimate, Worse Result

I thought I might use a few graphs to help explain an answer I posted on Quora recently. First, I’ll repeat the question here: In parametric optimization with unknown parameters, does a better estimator of the parameter always lead to better solutions to the actual problem? Here we’re trying to minimize f(x,θ) with respect to …

More

# Formatting in a Shiny App

I’ve been updating a Shiny (web-based interactive R) application, during the course of which I needed to make a couple of cosmetic fixes. Both proved to be oddly difficult. Extensive use of Google (I think I melted one of their cloud servers) eventually turned up enough clues to get both done. I’m going to record …

More

# Some R Resources

(Should I have spelled the last word in the title “ResouRces” or “resouRces”? The R community has a bit of a fascination about capitalizing the letter “r” as often as possible.) Anyway, getting down to business, I thought I’d post links to a few resources related to the R statistical language/system/ecology that I think may …

More

I recently picked up a pair of Bluetooth headphones (Mixcder ShareMe 7) for use with my laptop (which runs Linux Mint). Getting them to connect properly was a bit of an adventure. After I had things (mostly) sorted out, I decided to script the steps necessary to get them working so that I could just …

More

# Finding the Kernel of a Matrix

I’m working on an optimization problem (coding in Java) in which, should various celestial bodies align the wrong way, I may need to compute the rank of a real matrix and, if it’s less than full rank, a basis for its kernel. (Actually, I could get by with just one nonzero vector in the kernel, …

More

# Enforcing Simultaneous Arrivals

I’m recapping here an answer to a modeling question that I just posted on a help forum. (Since it will now appear in two different places, let’s hope it’s correct!) The original poster (OP) was working on a routing model, in which vehicles (for which I will use and if needed as indices) are assigned …

More

# MathJax Whiplash

Technology is continuously evolving, and for the most part that’s good. Every now and then, though, the evolution starts to look like a random mutation … the kind that results in an apocalyptic virus, or mutants with superpowers, or something else that is much more appealing as a plot device in a movie or TV …

More

# Using CLP with Java

The COIN-OR project provides a home to a number of open source software projects useful in operations research, primarily optimization programs and libraries. Possibly the most “senior” of these projects is CLP, a single-threaded linear program solver. Quoting the project description: CLP is a high quality open-source LP solver. Its main strengths are its Dual …

More

# Java “Deep Learning” Library

If you are a Java (or Scala) (or maybe Clojure?) programmer interested in analytics, and in particular machine learning, you should take a look at Deeplearning4j (DL4J). Quoting their web site: Deeplearning4j is the first commercial-grade, open-source, distributed deep-learning library written for Java and Scala. Integrated with Hadoop and Spark, DL4J is designed to be …

More

# Accessing R Objects By Name

At a recent R user group meeting, the discussion at one point focused on two of the possibly lesser known (or lesser appreciated?) functions in the base package: get and assign. The former takes a string argument and fetches the object whose name is contained in the string. The latter does the opposite, assigning an …

More

# Matching Ordering Is Not Always Easy

In some circumstances, you might want to build an optimization model containing two sets of variables, say and , and constrain them so that the sort order of each matches. That condition is easily expressed in logical terms: if and only if for all pairs with . Translating that into a mathematical programming model that …

More

# Deep Learning tutorial: Yoshua Bengio, Yann Lecun NIPS 2015

I think these are the slides. One of the topics which I’ve remarked on before is the absence of local minima in the high dimensional optimization required to tune these DNNs. In the limit of high dimensionality a critical point is overwhelmingly likely to be a saddlepoint (have at least one negative eigenvalue). This means …

More

# The story of the Monte Carlo Algorithm

George Dyson is Freeman’s son. I believe this talk was given at SciFoo or Foo Camp. More Ulam (neither he nor von Neumann were really logicians, at least not primarily). Wikipedia on Monte Carlo Methods. I first learned these in Caltech’s Physics 129: Mathematical Methods, which used the textbook by Mathews and Walker. This book was …

More

# SOLVED: Problem with Impressive

I’ve written before (here and here) about using the open-source Impressive program to display PDF presentations. It’s been quite a while since I used it, or any other presentation software for that matter — retired geezers don’t do a lot of presenting — but I’ll be helping the INFORMS Student Chapter at the University of …

More

# Tale of the Loose Cable

Friday I used my laptop (Acer Aspire V5-131, Linux Mint 17.3) at a coffee shop with no problems. Saturday it wouldn’t boot. The specific error message was: Broadcom UNDI PXE2.1 v15.0.1 <blah blah blah> PXE-E61: Media test failure, check cable PXE-M0F: Exiting Broadcom PXE ROM No bootable device — insert boot disk and press any …

More

# Presentation from #macul16: Making your own educational games with Twine

I few months ago, I shared some of the thoughts I had shared at a professional development day at a school here in Michigan. I intentionally left out part of the presentation with the intention of coming back to it later, which I never did. Last week, I dusted off those thoughts and shared an …

More

# Demis Hassabis: The Future of Artificial Intelligence

Thanks to AlphaGo and Lee Sedol, even my wife is interested in AI :-) Here’s a recent talk by DeepMind CEO Demis Hassabis, whose comments start @5:30 min. The content of this talk is suitable for a non-technical audience. @39 min: AlphaGo value / policy nets, and tree search. @1h03: over the summer DeepMind will …

More

# Questions About “Computer Science For All”

Nationwide efforts are underway to expand computer science (CS) offerings in K-12 schools. Several weeks ago, President Obama unveiled twin budget proposals to supplement state and local efforts to bolster CS education: a $4 billion proposal to help states increase their CS offerings, and a$100 million competitive grant program for school districts trying to enroll more …

More

# A CP Model for the Weight Problem of Bachet de Meziriac

Fellow OR blogger Erwin Kalvelagen just posted a MINLP model for a puzzle apparently posed by French mathematician Claude Gaspard Bachet de Méziriac. You can read the puzzle statement on Erwin’s blog; a brief synopsis is that you are looking to find four integer weights that sum to 40, such that any object with integer …

More

# Moore’s Law and AI

By now you’ve probably heard that Moore’s Law is really dead. So dead that the semiconductor industry roadmap for keeping it on track has more or less been abandoned: see, e.g., here, here or here. (Reported on this blog 2 years ago!) What I have not yet seen discussed is how a significantly reduced rate …

More

# DeepMind and Demis Hassabis

Recent profile in the Guardian; 15 facts about Hassabis. The mastery of Atari games through reinforcement learning deep neural nets is described here (Nature). See also Deep Neural Nets and Go: AlphaGo beats European champion. Guardian: … “We’re really lucky,” says Hassabis, who compares his company to the Apollo programme and Manhattan Project for both …

More

# Lessons learned when Web scraping #GorafiESR tweets

I’ve posted in the past about Web scraping Twitter user profiles, but I took some time last week to tackle something else that I’ve been thinking about: Scraping the tweets themselves. Web scraping tweets is a nifty trick, but it doesn’t necessarily have an obvious application right off the bat. I wound up doing it …

More

# Port Forwarding in Mythbuntu

My MythTV setup recently broke in an “interesting” way, and the fix I came up with is a bit involved … so be warned, what follows is a major kludge. Setup Before explaining the pathology (and fix), I need to describe the setup. I have Mythbuntu installed on a PC whose only function is to …

More

# Exploring game reviews with the DataBasic suite

This morning, I learned about the DataBasic suite of easy-to-use data tools from an article on the FlowingData blog. The suite offers three basic tools that let beginners cut their teeth on data science by doing some initial exploration of a dataset (either one you provide or a default dataset on the website): WordCounter lets …

More

# Oracle Java 8 Update

For quite a while, I was getting security nags from Firefox every time a web site wanted to run a Java applet. Firefox would tell me I needed to upgrade to the latest version of Java. That would have been fine, except that I was already running the latest Java (1.8.0_66 as of this writing). …

More

# Evolving Intelligence … With a Little Help

The year 2015 may go down in history for a lot of things. Just this December saw a number of firsts: A movie about armed conflict among celestial bodies breaks all records, a rocket delivers a payload of satellites and returns back to Earth vertically, not to mention the politics of the election cycle. But …

More

A couple of weeks ago, I spent some time discussing how to use R and Web scraping to retrieve information on Twitter users’ locations, as stored in their profiles. I’ve since updated the code to scrape not only locations, but names, descriptions, locations, personal websites, join dates, number of tweets, number of users following, number …

More

# A glimpse at assessment in Minecraft

For the past two semesters, I’ve been teaching CEP 813: Electronic Assessment for Teaching and Learning, a course associated with MSU’s Master of Arts in Educational Technology and Graduate Certificate for Online Teaching and Learning. There’s a lot of great information in this course, but one of the highlights for me is the two-week unit …

More

# Plotting Twitter users’ locations in R (part 4: the results)

After a week of going through the ins and outs of my experience with the #educattentats hashtag, it’s time to see some results! Yesterday, I discussed how I used the ggmaps package to turn the text string “locations” in users’ Twitter profiles into latitude and longitude coordinates. Once you have those, plotting them on a …

More

# Plotting Twitter users’ locations in R (part 3: turning text to coordinates)

Plotting Twitter users’ locations in R (part 3: turning text to coordinates) In yesterday’s post, I described how I scraped Twitter users’ profiles to collect the locations (as text strings) that they list in those profiles. This was a fantastic leap forward for my eventual goal of indicating on a map the location of everyone …

More

# Plotting Twitter users’ locations in R (part 2: geotags vs. Web scraping vs. API)

Yesterday, I mentioned discovering the French hashtag #educattentats that was created in the wake of the 13 November terrorist attacks. As far as I can tell, I discovered the hashtag shortly after it was created, so it’s been interesting to see how use of the hashtag has grown in the hours, days, and weeks since. …

More

# Exploring the difference between good games and bad ones?

Over the past year or so, I’ve been working with data from the websites BoardGameGeek and VideoGameGeek. As both of these sites are crowd-sourced, there’s a huge amount of player-generated data about games, and I feel like there’s a lot that we can learn from it that has implications for educational games. For example, earlier …

More