• 沒有找到結果。

A greedy approach to the coin exchange problem

N/A
N/A
Protected

Academic year: 2021

Share "A greedy approach to the coin exchange problem"

Copied!
6
0
0

加載中.... (立即查看全文)

全文

(1)Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. A greedy approach to the coin exchange problem Ming Yu-Hsieh Min-Zheng Shieh Shi-Chun Tsai National Chiao-Tung University Email: {myuhsieh, mzhsieh, sctsai}@csie.nctu.edu.tw buy some merchandise priced at x cents, how should we pay to make the number of coins exchanged as few as possible? Formally, the coin exchange problem is: given a set of coin denominations {c1 , c2 , · · · , cn } and an integer x, find the way to buy some merchandise priced at x cents (or dollars) by exchanging the fewest number of coins. This problem is a special case of the jug measuring problem [6] and it’s also a generalization of the extended GCD problem [3] under `1 -norm, which are proved to be NP-hard [6, 3]. WLOG, we assume that c1 < c2 < · · · < cn−1 < cn , and in general this Keywords: Coin change, coin exchange, greedy problem can be formulated as follows: algorithm. n X min |xi |. Abstract-We consider a variation of the well known coin changing problem: Suppose that we buy some merchandise priced at x dollars in a currency with n kinds of coins valued at c1 , c2 , · · · , cn dollars. What is the fewest possible number of coins required to be exchanged? In this paper, we propose a greedy algorithm, which finds optimal solutions for the case when ci = ci−1 , i = 1, ..., n. Also if we apply our greedy algorithm to general input, then we can determine the solution to be optimal or not in O(ncn ) time.. 1. i=1. Introduction s.t.. xi ∈ Z, ∀i ∈ [n] and x ∈ N. Intuitively, |xi | is the number of the ci -coin exchanged. We pay |xi | ci -coins if xi is positive, otherwise we get |xi | ci -coins. The goal is to find a vecPn tor (x1 , x2 , · · · , xn ), with i=1 ci xi = x, such that Pn its `1 -norm, i=1 |xi | is minimized. For example, suppose the denominations are 1-dollar, 10-dollar, and 100-dollar bills, and we would like to buy a book priced at x = 98 dollars. Then, we can pay 98 dollars consisting of nine 10-dollar bills and eight 1-dollar bills, and we get no change; seventeen bills are exchanged. Or we can pay one 100-dollar bill, and we get 2 dollars change consisting of two 1dollar bills; only three bills are used. It is obvious that the latter is a better solution. In other words, this problem can be stated as representing a given value with the fewest number of coins (or bills) from a given set of denominations.. i=1. s.t.. ci xi = x. i=1. The coin changing problem[4, 2] is: given a set of coin denominations {c1 , c2 , · · · , cn } and an integer x, find the way to make change for x cents (or dollars) using the fewest possible number of coins. This famous problem is NP-complete and it can be solved in polynomial time for some special sets of coin denominations by a greedy algorithm. Kozen and Zaks[4] showed that if the greedy algorithm is not optimal for some set of coin denominations 1 = c1 < c2 < · · · < cn , then the minimal counter example x lies in [c3 + 1, cn + cn−1 ]. This problem is a variation of the integer knapsack problem[2, 5]. It can be formulated as follows: n X min xi n X. n X. ci xi = x. i=1. xi ∈ N ∪ {0}, ∀i ∈ [n] and x ∈ N.. The coin changing problem and the coin ex-. Now we consider the following case: when we 1. 1238.

