Knowledge (XXG)

Boolean circuit

Source đź“ť

1003:. They are complete in sense that they can perform any deterministic algorithm. However, it just happens that this is not all there is. In the physical world we also encounter randomness, notable in small systems governed by quantization effects, which is described by theory of Quantum Mechanics. Logic circuits cannot produce any randomness, and in that sense they form an incomplete logic set. Remedy to that is found in adding an ad-hoc random bit generator to logic networks, or computers, such as in 31: 1011:, which completes the set. It conveniently packs randomness and is inter-operable with deterministic Boolean logic circuits. However, an algebraic structure equivalent of Boolean algebra and associated methods of circuit construction and reduction for the extended set is yet unknown. 962:
depth. The class AC is defined similarly to NC, however gates are allowed to have unbounded fan-in (that is, the AND and OR gates can be applied to more than two bits). NC is an important class because it turns out that it represents the class of languages that have efficient
864:
P/poly) because there are undecidable problems that are in P/poly. P/poly turns out to have a number of properties that make it highly useful in the study of the relationships between complexity classes. In particular, it is helpful in investigating problems related to
240:) contain strings of different lengths, so languages cannot be fully captured by a single circuit (in contrast to the Turing machine model, in which a language is fully described by a single Turing machine). A language is instead represented by a 542:
can be defined on Boolean circuits, including circuit depth, circuit size, and the number of alternations between AND gates and OR gates. For example, the size complexity of a Boolean circuit is the number of gates in the circuit.
843:
P/poly. In other words, any problem that can be computed in polynomial time by a deterministic Turing machine can also be computed by a polynomial-size circuit family. It is further the case that the inclusion is proper (i.e.
998:
Logic circuits are physical representation of simple logic operations, AND, OR and NOT (and their combinations, such as non-sequential flip-flops or circuit networks), that form a mathematical structure known as
958:
from an input node to the output node. The class NC is the set of languages that can be solved by circuit families that are restricted not only to having polynomial-size but also to having
659: 929: 313: 773: 603: 935:". P/poly also has the interesting feature that it can be equivalently defined as the class of languages recognized by a polynomial-time Turing machine with a polynomial-bounded 862: 818: 704: 990:. Therefore, this problem is considered to be "inherently sequential" in the sense that there is likely no efficient, highly parallel algorithm that solves the problem. 841: 482: 887: 340: 1205: 623: 522: 502: 440: 420: 400: 380: 360: 1437: 181:
nodes which are labeled as the outputs. The edges must also have some ordering, to distinguish between different arguments to the same Boolean function.
1090: 1640: 1475: 1377: 554:), also has a small circuit complexity (that is, requires relatively few Boolean operations). Formally, it can be shown that if a language is in 1480: 1128: 1100: 1312: 1650: 1425: 1324: 524:. In other words, a language is the set of strings which, when applied to the circuits corresponding to their lengths, evaluate to 1. 1359: 1198: 1067: 724:, the set of languages that are decidable by polynomial-size circuit families. It follows directly from the fact that languages in 1371: 1307: 539: 39: 34:
Example Boolean circuit. The ∧ nodes are AND gates, the ∨ nodes are OR gates, and the ¬ nodes are NOT gates
1497: 1365: 1191: 1004: 196:
of 1. Thus, a Boolean circuit can be regarded as a generalization that allows shared subformulas and multiple outputs.
1614: 1509: 126: 628: 1529: 1487: 550:. Intuitively, a language with small time complexity (that is, requires relatively few sequential operations on a 1645: 1430: 1415: 1341: 1301: 233: 161:
of Boolean functions, corresponding to the gates allowable in the circuit model. A Boolean circuit over a basis
1442: 1347: 1335: 900: 138: 125:. They are an abstraction that omits many aspects relevant to designing real digital logic circuits, such as 247: 1492: 1270: 1265: 727: 720:
Several important complexity classes are defined in terms of Boolean circuits. The most general of these is
557: 212: 1586: 1383: 1020: 174: 177:. Each vertex corresponds to either a basis function or one of the inputs, and there is a set of exactly 1598: 1552: 1420: 1318: 1255: 976: 185: 118: 154: 1524: 1519: 1502: 1222: 890: 106: 51: 1571: 1514: 1353: 1275: 1250: 1214: 936: 931:. A full description of the relations between P/poly and other complexity classes is available at " 114: 58: 55: 1591: 1457: 1295: 1260: 1157: 1007:. A recent work has introduced a theoretical concept of an inherently random logic circuit named 964: 847: 778: 715: 664: 533: 189: 43: 826: 445: 1146:"Entropy considerations in improved circuits for a biologically-inspired random pulse computer" 950:. These classes are defined not only in terms of their circuit size but also in terms of their 1547: 1124: 1096: 1063: 142: 30: 1280: 1167: 987: 237: 122: 95: 65:
can be decided by a family of Boolean circuits, one circuit for each possible input length.
872: 318: 1470: 1465: 1447: 1410: 1405: 1330: 1035: 1000: 959: 947: 943: 894: 547: 229: 84: 73: 62: 1400: 1086: 821: 608: 551: 507: 487: 425: 405: 385: 365: 345: 134: 1634: 1581: 1564: 1559: 1030: 980: 955: 979:— the problem of computing the output of a given Boolean circuit on a given input 942:
Two subclasses of P/poly that have interesting properties in their own right are
866: 110: 17: 1172: 1145: 1619: 1285: 1230: 1025: 984: 69: 192:
is a Boolean circuit with a single output node in which every other node has
1576: 1245: 91: 869:. For example, if there is any language in NP that is not in P/poly then P 1240: 1235: 215:, i. e. from which all other Boolean functions can be constructed. 208: 200: 87: 76: 204: 193: 80: 1183: 932: 721: 130: 105:
Boolean circuits provide a model for many digital components used in
1162: 546:
There is a natural connection between circuit size complexity and
29: 228:
A particular circuit acts only on inputs of fixed size. However,
1187: 362:
input variables. A circuit family is said to decide a language
99: 889:
NP. P/poly also helps to investigate properties of the
954:. The depth of a circuit is the length of the longest 903: 875: 850: 829: 781: 730: 667: 631: 611: 560: 510: 490: 448: 428: 408: 388: 368: 348: 321: 250: 1607: 1540: 1456: 1393: 1221: 244:. A circuit family is an infinite list of circuits 153:In giving a formal definition of Boolean circuits, 72:they contain. For example, a circuit might contain 923: 881: 856: 835: 812: 767: 698: 653: 617: 597: 516: 496: 476: 434: 414: 394: 374: 354: 334: 307: 1095:(2nd ed.). USA: Thomson Course Technology. 199:A common basis for Boolean circuits is the set { 654:{\displaystyle t:\mathbb {N} \to \mathbb {N} } 1199: 68:Boolean circuits are defined in terms of the 8: 1114: 1112: 1121:Computational Complexity: A Modern Approach 1206: 1192: 1184: 1144:StipÄŤević, Mario; Batelić, Mateja (2022). 716:Complexity classes § Boolean circuits 1171: 1161: 1092:Introduction to the Theory of Computation 1053: 1051: 924:{\displaystyle \Sigma _{2}^{\mathsf {P}}} 914: 913: 908: 902: 874: 849: 828: 792: 780: 732: 731: 729: 678: 666: 647: 646: 639: 638: 630: 610: 562: 561: 559: 509: 489: 453: 447: 427: 407: 387: 367: 347: 326: 320: 284: 271: 258: 249: 1081: 1079: 1378:Application-specific integrated circuit 1047: 308:{\displaystyle (C_{0},C_{1},C_{2},...)} 915: 768:{\displaystyle {\mathsf {TIME}}(t(n))} 742: 739: 736: 733: 598:{\displaystyle {\mathsf {TIME}}(t(n))} 572: 569: 566: 563: 173:outputs, is then defined as a finite 90:, or be entirely described by binary 7: 1313:Three-dimensional integrated circuit 1119:Arora, Sanjeev; Barak, Boaz (2009). 102:as input and outputs a single bit. 1325:Erasable programmable logic device 1060:Introduction to Circuit Complexity 905: 157:starts by defining a basis as set 25: 1360:Complex programmable logic device 661:, then it has circuit complexity 94:. Each gate corresponds to some 1641:Computational complexity theory 1372:Field-programmable object array 1308:Mixed-signal integrated circuit 897:⊆ P/poly, then PH collapses to 40:computational complexity theory 1123:. Cambridge University Press. 807: 804: 798: 785: 762: 759: 753: 747: 693: 690: 684: 671: 643: 592: 589: 583: 577: 465: 459: 302: 251: 1: 1498:Hardware description language 1366:Field-programmable gate array 98:that takes a fixed number of 1005:Probabilistic Turing machine 1510:Formal equivalence checking 857:{\displaystyle \subsetneq } 813:{\displaystyle O(t^{2}(n))} 699:{\displaystyle O(t^{2}(n))} 1667: 1530:Hierarchical state machine 1488:Transaction-level modeling 1173:10.1038/s41598-021-04177-9 1058:Vollmer, Heribert (1999). 836:{\displaystyle \subseteq } 713: 531: 477:{\displaystyle C_{n}(w)=1} 1651:Logic in computer science 1431:Digital signal processing 1416:Logic in computer science 1342:Programmable logic device 1302:Hybrid integrated circuit 1443:Switching circuit theory 1348:Programmable Array Logic 1336:Programmable logic array 775:have circuit complexity 219:Computational complexity 1493:Register-transfer level 1384:Tensor Processing Unit 1021:Circuit satisfiability 925: 883: 858: 837: 814: 769: 700: 655: 619: 599: 518: 498: 478: 436: 416: 396: 376: 356: 336: 309: 175:directed acyclic graph 119:arithmetic logic units 59:digital logic circuits 35: 1599:Electronic literature 1553:Hardware acceleration 1421:Computer architecture 1319:Emitter-coupled logic 1256:Printed circuit board 977:Circuit Value Problem 926: 884: 882:{\displaystyle \neq } 859: 838: 815: 770: 701: 656: 620: 600: 519: 499: 479: 437: 417: 397: 382:if, for every string 377: 357: 337: 335:{\displaystyle C_{n}} 310: 213:functionally complete 186:propositional formula 184:As a special case, a 33: 1525:Finite-state machine 1503:High-level synthesis 1438:Circuit minimization 1062:. Berlin: Springer. 933:Importance of P/poly 901: 891:polynomial hierarchy 873: 848: 827: 779: 728: 665: 629: 609: 558: 508: 488: 446: 426: 406: 386: 366: 346: 319: 248: 107:computer engineering 27:Model of computation 1572:Digital photography 1354:Generic Array Logic 1276:Combinational logic 1251:Printed electronics 1215:Digital electronics 965:parallel algorithms 920: 540:complexity measures 528:Complexity measures 422:is in the language 236:representations of 121:, but they exclude 1520:Asynchronous logic 1296:Integrated circuit 1261:Electronic circuit 1150:Scientific Reports 971:Circuit evaluation 921: 904: 893:. For example, if 879: 854: 833: 810: 765: 710:Complexity classes 696: 651: 615: 595: 538:Several important 534:Circuit complexity 514: 494: 474: 432: 412: 392: 372: 352: 332: 305: 190:Boolean expression 50:is a mathematical 44:circuit complexity 36: 1628: 1627: 1577:Digital telephone 1548:Computer hardware 1515:Synchronous logic 1130:978-0-521-42426-4 1102:978-0-534-95097-2 618:{\displaystyle t} 517:{\displaystyle w} 504:is the length of 497:{\displaystyle n} 435:{\displaystyle L} 415:{\displaystyle w} 395:{\displaystyle w} 375:{\displaystyle L} 355:{\displaystyle n} 238:decision problems 149:Formal definition 143:propagation delay 139:power consumption 16:(Redirected from 1658: 1646:Digital circuits 1281:Sequential logic 1208: 1201: 1194: 1185: 1178: 1177: 1175: 1165: 1141: 1135: 1134: 1116: 1107: 1106: 1083: 1074: 1073: 1055: 1009:random flip-flop 988:decision problem 930: 928: 927: 922: 919: 918: 912: 888: 886: 885: 880: 863: 861: 860: 855: 842: 840: 839: 834: 819: 817: 816: 811: 797: 796: 774: 772: 771: 766: 746: 745: 705: 703: 702: 697: 683: 682: 660: 658: 657: 652: 650: 642: 624: 622: 621: 616: 604: 602: 601: 596: 576: 575: 523: 521: 520: 515: 503: 501: 500: 495: 483: 481: 480: 475: 458: 457: 441: 439: 438: 433: 421: 419: 418: 413: 401: 399: 398: 393: 381: 379: 378: 373: 361: 359: 358: 353: 341: 339: 338: 333: 331: 330: 314: 312: 311: 306: 289: 288: 276: 275: 263: 262: 230:formal languages 123:sequential logic 96:Boolean function 21: 18:Boolean circuits 1666: 1665: 1661: 1660: 1659: 1657: 1656: 1655: 1631: 1630: 1629: 1624: 1603: 1536: 1471:Place and route 1466:Logic synthesis 1452: 1448:Gate equivalent 1411:Logic synthesis 1406:Boolean algebra 1389: 1331:Macrocell array 1291:Boolean circuit 1217: 1212: 1182: 1181: 1143: 1142: 1138: 1131: 1118: 1117: 1110: 1103: 1087:Sipser, Michael 1085: 1084: 1077: 1070: 1057: 1056: 1049: 1044: 1036:Switching lemma 1017: 1001:Boolean algebra 996: 973: 960:polylogarithmic 937:advice function 899: 898: 871: 870: 846: 845: 825: 824: 788: 777: 776: 726: 725: 718: 712: 674: 663: 662: 627: 626: 607: 606: 556: 555: 548:time complexity 536: 530: 506: 505: 486: 485: 449: 444: 443: 442:if and only if 424: 423: 404: 403: 384: 383: 364: 363: 344: 343: 322: 317: 316: 280: 267: 254: 246: 245: 226: 221: 151: 63:formal language 48:Boolean circuit 28: 23: 22: 15: 12: 11: 5: 1664: 1662: 1654: 1653: 1648: 1643: 1633: 1632: 1626: 1625: 1623: 1622: 1617: 1611: 1609: 1605: 1604: 1602: 1601: 1596: 1595: 1594: 1589: 1587:cinematography 1579: 1574: 1569: 1568: 1567: 1557: 1556: 1555: 1544: 1542: 1538: 1537: 1535: 1534: 1533: 1532: 1522: 1517: 1512: 1507: 1506: 1505: 1500: 1490: 1485: 1484: 1483: 1478: 1468: 1462: 1460: 1454: 1453: 1451: 1450: 1445: 1440: 1435: 1434: 1433: 1426:Digital signal 1423: 1418: 1413: 1408: 1403: 1401:Digital signal 1397: 1395: 1391: 1390: 1388: 1387: 1381: 1375: 1369: 1363: 1357: 1351: 1345: 1339: 1333: 1328: 1322: 1316: 1310: 1305: 1299: 1293: 1288: 1283: 1278: 1273: 1268: 1263: 1258: 1253: 1248: 1243: 1238: 1233: 1227: 1225: 1219: 1218: 1213: 1211: 1210: 1203: 1196: 1188: 1180: 1179: 1136: 1129: 1108: 1101: 1075: 1068: 1046: 1045: 1043: 1040: 1039: 1038: 1033: 1028: 1023: 1016: 1013: 995: 992: 972: 969: 917: 911: 907: 878: 853: 832: 809: 806: 803: 800: 795: 791: 787: 784: 764: 761: 758: 755: 752: 749: 744: 741: 738: 735: 714:Main article: 711: 708: 695: 692: 689: 686: 681: 677: 673: 670: 649: 645: 641: 637: 634: 625:is a function 614: 594: 591: 588: 585: 582: 579: 574: 571: 568: 565: 552:Turing machine 529: 526: 513: 493: 473: 470: 467: 464: 461: 456: 452: 431: 411: 391: 371: 351: 329: 325: 304: 301: 298: 295: 292: 287: 283: 279: 274: 270: 266: 261: 257: 253: 242:circuit family 225: 222: 220: 217: 150: 147: 26: 24: 14: 13: 10: 9: 6: 4: 3: 2: 1663: 1652: 1649: 1647: 1644: 1642: 1639: 1638: 1636: 1621: 1618: 1616: 1615:Metastability 1613: 1612: 1610: 1608:Design issues 1606: 1600: 1597: 1593: 1590: 1588: 1585: 1584: 1583: 1582:Digital video 1580: 1578: 1575: 1573: 1570: 1566: 1563: 1562: 1561: 1560:Digital audio 1558: 1554: 1551: 1550: 1549: 1546: 1545: 1543: 1539: 1531: 1528: 1527: 1526: 1523: 1521: 1518: 1516: 1513: 1511: 1508: 1504: 1501: 1499: 1496: 1495: 1494: 1491: 1489: 1486: 1482: 1479: 1477: 1474: 1473: 1472: 1469: 1467: 1464: 1463: 1461: 1459: 1455: 1449: 1446: 1444: 1441: 1439: 1436: 1432: 1429: 1428: 1427: 1424: 1422: 1419: 1417: 1414: 1412: 1409: 1407: 1404: 1402: 1399: 1398: 1396: 1392: 1385: 1382: 1379: 1376: 1373: 1370: 1367: 1364: 1361: 1358: 1355: 1352: 1349: 1346: 1343: 1340: 1337: 1334: 1332: 1329: 1326: 1323: 1320: 1317: 1314: 1311: 1309: 1306: 1303: 1300: 1297: 1294: 1292: 1289: 1287: 1284: 1282: 1279: 1277: 1274: 1272: 1269: 1267: 1264: 1262: 1259: 1257: 1254: 1252: 1249: 1247: 1244: 1242: 1239: 1237: 1234: 1232: 1229: 1228: 1226: 1224: 1220: 1216: 1209: 1204: 1202: 1197: 1195: 1190: 1189: 1186: 1174: 1169: 1164: 1159: 1155: 1151: 1147: 1140: 1137: 1132: 1126: 1122: 1115: 1113: 1109: 1104: 1098: 1094: 1093: 1088: 1082: 1080: 1076: 1071: 1069:3-540-64310-9 1065: 1061: 1054: 1052: 1048: 1041: 1037: 1034: 1032: 1031:Boolean logic 1029: 1027: 1024: 1022: 1019: 1018: 1014: 1012: 1010: 1006: 1002: 993: 991: 989: 986: 982: 978: 970: 968: 966: 961: 957: 956:directed path 953: 949: 945: 940: 938: 934: 909: 896: 892: 876: 868: 851: 830: 823: 801: 793: 789: 782: 756: 750: 723: 717: 709: 707: 687: 679: 675: 668: 635: 632: 612: 586: 580: 553: 549: 544: 541: 535: 527: 525: 511: 491: 471: 468: 462: 454: 450: 429: 409: 389: 369: 349: 327: 323: 299: 296: 293: 290: 285: 281: 277: 272: 268: 264: 259: 255: 243: 239: 235: 231: 223: 218: 216: 214: 210: 206: 202: 197: 195: 191: 187: 182: 180: 176: 172: 168: 164: 160: 156: 148: 146: 145:variability. 144: 140: 136: 132: 128: 127:metastability 124: 120: 116: 112: 108: 103: 101: 97: 93: 89: 86: 82: 78: 75: 71: 66: 64: 60: 57: 56:combinational 53: 49: 45: 41: 32: 19: 1541:Applications 1290: 1153: 1149: 1139: 1120: 1091: 1059: 1008: 997: 994:Completeness 974: 951: 941: 719: 545: 537: 241: 234:string-based 227: 211:}, which is 198: 183: 178: 170: 166: 162: 158: 152: 111:multiplexers 109:, including 104: 67: 47: 37: 1271:Memory cell 867:P versus NP 169:inputs and 70:logic gates 1635:Categories 1620:Runt pulse 1592:television 1286:Logic gate 1231:Transistor 1223:Components 1163:1908.04779 1026:Logic gate 985:P-complete 532:See also: 224:Background 92:NAND gates 1476:Placement 1266:Flip-flop 1246:Capacitor 1042:Footnotes 906:Σ 877:≠ 852:⊊ 831:⊆ 644:→ 88:NOT gates 1241:Inductor 1236:Resistor 1089:(2006). 1015:See also 605:, where 484:, where 315:, where 135:glitches 81:OR gates 1481:Routing 1315:(3D IC) 1156:: 115. 983:— is a 194:fan-out 165:, with 155:Vollmer 1458:Design 1394:Theory 1380:(ASIC) 1374:(FPOA) 1368:(FPGA) 1362:(CPLD) 1327:(EPLD) 1127:  1099:  1066:  981:string 722:P/poly 141:, and 131:fanout 117:, and 115:adders 74:binary 1565:radio 1386:(TPU) 1356:(GAL) 1350:(PAL) 1344:(PLD) 1338:(PLA) 1321:(ECL) 1304:(HIC) 1158:arXiv 952:depth 820:that 232:(the 85:unary 52:model 1298:(IC) 1125:ISBN 1097:ISBN 1064:ISBN 975:The 946:and 342:has 100:bits 83:and 79:and 61:. A 54:for 46:, a 42:and 1168:doi 209:NOT 201:AND 188:or 77:AND 38:In 1637:: 1166:. 1154:12 1152:. 1148:. 1111:^ 1078:^ 1050:^ 967:. 948:AC 944:NC 939:. 895:NP 706:. 402:, 207:, 205:OR 203:, 137:, 133:, 129:, 113:, 1207:e 1200:t 1193:v 1176:. 1170:: 1160:: 1133:. 1105:. 1072:. 916:P 910:2 844:P 822:P 808:) 805:) 802:n 799:( 794:2 790:t 786:( 783:O 763:) 760:) 757:n 754:( 751:t 748:( 743:E 740:M 737:I 734:T 694:) 691:) 688:n 685:( 680:2 676:t 672:( 669:O 648:N 640:N 636:: 633:t 613:t 593:) 590:) 587:n 584:( 581:t 578:( 573:E 570:M 567:I 564:T 512:w 492:n 472:1 469:= 466:) 463:w 460:( 455:n 451:C 430:L 410:w 390:w 370:L 350:n 328:n 324:C 303:) 300:. 297:. 294:. 291:, 286:2 282:C 278:, 273:1 269:C 265:, 260:0 256:C 252:( 179:m 171:m 167:n 163:B 159:B 20:)

Index

Boolean circuits

computational complexity theory
circuit complexity
model
combinational
digital logic circuits
formal language
logic gates
binary
AND
OR gates
unary
NOT gates
NAND gates
Boolean function
bits
computer engineering
multiplexers
adders
arithmetic logic units
sequential logic
metastability
fanout
glitches
power consumption
propagation delay
Vollmer
directed acyclic graph
propositional formula

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

↑