1 / 29100%
Module 7
E-Commerce, Databases, and Artificial Intelligence
A. Ecommerce
Databases are an important component of any ecommerce business, in fact of any
business. We’ll discuss databases in more detail later in this chapter. Then, we’ll look at
the relatively new world of data science: some of the tools it uses, privacy considerations
that arise because information about us is likely to be stored in many databases, and
finally some examples of how the use of data science can improve, or even save, lives.
Assume that you run a retail rug business—let’s call it “Rugs-For-You”— out of
a traditional store, that is, a store with a physical building, display windows, aisles with
merchandise, and salespeople. In addition to your traditional store, you have decided to
establish a web presence for your business where customers can visit, view area rugs for
sale, ask questions, make a selection, purchase a rug, and arrange to have it delivered to
them, all in a quick, easy, and secure electronic environment. In other words, you have*
decided to expand your retail business into the ecommerce world.
As a small business owner, you might not know much about HTML, to say
nothing of the many other technologies used in creating webpages, such as XML (see the
Special Interest Box “Beyond HTML” in Chapter 10). However, you can hire someone
who knows these technologies, ask that person to put together some webpages for your
store, and presto, you’re in ebusiness! But maybe not for long. Opening an online store
requires at least as much planning as building another physical store location—in fact,
probably more, because it is a different medium in which to do business.
Let’s assume that you and your company officers have assessed the objectives,
the risks, and the costs, and you feel that overall your bottom line will improve by going
online. What should happen next? Once you decide to move into the ecommerce arena,
there are still many questions to be answered and decisions to be made. The first major
decision is choosing between in-house development (doing the work within your own
company), outsourcing (hiring an outsider to do the work), or, for small retail businesses,
using an off-the-shelf software package designed to host an online retail enterprise right
out of the box. In fact, this is not a single decision but a whole host of decisions.
Are you going to use your existing staff to develop this ebusiness, either because
they already have the necessary skills or because they will be retrained? Will you hire
new personnel with the needed skills? Or will you turn the entire job over to an
ASP*(application service provider) who, for a fee, will design your website and manage it
or host it on an ongoing basis? You will need at least one web server machine to host
your website. You may need additional computers to store your customer database
information, to support program development, to provide backup capabilities in case of
hardware malfunctions, and to supply the appropriate network connections and security.
Do you have these machines? Will you buy them? Will you lease space on someone
else’s commercial web server? Or will you use a cloud computing service, which can
supply computer assets that expand or shrink according to your needs?
What draws a customer to online shopping? The number-one attraction is
probably convenience. Your online store is open 24 hours a day, 365 days a year. People
can shop from the comfort of home, save time, and avoid the hassles of traffic. It is also
easy to comparison shop merely by hopping from one website to another. But this also
means that your competition is just a mouse click or a finger tap away. You post your
homepage URL on flyers, in print and TV advertisements, on letterhead, and on any other
traditional promotional materials you may produce.
You want your domain name (your homepage URL) to relate so closely to your
business name that potential customers can easily guess it if they don’t have it in front of
them. Who wouldn’t try www.mcdonalds.com to reach this well-known fast-food giant?
Of course, Rugs-For-You might not be quite that well known. Domain names are
registered by companies, called registrars, that are accredited for this purpose by ICANN
(Internet Corporation for Assigned Names and Numbers), a nonprofit corporation that
took over the task of domain name management from the U.S. government in 1998.
When a domain name is registered, it becomes part of the DNS so that web browsers can
find your IP address and get to your site. A list of these accredited registrars can be
obtained from www. internic.net/regist.html. A number of websites allow you to
determine whether a particular domain name has already been registered. In addition to
registering your “real” domain name (rugs-for-you.com), you would be wise to register
obvious spelling variants (rugs-for-u.com, rugs-4-u.com, etc.) if they are available, so
that all roads lead to your website.
Regular customers at your traditional store are treated with special care. You
might mail them promotional offers that you think will be of interest to them, and the
salespeople know them when they walk into the store and greet them by name. You pay
particular attention to their needs because, after all, return customers are the heart and
soul of your business. How will your online store provide this type of personalized
attention?
Other sites that do not require a customer login might still greet the customer with
“Welcome, John,” for example, and arrange a webpage with items tied to John’s apparent
interests, based on his last purchase. This type of website personalization can be
accomplished by means of cookies. A cookie is a small text file that the web server sends
to the user’s browser and that gets stored on the user’s computer or handheld device. It
contains personal information about the user, such as name, address, time of visit, and
what was looked at or bought. On the customer’s next visit to that same site, the browser
sends the cookie back to the server (along with the page request) so the server can create
a customized page just for this shopper— “Hello John, we are having a sale on new area
rugs.” This does more than merely create a friendly, personalized atmosphere. It also
allows the server to record information for later use. For example, cookies enable a
customer to put items into his or her online shopping cart and return at a later time to find
them still there. It’s possible to configure a web browser to not accept cookies, but
cookies cannot execute on the client machine and are harmless. They just take up a little
space.
Customers are understandably hesitant to transmit sensitive information such as
their credit card number, or even their name and address, over the web. Your site must
provide a secure environment for transmitting this information, and that security comes in
two pieces: encryption and authentication. Encryption encodes the data to be transmitted
into a scrambled form, using a scheme agreed on between the sender and the receiver.
Although encryption provides for the secure transmission of data, this is of little use if the
data is not being sent to the correct party. Authentication is the process of verifying the
identity of the receiver of the data. In Step 3 of our online transaction process, the sender
is the customer (actually the customer’s web browser) placing an order and sending
confidential personal and financial information, and the receiver is the retailer’s web
server. In Chapter 8, we discussed how the SSL (Secure Sockets Layer) and TLS
(Transport Layer Security) protocols provide encryption and authentication for web
transactions. There you learned that the web server can pass to the browser a certificate of
authentication issued by a trusted third party.
However, these behind-the-scenes security measures do nothing to reassure the
customer. The website can display a visual seal assuring the customer that the site has
been authenticated and meets high security standards. A secure webpage has the protocol
heading https in the address bar, rather than http, with the s signifying a site under the
protection of SSL. Customers may also see a little green padlock graphic on the webpage
to indicate a secure site, and the browser address bar may turn green. Most customers
won’t go any farther than this, but hovering the mouse over the lock or the green area
may display a tag that reads, for example, “verified by: Verisign, Inc.”1 Clicking or
tapping the lock or the green area will display information similar to Figure 14.2;
selecting More Information tells you whether you have visited this website previously,
technical details on the encryption used, and so forth.
Your website must be designed with your customers in mind. It has to be fresh
and up to date, ever changing, and always displaying the latest product information. One
of your earliest decisions is your website taxonomy—how information is classified and
organized so customers can easily find what they want. At rugs-for-you.com, you could
organize your site by rug manufacturer, color, size, material, or rooms in the house. Your
customers should always know where they are on your website. As we mentioned in
Chapter 7, hypertext allows a user to move easily from page to page by simply clicking
or tapping a link. However, after a few clicks, it is easy to become totally lost and not
know where you are or how to get back. A site map or a navigation bar can provide a
high-level overview of your site architecture, plus make it easy to navigate (that is, move
from page to page) through the site. A good rule of thumb is that the customer should be
able to get from any page in your website to any other page in four clicks or fewer. And
your webpages should include the ability to search the site for a specific item, either by
name or by product number.
Give customers shipping options so that they can make the best trade-off between
cost and speed of delivery. Send email to confirm orders, and send follow-up emails or
text messages when orders are shipped. You may also want to offer extras to your
customers. Put up a FAQ (frequently asked questions) page and links to contact customer
service, review new products, or connect with other customers. Allow customers to track
their shipment with an order number. Post news and press releases about your business or
products. And again, configure your site in a personalized way for return customers. All
of these measures can help improve customer satisfaction, build customer relationships,
and bring people back to your website time and time again. The suggestions and ideas
listed above are part of your online CRM (customer relationship management) strategy.
Your webpages need to be designed to be displayed on different machines
(desktops, laptops, tablets, phones) with different operating systems and browsers
(Internet Explorer, Safari, Chrome, Firefox, Edge). Not all browsers render every HTML
element in exactly the same way. Users may run monitors at different screen resolutions
and have widely varying communication speeds, from tens of thousands to tens of
millions of bits per second. Your web design should use only those features that you
know will work satisfactorily on virtually every machine and browser that your
customers are likely to use. Adhere to ADA (Americans with Disabilities Act)
requirements for web accessibility. One of the most common issues in webpage
accessibility relates to images, charts, and photographs. Blind users or users with low
vision have several assistive technologies available to them, but these technologies can
only read text. Therefore a visual element on a webpage needs a corresponding text tag in
the HTML code so that the browser will display text describing the image.
Your business maintains a number of other computer applications in addition to
your online order-entry system. In Figure 14.1, you saw that there are accounting,
inventory control, and shipping systems as well as a customer database, and that’s just to
deal with customers. You also have systems that deal with your suppliers to manage
orders, shipments, billing, and payments. Finally, you have personnel systems to deal
with your employees—payroll, insurance, Social Security. Some of these systems may be
brand new and just installed (like your new website), whereas others may be legacy code
that has been around for dozens of years.
Finally, as soon as you have your enterprise humming along smoothly as an
ecommerce site, you will need an effective disaster recovery strategy. What are your
plans for backing up critical data? What is your plan to keep your online business open
even when your server fails? Will you be able to survive a massive natural disaster? What
will you do if a hacker breaks into your website and steals customer information?
Without a plan, you are never more than one electrical storm, one malicious user, or one
disk failure away from catastrophe.
The ecommerce model we have been discussing is that of an online retailer selling
products or services over the web to the general public, but there are other models. One
of the most successful alternative ecommerce models is eBay, founded in 1995 and now a
huge international business. As of April 2017, eBay had almost 169 million active
registered users, and at any given time there are over 800 million items on sale. The most
expensive item ever purchased was a 405-ft luxury yacht, which was purchased in 2006
by a Russian billionaire for $168 million. One of the weirdest was a cornflake in the
shape of the state of Illinois, which sold in 2008 for $1,350.
As a buyer on eBay, you see the current maximum bid for an item and the time
left for bidding. You enter the maximum amount you are willing to pay, which is not
revealed to the seller or to other bidders, and the system raises your bid just enough to
make you the highest bidder, up to your maximum price. If the bidding exceeds your
maximum price, you are notified that you have been outbid and you have an opportunity
to enter a new maximum price. If the current maximum bid is yours and there is no
further bidding, then you have purchased the item, possibly at a lower price than your
maximum price. Safeguards are in place to protect both the buyer and the seller, for
example, seller ratings, privacy policies, and standardized electronic payment
mechanisms. A “fixed-price” selling option is also available. eBay was a precursor to the
growing peer-to-peer (collaborative consumption) economy that now includes companies
such as Uber, Lyft, Airbnb, and others.
Craigslist is an online classified ad site. Actually, it is a network of local sites for
various cities or areas. Each such site gives postings for local items for sale, job
opportunities, housing options, personal ads, discussion forums, and so on. Begun in
1995 as a modest list of San Francisco events circulated to friends of the founder, Craig
Newmark, Craigslist now has over 700 local sites in 70 countries, from Ahmedabad,
India, to Zamboanga in the Philippines. Craigslist users post about 80 million new
classified ads each month, and the sites receive about 50 billion page views per month.
Craigslist supports 13 languages: Catalan, Danish, Dutch, English, Filipino, French,
German, Italian, Norwegian, Portuguese, Spanish, Swedish, and Turkish. Unfortunately,
there have been several cases of crimes committed and scams perpetrated based on
contacts established through Craigslist (the Craigslist online community site includes
information about how to detect and avoid scams, www.craigslist.org/about/scams), but
the overall effect is a sense of local community and people-to-people trust.
Groupon has some similarities to Craigslist, but is less peer-topeer in nature. The
name is a shortened form of “group coupon.” Groupon’s first site, in Chicago, was
launched in November 2008. As of March 2017, it served over 500 local markets in 15
countries and had sales in 2016 of $3.1 billion. Here’s how it works: A local business
offers a coupon through Groupon for a great deal—on museum admission, a spa session,
a restaurant meal, or whatever. The coupon offer is featured on the local Groupon site for
a single day. The business specifies a minimum number of customers who must purchase
the coupon. If that number is not met, the deal is off; no one gets a coupon and no one
gets charged. If that minimum is met, the deal is on and additional customers can
purchase the coupon. Coupons are emailed or texted the next day to customers who
purchased them. Groupon splits the coupon charge with the business, so the business
spends no out-of-pocket money to advertise unless a minimum number of customers is
already guaranteed.
To use this online payment service, the customer must have a PayPal account that
is tied to a credit card, debit card, or bank account; the PayPal account can be funded by a
bank transfer. If a site accepts payment via PayPal, then the customer can choose to pay
from his or her PayPal account balance, or from the associated bank account or credit
card. PayPal provides other services as well, such as the ability to securely send money to
someone else who has a PayPal account. As of the first quarter of 2017, PayPal had 203
million active registered accounts and was available in more than 200 markets around the
world. It supports transactions in multiple currencies, such as the U.S. dollar, the Polish
zloty, and the Thai baht. In 2016, PayPay processed 6.1 billion transactions, averaging
out to about 193 transactions per second.
Apple Pay, and similar systems such as Android Pay and Samsung Pay, are
mobile payment systems. First announced by Apple in 2014, Apple Pay is a digital
wallet. To get started, on newer versions of the Apple iPhone or on the Apple Watch, you
open the Wallet and add your credit card information. Apple contacts your bank to see
that this is a valid credit card issued to you, and that completes the setup process. To use
Apple Pay at a merchant with a contactless card reader, just hold your phone or watch
near the reader and when an image of your card appears on the screen, use Touch ID or
your passcode to authenticate your transaction. An increasing number of banks/credit
cards and merchants accept Apple Pay.
Bitcoin is more than a payment system. Rather it is a form of money—sort of.
Consider the U.S. dollar. It was originally based on the gold standard, meaning that a
certain amount of gold could be redeemed for your dollar bill, the idea being that the gold
was what made your dollar bill valuable, and therefore useful for the payment of debt or
the purchase of goods. In 1971, the United States dropped the gold standard, and today
your dollar bill is valuable only because the U.S. government says it is, and that it must
be accepted as “legal tender” within the United States. Only the U.S. government can
print U.S. dollar bills or any other U.S. currency.
So, what’s the work, you ask? The rules are that the miner can only add the new
block if the value of its hash is smaller than the value of the block header (the hash) for
the previous block; if that’s not the case, the miner has to choose a new random number
and repeat the hash. The first one to succeed gets to broadcast the new block to the
network and, once the network agrees that the block is correct, it gets added to the
blockchain and the miner collects the reward. On the average, the blockchain is updated
every 10 minutes. Finally, note that each blockchain header is derived in part from the
previous blockchain header. If anyone attempts to tamper with a transaction or add a new
transaction to a block, that block’s hash value (header) will no longer be correct, and
neither will the header of any subsequent block. Anyone can check a block by
recomputing its hash value; if the result does not agree with that block’s header, then
something in that block or an earlier block has been tampered with. In fact, a newly
created block is checked by everyone on the network and if it fails that test, it is ignored,
not added to the blockchain, and the miner receives no reward.
B. Databases
The management and organization of data have always been important problems.
It is likely that a strong impetus for the development of written language was the need to
record commercial transactions (“On this day Procrastinus traded Consensius 4 sheep for
7 barrels of olive oil”). From there, it is only a short step to recording inventories
(“Procrastinus has 27 sheep”), wages paid, profits gained, and so on. As the volume of
data grows, it becomes more difficult to keep track of all the facts, harder to extract
useful information from a large collection of facts, and more difficult to relate one fact to
another. With the 1890 U.S. census (Chapter 1), Herman Hollerith demonstrated the
advantages that can accrue from mechanizing the storage and processing of large
amounts of data.
As you learned in Chapters 4 and 5, the most basic unit of data is a single bit, a
value of 0 or 1. A single bit rarely conveys any meaningful information. Bits are
combined into groups of eight called bytes; each byte can store the binary representation
of a single character or a small integer number. A byte is a single unit of addressable
memory. A single byte is often too small to store meaningful information, so a group of
bytes is used to represent a string of characters—say, the name of an employee in a
company—or a larger numerical value such as an employee ID. Such a group of bytes is
called a field. A collection of related fields—say, all the information about a single
employee— is called a record, a term inherited from the pencil-and-paper concept of
“keeping records.” Related records—say, the records of all the employees in a single
company—are kept in a data file. (File is another term inherited from the familiar filing
cabinet.) And finally, related files make up a database.
A database management system (DBMS) manages the files in a database.2 We
know that such files actually consist of collections of individual records. However, Edgar
F. Codd (mentioned in Chapter 12 as a Turing Award winner for his work in database
management systems) proposed the conceptual model of a file as simply a two-
dimensional table. In this relational database model, the Employees file at Rugs-For-You
would be represented by the Employees table of Figure 14.6. With the change from
records in a file to a conceptual table representing data comes some changes in
terminology. The table represents information about an entity, a fundamental
distinguishable component in the Rugs-For-You business—namely, its employees.
A row of the table contains data about one instance of this entity—that is, one
employee—and the row, in relational database terms, is called a tuple (in Figure 14.6,
each row is a 6-tuple, containing six pieces of information). How the tuples (rows) are
ordered within the table is not important. Each category of information (ID,*FirstName,
and so on, in our example) is called an attribute. The heading above each column
identifies an attribute; the order of the attributes (columns) is also not important, but of
course must be the same for each tuple in the table. The table thus consists of tuples of
attribute values. (In other words, in the relational model, files are thought of as tables,
records as tuples, and fields as attributes.) A primary key is an attribute or combination of
attributes that uniquely identifies a tuple. In our example, we are assuming that ID is a
primary key; ID is underlined in the heading in Figure 14.6 to indicate that it is the
primary key for this table. Social Security numbers were previously used as primary keys
to uniquely identify tuples that involve people, but because of privacy issues, most
employers construct a unique internal identification number for each employee.
Obviously, neither LastName nor FirstName can serve as a primary key—there are many
people with the last name Smith and many people with a first name of Michael or Judith.
In the InsurancePolicies table, there is a composite primary key in that both
EmployeeID and PlanType are needed to identify a tuple uniquely because a given
employee may have more than one insurance plan (for example, both health and
disability insurance plans), and a given insurance plan may be held by more than one
employee. Both attributes are underlined in the column headings in the figure, showing
that they form a composite primary key. It is clear from Figure 14.7 that this composite
primary key is needed for the current employees of Rugs-For-You, but even if that were
not the case, the design of the database should use this composite primary key because it
is a reasonable assumption that it might be needed in the future. It is also true that an
employee may have no plan; in Figure 14.7, there is no tuple with ID 116, although there
is an employee with ID 116. Each value of EmployeeID in the InsurancePolicies table
exists as an ID value in a tuple of the Employees table, where it is a primary key. Because
of this, the EmployeeID attribute of the InsurancePolicies table is called a foreign key
into the Employees table. This foreign key establishes the relationship that employees
may have insurance plans.
We’ve now done a fairly complex query involving two different tables. It is easy
to see how these ideas can be expanded to multiple tables, linked together by
relationships represented by foreign keys and their corresponding primary keys. Figure
14.8 shows an expansion of the Rugs-For-You database to include a table called
InsurancePlans that contains, for each type of insurance plan, a description of its
coverage and its monthly cost. PlanType is the primary key for this table. This makes
PlanType in the InsurancePolicies table a foreign key into the InsurancePlans table, as
shown in Figure 14.8. This linkage would allow us to write a query to find, for example,
the monthly cost of Mr. Takasano’s insurance.
Existing tuples in a relational database table can be modified or deleted, and new
tuples can be added to a table. These operations must be done with care to be sure the
data remains correct and consistent throughout the database. In database terminology, the
integrity of the data must be preserved. There are three integrity rules that, if enforced
during additions, modifications, or deletions, will help in this goal. The entity integrity
rule says that no primary key value, or no component of a composite primary key value,
can be missing (“null”) in a tuple. The reason is, if the primary key uniquely identifies a
tuple, then a tuple with (part of) its primary key missing might not be uniquely
identifiable. The data integrity rule specifies that values for a particular attribute must
come from the appropriate category of information for that attribute. In the Rugs-For-
You InsurancePolicies table, for example, any values for the PlanType attribute must be
designations for valid plan types, and any values for the DateIssued must be valid dates.
Finally, the referential integrity rule specifies that any value of a foreign key attribute in a
given table must match a value in the corresponding primary keys of the related table. For
example, we can’t add a tuple to the InsurancePolicies table of the Rugs-For-You
database with an EmployeeID value that does not exist in the Employees table. Most
database systems enforce the integrity rules by default.
A distributed database allows the physical data to reside at separate and
independent locations that are electronically networked together. The user at site A
makes a database query that needs access to data physically stored at site B. The database
management system and the underlying network make the necessary links and
connections to get the data from where it is currently stored to the node where it is
needed. To the user, it looks like a single database on his or her own machine, except
perhaps for increased access time when the data has to travel across a network.
C. Data Science
We are surrounded by data, and the amount of data is growing exponentially.
According to International Data Corporation (IDC), the “global datasphere,” that is, the
amount of data that existed in the world in 2017, was 25 zettabytes, which measured in
bytes is 25 followed by 21 zeroes, or 25 trillion gigabtyes. Wow. And IDC estimates that
by the year 2025, this figure will be 160 zettabytes. Much of this data is trivial, but a lot
is critically important. How do we make sense of it all? How can we locate truly useful
information from this vast ocean of data? How can we make use of it to improve living
conditions, find solutions to major health problems, protect the environment, and an
endless stream of other important questions?
One of the major objectives of data science is to analyze large amounts of data
(often obtained from data warehouses) to extract and interpret previously hidden patterns
contained therein. This process is called data mining. In other words, data mining is used
to discover previously hidden patterns that a big data set might contain. This sounds
rather magical. What is the problem you want to solve? You would like to use the
attributes of Employed (yes or no), Gender (male or female), and Married (yes or no) to
predict Risk (high or low). What is the condition of the data (aside from being a
ridiculously small data set)? All attributes have reasonable values.
We’ll make the root of the tree, that is, the top-most node, the attribute Employed.
So the beginning of the tree is shown in Figure 14.10(a). Now as it happens, all tuples in
Figure 14.9 who are not employed are at high risk, so we don’t have to consider any
further attributes for them and this terminates the N branch of Employed. For those that
are employed, we next consider Gender (Figure 14.10(b)). The three employed females in
Figure 14.9 are all at low risk, so that terminates another branch, but we have to consider
the marital status of employed males (Figure 14.10(c), which is the complete decision
tree).
R provided us with an easy way to obtain basic statistical information such as the
minimum, maximum, and average over the six sites for each of the attributes X, Y,
Smoker, Overweight, and Low_Income. R also revealed that condition Y has a moderate
correlation with being overweight, and both smoking and being overweight have a
somewhat strong correlation with low income, where correlation means that these
attributes increase or decrease more or less together. And R produced a graphical
visualization of the data values for each of the six sites in the form of a bar chart.
We learned that a database management system can easily make connections
among different files, and even among data stored at different locations, so one might
wonder, How difficult is it to electronically link information in the IRS database with
information in the FBI database, the Social Security database, credit card databases,
banking databases, and so on? Building these types of massive, integrated government
databases raises fewer technical questions than legal, political, social, and ethical ones.
Remember that even the online customers of Rugs-For-You want assurances as to how
their personal information is used. In general, issues of personal privacy and public safety
are magnified enormously by the capabilities of networked databases, and privacy
concerns arise because of the potential for information to be uncovered from massive
databases using data mining techniques.
Advertising targeted to your individual profile can sometimes be helpful, such as
information on sales of baby formula to expectant mothers. However, privacy experts
fear that such classifications could lead to targeting vulnerable groups, for example,
predatory loan offers to people with considerable debt or exclusions of high-risk patients
from opportunities to purchase health services. In addition to this, you just might feel that
some of your personal data should remain private. Companies need not turn to a data
broker to collect information. Retail companies such as Target, Amazon, grocery stores,
and so forth can collect data about your shopping habits at the point of sale, then apply
data mining to more effectively target advertising to your particular circumstances or
interests.
D. A Division of Labor
Artificial intelligence (AI) is the branch of computer science that explores
techniques for incorporating aspects of intelligence into computer systems. This
definition, however, raises more questions than it answers. What really is “intelligence”?
Is it a uniquely human attribute? If a computer system exhibits behavior that we might
characterize as intelligent, does that make it truly intelligent? What sorts of behaviors
demonstrate intelligence?
Alan Turing, whose investigations into the fundamental nature of computation led
to the Turing machine (Chapter 12), was also interested in artificial intelligence. In 1950,
before the term artificial intelligence was coined,1 he proposed a test to measure the
intelligent behavior of machines. The Turing test allows a human to interrogate two
entities, both hidden from the interrogator (Figure 15.1). One entity is a human and the
other a machine (a computer). The interrogator can ask the entities questions and receive
their responses. The communication is carried on in some form that does not alone reveal
which entity is the computer; for example, the interrogator’s questions could be typed on
a keyboard and the responses printed out. If, as a result of this questioning, the
interrogator is unable to determine which entity is the human and which is the computer,
then the computer has exhibited sufficiently human intelligence to pass the Turing test.
This test does not explore the nature of human intelligence in a deep philosophical way; it
merely says that if a machine exhibits behavior indistinguishable from that of a human,
then how can we tell the difference—a question that has been explored more than once in
science fiction.
General artificial intelligence was the original thrust of artificial intelligence
research. And much progress has been made in natural language understanding, machine
learning, facial recognition, and other areas. Conversely, attempts to model human
intelligence within a computer have in turn made contributions to cognitive science, the
study of how humans think and learn. But just as we learned in Chapter 13 that a model
cannot capture all aspects of the physical phenomenon it represents, so artificial
intelligence cannot (yet) capture all aspects of human intelligence. Science fiction
conjures scenarios of thinking and all-knowing computers controlling the world, but the
advances in general artificial intelligence have been far more modest.
Algorithmic solutions exist for computational tasks (we devised algorithms for
sorting and searching in the early chapters of this book). As humans, we can, in principle
at least, follow these step-by-step instructions. Computational tasks are also tasks for
which accurate answers must be found—sometimes very quickly—and that’s where we
as humans fall down. We make mistakes, we get bored, and we aren’t very speedy.
Computers are better (faster and more accurate) at performing computational tasks,
provided they are given programs that correctly embody the algorithms. Throughout this
book, with its emphasis on algorithms, we’ve been talking a great deal about designing
procedures to solve computational tasks, learning how to translate these procedures into a
programming language, and designing machines to execute the resulting programs.
Humans are often better at recognition tasks. We should perhaps expand the name
of this task type to sensory/recognition/motor-skills tasks because we receive information
through our senses (primarily seeing and hearing), we recognize or “make sense of” the
information we receive, and we often respond to the information with some sort of
physical response that involves controlled movement. Although we wait until elementary
school to learn how to add, an infant just a few weeks old, on seeing its mother’s face,
recognizes that face and smiles; soon that infant understands the spoken word. You spot
the tennis ball in the yard even though it is green and nestled in among other green things
(grass, dandelions). You register whether the tennis ball is close or far away, and you
manipulate your legs and feet to propel you in the right direction.
When humans perform reasoning tasks, they are also using a large storehouse of
experience. This experience involves not just images but also causeand-effect situations.
You know that you should wear a coat when it’s cold because you’ve experienced
discomfort in cold weather when you didn’t wear a coat. This could be considered
“mere” commonsense reasoning, but getting a computer to mimic common sense, to say
nothing of higher-order conceptual, planning, or reasoning tasks, is extremely
challenging. There may be no “right” answer to such tasks, and the way humans arrive at
their respective answers sometimes seems ambiguous or based at least in part on
intuition, which may be just another name for knowledge or reasoning that we don’t yet
understand.
E. Knowledge Representation
We can consider knowledge about some topic as a body of facts or truths. For the
computer to make use of that knowledge, there must be some digital format in which the
knowledge is represented and stored within the computer. (At the lowest level, of course,
only 0s and 1s are stored within the computer, but strings of 0s and 1s are organized and
interpreted at a higher We can consider knowledge about some topic as a body of facts or
truths. For the computer to make use of that knowledge, there must be some digital
format in which the knowledge is represented and stored within the computer. (At the
lowest level, of course, only 0s and 1s are stored within the computer, but strings of 0s
and 1s are organized and interpreted at a higher.
The term language was used in Chapter 11 to mean the set of statements derivable
by using the rules of a grammar. But here, the term formal language means the language
of formal logic, usually expressed more symbolically than we have done in this example.
In the notation of formal logic, we might use dog(x) to symbolize that the symbolic entity
x has the attribute of being a dog and brown(x) to mean that x has the attribute of being
brown. Similarly four-legged(x), tail(x), mammal(x), and warm-blooded(x) could
symbolize that x has these various attributes. The specific entity Spot could be
represented by S. Then dog(S) would mean that Spot has the attribute of being a dog.
Cause-and-effect relationships are translated into “if-then” statements. Thus, “Every dog
has four legs” is equivalent to “For every x, if x is a dog, then x has four legs.”
Information can be stored in pictorial form as an image— a grid of pixels that
have attributes of shading and color. Using this representation, we might have a picture of
Spot, showing that he is brown and has four legs and a tail. We might have some
additional labeling that says something like, “This is Spot, the dog.” This visual
representation might contain additional knowledge about Spot’s appearance that is not
embodied in the natural language paragraph or the formal language statements, but it
would also fail to capture the knowledge that Spot is a mammal and that mammals are
warmblooded. It also wouldn’t tell us that all dogs have four legs and a tail.
Here, we are using the term graphical not in the sense of “visual” (we have
already talked about pictorial representation) but in the mathematical sense of a graph
with nodes and connecting arcs. Figure*15.3 is such a graph, also called a semantic net,
for our dog example. In the terminology of object orientation that was a feature of the
programming language(s) of Chapter 9, the rectangular nodes represent classes or
objects, the oval nodes represent properties, and the arcsrepresent relationships. The “is
a” relationship represents a subclass of a class that inherits properties from the parent
class; “dog” is a subclass of “mammal,” and any dog object inherits all the properties of
mammals in general, such as being warm-blooded. Objects from the dog class may also
have properties of their own. The “instance” relationship shows that something is an
object of a class; Spot is a particular object from the dog class and may have a unique
property not necessarily shared by all dogs. The “is”, “has”, “is color” relationships
specify properties of a class (the “mammal” class or the “dog’” class) or of a specific
object (Spot).
F. Recognition Tasks
If artificial intelligence aims to make computers “think” like humans, then it is
natural to investigate and perhaps attempt to mimic the way the human brain functions. It
is estimated that the human brain contains about 86 billion neurons. Each neuron is a cell
capable of receiving stimuli, in the form of electrochemical signals, from other neurons
through its many dendrites (Figure 15.4). In turn, it can send stimuli to other neurons
through its single axon. The axon of a neuron does not directly connect with the dendrites
of other neurons; rather, it sends signals over small gaps called synapses. Some of the
synapses appear to send the neuron activating stimuli, whereas others seem to send
inhibiting stimuli. A single neuron collects all the stimuli passing through all the synapses
around its dendrites. The neuron sums the activating (positive) and inhibiting (negative)
stimuli it receives and compares the result with an internal “threshold” value. If the sum
equals or exceeds the threshold value, then the neuron “fires,” sending its own signal
down its axon to affect other neurons.
Each neuron can be thought of as an extremely simple computational device with
a single on/off output. The power of the human brain lies in the vast number of neurons,
the many interconnections between them, and the activating/inhibiting nature of those
connections. To borrow a term from computer science, the human brain uses a
connectionist architecture, characterized by a large number of simple “processors” with
multiple interconnections. This contrasts quite noticeably with the Von Neumann
architecture discussed in Chapter 5 that is still the basis for most computers today. In that
model, there are a small number (maybe only one) of very powerful processors with a
limited number of interconnections between them. Even the fast est parallel computer in
the world as of 2016 had a little over 10.5 million processors rather than the 86 billion
found in the human brain—about 0.01%.
Artificial intelligence systems for recognition tasks have tried to mimic this
connectionist approach. Artificial neural networks, usually just called neural networks,
can be created by simulating individual neurons in hardware and connecting them in a
massively parallel network of simple devices that act somewhat like biological neurons.
Alternatively, the effect of a neural network may be simulated in software on an ordinary
sequentialprocessing computer. In either case, each neuron has a threshold value, and its
incoming lines carry weights that represent stimuli. The neuron fires when the sum of the
incoming weights equals or exceeds its threshold value; the input lines are activated via
the firing of other neurons.
Conventional computer processing works on a knowledge base where the
information is stored as data in specific memory cells that can be accessed by the
program as needed. In a neural network, both the knowledge representation and the
“programming” are stored in the network itself as the weights of the connections and the
thresholds of the neurons. If you want to build a neural network that performs in a certain
way, how do you determine these values? In a simple network, trial and error can
produce a solution, but such is not the case for a network with thousands of neurons.
Fortunately, the right answer doesn’t have to be found the first time. Remember that
neural networks are modeled on the human brain; you learned to recognize your best
friend through repeated “learning experiences” that modified your knowledge base until
you came to associate certain features or characteristics with that individual.
Similarly, a neural network can learn from experience by modifying the weights
on its connections (even making some connections “disappear” by assigning them 0
weights). A network can be given a set of weights and thresholds that is simply an initial
educated guess. The network is then presented with training data, for which the correct
outputs are known. The actual output from the network is compared with the correct
output for one set of input values from the training data. For those output neurons that
produce correct values, their threshold values and the weights on their inputs do not
change. Output neurons that produce erroneous values can err in one of two ways. If an
output neuron fires when it is not supposed to, then the positive (excitatory) input values
coming into it are adjusted downward, and the negative (inhibitory) weights coming into
it are adjusted upward. If it fails to fire when it is supposed to, the opposite adjustment is
made. But before these adjustments take place, information on the errors is passed back
from each erroneous output neuron to the neurons in the hidden layer that are connected
to it. Each hidden-layer neuron adds these error counts to derive an estimate of its own
error. This estimate is used to calculate the adjustments to be made on the weights of the
connections coming to it from the input-layer neurons. Finally, the weights are all
adjusted, and then the process is repeated for the next set of input values from the training
data.
This back propagation algorithm, so named for the error estimates that are passed
back from the output layer, eventually causes the network to settle into a stable state
where it can correctly respond, to any desired degree of accuracy, to all inputs in the
training set. In effect, the successive changes in weights have reinforced good behavior
and discouraged bad behavior (much as we train our pets) until the paths for good
behavior are imprinted on the connections (as in Fido’s brain). The network has “learned”
what the proper connection weights should be, and its ability to recognize the training
data is embedded somehow in the collective values of these weights. At the end of its
training, the neural network is ready to go to work on new recognition problems that are
similar to, but not the same as, the training data and for which the correct answers are
unknown.
This process is an example of machine learning, where, without specific step-by-
step programming, computing agents learn and improve from past errors made on known
training data. Then, when deemed sufficiently trained, they can be set loose on data with
no known answers. Machine learning is also one of the tools of data science, where the
objective is to discover previously unknown patterns in large amounts of data.
G. Reasoning Tasks
We noted that one of the characteristics of human reasoning seems to be the
ability to draw on a large body of facts and past experience to come to a conclusion. In
this section, we look at several ways in which artificial intelligence specialists are trying
to get computers to emulate this characteristic. Earlier in this book, we presented two
algorithms for searching—sequential search and binary search. These search algorithms
look for a perfect match between a specific target value and an item in a list. The amount
of work involved is (n) for sequential search and (lg n) for binary search.
A decision tree for a search algorithm illustrates the possible next choices of items
to search if the current item is not the target. In a sequential search, there is only one item
to try next: the next item in the list. The decision tree for sequential search is therefore
linear, as shown in Figure*15.10. A decision tree for a binary search (in which the search
items are in sorted order), such as the one shown in Figure 15.11, reflects the fact that if
the current item is not the target, there are only two next choices: the midpoint of the
sublist before this node or the midpoint of the sublist after this node.
Suppose, however, that condition 1 does not hold; the search domain is such that
after any one node has been searched (unsuccessfully), there are an enormous number of
potential next choices, and there is no algorithm to dictate which of these next choices is
best. Figure 15.12 attempts to portray his scenario. In the terminology of artificial
intelligence, such a figure is called a state-space graph, and we seek to perform a state-
space search to find a solution path through the graph. The idea is that each node of the
graph represents a “state” of our problem, and we have some “goal state” or states in
mind. For example, in a game of tic-tac-toe, our initial state is the empty game grid, and
our goal state is a winning configuration. A solution path takes us from the initial state to
a winning configuration, and the graph nodes along the way represent the intermediate
configurations. In addition to finding a winning sequence of moves for a board game (tic-
tac-toe, checkers, chess, and so forth), many other types of problems, such as finding the
shortest path through a network or finding the most successful investment strategy in the
stock market, fall into the state-space search category. In some of these problems,
condition 2 of the classical search problem—that of seeking an exact match with a
specified target value—is not present either. We simply want to acquire as many
characteristics of the desired goal as possible, and we need some measure of when we are
“close enough.”
A brute force approach for finding a solution path traces all branches of the state-
space graph so that all possible choices are tested and no test cases are repeated. This
becomes a massive bookkeeping task because the number of branches grows
exponentially. Given that time and computing resources are limited, an intelligent search
needs to be employed. An intelligent search narrows the number of branches that must be
tried and thereby puts a cap on the otherwise exponential growth of the problem.
Intelligent searching involves applying some heuristic (which means, roughly, an
“educated guess”) to evaluate the differences between the present state and the goal state
and to move us to a new state that minimizes those differences—namely, the state that
maximizes our progress toward the goal state.
Recall that the connectionist architecture—neural networks—draws its inspiration
from nature, namely, the human brain. Another approach to achieving a desired end,
swarm intelligence, also draws its inspiration from nature, modeling the behavior of, for
example, a colony of ants. Each ant is an unsophisticated creature with limited
capabilities, yet acting as a collective, an ant colony can accomplish remarkable tasks.
Ants can find the shortest route from a nest to a food source, carry large items, emigrate
as a colony from one location to another, and form bridges. An ant “communicates” with
other ants by laying down a scent trail, called a pheromone trail; other ants follow this
trail and reinforce its strength by laying down their own pheromones. Given a choice,
ants have a higher probability of following the strongest pheromone trail. Hence, the ant
that took the shortest path to food and returned to tell about it lays down a trail that other
ants follow and reinforce faster than the trail laid down by an ant that took a longer path.
Because pheromone trails evaporate quickly, the collective intelligence of the colony is
constantly updated to respond to current conditions of its environment.
The swarm intelligence model captures this collective behavior. Computer
scientists create algorithms that simulate the process of having simple agents (analogous
to the ants) operate independently and follow each other’s “trails” to find the most
efficient routes. This algorithmic approach is called Ant Colony Optimization (ACO) and
has been used commercially in vehicle routing, job scheduling, and the sensing of
biological or chemical contaminants. Studies have demonstrated the use of such simple
agents in telecommunications networks to avoid the complexity of a centralized control
system to compute and distribute routing tables within a network.
Swarm intelligence rests in the colony as a whole, which seems to acquire
“knowledge” that is greater than the sum of its parts. At the opposite end of the spectrum
are intelligent agents. An intelligent agent is a form of software technology that is
designed to interact collaboratively with a user somewhat in the mode of a personal
assistant. Imagine that you have hired your own (human) personal assistant. In the
beginning, you must tell your assistant what to do and how you want it done. Over time,
however, your assistant comes to know more about you and soon can anticipate which
tasks need to be done and how to perform them, which items to bring to your attention,
and so forth. Your assistant becomes more valuable as he or she becomes more self-
directed, always acting with your best interests in mind. You, in turn, put more and more
trust in your assistant.
A personalized web search engine that allows you to profile items of interest to
you and then automatically delivers appropriate information from the web. For example,
you may request updated weather conditions for your geographic area, along with news
items related to sports and European trade. At periodic time intervals, this push
technology downloads your updated, personalized information to your screen (or
smartphone) to be displayed whenever no other task is active.
Although intelligent agents incorporate a body of knowledge to “filter” their
choices and thereby appear to capture certain aspects of human reasoning, they still
perform relatively limited tasks. Consider the more unstructured scenario of managing
the triage center in a busy hospital emergency room. The person in charge draws on (1)
past experience and training to recognize various medical conditions (which may involve
many recognition subtasks), (2) understanding of those conditions and their probable
consequences, and (3) knowledge about the hospital’s capabilities and resources in
general and at the moment. From this knowledge base, a chain of reasoning is followed
that leads, for example, to a decision to treat patient A immediately in a particular fashion
and to let patient B wait. We consider this to be evidence of quite general “logical
reasoning” in humans.
Artificial intelligence simulates this kind of reasoning through the use of expert
systems, also called rule-based systems or knowledge-based systems. (The latter term is a
bit confusing because all “intelligent activity” rests on some base of knowledge.) An
expert system attempts to mimic the human ability to engage pertinent facts and string
them together in a logical fashion to reach some conclusion. However, it is also suitable
for computerization because it is basically a matching algorithm that can be implemented
by brute force trial and error. Systems like Prolog, however, apply some additional
guidelines in their search for matches to speed up the process; that is, they employ a form
of intelligent searching.
Inference engines for expert systems can proceed in several ways. Forward
chaining begins with assertions and tries to match those assertions to the “if” clauses of
rules, thereby generating new assertions. These may in turn be matched with “if” clauses,
generating still more assertions. This is the process we used in our example. Backward
chaining begins with a proposed conclusion and tries to match it with the “then” clauses
of rules. If successful, it next looks at the corresponding “if” clauses of those rules and
tries to match those with assertions, or with the “then” clauses of other rules. This process
continues until all “if” clauses that arise have been successfully matched with assertions,
in which case the proposed conclusion is justified, or until no match is possible, in which
case the proposed conclusion is rejected. Backward chaining in our example would start
with the proposed conclusion that FDR precedes Nixon, and the system would then work
backward to justify this conclusion. In addition to the knowledge base and the inference
engine, most rulebased systems also have an explanation facility. This allows the user to
see the assertions and rules used in arriving at a conclusion, as a sort of check on the path
of reasoning or for the user’s own enlightenment.
Of course, a rule-based system about some particular domain is only as good as
the assertions and rules that make up the knowledge base. The builder of such a system
acquires the information for the knowledge base by consulting “experts” in the domain
and mining their expertise. This process, called knowledge engineering, requires a great
deal of interaction with the human expert, much of it in the domain environment. If the
domain expert is the manager of a chemical processing plant, for example, a decision to
“turn down valve A whenever the temperature in pipe P exceeds 235°F and valves B and
C are both closed” may be such an ingrained behavior that the expert won’t remember it
as part of a question-and-answer session on “what you do on your job.” It only emerges
by on-site observation. For the hospital example, one might need to follow people around
in the emergency room, observe their decisions, and later question them on why those
decisions were made. It is also possible to incorporate probabilities to model the thinking
process, for example, “If the patient has fever and stomach pains, the probability of
appendicitis is 73% and the probability of gall bladder problems is 27%, therefore I first
check for A and then for B.”
These days, the world of video game playing draws many enthusiasts. We will
explore some of the computer technologies that make video games possible in the next
chapter. But here, we want to trace the progression of the “artificial intelligence” needed
to have the computer play (rather than just display) a game. Almost everyone is familiar
with the simple pencil-andpaper game of tic-tac-toe. Two players draw Xs and Os,
respectively, in the squares of a 3 3 3 grid. The first player to draw three of his or her
symbol in a row (vertically, horizontally, or diagonally) wins. While the “X” playeris
trying to build such a row, the “O” player is trying to block it, and vice versa.
Writing a computer program to play tic-tac-toe is fairly easy. (The firstever
computer game was tic-tac-toe, written for the EDSAC computer in 1952; it played
perfect games against human opponents. The first computer program Bill Gates wrote, at
the age of 13, played tic-tac-toe.) The state-space graph (see Section 15.5.1) for tic-tac-
toe is relatively small. Because there are nine positions, each of which can contain X, O,
or blank, at first it seems that there are 39 5 19,683 board configurations. However, many
of these are essentiality the same. For example, a single X in a corner square with all
other cells blank occurs four ways because there are four corners, but these are all
rotations of the same thing, so this is really only one configuration. Eliminating these
similarities, there are only 765 distinct configurations. We want a solution path from the
initially empty board to a winning configuration, and because of the small state-space, a
brute force approach is feasible. If we assume that each player can write in any vacant
cell, that the game is terminated with any three-in-a-row symbol or a full grid, and that
configurations that are essentially the same are ignored, there are 26,830 possible games
(paths through the state space). By following the simple strategies of trying to make three
in a row while trying to block your opponent, and concluding the game when the
outcome is determined, the number of paths through the state space is much smaller—
1,145 games. These can be analyzed in their entirety to find a winning path.
Kasparov could evaluate up to three chess positions per second, or 540 in the 3
minutes allowed between moves; he selected which few positions to evaluate on the basis
of his experience, study of successful strategies or tactical approaches, and intuition.
Deep Blue could evaluate up to 200,000,000 chess positions per second, or 50 billion in 3
minutes, using its 512 communicating processors. But even Deep Blue could not pursue a
true brute force approach of playing out to the bitter end every possible consequence of
every potential move from a given configuration. Instead, its programmers provided a
number of heuristics that helped “prune” the search tree to a manageable number of
paths, in effect selecting what seemed to be the most promising moves.
Certainly Watson had a huge database of facts at its disposal, but what the IBM
researchers and their collaborators accomplished is much more than a massive search
process. Web search engines conduct massive searches, but they basically do word
matching and then present you with a list of potentially relevant documents or other
artifacts to sift through yourself, although they do vast statistical analyses to attempt to
improve relevance. Watson analyzed clues fraught with vagaries of English language—
puns, humor, rhymes, riddles, plays on words—to understand their meaning. Watson was
not infallible. With a category of “U.S. cities” and the clue “Its largest airport is named
for a World War II hero; its second largest for a World War II battle,” Watson responded
“What is Toronto?”, although with a low level of confidence in its answer.5 But before
you feel smug, consider Watson’s correct response in the category of “edible rhyme
time” and the clue “A long, tiresome speech delivered by a frothy pie topping.” It had to
recognize that the clue consists of two parts, a long tiresome speech and a frothy pie
topping. It had to find potential answers for each part, and then apply the constraint that
the two answers must rhyme. Can you answer this—in under three seconds?
H. Robots and Drones
The term robot implies a device, which may or may not be humanlike in form,
that has the ability to gather sensory information from its surroundings and to
autonomously (without direct human instructions) perform mechanical actions of some
sort in response. The term robot was used in a play written in 1921 by Czech author Karel
Capek. The play was titled R.U.R., short for Rossum’s Universal Robots. In the play, a
scientist invents robots that perform simple repetitive tasks to help people but who take
over the world when their human owners try to use them to fight wars. The word robot
comes from the Czech word robota, meaning slavelike labor. Robots have been part of
science fiction ever since—think C-3PO and R2-D2 in the Star Wars movies.
We have all seen photos of robots performing manufacturing tasks; in Figure
15.16, robots are busy welding car frames. But what if the car itself is the robot? Google
began developing an autonomous (self-driving) car in 2009. It used modified commercial
automobiles fitted with lots of sensors and software. On top of these cars is a revolving
turret called a lidar device, short for light detection and ranging. The lidar constructs a 3-
D map of the car’s environs, which the software then compares with a high-definition (at
the one-inch level) map of the area in which the car is traveling.
Now there are a number of companies, including traditional automakers, in
various stages of designing and testing autonomous vehicles. By May 2016, sixteen states
and Washington D.C. had passed legislation relating to autonomous vehicles, some
creating study groups, some encouraging development and testing, and some permitting
autonomous vehicles to be driven on public roads. In 2016, Florida became the first state
to authorize the use of autonomous vehicles on public roads with no requirement for a
human driver in the car. In May 2017, the governor of New York announced a one-year
trial of autonomous cars on public roads in the state, which requires a human with a valid
driver's license in the driver's seat as a precaution; someday we may see fully
autonomous vehicles navigating the challenging traffic of Manhattan.
The reactive strategy uses heuristic algorithms to allow the robot to respond
directly to stimuli from its environment without filtering through some line of reasoning
based on its internal understanding of that environment. This stimulus-response approach
seems to reflect human subconscious behavior—holding out our hands to protect
ourselves during a fall, for example, or drawing back from a hot flame. Proponents of the
deliberative strategy argue that a robot cannot react meaningfully without processing the
stimulus and planning a reaction based on its internal representation of the environment.
Proponents of the reactive strategy say that such a requirement is too restrictive and does
not allow the robot to respond freely to any or all new stimuli it might encounter. Note
that we as humans use both our conscious thought processes and our subconscious
reactions in our everyday life, so a combination of these strategies may be the most
successful approach.
A drone (more properly called a UAV for Unmanned Aerial Vehicle) is an
aircraft that is either under autonomous control via a computer system on board or is
controlled by a human controller at a remote site. In other words, no pilot is on board.
The use of a UAV in the most general sense actually dates back much farther than we
would expect, to the American Civil War, in which both Union and Confederate troops
launched bomb-filled balloons. But the idea of a drone as we think of it today began in
the 1960s during the Vietnam War, in which drones were used for reconnaissance
missions.
Drones are usually not as big as a regular airplane or helicopter. In fact, small
drones working together (swarm intelligence again) can get into places where a large
vehicle cannot and obtain a more complete picture of the environment they are exploring.
For example, human engineers currently inspect bridges for damage, a slow, dangerous,
and far-from-foolproof method. Researchers at Tufts University are developing a system
that will allow drones to improve the infrastructure problem of decaying bridges. The
plan is to attach wireless sensors to bridge joints; these sensors can monitor bridge
vibrations and detect changes that may signal structural damage. A group of drones can
not only visually survey the bridge but also collect data from the sensors and send it to a
central site for analysis, allowing decisions to be made on a priority list for bridge repair.
These drones would communicate with each other to check one another's position and
flight paths, and to autonomously regroup to collect more data on a suspicious location.
The possible use for drones that has most captured public attention is package
delivery. Amazon.com’s plan is to use drones to deliver a package weighing up to 5
pounds to the customer within a 30-minute window. You would place your order online,
step outside, and wait for a little buzzing drone to gently drop your order on your front
porch. In fact, Amazon made its first package drop to a customer in England in December
2016. Companies, including Amazon, that want to build or use drones for commercial
purposes are lobbying for faster approvals by the Federal Aviation Administration. The
FAA is proceeding with caution, and the rules adopted in 2016 require that UAVs can
weigh no more than 55 pounds, must fly below 400 feet above ground or the top of a
building, must fly below 100 miles per hour, cannot fly at night or over crowds of people,
must have a human operator, and cannot fly beyond the operator's visual line of sight.
Students also viewed