Problem Solving

MIT's Solve initiative seeks solutions to its 2017 global challenges

MIT News

MIT's initiative that brings together problem-solvers of all stripes to tackle the world's pressing problems -- has four new global challenges for 2017: brain health; sustainable urban communities; women and technology; and youth, skills, and the workforce of the future. And, it builds and convenes a community of leaders who have the resources, the expertise, the mentorship, and the know-how to get each solution piloted, scaled, and implemented. "In the two and a half years since we first announced Solve, it has evolved in important ways. The May event celebrated the first cycle of Solvers, who worked on those 2016 challenges, by bringing them together with the Solve community to form partnerships to help implement their solutions.

We Knew Ravens Are Smart. But Not This Smart

National Geographic News

New research shows ravens are as skilled as humans as planning and bartering. "Monkeys have not been able to solve tasks like this," Osvath says, noting the birds are actually more skilled than human children. The researchers also set up an experiment to test the birds' bartering skills. "It is really surprising to see ravens were better at solving two planning tasks than great apes and children presented with similar problems," says Alex Taylor, an animal cognition expert University of Auckland in New Zealand who was not involved in the new study.

A Simple Introduction To Data Structures: Part One – Linked Lists


When many developers first realize how important data structures are (after trying to write a system that processes millions of records in seconds) they are often presented with books or articles that were written for people with computer science degrees from Stanford. The second field (the Pointer field) is storing the location in memory to the next node (memory location 2000). Hopefully, this was a quick and simple introduction to why data structures are important to learn and shed some light on when and why Linked List are an important starting point for data structures. If you can think of any better ways of explaining Linked Lists or why data structures are important to understand, leave them in the comments!

It's not you – solving a Rubik's cube quickly is officially hard

New Scientist

A recent study shows that the question of whether a scrambled Rubik's cube of any size can be solved in a given number of moves is what's called NP-complete – that's maths lingo for a problem even mathematicians find hard to solve. To prove that the problem is NP-complete, Massachusetts Institute of Technology researchers Erik Demaine, Sarah Eisenstat, and Mikhail Rudoy showed that figuring out how to solve a Rubik's cube with any number of squares on a side in the smallest number of moves will also give you a solution to another problem known to be NP-complete: the Hamiltonian path problem. On the other hand, problems that have algorithms that run their course in a more reasonable amount of time based on the number of inputs are called P. Researchers are still unsure whether algorithms exist that can solve NP-complete problems faster. "We know an algorithm to solve all cubes in a reasonable amount of time," Demaine says.

Our duty to connect technology and humanity – Rohan Rajiv – Medium


Great human feats are generally accomplished by diverse groups of humans working together. The early days of the technology industry in the "Silicon Valley" were built around rebellion and a desire to be the anti-thesis of the East Coast. And, smart pattern matchers that they were, these early venture capitalists invested in folks who fit their success patterns -- white, male nerds from prestigious universities. There were many stories about inebriated bankers in strip clubs post the crash of 2008 and, more recently, we've heard many a sexual assault story around media men like Roger Ailes and a certain real estate mogul and TV show creator we've all come to know well in the past year.

Using Uninformed & Informed Search Algorithms to Solve 8-Puzzle (n-Puzzle) in Python


For any such board, the empty space may be legally swapped with any tile horizontally or vertically adjacent to it. Given an initial state of the board, the combinatorial search problem is to find a sequence of moves that transitions this state to the goal state; that is, the configuration with all tiles arranged in ascending order 0,1,…,n 2 1. The search space is the set of all possible states reachable from the initial state. Thus, the total cost of path is equal to the number of moves made from the initial state to the goal state.

Deep Learning, Generative Adversarial Networks & Boxing – Toward a Fundamental Understanding


Let's break down a GAN into its basic components: The overall goal of a standard GAN is to train a generator that generates diverse data samples from the true data distribution, leading to a discriminator that can only classify images as real/generated with a 50/50 guess. In the process of training this network, both the generator and the discriminator learn powerful, hierarchical representations of the underlying data that can then transfer to a variety of specific tasks like classification, segmentation, etc… and use-cases. Now that we have a fundamental understanding of GANs, let's revisit their purpose: to learn powerful representations from unlabelled data (i.e. After training a GAN, most current methods use the discriminator as a base model for transfer learning and the fine-tuning of a production model, or the generator as a source of data that is used to train a production model.

Facebook Research just published an awesome paper on learning hierarchical representations


Suppose we have the data of a social network, now when we embed the nodes and by some distance metric we see that two nodes(users) have a small distance then we can suggest the users to be friends on social network. And they used Poincare ball model for the model of hyperbolic space because it is well suited for gradient based optimization, hence backpropagation. We can see that what this model achieves in a 5 dimensional space is better than what euclidean model achieves in 200 dimensional space. They have used hyperbolic space to embed nodes of hierarchical data and achieved some super awesome results.

Artificial Intelligence: Made Easy w/ Ruby Programming; Learn to Create your * Problem Solving * Algorithms! TODAY! w/ Machine Learning & Data ... engineering, r programming, iOS development): Code Well Academy: 9781530826865: Books


Well... it's not a bad book but I don't think it covers "AI" in more than a very generic sense. The author introduces a few simple techniques for resolving schedules via brute force iterative approach (not inappropriate for many use cases), simple case logic, and a few tree/acyclic graph solvers. Ruby code is given for all approaches and it's easy to follow. If you're not in that category, I'd skip it and pick up a good general algorithm text covering data structures and searching.

Microsoft Develops Algorithm to "Divide and Conquer" Ms. Pac-Man


Researchers at Microsoft developed an artificial intelligence (AI) algorithm that can achieve the maximum score on Ms. Pac-Man, 999,999, four times greater than the highest human score. The system, according to Microsoft's blog, was developed by a Maluuba, a deep learning startup company which was acquired by Microsoft earlier in the year. The divide-and-conquer method assigns individual AI agents different tasks but also allows them to work together collaboratively through a "top manager." Potential applications include helping a company's sales team make predictions about which customers to target depending on factors such as which clients are up for contract renewal, which contracts are most valuable to the company, and if the customer is available at a particular day or time.