Journal of Applied Mathematics

Volume 2014 (2014), Article ID 372768, 6 pages

http://dx.doi.org/10.1155/2014/372768

## Solving Multidimensional 0-1 Knapsack Problem with Time-Free Tissue P Systems

^{1}Department of Computer Science, Xiamen University, Xiamen 361005, China^{2}Shenzhen Research Institute of Xiamen University, Shenzhen 518057, China^{3}Department of Mechanical and Electrical Engineering, Institute of Physical and Mechanical and Electrical Engineering, Xiamen University, Xiamen 361005, China

Received 4 December 2013; Revised 2 March 2014; Accepted 2 March 2014; Published 27 March 2014

Academic Editor: Ying Hu

Copyright © 2014 Xiangrong Liu et al. This is an open access article distributed under the Creative Commons Attribution License, which permits unrestricted use, distribution, and reproduction in any medium, provided the original work is properly cited.

#### Abstract

Tissue P system is a class of parallel and distributed model; a feature of traditional tissue P system is that the execution time of certain biological processes is very sensitive to environmental factors that might be hard to control. In this work, we construct a family of tissue P systems that works independently from the values associated with the execution times of the rules. Furthermore, we present a time-free efficient solution to multidimensional 0-1 knapsack problem by timed recognizer tissue P systems.

#### 1. Introduction

