The Field Of Computer And Information Science Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

The theory and practice of AI is leading to the development of a wide range of artificially intelligent tools. These tools, sometimes working under the guidance of a human and sometimes without external guidance, are able to solve or help solve a steadily increasing range of problems. (RE1)

Also Artificial intelligence is concerned with developing computer systems that can store knowledge and effectively use the knowledge to help solve problems and accomplish tasks, and in order to these systems to posses knowledge, it has to be obtained either by:

Human knowledge that has been converted into a format suitable for use by an Artificial intelligence system.

Knowledge generated by an AI system, perhaps by gathering data and information, and by analyzing data, information, and knowledge at its disposal.

And this machines ability to learn and to solve problems came to the extent of even having a human perspective, these systems are call Expert systems.

Over the past 50 years, Artificial intelligence has produced a number of results that are important to students, teachers, our overall educational system, and to our society.

Components of Expert systems

An expert system is typically composed of at least three primary components. These are the inference engine, the knowledge base, and the working memory.

''The knowledge base of expert systems contains both factual and heuristic knowledge. Factual knowledge is that knowledge of the task domain that is widely shared, typically found in textbooks or journals, and commonly agreed upon by those knowledgeable in the particular field.

Heuristic knowledge is the less rigorous, more experiential, more judgmental knowledge of performance. In contrast to factual knowledge, heuristic knowledge is rarely discussed, and is largely individualistic. It is the knowledge of good practice, good judgment, and plausible reasoning in the field. It is the knowledge that underlies the "art of good guessing."

Knowledge representation formalizes and organizes the knowledge. One widely used representation is the production rule, or simply rule. A rule consists of an IF part and a THEN part (also called a condition and an action). The IF part lists a set of conditions in some logical combination. The piece of knowledge represented by the production rule is relevant to the line of reasoning being developed if the IF part of the rule is satisfied; consequently, the THEN part can be concluded, or its problem-solving action taken. Expert systems whose knowledge is represented in rule form are called rule-based systems.

Another widely used representation, called the unit (also known as frame, schema, or list structure) is based upon a more passive view of knowledge. The unit is an assemblage of associated symbolic knowledge about an entity to be represented. Typically, a unit consists of a list of properties of the entity and associated values for those properties.

Since every task domain consists of many entities that stand in various relations, the properties can also be used to specify relations, and the values of these properties are the names of other units that are linked according to the relations. One unit can also represent knowledge that is a "special case" of another unit, or some units can be "parts of" another unit.

The problem-solving model, or paradigm, organizes and controls the steps taken to solve the problem. One common but powerful paradigm involves chaining of IF-THEN rules to form a line of reasoning. If the chaining starts from a set of conditions and moves toward some conclusion, the method is called forward chaining. If the conclusion is known (for example, a goal to be achieved) but the path to that conclusion is not known, then reasoning backwards is called for, and the method is backward chaining. These problem-solving methods are built into program modules called inference engines or inference procedures that manipulate and use knowledge in the knowledge base to form a line of reasoning.

The knowledge base an expert uses is what he learned at school, from colleagues, and from years of experience. Presumably the more experience he has, the larger his store of knowledge. Knowledge allows him to interpret the information in his databases to advantage in diagnosis, design, and analysis.

Though an expert system consists primarily of a knowledge base and an inference engine, a couple of other features are worth mentioning: reasoning with uncertainty, and explanation of the line of reasoning.

Knowledge is almost always incomplete and uncertain. To deal with uncertain knowledge, a rule may have associated with it a confidence factor or a weight. The set of methods for using uncertain knowledge in combination with uncertain data in the reasoning process is called reasoning with uncertainty. An important subclass of methods for reasoning with uncertainty is called "fuzzy logic," and the systems that use them are known as "fuzzy systems."(RE2)

In conclusion, the Expert system is composed of 3 parts, These components are identified as a fact base, a rule base, and an inference mechanism. The fact base and the rule base combine to be the knowledge base,, see the diagram below


Programming languages in Expert systems building

Six relatively standard high level languages are studied, which include FORTRAN, Modula-2, Ada**, Pascal, LISP and Prolog.

Fortran: is a general-purpose, procedural, imperative programming language that is especially suited to numeric computation and scientific computing.

Modula-2 is a general purpose procedural language, sufficiently flexible to do systems programming, but with much broader application. In particular, it was designed to support separate compilation and data abstraction in a straightforward way. Much of the syntax is based on Wirth's earlier and better-known language, Pascal. Modula-2 was designed to be broadly similar to Pascal, with some elements and syntactic ambiguities removed and the important addition of the module concept, and direct language support for multiprogramming.