(2) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. change problem share a strong resemblance in their forms and both are NP-hard[5, 7, 6, 3]. While the integer knapsack problem can be approximated efficiently[1]. However, our problem has been proved by Havas and Seifert [3] to be NP-hard even c to approximate within n1/O(log n) , where c is an arbitrary small positive constant.. We need the following observations and facts for the correctness of theorem 2.1. Lemma 2.2 If ~s = (s1 , · · · , sn ) is an optimal solution, then |si | ≤ dc/2e, for i = 1, · · ·, n-1. Proof. By contradiction, suppose there exists an si such that si > dc/2e. Let s0i = si − c, s0i+1 = si+1 + 1, then we can get a solution s~0 = (s1 , s2 , · · · , si−1 , s0i , s0i+1 , si+2 , · · · , sn−1 , sn ). It is clear that ks~0 k1 < k~sk1 , which is a contradiction. 2. In this paper, we give an efficient greedy algorithm runs in O(n) time for a special case of this problem (where each ci = ci−1 ), and we prove if the greedy algorithm does not give the optimal solution for some set of denominations then the minimal counterexample x ∈ (0, cn + cn−1 ). At last, We can improve the previous lemma especially we can determine whether the answer is optimal when c is an odd number. or not for general input in O(ncn ) time, which is less than the time required by exhaustive search, Lemma 2.3 There exists an optimal solution ~s = (s1 , s2 , · · · , sn−1 , sn ) such that |si | ≤ bc/2c, ∀ i = O(n2 cn ). {1, 2, · · ·, n-1}. The rest of the paper is organized as follows. In section 2, we propose a greedy algorithm to solve a special case efficiently. This algorithm can give Proof. We only need to consider the case when c c an optimal solution for the specific case in linear c is odd, since b 2 c = d 2 e when c is even. time. In section 3, we apply the greedy algorithm Suppose there exists an optimal solution ~s has c+1 ~0 to more general input and we can check whether an entry si = 2 , then we can obtain s = 0 0 the greedy algorithm produces an optimal solution (s1 , s2 , · · · , si−1 , si , si+1 , si+2 , · · · , sn−1 , sn ) where c−1 0 0 or not in O(ncn ) time, which is analogous to the si = − 2 and si+1 = si+1 + 1. It is clear that ~0 result for the knapsack problem by Kozen and Zaks ~s and s have the same `1 -norm. Similarly, if ~s has an entry si = − c+1 [4]. 2 , then we can obtain another optimal solution where the i-th entry satisfying the constraint. We can simply adjust ~s sequentially from the first entry to the (n − 1)-th entry and obtain an optimal solution satisfying the constraints 2 A greedy algorithm in the lemma. This proves the claim.2 For convenience, we use the following notations. A coin system is a vector of positive integers ~c = (c1 , c2 , · · · , cn−1 , cn ) with c1 < c2 < · · · < cn−1 < cn . A vector ~s = (s1 , s2 , · · · , sn−1 , sn ) is a soluPn tion if i=1 si ci = x. We say a solution is optiPn mal if its `1 -norm, k~sk1 = i=1 |si |, is minimum. First we consider a special case for the coin system ~c = (c0 , c1 , · · · , cn−2 , cn−1 ), where c is an integer greater than 1. We propose a greedy algorithm that finds an optimal solution for this special case.. The following corollary is an immediate result from Lemma 2.2. It will be used to prove the greedy choice property of the greedy algorithm. Corollary 2.4 Given an optimal solution ~s = Pj (s1 , s2 , · · · , sn−1 , sn ), we have | i=1 si ci | < cj+1 , ∀j = 1, 2, · · · , n − 1. Pj Proof. By lemma 2.2, we have | i=1 si ci | ≤ j −1 . It is easy to verify that for c ≥ 2, d 2c e · cc−1 Pj c d 2 e ≤ c − 1. Thus | i=1 si ci | < cj+1 . 2. Before we propose the greedy algorithm, we fix Theorem 2.1 (Main result) Given a coin system ~c = (c0 , c1 , · · · , cn−2 , cn−1 ), where c ∈ N and any the range of the objective integer x first. Actuobjective value x ∈ N , an optimal solution ~s = ally, for Theorem 2.1, we only need to consider the case of 0 < x < cn−1 . For x ≥ cn−1 , we (s1 , s2 , · · · , sn−1 , sn ) can be found in O(n) time.. 1239.

