페이지

2022년 5월 14일 토요일

1.1.1 Artificial Intelligence Explained

 AI is a technology that allows machines to acquire intelligenct and inferential mechanisms like humans. this concept first appeared at the Dartmouth Conference in 1956. This is a very challenging task. At present, human beings cannot yet have a comprehensive and scientific understanding of the working mechanism of the human brain. It is undoubtedly more difficult to make intelligent machines that can reach the level of the human brain. With that being said, machines that archive similar to or even supass huyman intelligence in some way have been proven to be feasible.

How to relize AI is very broad question. The development of AI has mainly gone thorough three stages, and each stage represent the exploration footprint of the human trying to realize AU from differenct angles. In the early stage, people tried to develop intelligent systems by suymmarizing and generalizing some logical rules and implementing them in the form of computer programs. But such explicit rules are often too simple and are difficult to be used to express complex and abstract concepts and rules. This stage is called the inference period.

In the 1970s, scientists tried to implement AI though knowledge database and reasoning. They built a large and complex expert system to simulate the intelligence level of human experts. One of the biggest difficulties with theses explicitly specified rules is that many complex, abstract concepts cannot be implemented in concrete code. For example, the process of human recognition of pictures and understanding of languages cannot be simulated by established rules at all. To solve such problems, a research discipline that allowed machines to automatically learn rules from data, known as machine learning, was born, Machine learning become a popular subject in AI in the 1980s, This is the second stage.

In machine learning, there is a directiion to learn complex, abstract logic through neural networks, Research on the direction of neural networks has experienced two ups and downs. Since 2012, the applications of deep neural network technology have made major breakthroughs in fields like computer vision, natural language processing(NLP), and robotics. Some tasks have even surpassed the level of human intelligence. This is the third revival of AI. Deep neural networks eventually have a new name -  deep learning. Generally speaking, the sessential difference between neural networks and deep learning is not large. Deep learning refers to models or algorithms based on deep neural networks. The relationship between artificial intelligence, machine learning, neural networks, and deep learning is shown in Figure 1-1.



1.1 Artificial Intelligence in Action

 Information technology is the third industrial revolution in human history. The popularity of computers, the Internet, and smart home technology has greatly facilitated people's daily lives. Through programming, humans can hand over the interaction logic designed in advance to the machine to execute repeatedly and quickly, thereby freeing humans from simple and tedious repetitive labor. However, for tasks that require a high level of intelligence, such as face recognition, chart robots, and autonomous driving, it is difficult to design clear logic rules. Therefore, traditional programming methods are powerless to those kinds of tasks, whereas artificial intelligence(AI), as the key technology to solve this kind of problem, is very promising.

Wigh the rise of deep learning algorithms, AI has achieved or even surpassed hymanlike intelligence on some tasks. For example, the AlphaGo program has defeated Ke Jie, one of the stongest human Go players, and OpenAI Five has beaten the champion team OG on the Dota2 game. In the meantime, practical technologies such as face recognition, intelligent speech, and machine translation have entered people's daily lives. Now our lives are actully surrounded by AI. Although the current level of intelligence that can be reached is still a long way from artificial general intelligence(AGI), we still firmly believe that the era of AI has arrived.

Next, we will introduce the concepts of AI, machine learning, and deep learning, as well as the connecctions and differences between them.


CHAPTER 1 Introduction to Artificial Intelligence

 What we want is a machine that can learn from experience. -Alan Turing

2022년 5월 7일 토요일

1.11.6 Open-Source Systems as Learning Tools

 The free-software movement is driving legions of programmers to create thousands of open-source projects, including operating systems. Sites like http://freshmeat.net/ and http://distrowatch.com/ provide portals to many of these projects. As we started earlier, open-source projects enable students to use source code as a learning tool. They can modify programs and test them, help find and fix bugs, and otherwise explore mature, full-featured operating systems, compilers, tools, user interfaces, and other types of programs. The availability of source code for historic projects, such as Multics, can help students to understand those projects and to build knowledge that will help in the implementation of new projects.

