information theory not to be confused with information science information theory studies the quantification storage and communication of information it was originally proposed by claude e shannon in 1948 to find fundamental limits on signal processing and communication operations such as data compression in a landmark paper entitled a mathematical theory of communication applications of fundamental topics of information theory include lossless data compression eg zip files lossy data compression eg mp3s and jpegs and channel coding eg for digital subscriber line dsl its impact has been crucial to the success of the voyager missions to deep space the invention of the compact disc the feasibility of mobile phones the development of the internet the study of linguistics and of human perception the understanding of black holes and numerous other fields a key measure in information theory is entropy entropy quantifies the amount of uncertainty involved in the value of a random variable or the outcome of a random process for example identifying the outcome of a fair coin flip with two equally likely outcomes provides less information lower entropy than specifying the outcome from a roll of a die with six equally likely outcomes some other important measures in information theory are mutual information channel capacity error exponents and relative entropy the field is at the intersection of mathematics statistics computer science physics neurobiology information engineering and electrical engineering the theory has also found applications in other areas including statistical inference natural language processing cryptography neurobiology important subfields of information theory include source coding channel coding algorithmic complexity theory algorithmic information theory informationtheoretic security and measures of information overview information theory studies the transmission processing extraction and utilization of information abstractly information can be thought of as the resolution of uncertainty in the case of communication of information over a noisy channel this abstract concept was made concrete in 1948 by claude shannon in his paper a mathematical theory of communication in which information is thought of as a set of possible messages where the goal is to send these messages over a noisy channel and then to have the receiver reconstruct the message with low probability of error in spite of the channel noise shannons main result the noisychannel coding theorem showed that in the limit of many channel uses the rate of information that is asymptotically achievable is equal to the channel capacity a quantity dependent merely on the statistics of the channel over which the messages are sent information theory is closely associated with a collection of pure and applied disciplines that have been investigated and reduced to engineering practice under a variety of rubrics throughout the world over the past half century or more adaptive systems anticipatory systems artificial intelligence complex systems complexity science cybernetics informatics machine learning along with systems sciences of many descriptions information theory is a broad and deep mathematical theory with equally broad and deep applications amongst which is the vital field of coding theory coding theory is concerned with finding explicit methods called codes for increasing the efficiency and reducing the error rate of data communication over noisy channels to near the channel capacity these codes can be roughly subdivided into data compression source coding and errorcorrection channel coding techniques in the latter case it took many years to find the methods shannons work proved were possible a third class of information theory codes are cryptographic algorithms both codes and ciphers concepts methods and results from coding theory and information theory are widely used in cryptography and cryptanalysis see the article ban unit for a historical application information theory is also used in information retrieval intelligence gathering gambling statistics and even in musical composition historical background history of information theory the landmark event that established the discipline of information theory and brought it to immediate worldwide attention was the publication of claude e shannons classic paper a mathematical theory of communication in the bell system technical journal in july and october 1948 prior to this paper limited informationtheoretic ideas had been developed at bell labs all implicitly assuming events of equal probability harry nyquists 1924 paper certain factors affecting telegraph speed contains a theoretical section quantifying intelligence and the line speed at which it can be transmitted by a communication system giving the relation w k log m recalling boltzmanns constant where w is the speed of transmission of intelligence m is the number of different voltage levels to choose from at each time step and k is a constant ralph hartleys 1928 paper transmission of information uses the word information as a measurable quantity reflecting the receivers ability to distinguish one sequence of symbols from any other thus quantifying information as h log sn n log s where s was the number of possible symbols and n the number of symbols in a transmission the unit of information was therefore the decimal digit which has since sometimes been called the hartley in his honor as a unit or scale or measure of information alan turing in 1940 used similar ideas as part of the statistical analysis of the breaking of the german second world war enigma ciphers much of the mathematics behind information theory with events of different probabilities were developed for the field of thermodynamics by ludwig boltzmann and j willard gibbs connections between informationtheoretic entropy and thermodynamic entropy including the important contributions by rolf landauer in the 1960s are explored in entropy in thermodynamics and information theory in shannons revolutionary and groundbreaking paper the work for which had been substantially completed at bell labs by the end of 1944 shannon for the first time introduced the qualitative and quantitative model of communication as a statistical process underlying information theory opening with the assertion that the fundamental problem of communication is that of reproducing at one point either exactly or approximately a message selected at another point with it came the ideas of the information entropy and redundancy of a source and its relevance through the source coding theorem the mutual information and the channel capacity of a noisy channel including the promise of perfect lossfree communication given by the noisychannel coding theorem the practical result of the shannonhartley law for the channel capacity of a gaussian channel as well as the bita new way of seeing the most fundamental unit of information quantities of information quantities of information information theory is based on probability theory and statistics information theory often concerns itself with measures of information of the distributions associated with random variables important quantities of information are entropy a measure of information in a single random variable and mutual information a measure of information in common between two random variables the former quantity is a property of the probability distribution of a random variable and gives a limit on the rate at which data generated by independent samples with the given distribution can be reliably compressed the latter is a property of the joint distribution of two random variables and is the maximum rate of reliable communication across a noisy channel in the limit of long block lengths when the channel statistics are determined by the joint distribution the choice of logarithmic base in the following formulae determines the unit of information entropy that is used a common unit of information is the bit based on the binary logarithm other units include the nat which is based on the natural logarithm and the decimal digit which is based on the common logarithm in what follows an expression of the form p log p is considered by convention to be equal to zero whenever p 0 this is justified because lim p 0 p log p 0 displaystyle lim prightarrow 0plog p0 for any logarithmic base entropy of an information source based on the probability mass function of each source symbol to be communicated the shannon entropy h in units of bits per symbol is given by h i p i log 2 p i displaystyle hsum ipilog 2pi where pi is the probability of occurrence of the ith possible value of the source symbol this equation gives the entropy in the units of bits per symbol because it uses a logarithm of base 2 and this base2 measure of entropy has sometimes been called the shannon in his honor entropy is also commonly computed using the natural logarithm base e where e is eulers number which produces a measurement of entropy in nats per symbol and sometimes simplifies the analysis by avoiding the need to include extra constants in the formulas other bases are also possible but less commonly used for example a logarithm of base 28 256 will produce a measurement in bytes per symbol and a logarithm of base 10 will produce a measurement in decimal digits or hartleys per symbol intuitively the entropy hx of a discrete random variable x is a measure of the amount of uncertainty associated with the value of x when only its distribution is known the entropy of a source that emits a sequence of n symbols that are independent and identically distributed iid is nh bits per message of n symbols if the source data symbols are identically distributed but not independent the entropy of a message of length n will be less than nh the entropy of a bernoulli trial as a function of success probability often called the binary entropy function hbp the entropy is maximized at 1 bit per trial when the two possible outcomes are equally probable as in an unbiased coin toss if one transmits 1000 bits 0s and 1s and the value of each of these bits is known to the receiver has a specific value with certainty ahead of transmission it is clear that no information is transmitted if however each bit is independently equally likely to be 0 or 1 1000 shannons of information more often called bits have been transmitted between these two extremes information can be quantified as follows if is the set of all messages x1 xn that x could be and px is the probability of some x x displaystyle xin mathbb x then the entropy h of x is defined h x e x i x x x p x log p x displaystyle hxmathbb e xsum xin mathbb x pxlog px here ix is the selfinformation which is the entropy contribution of an individual message and x is the expected value a property of entropy is that it is maximized when all the messages in the message space are equiprobable px 1n ie most unpredictable in which case hx log n the special case of information entropy for a random variable with two outcomes is the binary entropy function usually taken to the logarithmic base 2 thus having the shannon sh as unit h b p p log 2 p 1 p log 2 1 p displaystyle hmathrm b pplog 2p1plog 21p joint entropy the joint entropy of two discrete random variables x and y is merely the entropy of their pairing x y this implies that if x and y are independent then their joint entropy is the sum of their individual entropies for example if x y represents the position of a chess piece x the row and y the column then the joint entropy of the row of the piece and the column of the piece will be the entropy of the position of the piece h x y e x y log p x y x y p x y log p x y displaystyle hxymathbb e xysum xypxylog pxy despite similar notation joint entropy should not be confused with cross entropy conditional entropy equivocation the conditional entropy or conditional uncertainty of x given random variable y also called the equivocation of x about y is the average conditional entropy over y h x y e y h x y y y p y x x p x y log p x y x y p x y log p x y displaystyle hxymathbb e ysum yin ypysum xin xpxylog pxysum xypxylog pxy because entropy can be conditioned on a random variable or on that random variable being a certain value care should be taken not to confuse these two definitions of conditional entropy the former of which is in more common use a basic property of this form of conditional entropy is that h x y h x y h y displaystyle hxyhxyhy mutual information transinformation mutual information measures the amount of information that can be obtained about one random variable by observing another it is important in communication where it can be used to maximize the amount of information shared between sent and received signals the mutual information of x relative to y is given by i x y e x y s i x y x y p x y log p x y p x p y displaystyle ixymathbb e xysum xypxylog frac pxypxpy where si specific mutual information is the pointwise mutual information a basic property of the mutual information is that i x y h x h x y displaystyle ixyhxhxy that is knowing y we can save an average of ix y bits in encoding x compared to not knowing y mutual information is symmetric i x y i y x h x h y h x y displaystyle ixyiyxhxhyhxy mutual information can be expressed as the average kullbackleibler divergence information gain between the posterior probability distribution of x given the value of y and the prior distribution on x i x y e p y d k l p x y y p x displaystyle ixymathbb e py in other words this is a measure of how much on the average the probability distribution on x will change if we are given the value of y this is often recalculated as the divergence from the product of the marginal distributions to the actual joint distribution i x y d k l p x y p x p y displaystyle ixydmathrm kl pxypxpy mutual information is closely related to the loglikelihood ratio test in the context of contingency tables and the multinomial distribution and to pearsons 2 test mutual information can be considered a statistic for assessing independence between a pair of variables and has a wellspecified asymptotic distribution kullbackleibler divergence information gain the kullbackleibler divergence or information divergence information gain or relative entropy is a way of comparing two distributions a true probability distribution px and an arbitrary probability distribution qx if we compress data in a manner that assumes qx is the distribution underlying some data when in reality px is the correct distribution the kullbackleibler divergence is the number of average additional bits per datum necessary for compression it is thus defined d k l p x q x x x p x log q x x x p x log p x x x p x log p x q x displaystyle dmathrm kl pxqxsum xin xpxlog qxsum xin xpxlog pxsum xin xpxlog frac pxqx although it is sometimes used as a distance metric kl divergence is not a true metric since it is not symmetric and does not satisfy the triangle inequality making it a semiquasimetric another interpretation of the kl divergence is the unnecessary surprise introduced by a prior from the truth suppose a number x is about to be drawn randomly from a discrete set with probability distribution px if alice knows the true distribution px while bob believes has a prior that the distribution is qx then bob will be more surprised than alice on average upon seeing the value of x the kl divergence is the objective expected value of bobs subjective surprisal minus alices surprisal measured in bits if the log is in base 2 in this way the extent to which bobs prior is wrong can be quantified in terms of how unnecessarily surprised it is expected to make him other quantities other important information theoretic quantities include rnyi entropy a generalization of entropy differential entropy a generalization of quantities of information to continuous distributions and the conditional mutual information coding theory coding theory a picture showing scratches on the readable surface of a cdr music and data cds are coded using error correcting codes and thus can still be read even if they have minor scratches using error detection and correction coding theory is one of the most important and direct applications of information theory it can be subdivided into source coding theory and channel coding theory using a statistical description for data information theory quantifies the number of bits needed to describe the data which is the information entropy of the source data compression source coding there are two formulations for the compression problem lossless data compression the data must be reconstructed exactly lossy data compression allocates bits needed to reconstruct the data within a specified fidelity level measured by a distortion function this subset of information theory is called ratedistortion theory errorcorrecting codes channel coding while data compression removes as much redundancy as possible an error correcting code adds just the right kind of redundancy ie error correction needed to transmit the data efficiently and faithfully across a noisy channel this division of coding theory into compression and transmission is justified by the information transmission theorems or sourcechannel separation theorems that justify the use of bits as the universal currency for information in many contexts however these theorems only hold in the situation where one transmitting user wishes to communicate to one receiving user in scenarios with more than one transmitter the multipleaccess channel more than one receiver the broadcast channel or intermediary helpers the relay channel or more general networks compression followed by transmission may no longer be optimal network information theory refers to these multiagent communication models source theory any process that generates successive messages can be considered a source of information a memoryless source is one in which each message is an independent identically distributed random variable whereas the properties of ergodicity and stationarity impose less restrictive constraints all such sources are stochastic these terms are well studied in their own right outside information theory rate information rate is the average entropy per symbol for memoryless sources this is merely the entropy of each symbol while in the case of a stationary stochastic process it is r lim n h x n x n 1 x n 2 x n 3 displaystyle rlim nto infty hxnxn1xn2xn3ldots that is the conditional entropy of a symbol given all the previous symbols generated for the more general case of a process that is not necessarily stationary the average rate is r lim n 1 n h x 1 x 2 x n displaystyle rlim nto infty frac 1nhx1x2dots xn that is the limit of the joint entropy per symbol for stationary sources these two expressions give the same result it is common in information theory to speak of the rate or entropy of a language this is appropriate for example when the source of information is english prose the rate of a source of information is related to its redundancy and how well it can be compressed the subject of source coding channel capacity channel capacity communications over a channelsuch as an ethernet cableis the primary motivation of information theory as anyone whos ever used a telephone mobile or landline knows however such channels often fail to produce exact reconstruction of a signal noise periods of silence and other forms of signal corruption often degrade quality consider the communications process over a discrete channel a simple model of the process is shown below here x represents the space of messages transmitted and y the space of messages received during a unit time over our channel let pyx be the conditional probability distribution function of y given x we will consider pyx to be an inherent fixed property of our communications channel representing the nature of the noise of our channel then the joint distribution of x and y is completely determined by our channel and by our choice of fx the marginal distribution of messages we choose to send over the channel under these constraints we would like to maximize the rate of information or the signal we can communicate over the channel the appropriate measure for this is the mutual information and this maximum mutual information is called the channel capacity and is given by c max f i x y displaystyle cmax fixy this capacity has the following property related to communicating at information rate r where r is usually bits per symbol for any information rate r c and coding error 0 for large enough n there exists a code of length n and rate r and a decoding algorithm such that the maximal probability of block error is that is it is always possible to transmit with arbitrarily small block error in addition for any rate r c it is impossible to transmit with arbitrarily small block error channel coding is concerned with finding such nearly optimal codes that can be used to transmit data over a noisy channel with a small coding error at a rate near the channel capacity capacity of particular channel models a continuoustime analog communications channel subject to gaussian noise see shannonhartley theorem a binary symmetric channel bsc with crossover probability p is a binary input binary output channel that flips the input bit with probability p the bsc has a capacity of 1 hbp bits per channel use where hb is the binary entropy function to the base2 logarithm a binary erasure channel bec with erasure probability p is a binary input ternary output channel the possible channel outputs are 0 1 and a third symbol e called an erasure the erasure represents complete loss of information about an input bit the capacity of the bec is 1 p bits per channel use applications to other fields intelligence uses and secrecy applications information theoretic concepts apply to cryptography and cryptanalysis turings information unit the ban was used in the ultra project breaking the german enigma machine code and hastening the end of world war ii in europe shannon himself defined an important concept now called the unicity distance based on the redundancy of the plaintext it attempts to give a minimum amount of ciphertext necessary to ensure unique decipherability information theory leads us to believe it is much more difficult to keep secrets than it might first appear a brute force attack can break systems based on asymmetric key algorithms or on most commonly used methods of symmetric key algorithms sometimes called secret key algorithms such as block ciphers the security of all such methods currently comes from the assumption that no known attack can break them in a practical amount of time information theoretic security refers to methods such as the onetime pad that are not vulnerable to such brute force attacks in such cases the positive conditional mutual information between the plaintext and ciphertext conditioned on the key can ensure proper transmission while the unconditional mutual information between the plaintext and ciphertext remains zero resulting in absolutely secure communications in other words an eavesdropper would not be able to improve his or her guess of the plaintext by gaining knowledge of the ciphertext but not of the key however as in any other cryptographic system care must be used to correctly apply even informationtheoretically secure methods the venona project was able to crack the onetime pads of the soviet union due to their improper reuse of key material pseudorandom number generation pseudorandom number generators are widely available in computer language libraries and application programs they are almost universally unsuited to cryptographic use as they do not evade the deterministic nature of modern computer equipment and software a class of improved random number generators is termed cryptographically secure pseudorandom number generators but even they require random seeds external to the software to work as intended these can be obtained via extractors if done carefully the measure of sufficient randomness in extractors is minentropy a value related to shannon entropy through rnyi entropy rnyi entropy is also used in evaluating randomness in cryptographic systems although related the distinctions among these measures mean that a random variable with high shannon entropy is not necessarily satisfactory for use in an extractor and so for cryptography uses seismic exploration one early commercial application of information theory was in the field of seismic oil exploration work in this field made it possible to strip off and separate the unwanted noise from the desired seismic signal information theory and digital signal processing offer a major improvement of resolution and image clarity over previous analog methods semiotics concepts from information theory such as redundancy and code control have been used by semioticians such as umberto eco and ferruccio rossilandi to explain ideology as a form of message transmission whereby a dominant social class emits its message by using signs that exhibit a high degree of redundancy such that only one message is decoded among a selection of competing ones miscellaneous applications information theory also has applications in gambling and investing black holes and bioinformatics mathematics portal algorithmic probability algorithmic information theory bayesian inference communication theory constructor theory a generalization of information theory that includes quantum information inductive probability infometrics minimum message length minimum description length list of important publications philosophy of information applications active networking cryptanalysis cryptography cybernetics entropy in thermodynamics and information theory gambling intelligence information gathering seismic exploration history hartley rvl history of information theory shannon ce timeline of information theory yockey hp theory coding theory detection theory estimation theory fisher information information algebra information asymmetry information field theory information geometry information theory and measure theory kolmogorov complexity list of unsolved problems in information theory logic of information network coding philosophy of information quantum information science semiotic information theory source coding concepts ban unit channel capacity communication channel communication source conditional entropy covert channel decoder differential entropy encoder information entropy joint entropy kullbackleibler divergence mutual information pointwise mutual information pmi receiver information theory redundancy rnyi entropy selfinformation unicity distance variety hamming distance the classic work shannon ce 1948 a mathematical theory of communication bell system technical journal 27 pp379423 623656 july october 1948 pdf notes and other formats rvl hartley transmission of information bell system technical journal july 1928 andrey kolmogorov 1968 three approaches to the quantitative definition of information in international journal of computer mathematics other journal articles j l kelly jr betbubblescom a new interpretation of information rate bell system technical journal vol 35 july 1956 pp91726 r landauer ieeeorg information is physical proc workshop on physics and computation physcomp92 ieee comp scipress los alamitos 1993 pp14 r landauer ibmcom irreversibility and heat generation in the computing process ibm j res dev vol 5 no 3 1961 timme nicholas alford wesley flecker benjamin beggs john m 2012 multivariate information measures an experimentalists perspective arxiv11116857 textbooks on information theory arndt c information measures information and its description in science and engineering springer series signals and communication technology 2004 isbn9783540408550 ash rb information theory new york interscience 1965 isbn0470034459 new york dover 1990 isbn0486665216 gallager r information theory and reliable communication new york john wiley and sons 1968 isbn0471290483 goldman s information theory new york prentice hall 1953 new york dover 1968 isbn0486622096 2005 isbn0486442713 cover thomas thomas joy a 2006 elements of information theory 2nd ed new york wileyinterscience isbn0471241954 csiszar i korner j information theory coding theorems for discrete memoryless systems akademiai kiado 2nd edition 1997 isbn9630574403 mackay david j c information theory inference and learning algorithms cambridge cambridge university press 2003 isbn0521642981 mansuripur m introduction to information theory new york prentice hall 1987 isbn0134846680 mceliece r the theory of information and coding cambridge 2002 isbn9780521831857 pierce jr an introduction to information theory symbols signals and noise dover 2nd edition 1961 reprinted by dover 1980 reza f an introduction to information theory new york mcgrawhill 1961 new york dover 1994 isbn0486682102 shannon claude weaver warren 1949 the mathematical theory of communication pdf urbana illinois university of illinois press isbn0252725484 lccn4911922 stone jv chapter 1 of book information theory a tutorial introduction university of sheffield england 2014 isbn9780956372857 yeung rw a first course in information theory kluwer academicplenum publishers 2002 isbn0306467917 yeung rw information theory and network coding springer 2008 2002 isbn9780387792330 other books leon brillouin science and information theory mineola ny dover 2004 isbn0486439186 james gleick the information a history a theory a flood new york pantheon 2011 isbn9780375423727 a i khinchin mathematical foundations of information theory new york dover 1957 isbn0486604349 h s leff and a f rex editors maxwells demon entropy information computing princeton university press princeton new jersey 1990 isbn069108727x robert k logan what is information propagating organization in the biosphere the symbolosphere the technosphere and the econosphere toronto demo publishing tom siegfried the bit and the pendulum wiley 2000 isbn0471321745 charles seife decoding the universe viking 2006 isbn067003441x jeremy campbell grammatical man touchstonesimon schuster 1982 isbn0671440624 henri theil economics and information theory rand mcnally company chicago 1967 escolano suau bonev information theory in computer vision and pattern recognition springer 2009 isbn9781848822962 vlatko vedral decoding reality the universe as quantum information oxford university press 2010 isbn0199237697 mooc on information theory raymond w yeung information theory the chinese university of hong kong wikiquote has quotations related to information theory library resources about information theory resources in your library resources in other libraries hazewinkel michiel ed 2001 information encyclopedia of mathematics springer sciencebusiness media bv kluwer academic publishers isbn9781556080104 lambert f l 1999 shuffled cards messy desks and disorderly dorm rooms examples of entropy increase nonsense journal of chemical education ieee information theory society and itsoc monographs surveys and reviews vtesubfields of and scientists involved in cyberneticssubfields polycontexturality secondorder cybernetics catastrophe theory connectionism control theory decision theory engineering cybernetics information theory semiotics synergetics biological cybernetics biosemiotics biomedical cybernetics biorobotics computational neuroscience homeostasis management cybernetics medical cybernetics neurocybernetics sociocybernetics emergence artificial intelligence cyberneticists maleyka abbaszadeh igor aleksander william ross ashby gregory bateson anthony stafford beer natalia bekhtereva claude bernard ludwig von bertalanffy valentin braitenberg gordon s brown walter bradford cannon manfred clynes heinz von foerster charles franois jay wright forrester jacque fresco buckminster fuller ranulph glanville ernst von glasersfeld pyotr grigorenko n katherine hayles francis heylighen erich von holst jason jixuan hu cliff joslyn stuart kauffman sergei p kurdyumov allenna leonard alexander lerner niklas luhmann warren mcculloch humberto maturana marian mazur margaret mead ulla mitzdorf talcott parsons gordon pask walter pitts qian xuesen alfred radcliffebrown robert trappl valentin turchin jakob von uexkll stuart umpleby francisco varela frederic vester charles geoffrey vickers john n warfield william grey walter kevin warwick norbert wiener jennifer wilby anthony wilden vtedata compression methodslosslessentropy type unary arithmetic asymmetric numeral systems golomb huffman adaptive canonical modified range shannon shannonfano shannonfanoelias tunstall universal expgolomb fibonacci gamma levenshtein dictionary type byte pair encoding deflate snappy lempelziv lz77 lz78 lz1 lz2 lzfse lzjb lzma lzo lzrw lzs lzss lzw lzwl lzx lz4 brotli zstandard other types bwt ctw delta dmc mtf paq ppm rle audioconcepts bit rate average abr constant cbr variable vbr companding convolution dynamic range latency nyquistshannon theorem sampling sound quality speech coding subband coding codec parts alaw law acelp adpcm celp dpcm fourier transform lpc lar lsp mdct psychoacoustic model wlpc imageconcepts chroma subsampling coding tree unit color space compression artifact image resolution macroblock pixel psnr quantization standard test image methods chain code dct ezw fractal klt lp rle spiht wavelet videoconcepts bit rate average abr constant cbr variable vbr display resolution frame frame rate frame types interlace video characteristics video quality codec parts lapped transform dct deblocking filter motion compensation theory entropy kolmogorov complexity lossy quantization ratedistortion redundancy timeline of information theory compression formats compression software codecs vteareas of mathematics outline topic lists branchesalgebra linear multilinear abstract elementary arithmetic number theory calculus analysis differential equations dynamical systems numerical analysis optimization functional analysis geometry discrete algebraic analytic differential finite topology trigonometry foundations philosophy of mathematics mathematical logic set theory category theory applied mathematical physics probability mathematical statistics statistics game theory information theory computer science computation control theory others history of mathematics recreational mathematics mathematics and art mathematics education order theory graph theory divisions pure applied discrete computational category portal commons wikiproject vtemajor fields of computer sciencenote this template roughly follows the 2012 acm computing classification systemhardware printed circuit board peripheral integrated circuit very large scale integration systems on chip socs energy consumption green computing electronic design automation hardware acceleration computer systemsorganization computer architecture embedded system realtime computing dependability networks network architecture network protocol network components network scheduler network performance evaluation network service software organization interpreter middleware virtual machine operating system software quality software notationsand tools programming paradigm programming language compiler domainspecific language modeling language software framework integrated development environment software configuration management software library software repository software development software development process requirements analysis software design software construction software deployment software maintenance programming team opensource model theory of computation model of computation formal language automata theory computational complexity theory logic semantics algorithms algorithm design analysis of algorithms algorithmic efficiency randomized algorithm computational geometry mathematicsof computing discrete mathematics probability statistics mathematical software information theory mathematical analysis numerical analysis informationsystems database management system information storage systems enterprise information system social information systems geographic information system decision support system process control system multimedia information system data mining digital library computing platform digital marketing world wide web information retrieval security cryptography formal methods security services intrusion detection system hardware security network security information security application security humancomputerinteraction interaction design social computing ubiquitous computing visualization accessibility concurrency concurrent computing parallel computing distributed computing multithreading multiprocessing artificialintelligence natural language processing knowledge representation and reasoning computer vision automated planning and scheduling search methodology control method philosophy of artificial intelligence distributed artificial intelligence machine learning supervised learning unsupervised learning reinforcement learning multitask learning crossvalidation graphics animation rendering image manipulation graphics processing unit mixed reality virtual reality image compression solid modeling appliedcomputing ecommerce enterprise software computational mathematics computational physics computational chemistry computational biology computational social science computational engineering computational healthcare digital art electronic publishing cyberwarfare electronic voting video games word processing operations research educational technology document management book category portal wikiproject commons authority control gnd 40269279 ndl 00575012 