WELCOME EVERYONE

This blog will focus on computer science and statistics.

Sunday, December 15, 2013

Computational science: R


Have you heard R before? I am sure you know it well as a character in English, but for a very important statistical programming language, you may don’t know it very much. R is a free software programming language and software environment for statistical computing and graphics. [1]

Do you still remember my open source blog? If you have read it, you must know R is becoming the most popular R is becoming the most popular worldwide applied statistical language. It is widely used among statisticians and data miners for developing statistical software and data analysis. R could not only help academics to solve  most challenging problems in fields ranging from computational biology to quantitative finance, but also to train their students in these fields. The most amazing part of R is it enable advanced user to manipulate R objects directly with C, C++, or Java code.

We have a word in statistics: R could do almost everything for you. R provides a wide variety of statistical and graphical techniques, including linear and nonlinear modeling, classical statistical tests, time-series analysis, classification, clustering, and others. [2] R has similar syntax as language C, and it is also a functional programming language. It has strong compatibility with APL and Lisp. In particular, it allows computing on the language. This makes it possible to input expression.

Reference:



Computational science: overview


You may first hear about Computational science; it is concerned with constructing mathematical models and quantitative analysis techniques and using computers to analyze and solve scientific problems. [1] This long wired and boring definition maybe confuses you more, but don’t stop reading. Simply, it could be concluded to use computer to solve problems about computation.

In practical field, computational science is more concerned about computer simulation and other forms of computation: numerical analysis, theoretical computer science, and problems in various scientific disciplines.

The main applications of computer science:

1. Numerical simulations: Firstly, researchers could reconstruct and understand known events, such as earthquake, tsunamis and other natural disasters. From the simulation, we could study how the disasters formed and how long they need to active. Secondly, the scientist could predict future or unobserved situations, like weather prediction. I can’t imagine what will happen if no prediction for tornado.

2. Model fitting and data analysis: use data to produce appropriate model to reflect observations, and construct easily understanding graphic connection for data analysis. This applies lots on biological system and website.

3. Computational optimization: it is mainly about mathematical optimization. I will introduce the details in next blog.

Reference:


Computer Graphics: The Amazing Avatar


Do you remember the feelings when you saw “Avatar”? I still remember, I was shocked at the first time. All the amazing sceneries and beautiful characters are created like a real world; when I saw the movie, it is so real that I feel I was in that world. Could you believe that all the incredible movie scenes are produced by computer graphic technique? James Cameron spent 10 years and $ 140 million, and finally success.

Actually, movies and video games are considered the two main fields of new computer graphic technology. Cameron broke the barriers between them; his movie has strong visual impact like other movies, and the super real story sense like the video games. His team had to invent the tools which could help to achieve a transforming vision. The actors wore Facial Capture Head Rig, and the new designed techniques-The Volume could bring the nuances of human performances to the screen, allow the Cameron unprecedented control within the world he envisioned, and integrate 3-D effects naturally. We could say without the development of computer graphic technique, the Avatar couldn’t achieve such a big success.

Reference:


http://www.triangulationblog.com/2013/09/computer-graphics-art.html

Communications and Security: Cryptography


Cryptography is the practice and study of techniques for secure communication in the presence of third parties. We could see a lot of coding and decoding in the movies; people-spies, military leaders, and criminals always use it to send messages. However, in recent decades, the field has expanded and more about techniques for message integrity checking, sender/receiver identity authentications, digital signatures, interactive proofs and secure computation.

The three types of Cryptography Algorithms:

Secret Key Cryptography (SKC): Uses a single key for both encryption and decryption. With SKC, the key must be known by both the sender and the receiver; that, in practical, is the secret. The biggest difficulty with this approach, of course, is the distribution of the key.

Public Key Cryptography (PKC): Uses one key for encryption and another for decryption. PKC depends upon the existence of so-called one-way functions, or mathematical functions that are easy to compute whereas their inverse function is relatively difficult to compute. [1] A simple example: if I tell you four times nine, you will easily get 36; but if I tell you 36, you may think about which two numbers could be for a while.

Hash Functions: it is also called message digests and one-way encryption, in some sense, use no key. Instead, a fixed-length hash value is computed based on the plaintext that makes it impossible for either the contents or length of the plaintext to be recovered. [2]

Reference:





Artificial Intelligence


The google self-driving car could be seen here and there on the road, Siri could help you search everything online and even it can talk with you by several languages, I.B.M. just set the “Jeopardy”-conquering Watson to work on medicine, initially it will help to train medical students, perhaps it also can help to diagnosis in not far future. These “magical” things come true in the past decades and all could be classified to the development of Artificial Intelligence (AI).

You may first hear this word and wonder what AI is? Simply, AI could be defined as machines are endued intelligence. The first step is to produce machines that could communicate with human and work for human; and the second step is to make machines to human level-endure it with motions and productive-that it could produce and program itself; the final step is put “soul” into machine, but that need long road to go.

The benefits of AI are significant: it is not a carbon-based unit, so it will save lots of environmental source, and it could work day and night without any break.  The advanced AI robots could share burden for young generation in aging population society. The tracking machine could take charge of highly dangerous tasks instead of people. The limits of space exploring will be broken by the AI technique. Moreover, maybe one day we could be “immortal” by putting brain in to machine.

Reference:


http://www.wired.com/magazine/2010/12/ff_ai_essay_airevolution/