2016/11/25

Should we worry about the future of Artificial Intelligence?

The artificial intelligence can be described as a stuff which we are eager to get, but also worry to get. The success of AI is a symbol of the great process human made, that AI is undeniably bringing us into a new "century" of advance technology. Tracing through our history, there are many great inventions that had led the human to fulfill a spanning development. Nevertheless, nothing could be flawless. We made those instruments to lead us to the industrial revolution. However, the carbon released by them causing global warming. And, the most essential point is , the result of global warming is out of our control. Will that be the result of AI?



The action of human beings have unpredictable consequences. We cannot think of every possible situation that might happen in the future. Although we created AI robots, we do not know how the algorithm in the machine work, or whether it will change after a long time. That question can cause a serious result if it is true---whether the AI robot could "learn" by its own idea. Will the robots onset a rebellion to humans like the film?

We might believe the three laws of Robotics created by Asimov, but we are still not sure whether the AI could circumvent them. Although we have a switch--off button to shut down our mobile phone, the truly way to do that is actually turning off the power. If that happens on AI robots for military or secretary use, the result will be serious.

We have to also consider the risk of security. There are massive attacks made by hackers on websites. We created the Internet, but we do not know how to control it. So that problem might be more serious if AI involves.

There could be also some directly worries, such as job opportunities. The AI robots can obviously take many job places with much more effective performances than human does. But do we want to see more and more people becoming unemployed because of the appearance of AI?

So in the future, the problems of AI might be caused in unintended, unintelligible or intended but awful consequences. The risk is still there, and we might have to think about how to completely "control" our creations.


Reference:
1.http://www.newsweek.com/quora-question-should-we-worry-about-ai-516334

Picture Reference:
1.http://www.newsweek.com/quora-question-should-we-worry-about-ai-516334

2016/11/18

Getting closer to the first quantum computer

It is undeniably to say that our computers today are already in high quality and can do well in calculations and algorithms. Nevertheless, the forward step of development in computer has never stopped. The race for the first quantum computer is as essential as the race for the first nuke back to 20th century, since the appearance of this kind of computer will totally affect the politics and business realm.



The quantum computer has once be seen as a fantasy---like a travel through wormhole or a zero-calorie chocolate. However, the study for the quantum computer has already made breakthrough achievements. According to the scientists, our first quantum computer might be born in 15 to 20 years. If that goal can be realized, then at that time we can get a millions of times powerful machine than today's super computers. It can solve the hardest calculation problem today, and make accurate predictions as well. We have to keep in mind that this machine is very weird, or even "bizarre", since it made calculation by using the spin of atoms which are known as "qubits". Our super computers today will make calculations by reading every page, one at a time. Although it's very fast, the process  is still serial. In contrast, the quantum computer could read every page and make calculations at the same time----just like splitting the task into millions of parallel universe, and putting them back together in a second.

Moreover, the quantum computer would be involved into military and security use once it be created. This computer is so powerful that it can easily unlock the computer security system of a department. For instance, the negotiation to keep Iran from the nuclear is critical for U.S nowadays. However, by using the quantum computer, the American machines can easily decipher the codes and shut down all of the Iranian nuclear systems in a second. So that's why there are so many countries pouring so much money into that research. Obviously, the quantum computer can also be used in education and business, and it will definitely cause a shock in computer science and software markets---Microsoft, Google, IBM all put much fund into that research.

There is a still a problem for find a best way to build up the quantum computer system, since the "art" of qubits of quantum computer is a huge challenge.  Our software today is still "linear" based on algorithm. So if quantum computer could do all of those algorithms and calculations in a same time, it will be a great progress. However, even the greatest mathematician still doesn't know how to do everything in a same time. So this progress might still take times. But once it is done, our life might change---the AI robot based on quantum computer system might be smarter than a whole department of people!!!



Reference:
1. http://www.newsweek.com/2015/05/15/quantum-computers-will-make-your-laptop-look-abacus-327676.html?utm_source=internal&utm_campaign=incontent&utm_medium=related1

Picture:
1. http://www.newsweek.com/quantum-computing-breakthrough-paves-way-ultra-powerful-machines-440444

2016/11/11

Computer "Game" Science

UC Irvine is always be known for its preeminence in fields such as computer science and engineering. Nevertheless, this university is still making progress in these realms. Game is often thought as an entertainment in most people's minds. However, Irvine has made it to a new step. The campus now offers the students to be able to be a major in "Computer Game Science", which is a field where people study in games with computer science knowledge.