Another advantage of working with open-source operating systems is their diversity. GNU/Linux and BSD UNIX are both open-source operating systems, for instance, but each has its own goals, utility, licensing, and purpose. Sometimes, licenses are not mutually exclusive and cross-pollination occurs, allowing rapid improvements in operating-system projects. For example, several major components of OpenSolaris have been ported to BSD UNIX. The advantages of free software and open sourcing are likely to increase the number and quality of open-source projects, leading to an increase in the number of individual and companies that use these projectgs.


1.11.5 Solaris

 Solaris is the commercial UNIX-based operating system of Sun Microsystems. Iriuginally, Sun's SunOS operating sysstem was based on BSD UNIX. Sun moved to AT&T's System V UNIX as its base in 1991. In 2005, Sun open-sourced most of the Solaris code as the OpenSolaris project. The purchase of Sun by Oracle in 2009, however, left the state of this project unclear.

Several groups interested in using OpenSolaris have expanded its features, and their working set is Project Illumos, which has expanded from the Open-Solaris base to include more features and to be the basis for several products. Illumos is available at http://wiki.illumos.org.

THE STUDY OF OPERATING SYSTEMS

 There has never been a more interesting time to study operating systems, and it has never been easier. The open-source movement has overtaken operating system, causing many of them to be made available in both source and binary (executable) format. The list of operating systems available in both formats includes Linux. BSD UNIX, Solaris, and part of macOS. The availability of source code allows us to study operating systems from the inside out. Questions that we could once answer only by looking at documentation or the behavior of an operating system we can now answer by examining the code itself.

Operating systems that are no longer commerically viable have been open-souced as well, enabling us to study how systems operated in a time of fewer CPU, memory, and storage resources. An extensive but incomplete list of open-soiurce operating-system projects is available from http://dmoz.org/Computers/Software/Operating.Systems/Oepn.Sources/. computer function makes it possible to run many operating systems on top of one core system. For example, VMware (http://www.virtualbox.com) provides a free, open-source virtual machine manager on many operating systems. Using such tools, students can try out hundreds of operating systems without dedicated hardware.

In some cases, simulators of specific hardware are also available, allowing the operating system to run on "native" hardware, all within the confines of a modern computer and modern operating system. For example, a DECSYSTEM-20 simulator running ono macOS can boot TOPS-20, load the source topes, and modify and comile a new TOPS-20 kernel. An interested student can search the Internet to find the original papers that describe the operating system, as well as the original manuals.

The advent of open-source operating systems has also made it easier to make the move from student to operating-system distribution. Not so many years ago, it was difficult or impossible to get access to source code. Now, such access is limited only by how much interest, time, and disk space a student has.


1.11.4 BSD UNIX

 BSD UNIX has a longer and more complicated history than Linux. It started in 1978 as a derivative of AT&T's UNIX. Releases from the University of California at Berkeley (UCB) came in source and binary from, but they were not open source because alicense from AT&T was required. BSD UNIX's development was slowed by a lawsuit by AT&T, but eventually a fully functional, open-source version, 4.4BSD-lite, was released in 1994.

Just as with Linux, there are many distributions of BSD UNIX, including FreeBSD, NetBSD, OpenBSD, and DragonflyBSD. To explore the source code of ReeBSD, simply download the virtual machine image of the version of interest and boot it within Virtualbox, as described above for Linux. The source code comes with the distribution and is stored in /usr/src/. The kernel source code is in /usr/src/sys. For example, to examine the virtual memory implementation code in the FreeBSD kernel, see the files in /usr/src/sys/vm. Alternatively, you can simple view the source code online at https://svnweb.freebsd.org.

As with amnyu open-source projects, this source code is contained in and controlled by a version control system-in this case, "subversion" (https://subversion.apache.org/source-code). Version control systems allow a user to "pull" an entire source code tree to his computer and "push" any changes back into the repository for others to then pull. These systems also provide other features, including an entire history of each file and a conflict resolution feature in case the same file is changed concurrently. Another version control system is git, which is used for GNU/Linux, as well as other programs (https://www.git-scm.com).

Darwin, the core kernel component of macOS, is based on BSD UNIX and is open-sourced as well. That source code is available from http://www.opensource.apple.com/. Every macOS release has its open-source components posted at that site. The name of the package that contains the kernel begins with "xnu". Apple also provides extensive developer tools, documentation, and support at http://developer.apple.com.