Sunday, December 8, 2013

Numerical Analysis

It is hard to give a definition by my viewpoint. According to reference book from related course about numerical analysis. “Numerical analysis is the area of mathematics and computer science that creates, analyzes, and implements algorithms for solving numerically the problems of continuous mathematics.” A lot of numerical analysis problems are generally from real world applications about business, social science natural sciences, engineering, and medicine. In the formal science, the numerical analysis normally reflects on the mathematical studies of theory in computer science issues. In 21th century, most computers can carry the numerical procedures to solve the mathematical problems. We call these methods as scientific computing or computational science. This area is getting popular during the 1990s and 2000s. This area is using numerical analysis from a computer science perspective. “It is concerned with using the most powerful tools of numerical analysis, computer graphics, symbolic mathematical computations, and graphical user interfaces to make it easier for a user to set up, solve, and interpret complicated mathematical models of the real world.” 

Numerical algorithms are almost as old as human civilization. The Rhind Papyrus (1650 BC) of ancient Egypt describes a rootfinding method for solving a simple equation. Archimedes of Syracuse (287- 212 BC) created much new mathematics, including the “method of exhaustion” for calculating lengths, areas, and volumes of geometric figures. When used as a method to find approximations, it is in much the spirit of modern numerical integration; and it was an important precursor to the development of the calculus by Isaac Newton and Gottfried Leibnitz.



Google SketchUp in Computer Graphic

“Computer graphics are graphic created using computer and the representation of image data by a computer specifically with help from specialized graphic hardware and software.” In our life, we can see computer graphic in everywhere, like two-dimensional graphic, pixel art, vector graphics, three- dimensional and computer animation.


In this blog, I will talk about Google SketchUp in Computer Graphic.  On the April 15, 2006, Google SketchUp announced on the market, it is free downloadable software and open source software to design 3D models in computer graphic. Google sketchUp marked officially as Trible SketchUp, is a 3D modeling application for civil, film, architectural, mechanical and video game design. In this semester, I also get chance to use this software in my CS100W STEM module team project. It has less functionality then SketchUp Pro, but it is totally enough for my project in this semester. In Google SketchUp, the major advantage is that most users can learn how to operate the program within hours of first using. Since it is open source to us, so we can plugin any 3D models downloaded from online. If you download the new version of the Google SketchUp 8 there have couple new features have updated, such as add location button, Google Building Maker Button, solid tools, and layout 3.
After I done with my CS100W project in this semester, I just feel like Google sketchUp is a very powerful open source for the people who like to draw some computer graphics in the field of civil, film, architectural, mechanical and video game design. It is easy and powerful.



Monday, December 2, 2013

Alice and Bob in Cryptography

There are many aspects to security and many applications, ranging from secure commerce and payments to private communications and protecting passwords. One essential aspect for secure communications is that of cryptography. Cryptography is an indispensable tool for protecting information in computer systems. 
Cryptography, then, not only protects data from theft or alteration, but can also be used for user authentication. In this blog, I will mention about Alice and Bob, the names Alice and Bob are two commonly used placeholder names. They are used for archetypal characters in fields such as cryptography. 
Below is one example from online about Alice and Bob in Homomorphic encryption.

“Alice hands bob a locked suitcase and asks him to count the money inside. “Sure,” Bob says. “Give me the key.” Alice shakes her head; she has known Bob for many years, but she’s just not a trusting person. Bob lifts the suitcase to judge its weight, rocks it back and forth and listens as the contents shift inside; but all this reveals very little. “It can’t be done,” he says. “I can’t count what I can’t see.”
Alice and Bob, fondly known as the first couple of cryptography, are really more interested in computational suitcases than physical ones. Suppose Alice gives Bob a securely encrypted computer file and asks him to sum a list of numbers she has put inside. Without the decryption key, this task also seems impossible. The encrypted file is just as opaque and impenetrable as the locked suitcase. “Can’t be done,” Bob concludes again.
But Bob is wrong. Because Alice has chosen a very special encryption scheme, Bob can carry out her request. He can compute with data he can’t inspect. The numbers in the file remain encrypted at all times, so Bob cannot learn anything about them. Nevertheless, he can run computer programs on the encrypted data, performing operations such as summation. The output of the programs is also encrypted; Bob can’t read it. But when he gives the results back to Alice, she can extract the answer with her decryption key. ”

The technique that makes this magic trick is called homomorphic encryption (FHE). It is discovery by Craig Gentry who is a student at Stanford University. Homomorphic encryption is not quite ready for everyday use. The methods have been shown to work in principle, but they still impose a heavy penalty of inefficiency. If the system can be made more practical, however, there are applications ready and waiting for it. Many organizations are eager to outsource computation: Instead of maintaining their own hardware and software, they would like to run programs on servers “in the cloud,” a phrase meant to suggest that physical location is unimportant. But letting sensitive data float around in the cloud raises concerns about security and privacy. Practical homomorphic encryption would address those worries, protecting the data against eavesdroppers and intruders and even hiding it from the operators of the cloud service.

http://www.garykessler.net/library/crypto.html
http://www.americanscientist.org/issues/pub/alice-and-bob-in-cipherspace


Sunday, December 1, 2013

Artificial Intelligence in Banking

In this blog I will talk about some fairly pure applications of AI, such as banking virtual advisors.  First let us know what is Artificial Intelligence (AI)? Artificial Intelligence (AI) is the area of computer science focusing on creating machines that can engage on behaviors that humans consider intelligent. As we know, Artificial Intelligence (AI) is the key technology in many of today's novel applications, ranging from banking systems that detect attempted credit card fraud, to telephone systems that understand speech, to software systems that notice when you're having problems and offer appropriate advice. 



Some banks offer 24 hours customer service every day, is that mean there always have someone is working with pay. The answer is “No”. Most of banks have implemented in automated online assistants that can be seen as avatars on web pages. It can avail for enterprises to reduce their operation and training cost. A major underlying technology to such systems is natural language processing. Similar techniques may be used in answering machines of call centers, such as speech recognition software to allow computers to handle first level of customer support, text mining and natural language processing to allow better customer handling, agent training by automatic mining of best practices from past interactions, support automation and many other technologies to improve agent productivity and customer satisfaction. Also credit card providers, telephone companies, mortgage lenders and the U.S. Government employ AI systems to detect fraud and expedite financial transactions, with daily transaction volumes in the billions. These systems first use learning algorithms to construct profiles of customer usage patterns, and then use the resulting profiles to detect unusual patterns and take the appropriate action. Such automated oversight of financial transactions is an important component in achieving a viable basis for electronic commerce.