Singularity : The Super Artificial Intelligence, it will be a reality before 2029
In artificial intelligence, an expert system is a computer system that emulates the decision-making ability of a human expert. Expert systems are designed to solve complex problems by reasoning through bodies of knowledge, represented mainly as if–then rules rather than through conventional procedural code. The first expert systems were created in the 1970s and then proliferated in the 1980s. Expert systems were among the first truly successful forms of artificial intelligence (AI) software. An expert system is divided into two subsystems: the inference engine and the knowledge base. The knowledge base represents facts and rules. The inference engine applies the rules to the known facts to deduce new facts. Inference engines can also include explanation and debugging abilities
Artificial neural networks (ANN) or connectionist systems are computing systems inspired by the biological neural networks that constitute animal brains. The neural network itself is not an algorithm, but rather a framework for many different machine learningalgorithms to work together and process complex data inputs. Such systems “learn” to perform tasks by considering examples, generally without being programmed with any task-specific rules. For example, in image recognition, they might learn to identify images that contain cats by analyzing example images that have been manually labeled as “cat” or “no cat” and using the results to identify cats in other images. They do this without any prior knowledge about cats, for example, that they have fur, tails, whiskers and cat-like faces. Instead, they automatically generate identifying characteristics from the learning material that they process.
An ANN is based on a collection of connected units or nodes called artificial neurons, which loosely model the neurons in a biological brain. Each connection, like the synapses in a biological brain, can transmit a signal from one artificial neuron to another. An artificial neuron that receives a signal can process it and then signal additional artificial neurons connected to it.
In common ANN implementations, the signal at a connection between artificial neurons is a real number, and the output of each artificial neuron is computed by some non-linear function of the sum of its inputs. The connections between artificial neurons are called ‘edges’. Artificial neurons and edges typically have a weight that adjusts as learning proceeds. The weight increases or decreases the strength of the signal at a connection. Artificial neurons may have a threshold such that the signal is only sent if the aggregate signal crosses that threshold. Typically, artificial neurons are aggregated into layers. Different layers may perform different kinds of transformations on their inputs. Signals travel from the first layer (the input layer), to the last layer (the output layer), possibly after traversing the layers multiple times.
Deep learning models are vaguely inspired by information processing and communication patterns in biological nervous systems yet have various differences from the structural and functional properties of biological brains (especially human brains), which make them incompatible with neuroscience evidences.
The Association for Computing Machinery (ACM) is the world’s largest educational and scientific computing society. It has its own Code of Ethics and another set of ethical principles that were also approved by the IEEE as the standard for teaching and practicing software engineering. These codes are Code of Ethics and Professional Conduct and the Software Engineering Code of Ethics and Professional Practice, respectively, and some of their guidelines are presented below:
From the Code of Ethics and Professional Conduct (ACM):
Contribute to society and human well-being. Programmers should work to develop computer systems that can reduce negative consequences to society, such as threats to safety and health, and that can make everyday activities and work easier. It is “an obligation to develop to high standards” (Savage).
Avoid harm to others. Computer systems have an indirect impact on third parties. They can cause loss of information and resources that might result severely harmful for users, the general public, or employers. Therefore, software developers should minimize the risk of harming others due to coding errors, or security issues, by following standards to design and test systems (Code of Ethics and Professional Conduct).
Be honest and trustworthy. This principle encourages programmers to be honest and aware of their limitations in knowledge and education when writing computer systems. Also, if a programmer knows there is something wrong with a computer system, he or she should report it immediately to avoid undesirable consequences.
Give proper credit for intellectual property. It is mandatory for every software developer to never use and take credit for someone else’s work, even when it has not been protected by a copyright law, patent, etc. They must recognize and fully credit other people’s works, and they should use their own ideas to develop software.
Respect the privacy of others. Computer systems are wrongly used by some people to violate the privacy of others. Software developers should write programs that can protect users’ private information and that can avoid other undesired people to have unauthorized access to it (Code of Ethics and Professional Conduct).
Honor confidentiality. Unless required by law or any other ethical guideline, a programmer must keep secret any additional information related to his or her employer that arises from working in a project.
From Software Engineering Code of Ethics and Professional Practice (IEEE, ACM):
Approve software only if they have a well-founded belief it is safe and meets specifications. Programmers cannot assume that a system is ready to use only because it performs the tasks needed. They should make sure these systems are also safe and meet every specification required by the user. If programs are not safe, users are unprotected from hackers that could steal important information or money. Therefore, several tests should be performed in order to ensure a system’s security before approving it.
Accept full responsibility for their own work. If a program presents errors, the software developer should accept full responsibility for his or her work, and should work on revising, correcting, modifying, and testing it.
Not knowingly use software that is obtained or retained either illegally or unethically. If a computer system will be used as a base for the creation of another, then permission to do so should be asked by the programmer. This principle prohibits using any other software for any purpose if the way it was gotten is not clear or is known to be illegal or unethical.
Identify, define, and address ethical, economic, cultural, legal and environmental issues related to work projects. If a programmer notices and identifies that working on a project will lead to any kind of problems, then the programmer should report it to his or her employer before continuing.
Ensure that specifications for software on which they work satisfy the users’ requirements and they have the appropriate approvals. Software developers should come to their employers to ask for the correspondent approval to the system they are creating before continuing working on the next part. If it doesn’t meet the requirements, then a modification to the source code of the system should be made.
Ensure adequate testing, debugging and review of software. Programmers should perform the appropriate tests to the pieces of software they work with, and should check for errors and system security holes to make sure that the programs are well implemented.
Not engage in deceptive financial practices such as bribery, double billing, or other improper financial practices. Programmers are exposed to be participants in illegal activities to get money. They get involved in them due to threats, economic issues, or simply because they want to obtain easy money by taking advantage of their knowledge about how computer systems work. This guideline prohibits programmer involvement in such unlawful actions.
Improve their ability to create safe, reliable, and useful quality software. Since technology advances faster year by year, and so does virtual criminality, the need of well-structured and designed programs is increasing. Computer systems get old and limited by new ones and new devices. Programmers should “further their knowledge of developments in the analysis, specification, design, development, maintenance, and testing software and related documents” (Software Engineering Code of Ethics and Professional Practice) in order to create better pieces of software.
Nanotechnology (“nanotech”) is manipulation of matter on an atomic, molecular, and supramolecular scale. The earliest, widespread description of nanotechnology referred to the particular technological goal of precisely manipulating atoms and molecules for fabrication of macroscale products, also now referred to as molecular nanotechnology. A more generalized description of nanotechnology was subsequently established by the National Nanotechnology Initiative, which defines nanotechnology as the manipulation of matter with at least one dimension sized from 1 to 100 nanometers. This definition reflects the fact that quantum mechanical effects are important at this quantum-realm scale, and so the definition shifted from a particular technological goal to a research category inclusive of all types of research and technologies that deal with the special properties of matter which occur below the given size threshold. It is therefore common to see the plural form “nanotechnologies” as well as “nanoscale technologies” to refer to the broad range of research and applications whose common trait is size. Because of the variety of potential applications (including industrial and military), governments have invested billions of dollars in nanotechnology research. Through 2012, the USA has invested $3.7 billion using its National Nanotechnology Initiative, the European Union has invested $1.2 billion, and Japan has invested $750 million.
IT expert with more than 20 years experience in Multiple OS, Security, Data & Internet ,
Interests include AI and Big Data, Internet and multimedia. An experienced Real Estate agent, Insurance agent, and a Futures trader. I am capable of finding any answers in the world you want as long as there are reports available online for me to do my own research to bring you closest to all the unsolved mysteries in this world, because I can find all the paths to the Truth, and what the Future holds. All I need is to observe, test and probe to research on anything I want, what you need to do will take months to achieve, all I need is a few hours.
View all posts by Gilbert Tan TS