Fuzzy expert system for solving lost circulation problem - Amazon Web ...

5 downloads 27978 Views 2MB Size Report
Dec 11, 2006 - Both desktop and Web-based implementations permit petroleum engineers benefit from the system working ... applications, the tools that can implement integrated intelligent systems ...... The entire system is coded in C# over .
Applied Soft Computing 8 (2008) 14–29 www.elsevier.com/locate/asoc

Fuzzy expert system for solving lost circulation problem Leonid Sheremetov a,*, Ildar Batyrshin a, Denis Filatov b, Jorge Martinez a, Hector Rodriguez a a

Mexican Petroleum Institute (IMP), Av. Lazaro Cardenas, 152, Col. San Bartolo Atepehuacan, Mexico D.F., CP 07730, Mexico b Center for Computing Research (CIC), National Polytechnic Institute (IPN) Av. Juan de Dios Batiz s/n, Col. Nueva Industrial Vallejo, Mexico D.F., CP 07738, Mexico Received 7 June 2006; received in revised form 23 October 2006; accepted 7 November 2006 Available online 11 December 2006

Abstract Lost circulation is the most common problem encountered while drilling oil wells. This paper describes a distributed fuzzy expert system, called Smart-Drill, aimed in helping petroleum engineers to diagnose and solve lost circulation problems. To represent and manipulate perception-based evaluations of uncertainties of facts and rules, the expert system uses an uncertainty model with qualitative scales of plausibility values and multiset-based fuzzy algebra of strict monotonic operations. Its realization in inference procedures permits taking into account the change of plausibility of premises in expert systems rules. Original tools like CAPNET Expert System Shell, Knowledge Acquisition Tool and WITSML Converter implementing the proposed model were used for the development of the Smart-Drill. Overall, the system architecture is discussed and implementation details are provided. Both desktop and Web-based implementations permit petroleum engineers benefit from the system working out in the field. The system is currently at field testing phase in PEMEX, Mexican Oil Company. # 2006 Elsevier B.V. All rights reserved. Keywords: Fuzzy expert system; Fuzzy algebra; Finite ordinal scales; Multi-sets; Knowledge representation; Oil well drilling; Lost circulation problem

1. Introduction With the growing interest and enthusiasm in the oil industry toward smart wells, intelligent reservoir characterization, and real-time analysis and interpretation of large amounts of data for process optimization, the need for powerful, robust and intelligent tools has significantly increased. In recent years, hybrid intelligent systems integrating different AI techniques have made solid steps toward becoming more accepted in the mainstream of the oil and gas industry due to their capabilities in handling real world complexities involving imprecision, uncertainty and vagueness [2,29,30,31,44]. Nevertheless, an analysis of the available commercial intelligent software tools for the industry indicates that although there are some software applications, the tools that can implement integrated intelligent systems have not yet made it to the commercial market [30]. First, this is partially due to the fact that expert knowledge in most domains of the oil and gas industry, due to their complexity, is

* Corresponding author. Tel.: +52 55 9175 7546; fax: +52 55 9175 7463. E-mail addresses: [email protected] (L. Sheremetov), [email protected] (I. Batyrshin), [email protected] (D. Filatov), [email protected] (J. Martinez), [email protected] (H. Rodriguez). 1568-4946/$ – see front matter # 2006 Elsevier B.V. All rights reserved. doi:10.1016/j.asoc.2006.11.003

very uncertain, incomplete and perception based. For processing such expert knowledge in a reliable manner, an expert system should be able to represent and manipulate perception-based evaluations of uncertainties of facts and rules, to support multiple-valuedness of variables, to make conclusions with unknown values of variables, etc. Second, the need to integrate these systems into corporate-wide computing environments, introduces new levels of complexity. Finally, the users of such systems are usually not the office workers but field petroleum engineers which require a remote access to the resources from their workplace. Such type of systems is discussed in this paper. This paper describes a fuzzy expert system (FES), called Smart-Drill, helping petroleum engineers to diagnose and solve the lost circulation problem (LCP). LCP is one of the most common problems encountered while drilling: drilling mud may flow freely into the shallow unconsolidated formations because of high permeability or just because of a broken tube. Drilling may continue, or the mud can be thickened and lost circulation material (LCM) added, in an attempt to cure the problem. Sometimes, the lost circulation is cured easily. At other times, the problem is attacked even more aggressively until the decision is made to give up and keep drilling ‘‘blindly’’. To find the most appropriate and efficient solution, the intervention of experienced petroleum engineers is usually required.

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

This paper is a follow-up of Ref. [35], where we described the prototype desktop version of the Smart-Drill. In the present paper we discuss the main drawbacks of conventional models of confidence and extend the uncertainty model on both conjunctive and disjunctive algebras of strict monotonic operations on finite ordinal scales used by the inference engine for processing the uncertainties. We explain the details of the fuzzy inference engine implementing both algebras. Along with the fuzzy confidence mode, the extended model supports also the use of UNKNOWN values for facts for advanced working with uncertainties. This model is used for fuzzy reasoning and ranking of decision alternatives and is implemented in the CAPNET Expert System Shell. In this paper we also show how different AI technologies can benefit from the distributed infrastructures extending their capacity to handheld devices like Pocket PCs. The rest of the paper is organized as follows. In the next section, LCP is briefly described and a general solution scheme is developed. Section 3 provides a theoretical background for system development. It describes the fuzzy algebra based on conjunctive and disjunctive multi-sets developed to support inference engine. In Section 4, a knowledge representation model developed for the CAPNET Agent Platform as an extension to the FIPA-RDF is described. The model is supported by the Knowledge Acquisition Tool and is implemented in CAPNET Expert System Shell. Both tools were used for Smart-Drill development. Section 5 defines the Smart-Drill’s architecture and provides implementation details. Finally, Section 6 describes a small illustrative example from the case study developed and applied in the South Zone of PEMEX, Mexican Oil Company, followed by a discussion of related works and conclusions. 2. Motivation for research: lost circulation problem LCP – also known as lost returns – stands for the absence or reduction of drilling mud pumped through the drillstring while drilling the wells, which filtrates into the formation instead of flowing up to the surface (Fig. 1). Historic evidence shows that LCP highly contributes to the total cost of the mud and the well. Consequences of lost circulation may go from increasing operation costs to a stuck drill pipe, a blow out, reservoir damage and even loss of well. The objective of this study is to develop an expert system that can screen rock and fluid parameters required to diagnose correctly the LCP and suggest the most appropriate solution for the problem at hand. The problem of diagnosing of the LCP and selecting a solution technique may still be regarded as an ill-structured problem since it does not have a unique solution. The decision process is organized according to the decision tree, an excerpt of which is shown in Fig. 2. The expert system implements the right-hand side part of the tree, diagnosing LCP during drilling and suggesting corrective measures selecting the most appropriate technique for each situation (withdrawing the drillstring, placing LCM, placing batches for high filtrate losses and treating losses in oil-based muds).

15

Fig. 1. The main flow of mud while drilling.

