artificial intelligence: genetic programming

Budny 10:00
L19
Disclaimer—This paper partially fulfills a writing requirement for first year (freshman) engineering students at the University
of Pittsburgh Swanson School of Engineering. This paper is a student, not a professional, paper. This paper is based on publicly
available information and may not provide complete analyses of all relevant data. If this paper is used for any purpose other
than these authors’ partial fulfillment of a writing requirement for first year (freshman) engineering students at the University
of Pittsburgh Swanson School of Engineering, the user does so at his or her own risk.
ARTIFICIAL INTELLIGENCE: GENETIC PROGRAMMING
Tyler Vogel ([email protected])
ARTIFICIAL INTELLIGENCE AND
REVERSE ENGINEERING THE BRAIN
Description
Artificial intelligence (AI) has been a concept that
engineers have been working towards since the dawn of
computer engineering. AI is a computer’s ability to imitate
human intelligence, such as thought, behavior and the ability
to learn [1]. It is one of the greatest challenges of computer
science and engineering to invent a machine that can simulate
the cognitive functions that a human possesses, or even
simulate a greater intelligence then that of a human.
The earliest programs that tried to venture into AI were
small projects, such as checker games, math word problem
solvers, and basic speaking programs. Computers were slowly
getting closer and closer to having the same intelligence
capacity as a human in the 90s, but when suddenly science hit
a wall and progress slowed down [2]. Computer scientists
were not able to recreate intelligence that was as complex as
the human brain, and they are still not able to this day. This is
the next big leap in AI: reverse engineering the brain.
Reverse engineering the brain is just the scientific
process that allows engineers and scientists to discover the
secrets of the complex human brain [1]. The knowledge
acquired by this difficult project can be used to help create a
sophisticated artificial intelligence, able to learn, grow, and
act like a human. There are many obstacles in the way of this
achievement, including complex coding, not fully
understanding how neurons transmit information, and
physical circuit complications.
Significance
Artificial intelligence has an infinite amount of uses. It
is used in manufacturing, personal computers, video games,
robotics, and even in some medical practices [1]. Having the
ability to reverse engineer the brain and bring AI into a whole
new era would do more than just create fancy robots (although
that is a nice perk). One of the major opportunities created by
reverse engineering the brain is better biotechnology, which
is technology that can improve normal human functions. This
includes helping the disabled with their disabilities, mental
and physical, and also expanding the limits of any human
University of Pittsburgh, Swanson School of Engineering
11.01.2016
being, humans can become smarter, faster, better, and
stronger.
AI doesn’t only hold the key to creating a superhuman,
it also can improve the core processing of our computers.
Intelligent programs can lead to more accurate medical
diagnosis, speech recognition, autonomous vehicles, artificial
assistants, image recognition, mathematical theorems, etc.
[1]. The list can go on forever. Right now, the world is at the
beginning of the digital age, and improved supercomputers
can only help society and engineering to advance and grow.
The Accreditation Board for Engineering and
Technology defines engineering as “the profession in which a
knowledge of the mathematical and natural sciences gained
by study, experience, and practice is applied with judgment to
develop ways to utilize, economically, the materials and
forces for the benefit of mankind [3].” Artificial intelligence
is somewhat of a debated topic concerning whether it would
benefit mankind or destroy it. People are scared that if we
create intelligent machines, our jobs and lives will be taken
away. CGP Grey’s educational video, “Human’s Need Not
Apply,” describes how machines will take away both blue and
white collar jobs from humans. Intelligent machines would
not make as many mistakes as humans, are not as costly as
human workers, and would eventually become easily
replaceable [4]. At the same time AI makes life easier for
some, it also makes it harder for others.
It has been a dream of mine to work on and perfect
artificial intelligence. I know that eventually a machine could
do the job I want to do after graduating, but I want to see
continued progress in the computer science field. Funny
enough, a movie called “Chappie” is one of the biggest
inspirations for me to support the development of AI. It is
about a particular police droid that is stolen and given new
programming that gives it the ability to feel and think for
himself. If I ever get a chance to work on AI, a Chappie-like
robot is going to be one of the first things I push for. Another
inspiration is CGP Grey, an Oxford Professor who also makes
educational videos on the side. He promotes the growth of
artificial intelligence, and a few of his videos explain why AI
is a positive rather than a negative development.
AUTOMATIC PROGRAMMING
Description
Tyler Vogel
GENETIC PROGRAMMING INC.
Artificial intelligence is not just one big concept, but
instead is a field of many parts. One large part of AI is
automatic programming, which is when computer
programming is done by a machine. Automatic programming
isn’t a stagnate goal, but a moving one that gets bigger and
more difficult to overcome as expectations get higher [5].
Much of what was originally conceived of as automatic
programming was achieved long ago, such as a compiler
program or an assembler used in a modern programming
language.
The expectations of an “automatic programmer” today
are somewhat unrealistic, such as having a machine create a
completed code for any task that the user inputs into it.
Researchers at MIT and other schools are still trying to
accomplish this task despite how ridiculously hard it seems.
Instead of taking up a task this large, many languages such as
Java and C++ have instead made programming slightly
automatic with tools such as natural language, shortcuts, and
even GUI’s (graphical user interfaces) [5].
For a more complete automatic program, computer
scientists need to make a system that will have three key
features. First, the program must be end-user oriented,
communicating directly with end users. It also will have to be
general purpose, working as well in one domain (computers,
softwares, etc.) as in another. Finally, the system has to be
fully automatic, requiring no human assistance.
Description
Genetic Programming Incorporated is a company that
specializes in automatic programming. Their goal is to create
a programming method, called genetic programming (GP),
which is “an automated method for creating a working
computer program from a high-level problem statement of a
problem [7].” This means that GP starts from a high-level
statement of “what needs to be done” and automatically
creates a computer program to solve the problem. This is done
by having a program that grows and learns.
GP starts with thousands of randomly created computer
programs. The group of programs slowly evolve over
generations following Darwin’s theory of evolution. GP uses
a fitness measure to test how well each program does its task,
and decides if the program needs to be improved, thrown out,
or is complete [7]. Sometimes, a single program must be
tested multiple times with different initial conditions or
different environments. Overall, genetic programming is a
learning program that improves over time all by itself, also
known as an “intelligence explosion [8].” It’s a perfect
example of an automatic program, and also a core component
to artificial intelligence.
Significance
Significance
A learning program like genetic programming has
numerous applications in artificial intelligence, but Genetic
Programming Inc. wants to focus on black art problems and
programming the unprogrammable. Black art problems
consist of the difficulties of automated synthesis of analog
electrical circuits, controllers, antennas, networks of chemical
reactions, optical systems, and other areas of design [7].
Anything moving towards automation is great for making life
easier for engineering and society. Programming the
unprogrammable according to Genetic Programming Inc. is
“the automated creation of computer programs for
unconventional computing devices such as cellular automata,
multi-agent systems, parallel programming systems, etc. [7].”
This is very useful for nano-bots and swarms of drones or
robots, since they will be able to learn from their surrounding
bots and follow their actions, similar to how flocks of birds or
schools of fish work in the real world. Genetic programming
is the start of artificial intelligence and could be one of the
most important technological steps in the digital age.
Automatic programming is the gateway to a futuristic,
sophisticated artificial intelligence, but is also helpful in our
daily lives now. Many people do not think about how our
computers still run off of 0’s and 1’s, due to the fact that all
coding uses short cuts, so programmers can use words instead
of writing out every single digit. Our computers and
smartphones wouldn’t be anywhere near as efficient as they
are now if automatic programming did not exist [6]. Today,
society runs on the internet and programs to function, so
improving automatic programming would be a plus for
everyone.
Engineering relies heavily on automatic programming
as well. Just think about how many computer programs are
used on just one simple project (SolidWorks, MatLab, C++,
Python, etc.) and how hard it would be to accomplish
anything in the engineering world without these. Automatic
programming makes all of this possible and efficient, which
is why it is so essential to the advancement of engineering [6].
Automatic programming has also been significant to my
educational career as well. In high school, I had multiple
engineering and computer courses. The shortcuts I learned
while programming and designing helped me accomplish my
projects in these classes. If anything, I want to improve
automatic programming so my coding can be less time
consuming and more user friendly.
THE ETHICS OF THE SINGULARITY
There is a concern with artificial intelligence that
is important to mention: the singularity. The singularity is a
point in the future when AI reaches and then surpasses human
intelligence. Some people see these super intelligent
machines working for humans and benefitting for humanity,
2
Tyler Vogel
while others worry that these machines threaten humanity [8].
They are scared that intelligent machines might begin
replacing human workers and end up replacing human beings
altogether. I believe, however, intelligent machines will only
benefit humanity, but the fear of intelligent machines might
slow down progression of AI.
SOURCES
[1] “Reverse-Engineer the Brain.” NAE Grand Challenges for
Engineering.
2016
Accesses
10.30.16.
http://www.engineeringchallenges.org/challenges/9109.aspx
[2] “AI Overview” AITopics. Accessed 10.30.16.
http://aitopics.org/topic/ai-overview
[3]
“Accreditation.”
ABET.
Accessed
10.30.16.
http://www.abet.org/accreditation/
[4] CGP Grey. “Humans Need Not Apply.” CGP Grey
YouTube
Channel.
08.13.14
Accessed
10.30.16
https://www.youtube.com/watch?v=7Pq-S557XQU
[5] Charles Rich, Richard C. Waters “Approaches to
Automatic Programming.” Mitsubishi Electric Research
Library.
2013.
Accessed
10.30.16.
http://www.merl.com/publications/docs/TR92-04.pdf
[6] “Automatic Programming” AITopics. Accessed 10.30.16.
http://aitopics.org/topic/automatic-programming
[7] “What is Genetic Programming (GP)?” Genetic
Programming
Inc.
2012
Accessed
10.30.16.
http://www.genetic-programming.com/#_What_is_Genetic
[8] Tsin Yen Koh. “Intelligent Machines vs. Human
Intelligence: Overview.” University of Pittsburgh Library.
2015
Accessed
10.30.16.
http://web.a.ebscohost.com/pov/detail/detail?sid=a1b4572d89ac-454f-ad99122a5c99b612%40sessionmgr4009&vid=0&hid=4104&bdat
a=JnNpdGU9cG92LWxpdmU%3d#AN=112140580&db=p
wh
ACKNOWLEDGMENTS
I want to thank Angie Farkas for helping me edit my
paper. Without her opinions, my paper would have been
choppy and hard to read.
3