This thought has been seen as a joke or a ridiculous idea in most people's minds. Nevertheless, faculties in Irvine do no think so. "Many things are always been thought as ridiculous at first. It just takes time." (According to a professor). Moreover, many professors in Irvine believe that many companies in software engineering need their employees to have that kind of skill to build up a dream world. As the rapid development of technology, many students in computer science realm are not satisfied with the boring textbook stuff. While they "played" with computer since they grew up, they want to get in touch with some new interesting contents and techniques. That's might be the case for Irvine to build up this new major---let students become well-skilled programmers in algorithm, software development and processing and bring a broad view for students according to a multi-discipline study.

Besides the arguing, gaming is actually closely related to computer science. The technology and knowledge for the computing are mostly well used into gaming industry. In other word, gaming is a main application of computer science. Many disciplines and techniques, such as 3D--modeling, 3D painting, AR and IE are all the basis knowledge for a good programmer in gaming industry.

Notwithstanding, the argument about whether "game" could be a "major" for students to study has never stopped. Many people see nothing in commons about "game" and "university". They think that game is a kind of mindless stuff and cannot be studied seriously. Also, some parents are worried about their children will be addicted in playing games. In this case, these people caught skepticism for game in university. However, there are still some other people support the idea. The game is a world for imagination, that means to create your own world based on your ideas. Many students think that this is pretty cool. Just as what a student mentioned--Many students are jealous of what I am doing... So this "debate" would not get to end in a very short period.



Reference:
1.http://articles.latimes.com/2009/nov/30/local/la-me-uci-video-games30-2009nov30
2. https://www.csc.ncsu.edu/academics/undergrad/bs-csc-gdc.php

Picture Reference:
1.https://www.google.com/search?hl=zh-CN&authuser=0&biw=1366&bih=612&site=imghp&tbm=isch&sa=1&q=computer+game+science&oq=computer+game+science&gs_l=img.3..0i19k1j0i8i30i19k1.4119.8983.0.9094.17.17.0.0.0.0.79.968.17.17.0....0...1.1.64.img..0.17.966...0j0i10i19k1j0i7i30i19k1j0i7i30k1j0i30k1j0i30i19k1j0i5i30i19k1.f7ML5KKRmL0#imgrc=pt3JJK_P-bM4hM%3A

2016/11/04

Programming Language

Programming language refers to the "language" written by compiler in order to "communicate" with the computers. It's a set of rulers which tells a computer what to do and what operations to perform. As the development of software engineering from 19 century, over thousands of different types of programming languages have been created, and it will be more than that in the future. The description of a programming language could be divided into mainly two components which are know as "syntax" and "semantics". Different programming languages, just as different human languages did, are used for different types of programs.



Programming language has different types. Hence, computer scientists use "generation" to divide those types. The first generation language is called machine language. These types of codes are composed by binary data, including operation codes and operands.  It can be read only by computers so it's very efficient but very hard to write. The second generation of programming language is assembly language, which uses symbolic operations to instead the basic binary code. It got the name "assembly" since its program has to be "assembled" for the execution by the computer, thus its code is more easily to be written than the first generation code. 



Most programming languages we learned are the third generation languages. In this generation, the code is much more closer to English with simple mathematics notations. Programs in this generation which are written in source code have to be translated into "object code", and there's a specific system to do this translation step which is known as "compiler". There are some common third generation languages such as C, C++, COBOL...

The fourth generation is a high level language(4GL) which could require fewer instructions than the third generation does. It's always used with databases. The fifth generation language mostly are declarative languages which based on logic and mathematical functions. The examples are Lisp and Prolog. There are also languages which beyond the fifth generation without a clear definition right now. 

Programming languages could also be divided into two main "groups", which are known as traditional programming languages and object-oriented languages. The early traditional languages such as "FORTRAN", developed during 1950s, was used for the mathematical applications. Others like COBOL, was used in business. The C language could be recognized as the "ancestor" of java, since it provided control and efficiency with early techniques in third generations. The first object-oriented language is  Simula, while the first purely oo language is known as SmallTalk. C++ is an essential language in the development of computer science, that it is widely used in software application and developing projects with advanced features. Then, java is the "evolution" type of C++ that eliminates many problematic features in C++. Since the appearing of java, "applets" can be used through a browser.  



Reference:
1. http://www.slideshare.net/VarunGarg7/lect-1-introduction-to-programming-languages
2. https://en.wikipedia.org/wiki/Programming_language

