It's not so different from playing chess, which computers have done really well for a long time now. You give the program an objective (maximize, minimize or optimize some variable), lay down some foundational ground rules, then tell it to do whatever it can within the rules to achieve the objective.
True. I am curious to what extent they were negotiating. The article made it sound like they were quite shrewd, but then didn't give any details.