*Membrane computing* is one of the recent branches of natural computing, which has developed rapidly (already in 2003, ISI considered membrane computing as fast emerging research area in computer science; see http://esi-topics.com/). The aim is to abstract computing ideas (data structures, operations with data, ways to control operations, computing models, etc.) from the structure and the functioning of a single cell and from complexes of cells, such as tissues and organs including the brain. The various types of membrane systems are known as P systems after Păun who first conceived the model in 2000 [1] (the paper was circulated first as a Turku Center for Computer Science (TUCS) Report 208, 1998). There are three main classes of P systems investigated: cell-like P systems [2, 3], tissue-like P systems [4–6], and neural-like P systems [7, 8]. Many variants of these systems have been also investigated during the past years [9–14], and most of them are proved to be computationally universal (equal in power to Turing machines) [8, 15–17]. A series of applications of P systems, in biology [11, 18–22], economics [23], graphics [24, 25], optimization [26–30], fault diagnosis [31], and so forth, were reported. An overview of the field can be found in [32, 33], with up-to-date information available at the membrane computing website (http://ppage.psystems.eu/).

Tissue P systems are inspired from the cell intercommunication in tissues [4], where the membranes are placed in the nodes of a graph and all of the membranes are at the same level. In such a framework, intercellular communication is mainly through the protein channels established among the membranes of the neighboring cells and the membrane structure did not change along the computation. Tissue P systems with cell division rules of the same form as in P systems with active membranes (without using polarizations) were introduced by Păun et al. in 2008 [34]. This kind of systems can generate exponential workspace in linear time by trading space for time. Thus, it provides the possibility of solving NP-hard problems in polynomial or even linear time.

A feature of traditional tissue P systems is that each rule is executed in exactly one time unit, but this feature does not have a counterpart in cell biology. In cell biology, the execution time of a reaction is difficult to know precisely and the execution time of certain biological processes is very sensitive to environmental factors that might be hard to control. Therefore, there is a need to construct tissue P systems that work independently from the values associated with the execution time of the rules. Tissue P systems with a time mapping (called timed tissue P systems) can specify the execution time of each rule. A timed tissue P system that generates the same results, independently from the time mapping, is called time-free tissue P system. The concept of time-free was first introduced in [35]. In [36], a time-free solution to Hamilton Path Problems using cell-like P systems was investigated. In this work, we construct a family of time-free tissue P systems to solve another well-known NP-complete problem: the multidimensional 0-1 knapsack problem.

This paper is organized as follows. Firstly, we recall the definition of tissue P systems. Then, we introduce timed tissue P systems with cell division. Finally, a uniform time-free solution for multidimensional 0-1 knapsack problem is proposed, and the informal verification of the solution is presented.

#### 2. Tissue P Systems with Cell Division

It is useful for readers to have some familiarity with (basic elements of) language theory, for example, from [37], as well as basic membrane computing [32]. In what follows we briefly recall some concepts of formal language theory used later in this paper.

For an alphabet , denotes the set of all strings (ordered finite sequences) of symbols from , while the empty string is denoted by , and the set of all nonempty strings over is denoted by .

By we denote the set of nonpositive integers. Let be an arbitrary set. A multiset (over ) is a mapping . The multiplicity of in the multiset can be denoted by with any . It can be expressed by the pair . If the set is finite, a multiset over , represented by the set of mappings can also be represented by a string or by any of its permutations. We denote by the set of all multisets over . In [34], Păun et al. presented a new model of tissue P systems with cell division. The biological inspiration is that alive tissues are not static network of cells, since cells are duplicated via mitosis in a natural way.

Formally, a* tissue P system with cell division* of degree is a tuple of the form [34]
where(1) is the initial degree of the system, which means the system contains cells labeled with , respectively. We use 0 to refer to the environment;(2) is the* alphabet* of* objects*;(3) are multisets over , describing the objects placed in the cells of the system at the beginning of the computation;(4) is the set of objects initially located in the environment of the system, all of them available in an arbitrary number of copies;(5) is a finite set of rules of the following forms:(a)*communication rules*: , for , , , ( is called the length of the communication rule );(b)*division rules*: , where , , , and ;(6) is the output cell if or the environment if .

Rules are used as usual in the framework of membrane computing, that is, in a maximally parallel way. In each step, all cells which can evolve must evolve in a maximally parallel way (in each step we apply a multiset of rules which is maximal, no further rule can be added), with the following important mentioning: if a cell is divided, then the division rule is the only one which is applied for that cell in that step, its objects do not evolve by means of communication rules. Their labels precisely identify the rules which can be applied to them.

The communication rule can be applied over two cells and such that is contained in cell and is contained in cell . When applying a rule , the objects of the multiset represented by are sent from cell to cell and simultaneously the objects of the multiset are sent from cell to cell .

The division rule can be applied over a cell containing object . When applying a rule , the cell with label is divided into two cells with the same label; in the first copy the object is replaced by , in the second copy the object is replaced by ; all other objects are replicated and copies of them are placed in the two new cells.

A configuration of at an instant is described by the multisets of objects over associated with all the cells present in the system at the moment and the multiset over associated with the environment at the instant . The computation starts from the initial configuration and proceeds as defined above; only halting computations give a result, and the result is encoded (usually by the number of objects) in the output region (a cell if or the environment if ) in the halting configuration. The set of numbers computed in this way by the various halting computations in is denoted by .

#### 3. Timed Tissue P Systems with Cell Division

A timed tissue P system can be constructed by adding to the tissue P system a time mapping , which specifies the execution time of each rule of the system. We suppose to have an external clock (that does not have any influence on the system) that marks time units of equal length, starting from time 0. In each step of the rules, all cells which can evolve must evolve in a maximally parallel way. There is a need to define the concept of a valid step. If in one step there exists at least one rule of system which can start, we say that the step is* valid*. The execution of the rules does not take the same time unit. When a rule is started, the occurrences of objects used by this rule are not available for other rules during the entire execution of . We denote as the time which rule lasts, that is, execution of rule takes time units to be completed. The computation stops when no rule can be applied in any membrane and there are no rules in execution (*the systems has reached a halting configuration*). The output of a halting computation is always defined based on the objects in the output membrane in the halting configuration.

We can construct a family of timed tissue P systems by adding different time mappings. The same family of tissue P systems may produce different results for having different time mappings. A timed tissue P system that generates the same computation result, independently from any time mapping, is called time-free tissue P system.

##### 3.1. A Timed Recognizer Tissue P System

In this subsection, we introduce a variant of timed tissue P systems with cell division, namely, timed recognizer tissue P system following the definitions of complexity classes in terms of membrane computing (see [38]). Such a system of degree has the form
There are two points that should be noted. First, the working alphabet has two distinguished objects* yes* and* no*, present in at least one copy in some initial multisets but not present in . Second, if is a computation of , then either the object* yes* or the object* no* (but not both) must exist in the environment when the computation halts.

The computations of the system with input multiset start from a configuration of the form , that is, after adding the multiset to the contents of the input cell . We say that the multiset is recognized by if and only if the object* yes* is sent to the environment, and only at the last step of the corresponding computation. We say that is an accepting computation (resp., rejecting computation) if the object* yes* (resp.,* no*) appears in the environment associated with the corresponding halting configuration of .

Next, we will define the concepts of time-free soundness, time-free completeness, and time-free polynomially bounding for timed recognizer tissue P systems. Let be a family of timed recognizer tissue P systems. There exists a pair of polynomial-time computable functions over such that(i)for each instance , is a natural number and is an input multiset of the system ;(ii)the family is* time-free sound* with regard to ; that is, for each instance of the problem and any mapping , if there exists an accepting computation of the time-free system (this means ) with input , then we have ;(iii)the family is* time-free complete* with regard to ; that is, for each and any mapping , if , then every computation of with input is an accepting one;(iv)the family is* time-free polynomial bounded* with regard to , that is, there exists a polynomial function , such that for each and any time mapping , every computation of the time-free system with input is halting and, moreover, it performs at most steps.

A family of timed recognizer tissue P systems is a uniform time-free solution to decision problem if the following holds:(i)the family is* polynomially uniform* by Turing machines; that is, there exists a deterministic Turing machine working in polynomial time which constructs the system with knowledge involving only the size of the problem for every instance of ;(ii)the family is time-free polynomially bounded, time-free sound, and time-free complete.

Given a decision problem , if there exists a family of timed P system which computes a solution of the instance of and the correctness of the solution does not depend on the execution time of the rules involved in the computation, then the solution is called a time-free solution to problem computed by the system .

#### 4. Solving Multidimensional 0-1 Knapsack Problem by Time-Free Recognizer Tissue P Systems

##### 4.1. Problem Formulation

The* multidimensional 0-1 knapsack problem* (MKP) is a well-known NP-complete combinatorial problem [39]. The decision MKP can be formulated as follows: given an integer , an objective function , and constraints , for , , for , where , , and are nonnegative integers, decide whether or not there exists an assignment of variables such that it satisfies the constraints and the objective function is greater than or equal to .

The special case of MKP with is the classical knapsack problem (KP). In [40], a solution to MKP by recognizer P systems with active membranes has been proposed. In the next subsection, we will construct a uniform time-free tissue P system for the general MKP.

##### 4.2. A Uniform Time-Free Solution to MKP

We present a uniform time-free solution to MKP in the framework of timed recognizer tissue P systems.

Let us consider an instance of MKP as shown in the above subsection, we call () the th constraint inequality and the th inequality. We construct a family of timed recognizer tissue P system of degree 2 where(i) (only when ;(ii);(iii), ;(iv) is the input cell;(v)the output region is the environment;(vi) is a time mapping from to natural numbers;(vii) is the set of rules:(1), for ;(2);(3), for , , (only when ), ;(4), for , , ;(5), for ;(6);(7);(8).

In what follows, a detailed explanation of how this system works to MKP is presented. There are three stages in the computation process: generating, checking, and outputting.

In the generating stage, rules and start at the same time. By using the rule , the system generates membranes labeled by 2 after time units. It takes valid steps to complete rule . When the generating stage is ended, every membrane labeled by 2 represents one assignment of variables . Object means that , and means 0. Object can be ejected to the environment after steps by the rule .

In the checking stage, the rules , , , and are started in the same time and in the nondeterministic maximally parallel manner. Let us explain how these rules work. The rule means that if is in one membrane with label 2, object will be sent to the environment. The range of subscript is from 0 to (the case of does not have any influence on the systems) and the subscript means the th constraint. In the same time, object is replaced by object . Rule will stop when there are no objects in all the membranes with label 2 or there are no objects in the environment. The rule is used to check the th constraint inequality (). Similarly, the rule is in charge of the checking of the th inequality . If there appears object in the membrane, the th constraint inequality () is not satisfied and object will be sent to the environment by using rule . On the contrary, the rule means that if there exists object , the th inequality is satisfied and object will be sent to the membrane.

In the last stage, outputting stage, rules and are used to send the right answer to the environment. After checking stage, if objects are all in the membrane, we can come to a conclusion that the assignment of variables in this membrane satisfies the constraints and the objective function is greater than or equal to . By using rule , objects are replaced by object . This process needs one valid step. By using rule , object will be sent to the environment to exchange for object . The system halts with object in the environment, which means that the answer to the decision problem is positive. On the contrary, if some of the objects () are not in the membrane, it means that this assignment of does not meet the requirements and object will remain in the membrane labeled by 1, object will exist in the environment when the computation halts. In this case, the answer to the decision problem is negative.

##### 4.3. Verification

Next, we prove that the family of timed recognizer tissue P systems built above is a uniform time-free solution to MKP.

First, according to the definition of uniform time-free solution, we need to show that the family is polynomially uniform by deterministic Turing machines. It is easy to check that the rules of the system of the family are defined recursively from the values and . Besides, the necessary resources to build an element of the family are of a polynomial order, as shown below.(i)Size of the alphabet: .(ii)Initial number of cells: .(iii)Initial number of objects: .(iv)Number of rules: .(v)Number of execution time associated with rules: .(vi)Maximal length of a rule: .Therefore, a deterministic Turing machine can build in a polynomial time with respect to and .

It is clear that the family of timed tissue P systems constructed above is time-free sound, time-free complete, and time-free polynomially bounded. And the total number of valid steps to complete the whole computation process is no more than . From all the above we have the following result.

Theorem 1. *A family of timed tissue P system can be constructed as a uniform time-free solution to multidimensional 0-1 knapsack problem. For any time mapping e, the correctness of the solution does not depend on the execution time of the rules.*

#### 5. Conclusions and Remarks

In this paper, we have proposed a time-free solution to a NP-complete problem, the multidimensional 0-1 knapsack problem. The feature of time-free tissue P systems is that they can work independently from the values associated with the execution times of the rules. The solution above can be used as a scheme for designing solutions to other NP-complete problems by a space-time trade off strategy. In the future work, we will give direct time-free solutions to other NP-complete problems or even PSPACE-problems.

#### Conflict of Interests

The authors declare that there is no conflict of interests regarding the publication of this paper.

#### Acknowledgments

The work is supported by National Natural Science Foundation of China (61202011, 61272152, 61071151, 60971085, and 61272385), Natural Science Foundation of Fujian Province (2011J01334), and Ph.D. Programs Foundation of Ministry of Education of China (20120121120039).

#### References

- G. Pǎun, “Computing with membranes,”
*Journal of Computer and System Sciences*, vol. 61, no. 1, pp. 108–143, 2000. View at Publisher · View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - L. Pan and T.-O. Ishdorj, “P systems with active membranes and separation rules,”
*Journal of Universal Computer Science*, vol. 10, no. 5, pp. 630–649, 2004. View at Google Scholar · View at MathSciNet - A. Păun and G. Păun, “The power of communication: P systems with symport/antiport,”
*New Generation Computing*, vol. 20, no. 3, pp. 295–305, 2002. View at Google Scholar · View at Scopus - C. Martín-Vide, G. Păun, J. Pazos, and A. Rodríguez-Patón, “Tissue P systems,”
*Theoretical Computer Science*, vol. 296, no. 2, pp. 295–326, 2003. View at Publisher · View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - X. Zhang, Y. Niu, L. Pan, and M. J. Pérez-Jiménez, “Linear time solution to prime factorization by tissue P systems with cell division,”
*International Journal of Natural Computing Research*, vol. 2, no. 3, pp. 49–60, 2011. View at Google Scholar - X. Zhang, S. Wang, Y. Niu, and L. Pan, “Tissue p systems with cell separation: attacking the partition problem,”
*Science China Information Sciences*, vol. 54, no. 2, pp. 293–304, 2011. View at Google Scholar - M. Ionescu, G. Păun, and T. Yokomori, “Spiking neural P systems,”
*Fundamenta Informaticae*, vol. 71, no. 2-3, pp. 279–308, 2006. View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - T. Song, L. Pan, and G. Păun, “Asynchronous spiking neural P systems with local synchronization,”
*Information Sciences*, vol. 219, pp. 197–207, 2013. View at Publisher · View at Google Scholar · View at MathSciNet - M. A. Colomer, A. Margalida, and M. J. Pérez-Jiménez, “Population Dynamics P System, (PDP) Models: a standardized protocol for describing and applying novel bio-inspired computing tools,”
*PLoS ONE*, vol. 8, no. 4, Article ID e60698, 2013. View at Publisher · View at Google Scholar - D. Pescini, D. Besozzi, G. Mauri, and C. Zandron, “Dynamical probabilistic P systems,”
*International Journal of Foundations of Computer Science*, vol. 17, no. 1, pp. 183–204, 2006. View at Publisher · View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - F. J. Romero-Campero and M. J. Pérez-Jiménez, “A model of the quorum sensing system in Vibrio Fischeri using P systems,”
*Artificial Life*, vol. 14, no. 1, pp. 95–109, 2008. View at Publisher · View at Google Scholar · View at Scopus - L. Pan, J. Wang, and H. J. Hoogeboom, “Spiking neural P systems with astrocytes,”
*Neural Computation*, vol. 24, no. 3, pp. 805–825, 2012. View at Publisher · View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - L. Xu and P. Jeavons, “Simple neural-like P systems for maximal independent set selection,”
*Neural Computation*, vol. 25, no. 6, pp. 1642–1659, 2013. View at Publisher · View at Google Scholar · View at MathSciNet - X. Zhang, B. Luo, X. Fang, and L. Pan, “Sequential spiking neural P systems with exhaustive use of rules,”
*BioSystems*, vol. 108, no. 1–3, pp. 52–62, 2012. View at Publisher · View at Google Scholar · View at Scopus - M. Cavaliere, O. H. Ibarra, G. Păun, O. Egecioglu, M. Ionescu, and S. Woodworth, “Asynchronous spiking neural P systems,”
*Theoretical Computer Science*, vol. 410, no. 24-25, pp. 2352–2364, 2009. View at Publisher · View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - L. Pan and X. Zeng, “Small universal spiking neural P systems working in exhaustive mode,”
*IEEE Transactions on Nanobioscience*, vol. 10, no. 2, pp. 99–105, 2011. View at Publisher · View at Google Scholar · View at Scopus - T. Song, L. Pan, J. Wang, I. Venkat, K. Subramanian, and R. Abdullah, “Normal forms of spiking neural P systems with anti-spikes,”
*IEEE Transactions on Nanobio-Science*, vol. 11, pp. 352–359, 2012. View at Google Scholar - J. M. Cecilia, J. M. García, G. D. Guerrero, M. A. Martínez-del-Amor, I. Pérez-Hurtado, and M. J. Pérez-Jiménez, “Simulation of P systems with active membranes on CUDA,”
*Briefings in Bioinformatics*, vol. 11, no. 3, pp. 313–322, 2009. View at Publisher · View at Google Scholar · View at Scopus - S. Cheruku, A. Păun, F. J. Romero-Campero, M. J. Pérez-Jiménez, and O. H. Ibarra, “Simulating FAS-induced apoptosis by using P systems,”
*Progress in Natural Science*, vol. 17, no. 4, pp. 424–431, 2007. View at Publisher · View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - M. À. Colomer, A. Margalida, D. Sanuy, and M. J. Pérez-Jiménez, “A bio-inspired computing model as a new tool for modeling ecosystems: the avian scavengers as a case study,”
*Ecological Modelling*, vol. 222, no. 1, pp. 33–47, 2011. View at Publisher · View at Google Scholar · View at Scopus - F. J. Romero-Campero and M. J. Pérez-Jiménez, “Modelling gene expression control using P systems: the Lac Operon, a case study,”
*BioSystems*, vol. 91, no. 3, pp. 438–457, 2008. View at Publisher · View at Google Scholar · View at Scopus - L. Valencia-Cabrera, M. García-Quismondo, M. J. Pérez-Jiménez, Y. Su, H. Yu, and L. Pan, “Modeling logic gene networks by means of probabilistic dynamic P systems,”
*International Journal of Unconventional Computing*, vol. 9, no. 5-6, pp. 445–464, 2013. View at Google Scholar - G. Păun and R. Păun, “Membrane computing and economics: numerical P systems,”
*Fundamenta Informaticae*, vol. 73, no. 1-2, pp. 213–227, 2006. View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - R. Ceterchi, R. Gramatovici, N. Jonoska, and K. G. Subramanian, “Tissue-like P systems with active membranes for picture generation,”
*Fundamenta Informaticae*, vol. 56, no. 4, pp. 311–328, 2003. View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - B. Nagy and L. Szegedi, “Membrane computing and graphical operating systems,”
*Journal of Universal Computer Science*, vol. 12, no. 9, pp. 1312–1331, 2006. View at Google Scholar · View at Scopus - J. Cheng, G. Zhang, and X. Zeng, “A novel membrane algorithm based on differential evolution for numerical optimization,”
*International Journal of Unconventional Computing*, vol. 7, no. 3, pp. 159–183, 2011. View at Google Scholar · View at Scopus - S. Elias, V. Gokul, K. Krithivasan, M. Gheorghe, and G. Zhang, “A variant of distributed P systems for real time cross layer optimization,”
*Journal of Universal Computer Science*, vol. 18, no. 13, pp. 1760–1781, 2012. View at Google Scholar · View at MathSciNet - T. Y. Nishida, “An approximate algorithm for NP-complete optimization problems exploiting P systems,” in
*Proceedings of the Brainstorming Workshop on Uncertainty in Membrane Computing*, pp. 185–192, 2004. - S. Yang and N. Wang, “A novel P systems based optimization algorithm for parameter estimation of proton exchange membrane fuel cell model,”
*International Journal of Hydrogen Energy*, vol. 37, no. 10, pp. 8465–8476, 2012. View at Publisher · View at Google Scholar · View at Scopus - G.-X. Zhang, M. Gheorghe, and C.-Z. Wu, “A quantum-inspired evolutionary algorithm based on P systems for knapsack problem,”
*Fundamenta Informaticae*, vol. 87, no. 1, pp. 93–116, 2008. View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - H. Peng, J. Wang, M. J. Pérez-Jiménez, H. Wang, J. Shao, and T. Wang, “Fuzzy reasoning spiking neural P system for fault diagnosis,”
*Information Sciences*, vol. 235, pp. 106–116, 2013. View at Publisher · View at Google Scholar · View at MathSciNet - G. Păun,
*Membrane Computing. An Introduction*, Springer, Berlin, Germany, 2002. View at Publisher · View at Google Scholar · View at Zentralblatt MATH · View at MathSciNet - G. Pǎun, G. Rozenberg, and A. Salomaa,
*The Oxford Handbook of Membrane Computing*, Oxford University Press, 2010. - G. Păun, M. J. Pérez-Jiménez, and A. Riscos-Núñez, “Tissue P systems with cell division,”
*International Journal of Computers, Communications & Control*, vol. 3, no. 3, pp. 295–303, 2008. View at Google Scholar · View at Scopus - M. Cavaliere and D. Sburlan, “Time-independent P systems,” in
*Membrane Computing*, Lecture Notes in Computer Science, pp. 239–258, 2005. View at Publisher · View at Google Scholar - T. Song, X. Wang, and H. Zheng, “Time-free solution to Hamilton path problems using P systems with $d$-division,”
*Journal of Applied Mathematics*, vol. 2013, Article ID 975798, 7 pages, 2013. View at Publisher · View at Google Scholar · View at MathSciNet - G. Rozenberg,
*Handbook of Formal Languages: Word, Language, Grammar*, vol. 1, Springer, 1997. View at Publisher · View at Google Scholar · View at MathSciNet - M. J. Pérez-Jiménez, “An approach to computational complexity in membrane computing,” in
*Membrane Computing*, vol. 3365 of*Lecture Notes in Computer Science*, pp. 85–109, 2005. View at Publisher · View at Google Scholar - R. G. Michael and D. S. Johnson,
*Computers and Intractability: A Guide to the Theory of NP-Completeness*, W. H. Freeman, New York, NY, USA, 1979. View at MathSciNet - L. Pan and C. Martín-Videc, “Solving multidimensional 0-1 knapsack problem by P systems with input and active membranes,”
*Journal of Parallel and Distributed Computing*, vol. 65, no. 12, pp. 1578–1584, 2005. View at Publisher · View at Google Scholar · View at Scopus