An effective LCP treatment is based on the adequate correlation of parameters such as: volume loss, formation lithology, loss point, operational window between fracture pressure and pore pressure and so on. And the adequate correlation is heavily based on field experience. The general solution scheme for the problem is shown in Fig. 3. According to this diagram, block 1 consists of feeding data which comprises five groups: drilling fluid, lithology, well data (casing, drill string, drill bits), operations in well and loss rate, which are stored in different data sources like PEMEX Daily Perforation Report or Perforation Program. At the next step of diagnostic procedure (block 2), loss severity is determined with details for the corresponding measure. In the case of a total loss severity, the action to perform is placing lost circulation materials (LCM) (block 6.a); else, the solution consists of lowering both the pump rate and the rate of penetration (block 3). Well hydraulics should be recalculated implementing three rheological models: powerlaw fluid, yield-power law and Bingham plastic model. Block 3 is revisited until it has been reached the minimum possible conditions of operation, according to the calculated hydraulics. If the problem persists, the next solution relies upon feeding the system with additional data from laboratory tests and the drill log (block 4). New information is analyzed regarding the viability of lowering density as the next measure (block 5). In case of failure, the collected data (block 4) gives also a hint on whether the next step must be going directly to critical measures or, the last two non-critical measures could be applied: placing LCM (block 6.a) or squeezing cement plugs (block 6.b). Finally, if none of these controls the problem, critical measures are applied (block 7). Smart-Drill strategy follows the steps from Fig. 3 in treating lost circulation cases. Additionally, the results from each treated case, either success or failure, are processed and evaluated in order to feed two databases: the knowledge base and a historic record of cases for future reuse. The theoretical bases for the FES are given in the following section.

16

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

Fig. 2. An excerpt from the decision tree for LCP diagnostics.

3. Perception-based evaluations of uncertainties Uncertainty of the expert knowledge is reflected in linguistic variables, as well as both in the uncertainty of the rules and facts of the expert system. For example, variables like ‘‘loss rate’’ though measured with numerical values are defined on linguistic scales like ‘‘seepage, partial loss, total loss’’. Since the expertise is often intuitive, human perceptions about uncertainties of facts and rules are usually qualitative: ‘‘it is possible that the drillstring tension is strong’’ or ‘‘if the drillstring tension is very strong then it is very possible that the borehole conditions are unstable’’. The model of uncertainty defines the mechanism used in calculating

the overall plausibility value of the condition-part of the rule, inferring the confidence of the conclusion part, as well as combining the confidences of multiple conclusions. The main approaches used so far are based on Certainty Factors model specifying a continuous range (0 to 1 or 100 to 100), Bayesian Belief Networks, fuzzy logic and multi-valued logics (true, false, unknown) [23,24,32]. Since the reasoning process in the expert system is based on knowledge that can cover many aspects of a problem, it also may conclude several possible recommendations in the same way human experts would. Then, the multiple recommendations would be arranged in order of likelihood based on the certainty by which the condition-parts of the rules are

Fig. 3. LCP solution scheme: expert system is used in the activities shown in gray boxes.

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

satisfied. The inference engine carries out this process using some model of confidence. In this section we discuss the traditional way of representing of human judgment and further introduce an approach based on fuzzy multi-set-based algebras of strict monotonic operations. 3.1. Traditional models of human judgment Human judgments about plausibility, truth, certainty values of premises, rules and facts are usually qualitative and measured in ordinal scales. Traditional models using representation of these judgments by numbers from intervals L = [0, 1] or L = [0, 100] and quantitative operations such as multiplication, addition over these numbers are not always correct. Let us consider a simple example. Let R1 and R2 be two rules of some expert system: R1 : if A1 then H1; pvðR1Þ

(1)

R2 : if A2 then H2; pvðR2Þ;

(2)

where pv(R1) and pv(R2) are the plausibility, certainty, truth values of rules measured in some linearly ordered scale L, for example L = [0, 1]. Often plausibilities of conclusions are calculated as: pvðH1Þ ¼ pvðR1ÞpvðA1Þ;

(3)

pvðH2Þ ¼ pvðR2ÞpvðA2Þ;

(4)

where pv(A1) and pv(A2) are the plausibilities of premises and * is some t-norm [25]. Let in (1)–(4) the qualitative information about plausibility values be the following: pvðA1Þ < pvðA2Þ < pvðR2Þ < pvðR1Þ;

(5)

that is, the plausibility values of premises are less than the plausibility values of rules, the plausibility value of A1 is less than the plausibility value of A2, and the plausibility value of rule R2 is less then the plausibility value of rule R1. Let these plausibility values be interpreted as the following quantitative values from L = [0, 1]: pvðA1Þ ¼ 0:3 < pvðA2Þ ¼ 0:4 < pvðR2Þ ¼ 0:6 < pvðR1Þ ¼ 0:9:

(6)

If in (3) and (4) the operation * will be a multiplication operation then we will obtain: pvðH1Þ ¼ 0:27 > pvðH2Þ ¼ 0:24:

(7)

If the plausibility values from (5) obtain another quantitative values preserving the qualitative relation (5), for example pv(A1) is changed to pv(A1) = 0.2, then we will obtain the opposite ordering of conclusions: pvðH1Þ ¼ 0:18 < pvðH2Þ ¼ 0:24:

(8)

Thus the small transformation in a quantitative interpretation of judgments of experts or expert system users, which still preserve the qualitative information about plausibility values can bring to opposite results on the output of the expert system.

17

The similar situation of instability of results on the output of inference procedure can also arise when we use other quantitative operations in (3) and (4) and such instability of decisions can arise on the each step of inference procedure. Stability of decisions on the output of inference procedures is achieved for uncertainties measured in ordinal scales if in (3) and (4) we use the * = min operation [43]. But in this case the property of strict monotonicity of conclusions desirable for inference procedures is not fulfilled. This property for rules (1) and (2) is formulated as follows: If pvðR1Þ ¼ pvðR2Þ > 0

and

pvðA1Þ > pvðA2Þ

then

pvðH1Þ > pvðH2Þ:

(9)

Unfortunately this requirement is not fulfilled either for the * = min operation. For example if pv(R1) = pv(R2) = 0.6 and pv(A1) = 1 > pv(A2) = 0.8 then pv(H1) = min(0.6, 1) = 0.6, pv(H2) = min(0.6, 0.8) = 0.6, i.e. pv(H1) = pv(H2) and strict monotonicity is not fulfilled. The problems also arise for the rules consisting of more than one condition in a premise part. Let us consider the confidence model described in Ref. [18]. The plausibility value (called confidence) of each condition is determined from the membership functions. The combined confidence of the rule’s premise is calculated using the following formula: Ci ¼ C i1 þ Ci ð1  C i1 Þ;

i ¼ 1; . . . ; I

(10)

where Ci1 is the combined confidence up to condition i, and Ci is the confidence of the ith condition. Now let us assume that a complex conditional part of the rule has a condition with a confidence 0.9, all other premises have the confidence equal to 0.1 and the confidence of the rule equals 1.01: R1 : if A1 and A2 and A3 then H1; pvðR1Þ

A1 ¼ 0:9; A2