Picture Reference:
1. https://www.google.com/search?q=programming+language&biw=1608&bih=893&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi84dHKvpDQAhXJbSYKHbiJBCEQ_AUIBigB#imgrc=ZNZigCs9q5GH-M%3A
2. https://www.google.com/search?q=programming+language&biw=1608&bih=893&source=lnms&tbm=isch&sa=X&ved=0ahUKEwi84dHKvpDQAhXJbSYKHbiJBCEQ_AUIBigB#imgrc=u3NWXsi_lW2x_M%3A

2016/10/28

Da Vinci Robotic Surgery System

The da Vinci Surgical System (sic) is a robotic surgical system made by the American company Intuitive Surgical. Approved by the Food and Drug Administration (FDA) in 2000, it is designed to facilitate complex surgery using a minimally invasive approach, and is controlled by a surgeon from a console. The system is commonly used for prostatectomies, and increasingly for cardiac valve repair and gynecologic surgical procedures. The name of the system, Da Vinci, is derived from that great artist we know since his study in anatomy had finally led the appearance of the first robot in human history.




The da Vinci System consists of a surgeon’s console that is typically in the same room as the patient, and a patient-side cart with four interactive robotic arms controlled from the console. Three of the arms are for tools that hold objects, and can also act as scalpels, scissors, bovies, or unipolar or hi. The surgeon uses the console’s master controls to maneuver the patient-side cart’s three or four robotic arms (depending on the model). The instruments’ jointed-wrist design exceeds the natural range of motion of the human hand; motion scaling and tremor reduction further interpret and refine the surgeon’s hand movements. The da Vinci System always requires a human operator, and incorporates multiple redundant safety features designed to minimize opportunities for human error when compared with traditional approaches.

Moreover, the da Vinci System has been designed to improve upon conventional laparoscopy, in which the surgeon operates while standing, using hand-held, long-shafted instruments, which have no wrists. With conventional laparoscopy, the surgeon must look up and away from the instruments, to a nearby 2D video monitor to see an image of the target anatomy. The surgeon must also rely on a patient-side assistant to position the camera correctly. In contrast, the da Vinci System’s design allows the surgeon to operate from a seated position at the console, with eyes and hands positioned in line with the instruments and using controls at the console to move the instruments and camera.

In this case, the appearance of this kind of surgical system provides much more benefits than before. The system provides doctors superior visualizations, precision and comforts, thus increasing the efficiency of treatment. Also, the robots always deliver smaller incisions, which will bring the patient less pain. It could also minimize the time for patient to stay in hospital, which will reduce the cost of medical treatment as well.

Although the general term "robotic surgery" is often used to refer to the technology, this term can give the impression that the da Vinci System is performing the surgery autonomously. In contrast, the current da Vinci Surgical System cannot – in any manner – function on its own, as it was not designed as an autonomous system and lacks decision making software. Instead, it relies on a human operator for all input; however, all operations – including vision and motor functions— are performed through remote human-computer interaction, and thus with the appropriate "weak AI" software, the system could in principle perform partially or completely autonomously. Nevertheless, this system still brings new hope for the development of medical study.


Reference:
1. https://en.wikipedia.org/wiki/Da_Vinci_Surgical_System

Picture Reference:
1. https://www.google.com/search?q=da+vinci+surgical+system&biw=1608&bih=889&source=lnms&tbm=isch&sa=X&ved=0ahUKEwjR8Nmp7v7PAhWMOiYKHTiTA5cQ_AUIBigB#imgrc=t_RoTEef53Z-UM%3A

2016/10/21

Coding Theory

When talking about the word "code", we always naturally relate it to the region of "security". Inevitably, as the rapid development of technology, we have more chances to get in touch with "codes". In fact, besides the security, code has various applications nowadays. Coding theory is just such a branch subject of mathematics and computer science which mainly focus on the properties and applications of codes. Codes are used for data compression, cryptography, error-correction, and networking. Codes are studied by various scientific disciplines—such as information theory, electrical engineering, mathematics, linguistics, and computer science—for the purpose of designing efficient and reliable data transmission methods. This typically involves the removal of redundancy and the correction or detection of errors in the transmitted data.



