Glauber Crater AS16-M-1301
   HOME

TheInfoList



OR:

Glauber is a scientific discovery method written in the context of computational
philosophy of science Philosophy of science is a branch of philosophy concerned with the foundations, methods, and implications of science. The central questions of this study concern what qualifies as science, the reliability of scientific theories, and the ultim ...
. It is related to
machine learning Machine learning (ML) is a field of inquiry devoted to understanding and building methods that 'learn', that is, methods that leverage data to improve performance on some set of tasks. It is seen as a part of artificial intelligence. Machine ...
in
artificial intelligence Artificial intelligence (AI) is intelligence—perceiving, synthesizing, and inferring information—demonstrated by machines, as opposed to intelligence displayed by animals and humans. Example tasks in which this is done include speech re ...
. Glauber was written, among other programs, by Pat Langley,
Herbert A. Simon Herbert Alexander Simon (June 15, 1916 – February 9, 2001) was an American political scientist, with a Ph.D. in political science, whose work also influenced the fields of computer science, economics, and cognitive psychology. His primary ...
, G. Bradshaw and
J. Zytkow ''J. The Jewish News of Northern California'', formerly known as ''Jweekly'', is a weekly print newspaper in Northern California, with its online edition updated daily. It is owned and operated by San Francisco Jewish Community Publications In ...
to demonstrate how scientific discovery may be obtained by
problem solving Problem solving is the process of achieving a goal by overcoming obstacles, a frequent part of most activities. Problems in need of solutions range from simple personal tasks (e.g. how to turn on an appliance) to complex issues in business an ...
methods, in their book ''Scientific Discovery, Computational Explorations on the Creative Mind''. Their programs simulate historical scientific discoveries based on the
empirical Empirical evidence for a proposition is evidence, i.e. what supports or counters this proposition, that is constituted by or accessible to sense experience or experimental procedure. Empirical evidence is of central importance to the sciences and ...
evidence known at the time of discovery. Glauber was named after
Johann Rudolph Glauber Johann Rudolf Glauber (10 March 1604 – 16 March 1670) was a German-Dutch alchemist and chemist. Some historians of science have described him as one of the first chemical engineers. His discovery of sodium sulfate in 1625 led to the compo ...
, a 17th-century alchemist whose work helped to develop acid-base theory. Glauber (the method) rediscovers the law of acid-alkali reactions producing salts, given the qualities of substances and observed facts, the result of mixing substances. From that knowledge Glauber discovers that substances that taste bitter react with substances tasting sour, producing substances tasting salty. In few words, the law: : Acid + Alkali --> Salt Glauber was designed by Pat Langley as part of his work on discovery heuristics in an attempt to have a computer automatically review a host of values and characteristics and make independent analyses from them. In the case of Glauber, the goal was to have an autonomous
application Application may refer to: Mathematics and computing * Application software, computer software designed to help the user to perform specific tasks ** Application layer, an abstraction layer that specifies protocols and interface methods used in a c ...
that could estimate, even perfectly describe, the nature of a given chemical compound by comparing it to related substances. Langley formalized and compiled Glauber in 1983. The software were supplied with information about a variety of materials as they had been described by 17-18th century chemists, before most of modern chemical knowledge had been uncovered or invented. Qualitative descriptions like taste, rather than numerical data such as molecular weight, were programmed into the application. Chemical reactions that were known in that era and the distinction between reactants and products were also provided. From this knowledge, Glauber was to figure out which substances were acids, bases, and salts without any
quantitative Quantitative may refer to: * Quantitative research, scientific investigation of quantitative properties * Quantitative analysis (disambiguation) * Quantitative verse, a metrical system in poetry * Statistics, also known as quantitative analysis ...
information. The system examined chemical substances and all of their most likely reactions and correlates the expected taste and related acidity or saltiness according to the rule that acids and bases produce salts. Glauber was a very successful advance in theoretical chemistry as performed by computer and it, along with similar systems developed by
Herbert A. Simon Herbert Alexander Simon (June 15, 1916 – February 9, 2001) was an American political scientist, with a Ph.D. in political science, whose work also influenced the fields of computer science, economics, and cognitive psychology. His primary ...
including
Stahl {{Wiktionary, Stahl, stahl Stahl (German: ''steel'') is a surname of German origin, which also occurs among Jews and Hutterites. It may refer to: * Agustín Stahl (1842–1917), Puerto Rican physician, ethnologist, and botanist * Alexander von Sta ...
(which examines oxidation) and DALTON (which calculates atomic weight), helped form the groundwork of all current automated chemical analysis.


The Glauber method


Information representation (data structures)

Glauber uses two predicates: Reacts and Has-Quality, represented in Lisp lists as follows: :(Reacts Inputs Outputs ) :(Has-Quality Object quality ) For their experiment the authors used the following facts: :(Reacts Inputs Outputs ) :(Reacts Inputs Outputs ) :(Reacts Inputs Outputs ) :(Reacts Inputs Outputs ) :(Has-Quality Object Tastes ) :(Has-Quality Object Tastes ) :(Has-Quality Object Tastes ) :(Has-Quality Object Tastes ) :(Has-Quality Object Tastes ) :(Has-Quality Object Tastes ) :(Has-Quality Object Tastes ) :(Has-Quality Object Tastes ) Discovering the following law and equivalence classes: :Salts: :Acids: :Alkalis: :∀ alkali ∀ acid ∃ salt (Reacts Inputs Outputs ) :∀ salt (Has-Quality Object Tastes ) :∀ acid (Has-Quality Object Tastes ) :∀ alkali (Has-Quality Object Tastes ) The modern notation with strings like: NaOH, HCl, etc., is used just as short substance names. Here they do not mean the chemical structure of the substances, which was not known at the time of the discovery; the program works with any name used in the 17th century like ''aqua regia'', ''muriatic acid'', etc.


Procedures

Glauber is based in two procedures: Form-Class and Determine-Quantifier. The procedure Form-Class generalize the Reacts predicates by replacing the substance names by variables ranging on
equivalence class In mathematics, when the elements of some set S have a notion of equivalence (formalized as an equivalence relation), then one may naturally split the set S into equivalence classes. These equivalence classes are constructed so that elements a ...
es determined by a quality whose value distinguishes the substances in each class. In the experiment designed by its authors, the substances are partitioned in three classes based in the value of the taste quality based on their values: acids (sour), alkalis (bitter) and salts (salty).


Glauber main procedure

: Input: Reacts and Has-Quality predicate sets : Output: On success returns a generalized version of the Reacts predicate whose variables range over the equivalence classes and a new Class predicate which is like Has-Quality having a name-class instead of substance name: (Has-Quality quality ) # If there are no more substance names in the Reacts predicates then finish # process the Reacts predicates with the Form-Class procedure # process the result of the previous step with Determine-Quantifier # go to step 3


Form-Class

: Input: the Reacts and Has-Quality predicate sets : Output: a new substances class, a new Has-Quality and a new Reacts predicate set # Count the number of occurrences of each quality in the Has-Quality predicates # Select the quality value with the largest number of occurrences, which substances are in the Reacts predicates # Create a name for the class # Generate a new Has-Quality predicate set removing all the predicates in Has-Quality with the selected quality and adding the predicate (Has-Quality quality ) to the Class predicates where class-name is the name obtained in step 3 # Generate a new Reacts predicate set by replacing the name of the substance in the class formed in the step 2 by the name created in step 3 # Create a new class extension by associating the name generated on step 3 with the set of all substances on the class selected on step 2


Determine-Quantifier

:Input: the Reacts, Has-Quality and Class (generated by Form-Class) predicate sets :Output: An intentional quantified class corresponding to the extensional class generated by Form-Class, a new Reacts predicate set extended with the appropriate quantifier of the last discovered class received from Form-Class # Universally quantify the rule to determine the class #:(Has-Quality quality ) => (∀ class-name (Has-Quality quality )) # Generate Reacts predicates replacing each substance in the new class for its class-name in the Reacts predicates # if all the predicates generated in the previous step are contained in the original set #: then quantify universally #: else quantify existentially


References

{{reflist Chemistry software