How will we find enough people to design, engineer and build the spaceships of the future — the mile-long versions that will course through the universe? How will we reengineer the human genome and get rid of the errors that lead to disease and suffering? These achievements will require vast legions of engineers, scientists and project managers. There will never be enough people to fill those roles. We’ll depend on machines to supplement our ranks.
So how will we get those machines to mimic us? Will we use Python? R? Neural networks? AI algorithms? How will those technologies scale and provide the flexibility needed to store the knowledge and produce the behaviors of our electronic helpers?
The solution starts from the bottom up, from the foundation. Knowledge representation is that foundation. A knowledge representation system has to be flexible enough to represent all human knowledge, and scalable enough to handle both the volume and complexity of such knowledge. If you use the right system, you can build up and branch out ad infinitum. If you don’t, you’ll quickly reach a point of diminishing returns as your solutions fill up with kludges and epicycles. You have to pick the right building blocks to represent knowledge. You have to get your first principles right.