Knowledge

Reduction (complexity)

Source 📝

31: 525:) that finds near-optimal (or optimal) solutions to instances of problem B, and an efficient approximation-preserving reduction from problem A to problem B, by composition we obtain an optimization algorithm that yields near-optimal solutions to instances of problem A. Approximation-preserving reductions are often used to prove 521:. Suppose we have two optimization problems such that instances of one problem can be mapped onto instances of the other, in a way that nearly optimal solutions to instances of the latter problem can be transformed back to yield nearly optimal solutions to the former. This way, if we have an optimization algorithm (or 466:
to a trivial problem, like determining if a number equals zero, by having the reduction machine solve the problem in exponential time and output zero only if there is a solution. However, this does not achieve much, because even though we can solve the new problem, performing the reduction is just as
357:
that cannot be constructed by arithmetic operations on rational numbers. Going in the other direction, however, we can certainly square a number with just one multiplication, only at the end. Using this limited form of reduction, we have shown the unsurprising result that multiplication is harder in
328:
However, the reduction becomes much harder if we add the restriction that we can only use the squaring function one time, and only at the end. In this case, even if we're allowed to use all the basic arithmetic operations, including multiplication, no reduction exists in general, because in order to
195:
First, we find ourselves trying to solve a problem that is similar to a problem we've already solved. In these cases, often a quick way of solving the new problem is to transform each instance of the new problem into instances of the old problem, solve these using our existing solution, and then use
442:
the solution to one problem, assuming the other problem is easy to solve. The many-one reduction is a stronger type of Turing reduction, and is more effective at separating problems into distinct complexity classes. However, the increased restrictions on many-one reductions make them more difficult
529:
results: if some optimization problem A is hard to approximate (under some complexity assumption) within a factor better than α for some α, and there is a β-approximation-preserving reduction from problem A to problem B, we can conclude that problem B is hard to approximate within factor α/β.
450:
for a complexity class if every problem in the class reduces to that problem, and it is also in the class itself. In this sense the problem represents the class, since any solution to it can, in combination with the reductions, be used to solve every problem in the class.
479:: "The reduction must be easy, relative to the complexity of typical problems in the class If the reduction itself were difficult to compute, an easy solution to the complete problem wouldn't necessarily yield an easy solution to the problems reducing to it." 199:
Second: suppose we have a problem that we've proven is hard to solve, and we have a similar new problem. We might suspect that it is also hard to solve. We argue by contradiction: suppose the new problem is easy to solve. Then, if we can show that
315: 320:
We also have a reduction in the other direction; obviously, if we can multiply two numbers, we can square a number. This seems to imply that these two problems are equally hard. This kind of reduction corresponds to
204:
instance of the old problem can be solved easily by transforming it into instances of the new problem and solving those, we have a contradiction. This establishes that the new problem is also hard.
216:. Suppose all we know how to do is to add, subtract, take squares, and divide by two. We can use this knowledge, combined with the following formula, to obtain the product of any two numbers: 137:, greater memory requirement, expensive need for extra hardware processor cores for a parallel solution compared to a single-threaded solution, etc.). The existence of a reduction from 355: 102:
into another problem. A sufficiently efficient reduction from one problem to another may be used to show that the second problem is at least as difficult as the first.
222: 907: 896: 885: 875: 518: 547:
we must find a reduction from a decision problem which is already known to be undecidable to P. That reduction function must be a
482:
Therefore, the appropriate notion of reduction depends on the complexity class being studied. When studying the complexity class
923: 87: 463: 35: 610:
The following example shows how to use reduction from the halting problem to prove that a language is undecidable. Suppose
870:
Thomas H. Cormen, Charles E. Leiserson, Ronald L. Rivest and Clifford Stein, Introduction to Algorithms, MIT Press, 2001,
848: 510:
to show whether problems are or are not solvable by machines at all; in this case, reductions are restricted only to
167:
The mathematical structure generated on a set of problems by the reductions of a particular type generally forms a
133:. "Harder" means having a higher estimate of the required computational resources in a given context (e.g., higher 74:. The blue vertices form a minimum vertex cover, and the blue vertices in the gray oval correspond to a satisfying 833: 571: 526: 491: 422:
As described in the example above, there are two main types of reductions used in computational complexity, the
329:
get the desired result as a square we have to compute its square root first, and this square root could be an
522: 843: 853: 447: 99: 507: 487: 161: 83: 71: 880:
Hartley Rogers, Jr.: Theory of Recursive Functions and Effective Computability, McGraw-Hill, 1967,
598: 548: 544: 511: 503: 472: 468: 379: 838: 423: 375: 359: 336: 903: 892: 881: 871: 330: 172: 157: 891:
Peter Bürgisser: Completeness and Reduction in Algebraic Complexity Theory, Springer, 2000,
858: 540: 517:
In case of optimization (maximization or minimization) problems, we often think in terms of
427: 322: 180: 75: 156:, usually with a subscript on the ≤ to indicate the type of reduction being used (m : 590: 582: 563: 552: 499: 495: 483: 134: 623: 586: 578: 559: 411: 196:
these to obtain our final solution. This is perhaps the most obvious use of reductions.
17: 917: 176: 310:{\displaystyle a\times b={\frac {\left(\left(a+b\right)^{2}-a^{2}-b^{2}\right)}{2}}} 551:. In particular, we often show that a problem P is undecidable by showing that the 30: 459: 121:
efficiently (if it existed) could also be used as a subroutine to solve problem
641:) is the problem of determining whether the language a given Turing machine 407: 95: 371: 168: 902:
E.R. Griffor: Handbook of Computability Theory, North Holland, 1999,
594: 567: 467:
hard as solving the old problem. Likewise, a reduction computing a
458:. For example, it's quite possible to reduce a difficult-to-solve 191:
There are two main situations where we need to use reductions:
27:
Transformation of one computational problem to another
339: 225: 633:. This language is known to be undecidable. Suppose 475:
to a decidable one. As Michael Sipser points out in
454:However, in order to be useful, reductions must be 629:halts (by accepting or rejecting) on input string 349: 309: 684:(a Turing machine and some input string), define 494:are used. When studying classes within P such as 622:) is the problem of determining whether a given 208:A very simple example of a reduction is from 8: 732:) to check whether the language accepted by 676:(which we know does not exist). Given input 820:cannot exist, it follows that the language 720:, and does not halt otherwise. The decider 358:general than squaring. This corresponds to 145:, can be written in the shorthand notation 649:accepts any strings at all). We show that 645:accepts is empty (in other words, whether 704:that accepts only if the input string to 477:Introduction to the Theory of Computation 340: 338: 291: 278: 265: 238: 224: 792:, we would be able to produce a decider 668:. We will use this to produce a decider 125:efficiently. When this is true, solving 29: 784:can accept. Thus, if we had a decider 506:are used. Reductions are also used in 117:, if an algorithm for solving problem 7: 570:are closed under (many-one, "Karp") 418:Types and applications of reductions 660:To obtain a contradiction, suppose 653:is undecidable by a reduction from 519:approximation-preserving reduction 25: 768:, then the language accepted by 744:, then the language accepted by 34:Example of a reduction from the 696:) with the following behavior: 486:and harder classes such as the 88:computational complexity theory 464:boolean satisfiability problem 438:of another; Turing reductions 129:cannot be harder than solving 36:boolean satisfiability problem 1: 816:. Since we know that such an 849:Reduction (recursion theory) 748:is empty, so in particular 350:{\displaystyle {\sqrt {2}}} 940: 572:polynomial-time reductions 492:polynomial-time reductions 430:. Many-one reductions map 834:Gadget (computer science) 700:creates a Turing machine 527:hardness of approximation 78:for the original formula. 796:for the halting problem 177:degrees of unsolvability 752:does not halt on input 577:The complexity classes 558:The complexity classes 523:approximation algorithm 924:Reduction (complexity) 844:Parsimonious reduction 469:noncomputable function 351: 311: 175:may be used to define 79: 18:Reducible (complexity) 854:Truth table reduction 824:is also undecidable. 352: 312: 105:Intuitively, problem 98:for transforming one 33: 512:computable functions 508:computability theory 504:log-space reductions 488:polynomial hierarchy 337: 223: 162:polynomial reduction 84:computability theory 72:vertex cover problem 776:does halt on input 599:log-space reduction 549:computable function 473:undecidable problem 380:transitive relation 173:equivalence classes 839:Many-one reduction 808:) for any machine 434:of one problem to 424:many-one reduction 360:many-one reduction 347: 307: 181:complexity classes 80: 908:978-0-444-89882-1 897:978-3-540-66752-0 886:978-0-262-68052-3 876:978-0-262-03293-3 724:can now evaluate 664:is a decider for 597:are closed under 462:problem like the 370:A reduction is a 345: 331:irrational number 305: 158:mapping reduction 16:(Redirected from 931: 859:Turing reduction 772:is nonempty, so 606:Detailed example 541:decision problem 428:Turing reduction 356: 354: 353: 348: 346: 341: 323:Turing reduction 316: 314: 313: 308: 306: 301: 297: 296: 295: 283: 282: 270: 269: 264: 260: 239: 76:truth assignment 21: 939: 938: 934: 933: 932: 930: 929: 928: 914: 913: 867: 830: 760:can reject. If 716:halts on input 608: 553:halting problem 539:To show that a 536: 420: 412:natural numbers 368: 335: 334: 287: 274: 250: 246: 245: 244: 240: 221: 220: 189: 152: 135:time complexity 28: 23: 22: 15: 12: 11: 5: 937: 935: 927: 926: 916: 915: 912: 911: 900: 889: 878: 866: 863: 862: 861: 856: 851: 846: 841: 836: 829: 826: 624:Turing machine 607: 604: 603: 602: 575: 556: 535: 532: 471:can reduce an 419: 416: 367: 364: 344: 318: 317: 304: 300: 294: 290: 286: 281: 277: 273: 268: 263: 259: 256: 253: 249: 243: 237: 234: 231: 228: 210:multiplication 206: 205: 197: 188: 185: 150: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 936: 925: 922: 921: 919: 909: 905: 901: 898: 894: 890: 887: 883: 879: 877: 873: 869: 868: 864: 860: 857: 855: 852: 850: 847: 845: 842: 840: 837: 835: 832: 831: 827: 825: 823: 819: 815: 811: 807: 803: 799: 795: 791: 787: 783: 779: 775: 771: 767: 763: 759: 755: 751: 747: 743: 739: 736:is empty. If 735: 731: 727: 723: 719: 715: 711: 707: 703: 699: 695: 691: 687: 683: 679: 675: 671: 667: 663: 658: 656: 652: 648: 644: 640: 636: 632: 628: 625: 621: 617: 613: 605: 600: 596: 592: 588: 584: 580: 576: 573: 569: 565: 561: 557: 555:reduces to P. 554: 550: 546: 542: 538: 537: 533: 531: 528: 524: 520: 515: 513: 509: 505: 501: 497: 493: 489: 485: 480: 478: 474: 470: 465: 461: 457: 452: 449: 446:A problem is 444: 441: 437: 433: 429: 425: 417: 415: 413: 409: 405: 401: 397: 393: 389: 385: 381: 377: 373: 365: 363: 361: 342: 332: 326: 324: 302: 298: 292: 288: 284: 279: 275: 271: 266: 261: 257: 254: 251: 247: 241: 235: 232: 229: 226: 219: 218: 217: 215: 211: 203: 198: 194: 193: 192: 186: 184: 182: 178: 174: 170: 165: 163: 159: 155: 148: 144: 140: 136: 132: 128: 124: 120: 116: 112: 108: 103: 101: 97: 93: 89: 85: 77: 73: 69: 65: 61: 57: 53: 49: 45: 41: 37: 32: 19: 821: 817: 813: 809: 805: 801: 797: 793: 789: 785: 781: 777: 773: 769: 765: 761: 757: 753: 749: 745: 741: 737: 733: 729: 725: 721: 717: 713: 709: 705: 701: 697: 693: 689: 685: 681: 677: 673: 669: 665: 661: 659: 654: 650: 646: 642: 638: 634: 630: 626: 619: 615: 611: 609: 516: 481: 476: 455: 453: 445: 439: 435: 431: 421: 403: 399: 395: 391: 387: 383: 374:, that is a 369: 327: 319: 213: 209: 207: 201: 190: 187:Introduction 166: 153: 146: 142: 138: 130: 126: 122: 118: 114: 110: 106: 104: 91: 81: 67: 63: 59: 55: 51: 47: 43: 39: 545:undecidable 460:NP-complete 372:preordering 160:, p : 113:to problem 865:References 812:and input 366:Properties 443:to find. 436:instances 432:instances 408:power set 406:) is the 398:), where 376:reflexive 285:− 272:− 230:× 111:reducible 96:algorithm 92:reduction 918:Category 828:See also 764:rejects 740:accepts 534:Examples 448:complete 426:and the 214:squaring 171:, whose 169:preorder 440:compute 410:of the 390:)× 100:problem 70:) to a 906:  895:  884:  874:  595:PSPACE 568:PSPACE 94:is an 58:) ∧ (¬ 46:) ∧ (¬ 780:, so 756:, so 543:P is 382:, on 333:like 202:every 904:ISBN 893:ISBN 882:ISBN 872:ISBN 788:for 712:and 680:and 672:for 593:and 566:and 498:and 456:easy 378:and 179:and 90:, a 86:and 708:is 212:to 164:). 141:to 109:is 82:In 54:∨ ¬ 50:∨ ¬ 920:: 804:, 692:, 657:. 618:, 591:NP 589:, 585:, 583:NL 581:, 564:NP 562:, 514:. 502:, 500:NL 496:NC 490:, 484:NP 414:. 362:. 325:. 183:. 66:∨ 62:∨ 42:∨ 910:. 899:. 888:. 822:E 818:S 814:w 810:M 806:w 802:M 800:( 798:H 794:S 790:E 786:R 782:S 778:w 774:M 770:N 766:N 762:R 758:S 754:w 750:M 746:N 742:N 738:R 734:N 730:N 728:( 726:R 722:S 718:w 714:M 710:w 706:N 702:N 698:S 694:w 690:M 688:( 686:S 682:w 678:M 674:H 670:S 666:E 662:R 655:H 651:E 647:M 643:M 639:M 637:( 635:E 631:w 627:M 620:w 616:M 614:( 612:H 601:. 587:P 579:L 574:. 560:P 404:N 402:( 400:P 396:N 394:( 392:P 388:N 386:( 384:P 343:2 303:2 299:) 293:2 289:b 280:2 276:a 267:2 262:) 258:b 255:+ 252:a 248:( 242:( 236:= 233:b 227:a 154:B 151:m 149:≤ 147:A 143:B 139:A 131:B 127:A 123:A 119:B 115:B 107:A 68:C 64:B 60:A 56:C 52:B 48:A 44:B 40:A 38:( 20:)

Index

Reducible (complexity)

boolean satisfiability problem
vertex cover problem
truth assignment
computability theory
computational complexity theory
algorithm
problem
time complexity
mapping reduction
polynomial reduction
preorder
equivalence classes
degrees of unsolvability
complexity classes
Turing reduction
irrational number
many-one reduction
preordering
reflexive
transitive relation
power set
natural numbers
many-one reduction
Turing reduction
complete
NP-complete
boolean satisfiability problem
noncomputable function

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.