Google's ai defeated a Go master,Is a way to measure the sudden and rapid development of artificial intelligence,It also reveals how these technologies have evolved and how they can evolve in the future.

Artificial intelligence is a futuristic technology,Currently working on his own set of tools.A series of developments has occurred in the past few years:accident-free driving of more than 300,000 miles and legal milestones in three states have reached a milestone in autonomous drivingibm waston defeated jeopardy two-time champion;Statistical learning techniques range from consumer interest to complex datasets with trillions of images.These developments will inevitably increase the interest of scientists and giants in artificial intelligence,This also allows developers to understand the true nature of creating artificial intelligence applications.

The first thing to note when developing these is:

Which programming language is suitable for artificial intelligence?

Every programming language you know well can be a development language for artificial intelligence.

Artificial intelligence programs can be implemented using almost any programming language,The most common are:lisp, prolog, c/c++, recently java, and recently python.


High-level languages ​​like lisp are very popular in artificial intelligence,Rapid execution was abandoned because of rapid prototyping after years of research in universities.Garbage collection,Dynamic type,Data function,Uniform syntax,Some features, such as an interactive environment and scalability, make lists ideal for artificial intelligence programming.


This language has the effective combination of high-level and traditional advantages of lisp,This is very useful for ai.Its advantage is to solve "logic-based problems". prolog provides solutions for logic-related problems,In other words, its solution has simple and logical features.Its main disadvantage (IMHO) is that it is difficult to learn.


Just like a cheetah,c/c++ is mainly used when high execution speed is required.It is mainly used for simple programs,Statistical artificial intelligence,Such as neural networks is a common example.backpropagation uses only a few pages of c/c++ code, but requires speed,Even if the programmer can only increase the speed a little bit, it is good.


Newcomer, java uses several concepts in lisp,The most obvious is garbage collection.Its portability makes it applicable to any program,It also has a set of built-in types.Java is not as advanced as lisp or prolog, nor as fast as c, but it is best if portability is required.


Python is a language compiled with lisp and java.According to a comparison of lips and python in the norvig article, these two languages ​​are very similar to each other,There are only minor differences.There is also jthhon, which provides access to the Java graphical user interface.This is why peternorvig chose to use jpyhton to translate the programs in his artificial intelligence books.jpython allows him to use the portable gui demo and the portable http/ftp/html library. Therefore, it is very suitable as an artificial intelligence language.

Benefits of using python on artificial intelligence over other programming languages

Quality documentation

Platform independent,Can be used on every * nix version now

Simpler and faster than other object-oriented programming languages

Python has many image enhancement libraries like python imaging libary, vtk and maya 3d visualization toolkit,numeric python, scientific python and many other tools available for numerical and scientific applications.

The design of python is very good,Fast, sturdy, portable, and expandable. Obviously these are very important factors for artificial intelligence applications.

Useful for a wide range of programming tasks for scientific purposes,Whether from a small shell script or an entire website application.

Finally, it is open source.Can get the same community support.

ai's python library

Overall ai library

aima:python implements "Artificial Intelligence:A Modern Approach" algorithm from russell to norvigs

pydatalog:a logic programming engine in python

simpleai:Python implements the artificial intelligence algorithms described in the book "Artificial Intelligence:A Modern Approach".It focuses on providing an easy to use,Well-documented and tested libraries.

easyai:a python engine for two-person ai games (negative value,Replacement table, game solution)

Machine learning library

pybrain a flexible,Simple and effective algorithms for machine learning tasks,It is a modular python machine learning library.It also provides a variety of predefined environments to test and compare your algorithms.

pyml a bilateral framework written in python,Focus on svm and other kernel methods.It supports linux and mac os x.

scikit-learn aims to provide simple and powerful solutions,Can be reused in different contexts:machine learning as a versatile tool for science and engineering.It is a module of python,Integrates classic machine learning algorithms,These algorithms are closely linked with the Python science package (numpy, scipy.matplotlib).

mdp-toolkit This is a python data processing framework.Can be easily extended.It collects supervised and unsupervised learning calculators and other data processing units.Can be combined into data processing sequences or more complex feedforward network structures.The implementation of the new algorithm is simple and intuitive.The available algorithms are increasing steadily,Including signal processing methods (principal component analysis, independent component analysis, slow feature analysis), flow pattern learning methods (local linear embedding), centralized classification,Probabilistic method (factor analysis,rbm), data preprocessing methods, etc.

Natural language and text processing libraries

nltk open source python module, linguistic data and documentation,Used to research and develop natural language processing and text analysis.Available in windows, mac osx and linux.


Did an experiment,A software that uses artificial intelligence and the Internet of Things to do employee behavior analysis.The software provides a useful feedback to employees through the distraction of their emotions and behaviors,This improves management and work habits.

Using python machine learning library,opencv and haarcascading concepts to train.Established sample poc to detect basic emotions like happiness passed back through wireless cameras placed in different locations,Angry, sad, disgusted, doubtful, disdainful, sarcastic and surprised.The collected data will be centralized in the cloud database,Even the entire office can be retrieved by clicking a button on the android device or desktop.

Developers have made progress in deep analysis of facial emotional complexity and mining more details.With the help of deep learning algorithms and machine learning,Can help analyze employee personal performance and appropriate employee/team feedback.

in conclusion

Because Python provides a good framework like scikit-learn,Plays an important role in artificial intelligence:machine learning in python,Fulfilled most of the needs in this area.One of the most powerful and easy-to-use tools for visualizing data-driven documents in d3.js js.Processing framework,Its rapid prototyping makes it an important language that cannot be ignored.ai needs a lot of research,Therefore, it is not necessary to require a 500kb java boilerplate code to test the new hypothesis.Almost every idea in Python can be quickly implemented with 20-30 lines of code (the same is true for js and lisp). Therefore, it is a very useful language for artificial intelligence.

Related books recommended:

The python bull in your eyes should have this book list

python book list

10 good python books not to be missed

  • Previous An introduction to avoiding the hidden traps of the equals method in Java programming
  • Next Principles of Java design pattern and implementation code sharing