I'd like some coffee. How should I go about obtaining a cup.
I can brew a cup. Ok, do I have coffee? If yes, do I have water? If yes, does the coffee pot have water? If yes, was coffee grinds added to coffee pot? If yes, is there a cup beneath the spout? If yes, is the coffee maker turned on? If yes, press the start button.
There's pre-defined logic that can be accounted for. If any of the questions had been answered no, there's a whole new set of logic questions that need to be handled.
It's the job of the programmer, to identify, document, translate business logic into code, that has a set of rules to handle the flow accordingly, and trap errors along the way.
Let's change the story. Let's get a cup of coffee at the local Bux.
Is the store open? If yes, Is there a line? If Yes, get in line. Is it your turn? If yes, greet nice sales person, order coffee. Is coffee ready? If yes, do you have money? If yes, is it credit card or cash? Etc. etc.
The point is, there are still predefined rules to adhere to. Yet when you add in a human factor, you expand the level of complexity. There are too many extraneous factors to account for. So it becomes increasingly difficult to handle every scenario.
Let's add in artificial intelligence. A computer brain, doesn't necessarily need a body, must handle millions and millions of different scenarios, apply the appropriate algorithm, and based on the response, must update it's memory bank / neural network with the results. A neural network is a type of memory bank that is trained to respond based on weighted variables. It gets fed information, which triggers a neuron to fire true or false based on a a weighted percentage, which in turn triggers more neurons downstream.
They are able to train models to handle specific scenarios. The goal is to mimic the human brain. The results thus far have been hopeful, yet it's still not there yet. And my guess is the human brain is so complicated, we are unable to decipher its behavior with any practical results.
At some point in the future, perhaps we'll get closer to mimicking the human brain so much that differentiating between the computer and human is nearly impossible, called the Turing Test.