¼ 0:1; A3 ¼ 0:1; pvðR1Þ ¼ 1:0 (11) When a rule fires, the conclusions are inferred with confidence values determined by multiplying the combined IF part confidence with the specific condition confidence according to (10). As a consequence, the rule shown above (11) will result in H1 with the confidence pv(R1) * CI equal approximately to 0.9. Disjunction operator is used instead of conjunction thus loosing the information about the conditions with low confidence. 3.2. Fuzzy algebra of strict monotonic operations In order to obtain a diagnosis with high degree of reliability, a hybrid model representing experts’ knowledge implementing different algebras is developed in this paper. Human perceptions about uncertainties of facts and rules are usually qualitative and measured on finite ordinal scales (FOS). Below 1 We do not know how the rules are fired. But we can assume that a low level threshold is applied to the conditions (0.1 in this case). This can be the case because we usually can be interested in analyzing many alternatives even with the low possibility.

18

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

is a typical list of human perceptions about possibility values of rules or facts: Xw = {Impossible, Very Small Possibility, Small Possibility, Average Possibility, Large Possibility, Very Large Possibility, Sure}. Such perception-based evaluations are usually linearly ordered, i.e.: Impossible < Very Small Possibility < Small Possibility <  < Sure. The ability to manipulate with qualitative uncertainties became determinative in petroleum applications of expert systems containing high level uncertainty in knowledge. Processing of uncertainty values in inference procedures of expert systems needs to introduce conjunction (AND) and disjunction (OR) operations on ordinal scales. These operations are called t-norm and t-conorm, respectively [25]. t-norms and t-conorms on finite ordinal scales are studied in several works but it is impossible to introduce strict monotonic operations on such scales. Strict monotonicity is important to differentiate conclusions obtained on the output of inference procedure. Suppose we have rules: R1 : If A and B then H1; pvðR1Þ; R2 : If A and D then H2; pvðR2Þ;

(12)

with equal plausibility values: pv(R1) = pv(R2). It seems clear that if a plausibility value of A is greater than FALSE and B is more plausible than D, i.e. pv(B) = pv(D), then a conclusion H1 should be more plausible than H2, i.e. pv(H1) > pv(H2). However, if we use as a conjunction min operation, which is an adequate operation on ordinal scale, for pv(A) < pv(D) we will obtain minfpvðAÞ; pvðBÞg ¼ minfpvðAÞ; pvðDÞg ¼ pvðAÞ and hence pv(H1) = pv(H2). Similar situation can arise for disjunction operation. This problem for finite ordinal scales can be solved by representation of results of operations as multi-sets. The use of FOS for evaluation of true, possibility, certainty, plausibility or membership values causes the necessity to introduce logical operations on such scales like conjunction, disjunction, etc. Suppose Xp = {x0, x1, . . ., xn+1} is a linearly ordered scale of plausibility (true, possibility, membership) values such that xi < xj for all i < j. For simplicity we will replace the grades of the scale by their indexes: Xc = {0, 1, . . ., n + 1} but only comparison of numbers with minimum and maximum operations can be used here. Arithmetic operations like addition or multiplication cannot be used in FOS. For example, a scale Xw will be replaced by Xs = {0, 1, 2, 3, 4, 5, 6}. The elements x0 and xn+1 will be denoted as 0 and 1. For example, for the scale Xw, 0 and 1 will denote Impossible and Sure, and for the scale Xs the grades 0 and 6, respectively. Conjunction ^ and disjunction _ operations on Xp may be defined as min and max, respectively, as follows: xi ^ xj = xk, where k = min(i, j), xi _ xj = xk, where k = max(i, j). Unfortunately min and max operations [43] are not strict monotonic operations because operations ^ = min and _ = max do not satisfy on FOS conditions: A ^ B < A ^ C if B < C and A 6¼ 0 ðstrict monotonicity of ^ Þ A _ B < A _ C if B < C and A ¼ 6 1 ðstrict monotonicity of _ Þ

(13)

For example, we have max(A, B) = max(A, C) = A for all B, C  A but it seems reasonable that the result of the second

conjunction should be more plausible if B < C. If FOS is used for measuring certainty, plausibility values of facts and rules in expert systems with min and max conjunction and disjunction operations then the non-monotonicity of these operations does not give full possibility to take into account the change of plausibility of premises in expert systems rules and to differentiate and refine the uncertainties of conclusions [4]. As a result, many conclusions on the output of inference procedure can obtain the equal plausibility values in spite of having essentially different list of plausibility values in the chains of premises used for inference of these conclusions. In fuzzy logic, t-norms and t-conorms [25] are usually used as conjunction ^ and disjunction _ operations on [0, 1]. These operations are defined as follows (we use ^ and _ instead of T and S): A ^ 1 ¼ A; A ^ B  C ^ D; if A  C; B  D; A ^ B ¼ B ^ A; ðA ^ BÞ ^ C ¼ A ^ ðB ^ CÞ;

A _ 0 ¼ A; A _ B  C _ D; if A  C; B  D; A _ B ¼ B _ A; ðA _ BÞ _ C ¼ A _ ðB _ CÞ;

The simplest strict monotonic t-norm on [0, 1] is multiplication: x ^ y = xy. It is possible to extend the concept of t-norm and t-conorm on FOS (see, e.g. Ref. [16]). But it is clear that it is impossible to introduce strict monotonic t-norm on FOS. In Ref. [4] such strict monotonic t-norms and t-conorm operations were introduced for elements of FOS based on representation of results of operations by ordered lists of operands called lexicographic valuations. Here we consider more simple method of definition of strict monotonic operations for FOS based on representation of results of operations by multi-sets [5,34]. Denote X = {x1, . . ., xn} the set of intermediate grades of Xp. A multi-set A over X is a string (a1, a2, . . ., an), where ai is a number of appearance of element xi in A. If aj equals zero then A does not contain xj. We will suppose that at least one element ai in A is greater than 0. Denote F a set of all such multi-sets over X and A = (a1, . . ., an), B = (b1, . . ., bn) some multi-sets from F. Multi-sets will be used as a form of memory for storing the operands of conjunction and disjunction operations [5]. Each multi-set from F is considered here as a result of conjunction or disjunction of corresponding elements of X. For example for X = {1, 2, 3, 4, 5} the multi-set (2, 0, 1, 1, 2) can denote conjunction 1 ^ 1 ^ 3 ^ 4 ^ 5 ^ 5 or disjunction 1 _ 1 _ 3 _ 4 _ 5 _ 5 depending on a class of used multi-sets. Such multi-set will be called conjunctive (C-) and disjunctive (D-) multi-sets, respectively. Below we consider algebras of strict monotonic conjunction and disjunction operations on these classes of multi-sets called conjunctive and disjunctive algebra, respectively. 3.2.1. Conjunctive algebra The conjunction operation on the set of C-multi-sets F is defined as follows: ða1 ; . . . ; an Þ ^ ðb1 ; . . . ; bn Þ ¼ ða1 þ b1 ; . . . ; an þ bn Þ:

(14)

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

The definition of the ordering of elements of C-multi-sets is based on the following property of conjunctions: A ^ B  A, i.e. an adding of elements of C-multi-set B to elements of A decreases the plausibility of resulting multi-set A ^ B. Let us introduce an ordering relation on F: A ¼ B;

iff ai ¼ bi for all i ¼ 1; . . . n;

A < B;

if index i exists; such that ai > bi