The application of code can be divided into several groups. One of the main use of the code is for the error check, or error correction. Channel code is the most common type of the error correction code. The purpose of channel coding theory is to find codes which transmit quickly, contain many valid code words and can correct or at least detect many errors. While not mutually exclusive, performance in these areas is a trade off. So, different codes are optimal for different applications. The needed properties of this code mainly depend on the probability of errors happening during transmission. In a typical CD, the impairment is mainly dust or scratches. Thus codes are used in an interleaved manner. The data is spread out over the disk.

Linear code is a main branch of channel code and  denotes the sub-field of coding theory where the properties of codes are expressed in algebraic terms and then further researched. It basically can be divided into two types of codes--linear block code and convolution code. Linear block codes have the property of linearity, i.e. the sum of any two code words is also a code word, and they are applied to the source bits in blocks, hence the name linear block codes. There are block codes that are not linear, but it is difficult to prove that a code is a good one without this property. On the other hand, the idea behind a convolutional code is to make every code word symbol be the weighted sum of the various input message symbols. This is like convolution used in LTI systems to find the output of a system, when you know the input and impulse response.

Cryptography or cryptographic coding is the practice and study of techniques for secure communication in the presence of third parties (adversaries). That realm includes the "decipher" technique, which could be always used as a theme in films. Cryptography is about constructing and analyzing which used to block the adversaries. Modern cryptography exists at the intersection of the disciplines of mathematics, computer science, and electrical engineering. Applications of cryptography include ATM cards, computer passwords, and electronic commerce.

Line coding is another division in code theory. It is a code chosen for use within a communications system for base band transmission purposes. Line coding is often used for digital data transport.
Line coding consists of representing the digital signal to be transported by an amplitude- and time-discrete signal that is optimally tuned for the specific properties of the physical channel (and of the receiving equipment). The waveform pattern of voltage or current used to represent the 1s and 0s of a digital data on a transmission link is called line encoding.



Reference:
1. https://en.wikipedia.org/wiki/Coding_theory

Picture Reference:
1. https://www.google.com/search?hl=zh-CN&biw=1608&bih=889&site=imghp&tbm=isch&sa=1&q=code&oq=code&gs_l=img.3..0l10.45860.46434.0.46562.4.4.0.0.0.0.95.209.4.4.0....0...1c.1.64.img..0.4.208.2Zdh8Ba_wPU#imgrc=O8UQxDjtGXgLlM%3A

2016/10/14

3D modeling

3D modeling is a branch of computer animation, and it is also called 3D computer graphics. Those vivid figures which showing on the film screen are actually all derived from 3D modeling. 3D modeling is actually the process of developing a mathematical representation of any three-dimensional surface of an object (either inanimate or living) via specialized software.  The product is called a 3D model. It can be displayed as a two-dimensional image through a process called 3D rendering or used in a computer simulation of physical phenomena. The model can also be physically created using 3D printing devices. Models may be created automatically or manually. The manual modeling process of preparing geometric data for 3D computer graphics is similar to plastic arts such as sculpting.



Three-dimensional (3D) models represent a physical body using a collection of points in 3D space, connected by various geometric entities such as triangles, lines, curved surfaces, etc. Nowadays, 3D modeling has a wide field of applications. The medical industry uses models as organs or CT scans; The movie and computer game industry uses this technique to create figures and characters; The engineering community uses models to design new devices as well. 3D models can also be the basis for physical devices that are built with 3D printers or CNC machines.

Almost all 3D models can be divided into two groups. One type is solid models--These models define the volume of the object they represent (like a rock). These are more realistic, but more difficult to build. Solid models are mostly used for nonvisual simulations. The other is called "shell" or "boundary" models---these models represent the surface, e.g. the boundary of the object, not its volume (like an infinitesimally thin eggshell). These are easier to work with than solid models. Almost all visual models used in games and film are shell models.

The process of building up models can be mostly divided into three steps. The fist step is called "polygonal model", which is the step to build up vertices and connect to line segments. The next step is curve modeling, which is about the surfaces and contours. The last step is called digital sculpting, which is actually the "programming" step. The data and algorithm will be combined with the model which will finally present the 3D model on the screen.

Compared with 2D modelling, 3D models have its own advantages. First is the flexibility, which is the ability to change angles or animate images with quicker rendering of the changes; Then it is also easy to rendering and improve the accuracy of photorealism. Thus, 3D modeling has a great potential in the market.



Reference:
1. https://en.wikipedia.org/wiki/3D_modeling

Picture Reference:
1. https://en.wikipedia.org/wiki/3D_modeling#/media/File:Utah_teapot_simple_2.png