(3) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. can solve the case x0 = x mod cn−1 obtaining an optimal solution (s01 , s02 , · · · , s0n−1 , s0n ), and x c) is an optimal solu(s01 , s02 , · · · , s0n−1 , s0n + b cn−1 tion for the original case. Suppose this is not true. x c from CorolWe know that s0n ≥ 0 and sn ≥ b cn−1 x c) will lary 2.4. So that (s1 , s2 , · · · , sn−1 , sn − b cn−1 0 be a better solution for x , a contradiction. For x < 0, we can just solve the case x0 = −x obtaining an optimal solution (s01 , s02 , · · · , s0n−1 , s0n ), and (−s01 , −s02 , · · · , −s0n−1 , −s0n ) is an optimal one for x. Now, we propose our greedy algorithm. Algorithm Exchange(x, ~c) Input: ~c = (c1 , c2 , · · · , cn ): the coin system x: the objective value, 0 < x < cn Output: ~g = (g1 , g2 , · · · , gn ), the solution, which is initialized to be a zero vector 1. while( x ! = 0 ){ 2. find an i such that |ci − |x|| is minimum; 3. if( x > 0 ){ 4. gi = gi + 1; 5. x = x − ci ;} 6. else{ gi = gi − 1; 7. 8. x = x + ci ;}}. Figure 1: Algorithm Exchange In each iteration of Algorithm Exchange, it is clear that |x| is strictly decreasing in the cases when c1 = 1. So, we know this algorithm will finally terminate, although it may fall into an infinite loop in some cases when c1 6= 1. Lemma 2.5 The output ~g of algorithm Exchange is a solution. Proof. In each iteration, gi = gi + 1 when x = x − ci , or gi = gi − 1 when x = x + ci . Because the algorithm terminates when x = 0 and ~g is initialized to be a zero vector, we have Pn Moreover, after each iteration i=1 gi ci = x. |ci − |xk is smaller than |x|, because c1 = 1, and after the if statement |x| is equal to |ci − |xk. So we know that the algorithm will terminate and produce a solution. 2. 1240. Next, we show the algorithm Exchange gives an optimal solution. There are two parts to prove: the greedy choice property of the algorithm and the optimal substructure. Before proving the greedy choice property, we define the leading coefficient which is important to the proof. Definition 2.6 For a solution ~s = (s1 , s2 , · · · , sn−1 , sn ), we say si is the leading coefficient if si 6= 0 and ∀j > i, sj = 0. It is clear that s` x > 0, where s` is the leading coefficient, by Corollary 2.4. In fact, we can assume s` > 0 because it is sufficient to consider the situation x > 0. We prove the greedy choice property as follows. Lemma 2.7 For an objective value x > 0, there exists an optimal solution ~s = (s1 , s2 , · · · , sn−1 , sn ) such that the leading coefficient si has |ci − |xk minimum, and it is determined in the first iteration (line 2) of the algorithm Exchange.. Proof. Assume we have an optimal solution, satisfying Lemma 2.3, with sj as the leading coefficient and i as chosen in line 2 of Exchange, which implies |ci − |xk is minimum. Notice that |ci − |x|| is minimum implies |x| is closest to ci , thus |x| ≥ ci +c2i−1 and |x| ≤ ci +c2 i+1 . If j = i, then it is done. Thus we consider j 6= i: (i) Case j < i: If j < i − 1, then by Corollary 2.4 we have x < ci−1 , which contradicts the fact that |x| ≥ ci +ci−1 . Thus j = i − 1. Since c can be even 2 or odd, we consider the following cases. • Case ”c is even”: We claim sj = sj−1 = 2c . Suppose not, then x = Pj−2 sj cj +sj−1 cj−1 + k=1 sk ck < 2c cj +( 2c − 1)cj−1 + cj−1 = 2c cj + 2c cj−1 . But since x ≥ ci +c2i−1 = 2c (cj−1 + cj ), we get a contradiction. Since sj = sj−1 = 2c , we can adjust sj+1 = si = 1, sj = 1 − 2c , sj−1 = − 2c to satisfy this lemma without losing the optimality. • Case ”c is odd”: Then we have x = Pj−2 sj cj + sj−1 cj−1 + k=1 sk ck < c−1 2 (cj + cj +cj−1 c−1 = cj−1 )+cj−1 < 2 (cj +cj−1 )+ 2.

(4) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. + cj ) = ci +c2i−1 ≤ x, a contradic- (u1 , u2 , · · · , ui−1 , ui + sgn(si ), ui+1 , · · · , un−1 , un ) tion. Thus for j = i − 1, c cannot be would be a solution for objective value x. But k~v k1 ≤ k~uk1 + 1 < k~sk1 , a contradiction. 2 odd. c 2 (cj−1. (ii) Case j > i: Since cj ≥ ci+1 > ci+12+ci ≥ x = sj cj + Pj−1 k=1 sk ck > (sj − 1)cj , we know sj = 1. We claim j = i+1. If j > i+1, then x = sj cj + Pj−2 sj−1 cj−1 + k=1 sk ck > cj + (sj−1 − 1)cj−1 . When c = 2, sj−1 can be 0 or 1. (Note that sj−1 cannot be −1, otherwise, we can adjust sj ’s such that the leading coefficient becomes sj−1 .) Hence x > cj − cj−1 ≥ ci+1 , a contradiction. When c > 2, since sj ≥ −b 2c c, x > cj − (b 2c c + 1)cj−1 ≥ ci+1 , a contradiction. Thus j must be i + 1. Now consider the following cases: • Case ”c is even”: If sj−1 = − 2c , we can set sj = 0 and sj−1 = 2c and get a better solution. Hence sj−1 > − 2c . We claim c sj−1 = − c−2 2 and sj−2 = − 2 . Suppose ci +ci+1 ≥ x = cj + sj−1 cj−1 + not, then P2j−3 sj−2 cj−2 + k=1 sk ck > cj − c−2 2 cj−1 − c c ( 2 − 1)cj−2 − cj−2 = 2 (cj−1 + cj−2 ) = ci +ci+1 , a contradiction. Thus we can set 2 sj = 0, sj−1 = 2c , sj−2 = 2c to satisfy this lemma. x = cj + • Case ”c is odd”: Pj−2 sj−1 cj−1 + k=1 sk ck > cj + (sj−1 − 1)cj−1 implies sj−1 = −b 2c c, otherwise we have x > cj + (sj−1 − 1)cj−1 > ci+12+ci , a contradiction. Thus we know there exists another solution s~0 = (s1 , s2 , · · · , si−1 , d 2c e, 0, 0, · · · , 0) satisfying the lemma. 2 Lemma 2.8 If ~s = (s1 , · · · , sn ) is an optimal solution for x, then, for si 6= 0, s~0 = (s1 , · · · , si−1 , si − sgn(si ), si+1 , · · · , sn ) is an optimal solution for the objective value x − sgn(si ) · ci−1 . Proof. We only have to deal with the case si 6= 0. Let k~sk1 = t. Suppose s~0 is not optimal, but ~u = (u1 , u2 , · · · , un−1 , un ) is the optimal solution for objective value x−sgn(si )·ci−1 . Thus k~uk1 < ks~0 k1 . However, ~v =. 1241. Theorem 2.9 Algorithm Exchange gives an optimal solution. Proof. Immediately Lemma 2.8. 2. from. Lemma 2.7. and. Algorithm Exchange2(x, ~c) Input: ~c = (c1 , c2 , · · · , cn ), the coin values x, the objective value, 0 < x < cn Output: ~g = (g1 , g2 , · · · , gn ), which is initialized to be a zero vector 1. for(i = n; i > 1 and x 6= 0 ; i = i − 1){ 2. if( ci−1 ≤ |x| ≤ ci ){ 3. if( ci − |x| ≤ |x| − ci−1 ){ 4. gi = gi + sgn(x); 5. x = x − ci · sgn(x);} 6. gi−1 = the integer part of x/ci−1 ; 7. x = x − gi−1 · ci−1 ;}} Figure 2: Improved algorithm Exchange2 In fact, algorithm Exchange can be improved by removing the unnecessary steps as follows. In each iteration of the algorithm, because |ci − |xk becomes smaller and smaller and |x| = |ci − |xk after each iteration, we know that once ci is chosen, cj will not be chosen any more ∀j > i. That is why the algorithm uses a for-loop instead of a whileloop. Besides, we can still shorten the steps of gi = gi + 1 or gi = gi − 1 to at most 2 steps. This is not hard to understand in the algorithm. Moreover, algorithm Exchange2 runs in time O(n). This completes the proof of Theorem 2.1.. 3. Determine the optimality of the greedy algorithm. We have proved that algorithm Exchange gives an optimal solution for a special case. Moreover, algorithm Exchange may produce optimal solutions for some other cases. In this section, we give.

(5) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. a proof for the upper bound of the existence of Theorem 3.3 Given a coin system c1 < c2 < positive counterexample and we propose a method · · · < cn−1 < cn , the smallest positive counterexto check whether our greedy algorithm gives an ample lies in the interval (0, cn + cn−1 ), if exists. optimal solution or not for general cases. For convenience, we define m(x) and g(x) as follows: Proof. Suppose x ≥ cn + cn−1 is the smallest Definition 3.1 Given a coin system, let m(x) de- positive counterexample, then m(x) < g(x) and note the value of `1 -norm of the optimal solution of for all positive integer y < x, g(y) = m(y). Supthe objective value x, and let g(x) denote the value pose ~s = (s1 , s2 , · · · , sn ) is an optimal solution for of `1 -norm of the solution by the greedy algorithm objective value x and si > 0. If i = n, to the objective value x. When the greedy algorithm g(x) = g(x − cn ) + 1 by definition of g does not terminate, g(x) = ∞. We call a system = m(x − cn ) + 1 by hypothesis canonical if g(x) = m(x) for all x. If a system is = m(x) by Lemma 3.2 not canonical, then a value x for which m(x) < g(x) is called a counterexample for the system. a contradiction. If i < n, assume m(x) = t, The following lemma is the major tool to prove the upper bound of the existence of positive counterexample.. ⇒ m(x − cn ) ≥ ⇒ m(x − cn − ci ) ≥. t by Lemma 3.2 t − 1 by Lemma 3.2. but because ci is a coin used in the optimal solution Lemma 3.2 Let c1 < · · · < cn be any system of x, so of coins. For all x, coins ci and an integer k ∈ {−1, 1}, m(x) ≤ m(x − k · ci ) + 1, with equality m(x − ci ) = t − 1 by Lemma 3.2 holding if and only if there exists an optimal solu- ⇒ g(x − c ) = t − 1 by hypothesis i tion ~s = (s1 , s2 , · · · , sn ) for objective value x where ⇒ g(x − c − c ) = t − 2 by definition of g i n si k > 0. ⇒ m(x − ci − cn ) = t − 2 by hypothesis Proof. For the inequality, by contradiction, suppose there exists a solution ~t = (t1 , t2 , · · · , tn ) for x − k · ci where k~tk1 < m(x) − 1. Thus we have a solution ~t0 = (t1 , t2 , · · · , ti−1 , ti + k, · · · , tn ) for x and k~t0 k1 ≤ k~tk1 + 1 < m(x), a contradiction. If there exists an optimal solution ~s = (s1 , s2 , · · · , sn ) for objective value x where si k > 0, it is easy to verify the equality holds by the existence of a solution (s1 , s2 , · · · , si−1 , si − k, · · · , sn ) for x − k · ci . Assume the equality holds. If there does not exist an optimal solution (s1 , s2 , · · · , sn ) for x such that si k > 0, then for every optimal solution ~u = (u1 , u2 , · · · , un ) for x−k·ci , ui k < 0. Thus s~0 = (u1 , u2 , · · · , ui−1 , ui +k, ui+1 , · · · , un ) is a solution for x and ks~0 k1 = k~uk1 − 1 = k~sk1 − 2 < k~sk1 , a contradiction. So we complete the proof. 2. a contradiction. Moreover, for the three-coin system 1, 3, 4, x = cn + cn−1 − 1 = 4 + 3 − 1 = 6 can be checked easily to be the smallest positive counterexample. So, we have completed the proof and the bound is tight. 2 Definition 3.4 A witness is an x for which g(|x|) > g(kx| − ci |) + 1 for some coin ci . Lemma 3.5 (1) Every witness is a counterexample. (2) Suppose |x| is a counterexample but not a witness, then kx| − ci | is also a counterexample, such that there exists an optimal solution (s1 , s2 , · · · , si 6= 0, · · · , sn ) for objective value x. (3) If |x| < cn + cn−1 , then kx| − c| < cn + cn−1 , where c is any coin value.. The following theorem gives a tight upper bound Proof. for the existence of a positive counterexample. It also implies that we only need to check O(cn ) ob- (1) Suppose x is a witness, then for some coin ci , m(|x|) ≤ m(kx| − ci |) + 1 ≤ g(kx| − ci |) + 1 < jective values to decide whether our greedy algog(|x|). So, x is a counterexample. rithm works for any coin system.. 1242.

(6) Int. Computer Symposium, Dec. 15-17, 2004, Taipei, Taiwan.. Conclusions and Remarks (2) Since |x| is a counterexample but |x| is not 4 a witness,we have m(kx| − ci |) = m(|x|) − 1 < g(|x|) − 1 ≤ g(kx| − ci |). Thus, kx| − c| is We give a linear time greedy algorithm for a special also a counterexample. case and we can check whether it gives an optimal solution for general case in O(ncn ) time. A nat(3) It follows immediately from the fact that 0 ≤ ural possible extension is: Can we find a greedy algorithm for more general input? |x| < cn + cn−1 and 0 ≤ c < cn + cn−1 .2 Theorem 3.6 For a given system, it is canonical if and only if that there is no witness in the interval (0, cn + cn−1 ).. References [1] G. Ausiello, P. Crescenzi, G. Gambosi, V. Kann, A. Marchetti-Spaccamela and M. Protasi Complexity and Approximation, combinatorial optimization problems and their approximability properties, Springer-Verlag, New York, 1999.. Proof. If the given system is canonical, then it is clear that there is no counterexample. Thus there does not exist any witness by Lemma 3.5-1. If the given system is not canonical, we know that there exist counterexamples and the smallest [2] T. Cormen, C. Leiserson, R. Rivest and C. positive counterexample x with 0 < x < cn + cn−1 . Stein Introduction to Algorithms, 2nd Ed, The Pn If x = j=1 sj cj is not a witness, by Lemma 3.5, MIT Press, 2001. for some si > 0, |x − ci | is also a counterexample and m(|x − ci |) < m(x). If |x − ci | is still not [3] G. Havas and J. Seifert, The complexity of the a witness, then let x = |x − ci |, and repeat this extended GCD problem, MFCS 1999: pp. 103until finding a witness, since it is guaranteed that 113. we will find a witness because x will eventually converge to 0 which can’t be a counterexample. 2 [4] Dexter Kozen, Shmuel Zaks, Optimal Bounds for the Change-Making Problem, Theoretical Computer Science, 123 (2), pp. 377-388, 1994. By the theorem above, we only need to check the existence of a witness in the range of the smallest [5] C. Papadimitriou and K. Steiglitz Combinatorial Optimization, algorithms and complexity, counterexample to determine whether the greedy Prentice-Hall Inc., 1982. algorithm gives an optimal solution or not. Moreover, the algorithm Examine takes time O(ncn ). Algorithm Examine(~c) Input: ~c = (c1 , c2 , · · · , cn ): the coin system Variable: ~g = (g0 , g1 , · · · , gcn +cn−1 −1 ), which is defined in Definition 3.1. [6] M.-Z. Shieh, S.-C. Tsai, Jug measuring: complexity and algorithm, 2004, submitted for publication. [7] M. Sipser, Introduction to the Theory Computation, PWS Publishing Company, 1997.. 1. call Exchange2 to compute ~g ; 2. for(i = 1 ; i < cn + cn−1 ; i + + ){ 3. for(j = 1 ; j <= n ; j + + ){ 4. if(gi > g|i−cj | + 1){ 5. return NO;}}} 6. return YES; Figure 3: Algorithm Examine. 1243.

(7)

參考文獻

相關文件

• Consider an algorithm that runs C for time kT (n) and rejects the input if C does not stop within the time bound.. • By Markov’s inequality, this new algorithm runs in time kT (n)

• Consider an algorithm that runs C for time kT (n) and rejects the input if C does not stop within the time bound.. • By Markov’s inequality, this new algorithm runs in time kT (n)

• Consider an algorithm that runs C for time kT (n) and rejects the input if C does not stop within the time bound.. • By Markov’s inequality, this new algorithm runs in time kT (n)

• Suppose, instead, we run the algorithm for the same running time mkT (n) once and rejects the input if it does not stop within the time bound.. • By Markov’s inequality, this

✓ Combining an optimal solution to the subproblem via greedy can arrive an optimal solution to the original problem.. Prove that there is always an optimal solution to the

We present numerical results for Algorithm Elastic-Inexact applied to a set of 18 MPECs, showing the outcomes for each problem and analyzing whether exact complementarity,

Primal-dual approach for the mixed domination problem in trees Although we have presented Algorithm 3 for finding a minimum mixed dominating set in a tree, it is still desire to

In particular, we present a linear-time algorithm for the k-tuple total domination problem for graphs in which each block is a clique, a cycle or a complete bipartite graph,