and

ak ¼ bk for all k < i: As it follows from the definition, the ordering of two C-multi-sets is defined by the minimal element where these Cmulti-sets differ. C-multi-set may be considered as a result of application of conjunction operation generalizing min operation. Suppose F p ¼ F [ f0; 1g is an extended set of plausibility values. The extension of ordering relation from F on F p will be defined as 0 < A < 1, for all C-multi-sets A from F. Further A and B will denote elements from F p. Denote A  B, if A = B or A < B. It is clear that  is a linear ordering on F p, i.e. it is transitive and for all A and B from F p A  B or B  A is fulfilled. Let us define an extension of conjunction operation from F on F p as follows: A ^ 0 ¼ 0 ^ A ¼ 0;

A ^ 1 ¼ 1 ^ A ¼ A:

Disjunction operation _ on the set F p is defined as follows: A _ 0 ¼ 0 _ A ¼ A; A _ 1 ¼ 1 _ A ¼ 1; ða1 ; . . . ; an Þ _ ðb1 ; . . . ; bn Þ ¼ maxfða1 ; . . . ; an Þ; ðb1 ; . . . ; bn Þg; (15)

19

R1: IF Solution.Basic Measure == Lower Pump Rate AND Lost Circulation.Result == Persists THEN Solution.Recommendation == Check for repeated intervals, weight 3 (average), R2: IF Solution.Basic Measure == Lower Pump Rate AND Lost Circulation.Result == Persists THEN Solution.Recommendation == Check for drillstring tensions, weight 5 (very large). Denote multi-set (0, 0, 0, 0, 1, 0, 0) as (0-0-0-0-1-0-0) and so on. For antecedent parts of rules we will have (0-0-0-0-1-00) ^ (0-1-0-0-0-0-0) = (0-1-0-0-1-0-0), and taking into consideration the rules’ weight, (0-1-0-0-1-0-0) ^ (0-0-0-1-00-0) = (0-1-0-1-1-0-0)—for the first rule, and (0-1-0-0-1-00) ^ (0-0-0-0-0-1-0) = (0-1-0-0-1-1-0)—for the second rule. Therefore, from the first rule the result will be Solution.Recommendation == Check for repeated intervals, (0-1-0-1-1-00), while from the second one Solution.Recommendation == Check for drillstring tensions, (0-1-0-0-1-1-0). Otherwise, if we applied a traditional min operation as a conjunction, then we would obtain both results with the same plausibility value 1 (very small). On the contrary, due to strict monotonicity of a multi-set-based conjunction we obtained that the second conclusion is more plausible, which is in agreement with higher plausibility of the second rule. 3.2.2. Disjunctive algebra The disjunction operation on the set of D-multi-sets F is defined as follows: ða1 ; . . . ; an Þ _ ðb1 ; . . . ; bn Þ ¼ ða1 þ b1 ; . . . ; an þ bn Þ:

(16)

Theorem 1 ([5]). Operations ^ and _ are t-norm and t-conorm, respectively, on the set of C-multi-sets F p and ^ is strict monotonic on F p.

The definition of the ordering of D-multi-sets is based on the following property of conjunction operation: A _ B  A, i.e. an adding of elements of D-multi-set B to elements of D-multi-set A increases the plausibility of resulting multi-set A _ B. Let us introduce an ordering relation on F as follows:

As an implication operation we use in expert system a conjunction operation. Consider an example. Let us set two facts and two conclusions:

A ¼ B; iff ai ¼ bi for all i ¼ 1; . . . :; n; A < B; if index i exists; such that ai < bi and ak ¼ bk for all k > i:

F1: Solution.Basic Measure == Lower Pump Rate, weight 4 (large), F2: Lost Circulation.Result == Persists, weight 1 (very small), C1: Solution.Recommendation == Check for repeated intervals, C2: Solution.Recommendation == Check for drillstring tensions. We have two ‘‘AND’’ rules that will be fired for these facts:

Suppose F p ¼ F [ f0; 1g is an extended set of plausibility values. The extension of ordering relation from F on F p will be defined as 0 < A < 1, for all D-multi-sets A from F. Further A and B will denote elements from F p. Denote A  B, if A = B or A < B. It is clear that  is a linear ordering on F p, i.e. it is transitive and for all A and B from F p it is fulfilled A  B or B  A. Let us define an extension of disjunction operation _ from F on the set F p as follows:

where max is defined by the introduced linear ordering on F p.

R1: R2:

IF F1 AND F2 THEN C1, weight 3 (average), IF F1 AND F2 THEN C2, weight 5 (very large).

It should be mentioned that these rules are coded in the rulebase in the form convenient to the domain expert and to the knowledge engineer as:

A _ 0 ¼ 0 _ A ¼ A;

A _ 1 ¼ 1 _ A ¼ 1:

Conjunction operation ^ on the set F p is defined as follows: A ^ 0 ¼ 0 ^ A ¼ 0; A ^ 1 ¼ 1 ^ A ¼ A; ða1 ; . . . ; an Þ ^ ðb1 ; . . . ; bn Þ ¼ minfða1 ; . . . ; an Þ; ðb1 ; . . . ; bn Þg; (17)

20

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

where min is defined by linear ordering relation  on F p. As an implication operation we use a conjunction operation. Now, consider another example with rules of ‘‘OR’’ type. Let us set several facts and two conclusions:

implementation illustrated by examples from Smart-Drill development process.

F1: Borehole.Abnormal conditions == Blowout, weight 2 (small), F2: Borehole.Abnormal conditions == Hard tectonic drives, weight 0 (impossible), F3: Drill String. Tension == Very Strong, weight 5 (very large), F4: Core expansion.Chemical inhibition == Unsuccessful, weight 3 (average), F5: Core expansion.Chemical inhibition == Partial, weight 0 (impossible), C1: Solution.CriticalMeasure == Emergency casing, C2: Solution.Critical Measure == Keep drilling while possible.

Primal intention of the knowledge representation model is to provide a common and consistent symbolic representation for application domains. While developing CAPNET Agents Platform [10], we have developed the CAPNET Knowledge Representation Format (KRF) based on the FIPA-RDF [17]. The CAPNET KRF represents elements from the world by using Objects. These are identifiable entities from application domain with a unique name and a list of Properties defining their state. Objects are grouped in a wider concept known as Resource. Properties set the value of some feature or attribute that belongs to the Object/Resource. A Property is composed of: a name, data type and value. If values for some property are restricted to a list of possibilities, then it is said that it has Constraints. The knowledge base for the LCP was built up progressively through a series of interview sessions between the expert and the knowledge engineer. Extracted knowledge was then arranged in a domain model with resources organized in a hierarchical form. For example, in Fig. 4 the resource category Loss has properties Volume and Severity, the former is measured-based and the latter is linguistic. The possibility to handle fuzzy variables is another feature of the model. The model operates with linguistic variables by introducing the possibility of defining fuzzy sets and membership functions. Examples of fuzzy premises found in the LCP domain are: ‘‘loss severity is partial’’, ‘‘tension in the drillstring is weak’’, ‘‘rate of penetration is low’’. For the resource properties, which values are defined by linguistic variables, the property type should be defined as ‘‘fuzzy’’. In this case a fuzzy variables definition component is executed. As an example, let us consider tensions in the drillstring. The membership functions for this variable are assumed to be trapezoidal in our analysis. This parameter is fuzzified using four linguistic terms: weak, medium, strong and very strong. Fig. 5 depicts a definition of the membership functions for the linguistic term very strong of the tension parameter. For instance, a tension of 12.5 tonnes lies between the two latter ranges with an equal weight of 0.5 in a 0 to 1 scale. So, once interpreted in terms of a linguistic scale, both will pertain to the ‘‘average possibility’’ category:

Consider two rules to be fired: R1: IF F1 OR F3 OR F4 THEN C1, weight 6 (sure). R2: IF F2 OR F3 OR F5 THEN C2, weight 6 (sure). Once again, these two rules are coded in the rulebase as: R1: IF Borehole.Abnormal conditions == Blowout OR Drill String.Tension == Very Strong OR Core expansion.Chemical inhibition == Unsuccessful THEN Solution.Critical Measure == Emergency casing, weight 6 (sure). R2: IF Borehole.Abnormal conditions == Hard tectonic drives OR Drill String. Tension == Very Strong OR Core expansion.Chemical inhibition == Partial THEN Solution.Critical Measure == Keep drilling while possible, weight 6 (sure). Then in the disjunctive (‘‘OR’’) algebra the results will be the following: (0-0-1-0-0-0-0) _ (0-0-0-0-0-1-0) _ (0-0-0-1-00-0) = (0-0-1-1-0-1-0) (R1) and (0-0-0-0-0-1-0) = (0-0-0-0-01-0) (R2, only one clause is fired), and thus, (0-0-1-1-0-10) ^ (0-0-0-0-0-0-1) = (0-0-1-1-0-1-0), (very large), and (0-00-0-0-1-0) ^ (0-0-0-0-0-0-1) = (0-0-0-0-0-1-0), (very large), respectively. The linguistic evaluations of uncertainty of conclusions will be the same for both conclusions but in the former case, the evaluation (0-0-1-1-0-1-0) shows more supporting facts and obtains higher multi-set-based evaluation. Theorem 2 ([5]). Operations ^ and _ are t-norm and t-conorm, respectively, on the set of D-multi-sets F p and _ is strict monotonic on F p. 4. Knowledge representation and reasoning The model described above was implemented in a toolkit for development intelligent systems composed of Knowledge Acquisition Tool (KAT for short) and CAPNET Expert System Shell. In this section we provide some details on their

4.1. Knowledge acquisition tool

Fact 1: Fact 2:

Tension == strong, weight 3 (average), Tension == very strong, weight 3 (average).

Rules define relationships between known facts (antecedents) and information that can be concluded (consequents). Antecedents and consequents are propositions that relate properties from resources to some value by one of the following operators: equal to, greater than, greater than or equal to, lower than or equal to and not equal (Fig. 4). Each rule is assigned a Weight attribute which defines its plausibility value. In the example from Fig. 4, the rule for partial loss definition has the weight 6 (sure). The rules are stored both in internal (KBX) and external (XML) formats to be used by the inference engine.

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

21

Fig. 4. A screenshot of the KAT tool: Rule Editor.

4.2. CAPNET Expert System Shell CAPNET Expert System Shell implements two inference engines, for forward and backward chaining. Both engines realize the algorithms of the multi-set-based disjunctive and conjunctive algebras described in the previous section and working over the domain model coded in CAPNET KRF. The shell has its own interface, while the fuzzy inference engines are implemented as a set of independent API modules (DLLs), which allows using them in a standalone application. Both ‘‘AND’’ and ‘‘OR’’ rules are implemented. Along with the implementation of algebras of perceptionbased uncertainty evaluations, the engines support the use of UNKNOWN values for working with uncertainties. Specifically, when an inference engine meets the value UNKNOWN, it

assumes that the corresponding property may have any of the appropriate possible n values. Each value obtains an integer weight value assigned to be max{[6/n],1}, where 6 denotes the maximal grade of the scale.2 It means that all the possible values of a parameter are considered to have equal possibility. This implies adding new n facts, and hereafter the engine tries to infer consecutively applying the added facts for the indicated pair object/property. For instance, in backward chaining, when the user is asked to provide a fact for the pair Lithology.Formation (having three possible values), the assignment of UNKNOWN yields an addition of three facts, Lithology.Formation == Sandstone, Lithology.Formation == Limestone and Lithology.Formation == Coal, both of the equal weight 2 (small) (Fig. 6). Obviously, such a specification of facts (i.e. by using UNKNOWN) increases the probability that the engines will infer and/or prove some other facts. At the same time, the more facts we add the smaller their weights, and hence, the final conclusions will have low uncertainty weights, as well. The engines also enable working with multiple values of properties of objects. Upon this, in backward chaining the user can specify both concrete values to prove for and the ANY value. These features, together with the use of the multi-setbased algebras, become an efficient tool for inferring new facts and their subsequent arrangement in a certain order. For example, specifying the goal Solution.Additional advice == ANY, we will obtain the results shown in Fig. 7.3 One may see that the engine tries to prove all possible facts for the

2

Fig. 5. Membership functions for tension values.

Note that even though our basic scale has seven grades, we do not consider 0 grade to maintain at least a very small possibility for each parameter value. 3 Note that we always answered ‘UNKNOWN’ when were asked for a value.

22

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

Fig. 6. The use of UNKNOWN for working with uncertainties implies the addition of several facts with equal weights for a pair object/property.

given object/property pair (Solution.Additional advice) that may occur with some possibility (i.e. weight). Yet, the backward chaining engine supports proving multiple goals. While performing a backward chaining, there may occur situations when the engine has already inferred some intermediate facts for a rule’s clause to be treated, but firing the rule will take place only if some other values are specified for the given object/property pair. Therefore, in the engine we implemented an option to ask the user always for possible additional facts when such situations occur, or, alternatively, simply to proceed the inference using only the existing facts. To explain how the engine works, consider another example. In backward chaining, in conjunctive algebra, for the goal Solution.Critical measure == ANY we will have the following protocol. First, the engine will ask for the pair Drill String. Tension. Say (Fig. 5), we answer Drill String. Tension == 12.5 tonnes, (0-0-0-1-0-0-0). So, the engine will apply the rule IF Drill String. Tension = Very Strong THEN Borehole. Conditions == Unstable of the weight 5 (very large): Borehole. Conditions == Unstable, (0-0-0-1-0-1-0). Next, for the question Core expansion.Status? we answer Core expansion.Status == Expanded, (0-0-0-0-1-0-0), which will fire the rule IF Drill String. Tension >= Strong AND Core expansion.Status == Expanded THEN Borehole.Conditions == Unstable of the weight 5 (very large): Borehole.Conditions == Unstable, (0-00-1-1-1-0). Because the engine has inferred two equal facts with different weights, it performs their disjunction: (0-0-0-1-01-0) _ (0-0-0-1-1-1-0) = (0-0-0-1-0-1-0). Next, the engine finds the rule IF Borehole.Conditions == Unstable THEN Solution.Critical measure == Emergency

casing. Although there is already the fact Borehole.Conditions == Unstable, the engine asks for additional facts for the pair Borehole.Conditions. If the user provides any additional information, that will be used in the subsequent inference, together with Borehole.Conditions == Unstable. Otherwise, only the fact Borehole.Conditions == Unstable will be used when the clause Borehole.Conditions is met. The user can therefore either provide the engine with additional facts or just click OK to proceed. 5. Smart-Drill implementation details Smart-Drill is a hybrid application containing different modules. According to the problem’s description (Section 2), the overall architecture of the Smart-Drill system was developed (Fig. 8). The first layer is developed to import data represented in different formats (like for example, MS Excel files of Daily Perforation Reports) into standard well data wellsite information transfer standard markup language (WITSML) representation [42]. WITSML server implemented as a Web Service provides Smart-Drill with required input data. Smart-Drill application layer, including CAPNET Fuzzy Inference Engine and different calculation modules is the main part of the system. Fuzzy inference engine is invoked by the main application each time inference is needed according to the process diagram depicted in Fig. 3. Calculation modules share data with the inference engine and are in charge of suggesting values at some points during solutions inference. Finally, another layer serves off-line as a development and debugging platform and includes KAT and CAPNET Expert System Shell.

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

23

Fig. 7. Backward chaining when the value ANY is proved.

5.1. WITSML interface The wellsite information transfer standard markup language is a standard for sending well site information in an XML document format between business partners [42]. XML schemas are used to define the content of an XML document. The WITSML standard consists of data object and component schemas. A data object schema is the smallest set of related data that can be transmitted within an XML document (e.g. well, wellbore, rig, etc.). Data object schemas contain attributes, elements, and imported component schemas.

Fig. 8. Smart-Drill architecture.

The Core specification of the WITSML API defines interfaces that are implemented by a WITSML server for supporting client/server access (Fig. 8 layer 1). The XML Import client first extracts data from original data format. Further it transfers these data to the WITSML server for future use by the expert system via its WITSML client (Fig. 8 layer 2). This server exposes its interface via Web services. While Import Client implements calls for nearly all the functions of the API, expert system client implements only GetFromStore function with the queries to fit expert system with input data as shown in the following example for fluid data:

FiltrateLtlp means low temperature/low pressure filtrate, yp is yielding point, pv is plastic viscosity. Each time, inference engine is invoked by Smart-Drill, the respective part of the input data is converted to the facts. If WITSML server is not available, these data can be also directly submitted by the user; in any case input data for each session are also internally stored in XML format to enable fast retrieval of experiences.

24

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

5.2. The Pocket PC client Remote access from mobile devices is a promising area where users in remote environments can benefit from the computer and data resources usually unavailable while working out in the field. This is reflected in petroleum engineering scenarios where decisions are increasingly pro-active in nature, requiring decision-makers to have on-line support and up-todate information and tools in order to make optimal decisions. In a typical diagnostics scenario, a drilling operator is required to investigate a currently occurring LCP under demanding circumstances when a conventional computer is not available. Furthermore, the ability of a Pocket PC to capture investigative findings on-site and instantly upload these findings to the server site greatly increases the accuracy of the system in diagnosing the problem. In an effort to overcome the limitations of the desktop application, a Pocket PC interface that utilises the described diagnostics service was designed and implemented (Fig. 9). It caused the necessity to implement the inference engine as a Web service invoked from the Smart-Drill application server. The main difference between a stand-alone application and Web application is in the form of invocation of the inference engine. In the case of a Web-server, multiple instances should be generated to enable concurrent sessions with the clients of the expert system. To enable Web access, the inference engine was implemented as a DLL (ExpertSystemShellImplementation.dll), to enable creation of different instances of the Shell. The definition of the main methods implemented as Web services is illustrated below.

the state of the .NET application’s session at the client side, the mechanism of redirecting the request to the URL with the embedded ASP.NET session’s ID was used. 6. Case study example The expert performance was tested with a couple of field cases. An example input data set used for Smart-Drill is shown in Appendix A. In this section we consider a sample session with Smart-Drill with this data set. First, the system is fed with data from the formation (dolomite), fluid (water-based), loss rate (10.5 m3/h) and well’s technical data; thereafter, the inferred measure is to lower pump rate (steps 1–3, Fig. 3). In this case the LCP persisted (Fig. 10). Then, data regarding laboratory tests and the drill log are collected (step 4) and Smart-Drill is fed with additional facts: the formation has not reacted to the drilling mud, there is an excess of solids in the well and tension in the drillstring is a quarter of ton. With these facts, Smart-Drill infers that the loss severity is partial, tension in the drill string is under a weak range so there are imperceptible frictions in the drill string and the well is stable. The corresponding solution is lowering mud’s density (step 5) to a recommended value of 1.25 g/cm3; besides, the drilling mud requires a cleaning chemical treatment and the solids elimination equipment should be checked for malfunctions. The system also suggests the user to lower the ROP to 7.7 min per meter and to apply good drilling practices. The loss was controlled after the application of above suggested measures, hence, the operator decided not to proceed with the remaining solutions (LCM and cement plugs). The user can navigate among the list of solutions presented by the expert system. Alternatively, they can also be printed for archiving and future reference. The rules are stored in different KBs for each step of the process (Fig. 3). The entire system is coded in C# over .NET framework. 7. Related work

The object Engines is implemented as a set of Session type permitting to store different instances of CAPNET_Engine. Each object CAPNET_Engine contains the lists of facts for the shell (initial, input by the user and inferred) defined during each work session. It permits to maintain the information of each CAPNET_Engine object corresponding to the clients connected to the server simultaneously. The initialization of these objects is carried out through the InitSession Web service. As it can be seen from the code fragment, a temporal ArrayList is used to create CAPNET Engine objects due to the fact that is it impossible to do directly with the objects of the Session type. Since the Pocket PC does not permit to use cookies, to maintain

Fuzzy expert systems have been implemented recently in many engineering areas. They share the common feature of reasoning with uncertain and vague knowledge. Some applications of fuzzy expert systems include diagnostic systems [33], wastewater treatment [7], predicting asphaltene precipitation [26] and process control [13]. Recently, a number of Webbased expert systems have been reported in the literature [1,20,40]. Some tools, which can be used to accomplish the tasks towards the achievement of this goal, are available in the market (e.g. LPA’s flex with WebFlex, EXSYS CORVID, CLIPS with WebCLIPS, Jess, Acquire SDK with Acquire (NT/ 2000/XP) Services, eXpertise2GO). The development of Webbased expert systems embodies some extra challenges related to design, construction and maintenance of a fairly large and possibly complex Web application. Unfortunately, it seems that till now most Web-based expert systems developers are individuals that implement by themselves all the tasks that must be performed for their Web application development and

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

25

Fig. 9. Examples of the interfaces implemented for the Pocket PC client: (a) operation data input, (b) solution output: lowering pump rate and rate of penetration phase.

Fig. 10. Visual excerpts of a session with Smart-Drill: lower pump rate and collect laboratory tests sections.

distribution. Some general requirements to the Web-based expert system development are specified in the LOMA architecture [12], but this type of systems is just doing its first steps to the market. Though Smart-Drill is a Web-based FES, these issues are out of the scope of this paper. Some of them concerning the future migration of Smart-Drill to a fully distributed application supported by an agent platform are discussed in Ref. [36]. The interest in decision support for the operational activities in petroleum companies lays in the fact that their senior personnel daily have to solve problems based on extensive data analysis and their experience gained through years of field

work. That is why, in spite of the fact that the petroleum industry is being criticized for moving at a snail’s pace in embracing information technology, it was one of the first in applying expert systems technology [2]. DIPMETER ADVISOR, PROSPECTOR and GasOil are often mentioned as examples of classic systems [37,41]. Traditional expert system technology counts with several applications to well drilling [3,6,8,9,14,15,21,22,28,38,39]. FES technology has also been applied recently to well drilling [18]. In that paper, an expert system for screening wells that could be drilled under-balanced is described. The system permits the use of linguistic variables for lost circulation, clay

26

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

swelling, fines migration, hard drilling, cost benefit and stuck pipe potentials parameters for handling cases that lend themselves to partial truth. A Web-based fuzzy expert system called MULTSYS is reported in Ref. [19]. The system is developed for aiding in the preliminary planning and completion of multilateral wells. It uses the same uncertainty model as reported in Ref. [18]. The limitations of the uncertainty model used in that system, which explores the concept of certainty factors were described in Section 3.1. In our approach, linguistic evaluations of degree of possibility are elements of finite linearly ordered scale with 7 grades alternative to traditional membership scale [0, 1] used in fuzzy logic with infinite number of grades. Our approach is more similar to finite ordinal scales of membership values studied, e.g. by Fodor in Ref. [16]. The Expert Driller [11] is another fuzzy expert system, which continually analyzes the drill string parameters in order to identify abnormal patterns, and advises the operator on an appropriate action to take. An expert system with a similar purpose to that described in this paper of diagnosing and treatment of the LCP was developed jointly by Schlumberger and MI-SWACO [27]. The software, called Lost Circulation Advisor (LCA), is aimed at analyzing lost circulation cases and recommending the best treatment to control the losses. Based on the input data that include well data, previous lost circulation treatments, current action (drilling or cementing), estimated loss rate and openhole stratigraphy, the LCA identifies the type of loss and its depth. Finally, the LCA recommends the best lost circulation treatment from a list of generic and specialized systems available from MI and Schlumberger. Being corporate propriety software, technical details on LCA are not available. 8. Conclusions In this study, we describe the fuzzy expert system called Smart-Drill, which is based on a fuzzy knowledge model of the application domain in which it operates on. This model contains both measured- and perception-based information. The methodology proposed in this paper is grounded in the multi-set-based fuzzy algebras of strict monotonic operations solving the ordering problem for finite ordinal scales. It is a common knowledge, that qualitative scales give to experts and users of expert systems a natural and convenient form to represent human evaluations of possibility values of facts and rules. In contrast to the traditional approaches in fuzzy logic using min and max operations, the algebras of strict monotonic conjunction and disjunction operations realized in the expert system and based on multi-set representation of human evaluations have an advantage giving possibility to refine conclusions on the output of the expert system, which will obtain in traditional fuzzy algebra equal possibility values. This is due to the strict monotonicity feature of multi-set-based conjunction and disjunction operations permitting to take into account the change of plausibility of premises in expert systems rules. Moreover, the results are ranked and complemented by variants and alternatives, thus, not only the best alternative is given but information is valued with Large Possibility or Small

Possibility. Along with the mechanism of handling unknown variables the approach makes it possible developing intelligent search abilities, which even show reasonable results when given fuzzy or incomplete requests. Fuzzy knowledge model is represented in CAPNET KRF, extending FIPA-RDF by means of solving the ambiguity in defining relationships among the entities and introducing the possibility of expressing rules. These theoretical results are implemented in a number of original tools like CAPNET Expert System Shell, KAT and WITSML Converter. Considerable features of the Shell are (i) the processing of UNKNOWN values, (ii) the work with multiple values of properties of objects and (iii) support for proving multiple goals. All these features are very important while working in uncertain environments. The practical importance of this work resides in the possibility to formalize the experts’ experience, permitting to select the most appropriate solution under uncertainties thus reducing considerably the possibility of erroneous solutions. Several months ago, the system was installed in PEMEX for field testing. Validation tests implemented so far for different PEMEX oil fields showed high system’s reliability in correctly identifying the LCP through the implemented mechanism of fuzzy inference. As another important feature, Smart-Drill is implemented in a distributed, scaleable manner delivering increased value to drilling operators working with mobile devices via secure Web interfaces. The extensive use of Web services, XML and particularly, WITSML data objects, increases system’s interoperability and permits efficiently connect it with other applications. These features were highly appreciated by the PEMEX personnel (from operators to managers) facilitating their everyday activities. Resuming, the contribution of the paper is three-fold: (i) we describe the fuzzy algebra of strict monotonic operations for FOS based on multi-sets, (ii) we implement this theoretical model in a number of original tools and (iii) we describe the fuzzy Web-based expert system Smart-Drill which applies the proposed model to the LCP domain. The experience of the development of industrial applications confirms that an integrated, intelligent software tool must have the ability to (i) integrate measurement- and perception-based information, (ii) integrate several AI techniques and (iii) enable information import from different data sources. Smart-Drill joins together most of these features. We believe that this type of software targeting oil and gas professionals will be able to take serious steps toward changing the ‘‘black box’’ image that has been associated with several AI-related techniques and bring it closer and closer to a ‘‘transparent box’’ enhancing its acceptance by oil practitioners. The current version of Smart-Drill is aimed to help in making decisions at the operational level. Critical measures involve participation of well management, so this field is considered as an opportunity for extending the system functionality. Ongoing efforts are also aimed to the incorporation of valuable cases into a historic base. Current version of Smart-Drill looks for exploring the whole potential of Service Oriented Architectures (SOA) implementing the Smart-Drill modules in a real distributed fashion and enabling the on-line

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

feeding of the system with operational data from the company’s repositories [36]. This work also includes the design of the collaborative environment among teams of knowledge engineers – expert system programmers, Web designers – Web programmers and petroleum engineers for better integration of the Smart-Drill into the corporate information environment. Appendix A. Case study input data

27

Acknowledgments Partial support for this research work was provided by the IMP, within the project D.00006 and by PEMEX within the project F.53995. Special thanks to our domain expert, Juan Jose Camacho, to David Lugo and all the colleagues participating in the development of the expert system.

28

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29

Appendix A ( Continued )

References [1] J.A. Adams, The feasibility of distributed web based expert systems, in: Proceedings of the 2001 IEEE International Conference on Systems, Man, and Cybernetics, Tucson, 2001. [2] M. Alvarado, L. Sheremetov, F. Cantu´, Autonomous agents and computational intelligence: the future of AI applications for petroleum industry, Expert Syst. Appl. 26 (2004) 3–8. [3] M.H. Amara, B. Martin, The offshore directional drilling advisor: an expert system for directional drilling optimization, in: 65th SPE Annual Technical Conference and Exhibition, SPE, New Orleans, 1990. [4] I. Batyrshin, Modus ponens generating function in the class of ^-valuations of plausibility, in: Proceedings of the 10th Annual Conference on Uncertainty in Artificial Intelligence, Seattle, (1994), pp. 55–59. [5] I.I. Batyrshin, I.Z. Batyrshin, On strict monotonic t-norms and t-conorms on ordinal scales, in: Proceedings of the FSSCEF ’04, vol. I, St. Petersburg, (2004), pp. 170–177. [6] J.K. Bergen, J.E. Hutter, The Mudman service—an artificial intelligence aid for drilling, in: Drilling and Production Technology Symposium, PD, vol. 4, The American Society of Mechanical Engineering Book No.100203, 1986.

[7] E.F. Carrasco, J. Rodriguez, A. Punal, E. Roca, J.M. Lema, Rule-based diagnostic and supervision of a pilot-scale wastewater treatment plant using fuzzy logic techniques, Expert Syst. Appl. 22 (2002) 11–20. [8] E. Cayeux, P.O. Overti, ODDA: an expert system for planning and conducting directional drilling, in: European Petroleum Computer Conference, SPE, Stavanger, 1992. [9] T.J. Chiu, E.A. Caudell, F.L. Wu, Development of expert systems to assist with complex fluid designs, SPE Comput. Appl. 5 (1993) 18–20. [10] M. Contreras, E. Germa´n, M. Chi, L. Sheremetov, Design and implementation of a FIPA compliant agent platform in .NET, J. Object Technol. 3 (2004). [11] A.E. Da Rocha, C.K. Morooka, L. Alegre, Smart oil recovery, Spectrum IEEE 33 (1996) 48–51. [12] I.M. Dokas, Developing web sites for web based expert systems: a web engineering approach, in: Proceedings of the ITEE ’05, Magdeburg, (2005), pp. 202–217. [13] S.M. EI-Shal, A.S. Morris, Fuzzy expert system for fault detection in statistical process control of industrial processes, IEEE Trans. Syst., Man Cybernet., Part C: Appl. Rev. 30 (2000) 281–289. [14] M.J. Fear, N.C. Meany, J.M. Evans, An expert system for drill bit selection, in: SPE/IADC Drilling Conference, IADC/SPE, Dallas, 1994.

L. Sheremetov et al. / Applied Soft Computing 8 (2008) 14–29 [15] R.G. Fenoul, Enhanced drilling software and integrated advisor expert systems, in: Petroleum Computer Conference, SPE, San Antonio, 1989. [16] J. Fodor, Smooth associative operations on finite ordinal scales, IEEE Trans. Fuzzy Syst. 8 (2000) 791–795. [17] Foundation for Intelligent Physical Agents (FIPA) Specifications, 2005, URL: http://www.fipa.org. [18] A. Garrouch, H. Lababidi, Development of an expert system for underbalanced drilling using fuzzy logic, J. Pet. Sci. Eng. 31 (2001) 23–39. [19] A. Garrouch, H. Lababidi, A. Ebrahim, A web-based expert system for the planning and completion of multilateral wells, J. Pet. Sci. Eng. 49 (2005) 162–181. [20] R. Grove, Internet-based expert systems, Expert Syst. 17 (2000) 129–135. [21] L.R. Heinze, CHES: casing hydraulic expert system, in: Seventh Petroleum Computer Conference, SPE, Houston, 1992. [22] M.J. Jellison, E.F. Klementich, An expert system for casing string design, in: Fifth Petroleum Computer Conference, SPE, Denver, 1990. [23] A. Kandel, Fuzzy Expert Systems, CRC Press, Boca Raton, 1991. [24] N. Kasabov, Decision support systems and expert systems, in: M. Arbib (Ed.), Handbook of Brain Study and Neural Networks, MIT Press, 2002. [25] E.P. Klement, P. Mesiar, E. Pap, Triangular Norms, Kluwer, Dordrecht, 2000. [26] H.M.S. Lababidi, A.A. Garrouch, M. Fahim, A fuzzy heuristic approach for predicting asphaltene precipitation potential, Energy Fuels 18 (2004) 242–250. [27] Lost Circulation Advisor, MI SWACO, URL: http://www.miswaco.com/ Products_and_Services/Fluid_Engineering_Services/FluidEngineeringServicesDocuments/Lost%20Circulation%20Advisor %20LCA%20Description.pdf. [28] E. Martinez, Directional drilling expert system, in: Second Latin American Petroleum Engineering Conference, SPE, Caracas, 1992. [29] L.R. Medsker, Hybrid Intelligent Systems, Kluwer Academic Publishers, 1995. [30] S.D. Mohaghegh, Recent developments in application of artificial intelligence in petroleum engineering, J. Pet. Technol. (2005) 86–91.

29

[31] M. Nikravesh, F. Aminzadeh, L. Zadeh (Eds.), Soft Computing and Intelligent Data Analysis in Oil Exploration, Elsevier Science, 2002. [32] J. Pearl, Probabilistic Reasoning in Intelligent Systems, Morgan Kaufman, 1988. [33] G. Ramakrishna, N.D. Rao, Fuzzy inference system to assist the operator in reactive power control in distribution systems, in: IEE proceedings, Generation, Transmission and Distribution, vol. 145, 1998, 133–138. [34] E.M. Reingold, J. Nievergelt, N. Deo, Combinatorial Algorithms. Theory and Practice, Prentice-Hall, New Jersey, 1977. [35] L. Sheremetov, I. Batyrshin, J. Martinez, H. Rodriguez, D. Filatov, Fuzzy expert system for solving lost circulation problem, in: N. Nedjah, L. Mourelle, M. Vallasco, A. Abraham, M. Koppen (Eds.), Proceedings of the Fifth IEEE International Conference on Hybrid Intelligent Systems, Rio de Janeiro, Brasil, Nov. 6–9, IEEE, (2005), pp. 92–97. [36] L. Sheremetov, M. Contreras, Industrial application integration using agent-enabled semantic SOA: CAPNET case study, in: W. Shen (Ed.), Information Technologies for Balanced Manufacturing Systems, IFIP Series, Springer Verlag, 2006, pp. 109–118. [37] S. Slocombe, K. Moore, M. Zelonf, Engineering expert systems applications, in: Proceedings of the Annual Conference of the BCS Specialist Group on Expert Systems, British Computer Society, London, 1986. [38] K. Tangen, J.M. Baleix, Application of a pressure analysis expert system during exploration drilling, in: European Petroleum Conference, Cannes, 1992. [39] D.R. Thompson, L. Dunlap, Computer system controls mud during kick kill, Oil Gas J. 83 (1985) 92–98. [40] A.J. Thomson, I. Willoughby, A web based expert system for advising on herbicide use in Great Britain, Comput. Electron. Agric. 42 (2004) 43–49. [41] D.A. Waterman, A Guide to Expert Systems, Addison-Wesley Publishing Company, Reading, 1986. [42] WITSML Web Site, http://www.witsml.org/. [43] L.A. Zadeh, Fuzzy sets, J. Inf. Control 8 (1965) 338–353. [44] Z. Zhang, Ch. Zhang (Eds.), Agent-Based Hybrid Intelligent Systems: An Agent-Based Framework for Complex Problem Solving, Lecture Notes in Artificial Intelligence 2938, Springer Verlag, 2004.