15.04.2018 Views

programming-for-dummies

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

644<br />

Problem Solving<br />

The idea that computers can think has divided<br />

computer scientists into two camps — strong<br />

and weak AI. The strong AI camp claims that<br />

not only can computers eventually learn to<br />

think, but they can become conscious of their<br />

thinking as well. The weak AI camp claims that<br />

computers can never think in the same sense<br />

as humans because their thinking process is<br />

nothing more than clever algorithms written by<br />

a human programmer in the first place.<br />

Strong AI proponents claim that the human<br />

brain is nothing more than a set of algorithms,<br />

known as instinct, that’s already embedded in<br />

Strong versus weak AI<br />

our brains, so putting algorithms in a computer<br />

is no different. Weak AI proponents claim that<br />

consciousness is something that only living<br />

creatures can have, so it’s impossible <strong>for</strong> a<br />

computer to ever become aware of itself as a<br />

sentient being.<br />

Neither side will likely persuade the other, but<br />

this endless debate does prove that just<br />

because someone has earned a Ph.D. in computer<br />

science from a prestigious university<br />

doesn’t mean that he or she can’t waste time<br />

arguing about a topic that no one can ever<br />

answer anyway, like politics, religion, or sports.<br />

Basically, AI boils down to two topics — problem-solving and machine learning:<br />

✦ Problem solving: When faced with a situation with missing in<strong>for</strong>mation,<br />

the computer can calculate an answer anyway.<br />

✦ Machine learning: The computer can gradually learn from its mistakes<br />

so it won’t repeat them again (which is something even humans have a<br />

hard time mastering in their lifetime).<br />

Problem Solving<br />

Computers are great at solving simple problems that have a clearly defined path<br />

to a solution. That’s why a computer can calculate the optimum trajectory <strong>for</strong><br />

launching a rocket to the moon because this problem involves nothing more<br />

than solving a lot of math problems one at a time.<br />

Although the idea of calculating the trajectory of a moon rocket may seem<br />

daunting, it’s a problem that a human programmer can define how to solve<br />

ahead of time. Computers don’t need to be smart to solve this type of problem.<br />

Computers just need to be fast at following directions.<br />

Un<strong>for</strong>tunately, human programmers can’t write algorithms <strong>for</strong> solving all<br />

types of problems, so in many cases, the computer is left with trying to solve<br />

a problem without any distinct instructions <strong>for</strong> what to do next. To teach<br />

computers how to solve these types of problems, computer scientists have<br />

to create algorithms that teach computers how to gather in<strong>for</strong>mation and<br />

solve indistinct problems by themselves.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!