The Modula-2 module may be used to encapsulate a set of related subprograms and data structures, and restrict their visibility from other portions of the program. The module design implemented the data abstraction feature of Modula-2 in a very clean way. Modula-2 programs are composed of modules, each of which is made up of two parts: a definition module, the interface portion, which contains only those parts of the subsystem that are exported (visible to other modules), and an implementation module, which contains the working code that is internal to the module.

Ada**: is a structured, statically typed, imperative, wide-spectrum, and object-oriented high-level computer programming language, extended from Pascal and other languages.

Pascal: is an influential imperative and procedural programming language, designed in 1968/9 and published in 1970 by Niklaus Wirth as a small and efficient language intended to encourage good programming practices using structured programming and data structuring.

Pascal, like many programming languages of today (but unlike most languages in the C family), allows nested procedure definitions to any level of depth, and also allows most kinds of definitions and declarations inside procedures and functions. This enables a very simple and coherent syntax where a complete program is syntactically nearly identical to a single procedure or function.

LISP: is a family of computer programming languages with a long history and a distinctive, fully parenthesized syntax.

Prolog: is a general purpose logic programming language associated with artificial intelligence and computational linguistics.

Prolog has its roots in formal logic, and unlike many other programming languages, Prolog is declarative: The program logic is expressed in terms of relations, represented as facts and rules. Execution is triggered by running queries over these relations.

And the difference between some of these languages and procedural languages is that procedural languages use imperative programming (specifying the steps the program must take to reach the desired state), while other languages are declarative and expresses the logic of a computation without describing its control flow.

Example of expert system

A specific example of a expert system is PXDES which is a pneumoconiosis, a lung disease, X-ray diagnosis. This expert system incorporates the inference engine to examine the shadows on the X-ray. The shadows are used to determine the type and the degree of pneumoconiosis. This system also includes three other modes: the knowledge base, the explanation interface, and the knowledge acquisition modes. The knowledge base mode contains the data of X-ray representations of various stages of the disease. These elements are in the form of fuzzy production rules discussed in the previous paragraphs. The explanation interface details the conclusions, and the knowledge acquisition mode allows medical experts to add or change information in the system. Another example of a diagnosis rule-based expert system is EMERGE designed to be used in an emergency room. This system uses a form of production rules which incorporates weighing factors which are determined by a neural network. The neural network is composed of input and output blocks with a hidden layer block in between which communicates input to the output. The neural network learns from examples then predicts an output based on this knowledge. This system also uses an IF-THEN-UNLESS statement instead of an IF-THEN statement. Because of this, the decision process may be more precise, the results may be more accurate and the explanations may be better understood. A specific example from EMERGE using the IF-THEN and the IF-THEN-UNLESS indicates that the latter case is more compact and less complicated.

The IF-THEN-UNLESS rule allows for less rules, therefore, permitting a more rapid search. The logical operators, AND and OR, used in both these methods give their corresponding rules different weighing factors and can be seen in the parenthesis next to each statement in the IF-THEN case. The threshold value for OR is lower than that for AND. Thus, for each additional AND you have a lower weighing factor but for each OR, the weighing factor is divided evenly. It can be seen from the example above that the weighing factors must add up to one. (RE4)

Benefits of using Artificial intelligence:

Artificial intelligence compensates for humans and their work, hence when its properly integrated into a field it can lower costs and improve productivity. For example:

Banks use artificial intelligence systems to organize operations, invest in stocks, and manage properties

A medical clinic can use artificial intelligence systems to organize bed schedules, make a staff rotation, and provide medical information.

Reasons why including AI in IS proven to be difficult

Because for an example: In the area of robotics, computers are now widely used in assembly plants, but they are capable only of very limited tasks. Robots have great difficulty identifying objects based on appearance or feel, and they still move and handle objects clumsily.

Currently, no computers exhibit full artificial intelligence (that is, are able to simulate human behavior). The greatest advances have occurred in the field of games playing. The best computer chess programs are now capable of beating humans

All these examples bring us to the limitations of including AI in information systems (Expert systems):

Not widely used or tested

Limited to relatively narrow problems

Cannot readily deal with "mixed" knowledge

Possibility of error

Cannot refine own knowledge base

Difficult to maintain

May have high development costs

Raise legal and ethical concerns(RE5)