US 7015835 B2 Abstract Encoding bits includes receiving a bit set to encode. An encoding lookup table associates correlithm objects of a space with bit sets. The space refers to an N-dimensional space, a correlithm object refers to a point of the space. The correlithm object corresponding to the received bit set is identified. The received bit set is encoded as the identified correlithm object. The identified correlithm object is imposed to encode the received bit set and subsequently decoded with table lookup using the reverse process.
Claims(11) 1. A method for encoding one or more bits, comprising:
receiving a bit set to encode;
accessing an encoding lookup table associating a plurality of correlithm objects with a plurality of bit sets, a correlithm object of the plurality of correlithm objects corresponding to a bit set of the plurality of bit sets, each correlithm object comprising a point of an N-dimensional space, each correlithm object randomly generated by randomly selecting one or more values for one or more entries of the each correlithm object, each bit set comprising one or more bits;
identifying the correlithm object corresponding to the received bit set;
encoding the received bit set as the identified correlithm object;
imposing the identified correlithm object;
recovering the identified correlithm object;
accessing a decoding lookup table associating the recovered correlithm object with the received bit set; and
determining the received bit set associated with the recovered correlithm object according to the decoding lookup table.
2. The method of
using the plurality of correlithm objects as a plurality of tokens; and
assigning one or more tokens of the plurality of tokens to a token assignee.
3. The method of
4. A system for encoding one or more bits, comprising:
means for receiving a bit set to encode;
means for accessing an encoding lookup table associating a plurality of correlithm objects with a plurality of bit sets, a correlithm object of the plurality of correlithm objects corresponding to a bit set of the plurality of bit sets, each correlithm object comprising a point of an N-dimensional space, each correlithm object randomly generated by randomly selecting one or more values for one or more entries of the each correlithm object each bit set comprising one or more bits;
means for identifying the correlithm object corresponding to the received bit set;
means for encoding the received bit set as the identified correlithm object; and
means for imposing the identified correlithm object.
5. A system for encoding one or more bits, comprising:
a memory operable to:
store a received bit set to encode; and
store an encoding lookup table associating a plurality of correlithm objects with a plurality of bit sets, a correlithm object of the plurality of correlithm objects corresponding to a bit set of the plurality of bit sets, each correlithm object comprising a point of an N-dimensional space, each correlithm object randomly generated by randomly selecting one or more values for one or more entries of the each correlithm object, each bit set comprising one or more bits; and
one or more processors coupled to the memory and operable to:
identify the correlithm object corresponding to the received bit set;
encode the received bit set as the identified correlithm object;
impose the identified correlithm object;
recover the identified correlithm object;
access a decoding lookup table associating the correlithm object with the received bit set; and
determine the received bit set associated with the recovered correlithm object according to the decoding lookup table.
6. The system of
use the plurality of correlithm objects as a plurality of tokens; and
assign one or more tokens of the plurality of tokens to a token assignee.
7. The system of
8. A method for encoding one or more bits, comprising:
receiving a bit set to encode;
accessing an encoding lookup table associating a plurality of correlithm objects with a plurality of bit sets, a correlithm object of the plurality of correlithm objects corresponding to a bit set of the plurality of bit sets, each correlithm object comprising a point of an N-dimensional space, each bit set comprising one or more bits, the plurality of correlithm objects randomly generated by randomly selecting one or more values for one or more entries of a correlithm object;
using the plurality of correlithm objects as a plurality of tokens;
assigning one or more tokens of the plurality of tokens to a token assignee;
identifying the correlithm object corresponding to the received bit set;
encoding the received bit set as the identified correlithm object;
imposing the identified correlithm object, the identified correlithm object imposed to perform a computation using the identified correlithm object;
recovering the identified correlithm object;
accessing a decoding lookup table associating the recovered correlithm object with the received bit set; and
determining the received bit set associated with the recovered correlithm object according to the decoding lookup table.
9. Logic for encoding one or more bits, the logic embodied in a medium and operable to:
receive a bit set to encode;
access an encoding lookup table associating a plurality of correlithm objects with a plurality of bit sets, a correlithm object of the plurality of correlithm objects corresponding to a bit set of the plurality of bit sets, each correlithm object comprising a point of an N-dimensional space, each correlithm object randomly generated by randomly selecting one or more values for one or more entries of the each correlithm object, each bit set comprising one or more bits;
identify the correlithm object corresponding to the received bit set;
encode the received bit set as the identified correlithm object;
impose the identified correlithm object;
recover the identified correlithm object;
access a decoding lookup table associating the recovered correlithm object with the received bit set; and
determine the received bit set associated with the recovered correlithm object according to the decoding lookup table.
10. The logic of
use the plurality of correlithm objects as a plurality of tokens; and
assign one or more tokens of the plurality of tokens to a token assignee.
11. The logic of
Description The U.S. Government may have certain rights in this invention as provided for by the terms of SBIR contract No. F30602-03-C-0051 awarded by the United States Air Force. This invention relates generally to the field of correlithm objects and more specifically to imposing and recovering correlithm objects in conjunction with table lookup. Tokens may be used to provide interaction for agents in a shared resource such as a shared state space or medium. Concurrent tokens may be used to provide simultaneous interaction. An encoding lookup table may be used to associate information with tokens. Known techniques typically utilize precisely orthogonal tokens that are independent of each other when summed together according to vector math principles. The use of precisely orthogonal tokens, however, is not efficient in certain situations. It is generally desirable to use efficient techniques in certain situations. In accordance with the present invention, disadvantages and problems associated with previous techniques for representing concurrent tokens in a shared resource may be reduced or eliminated. According to one embodiment of the present invention, encoding bits includes receiving a bit set to encode. An encoding lookup table associates correlithm objects of a space with bit sets. The space refers to an N-dimensional space, a correlithm object refers to a point of the space. The correlithm object corresponding to the received bit set is identified. The received bit set is encoded as the identified correlithm object. The identified correlithm object is imposed to encode the received bit set. Certain embodiments of the invention may provide one or more technical advantages. A technical advantage of one embodiment may be that correlithm objects and an encoding lookup table may be used to represent more information for each given token. Certain embodiments of the invention may include none, some, or all of the above technical advantages. One or more other technical advantages may be readily apparent to one skilled in the art from the figures, descriptions, and claims included herein. For a more complete understanding of the present invention and its features and advantages, reference is now made to the following description, taken in conjunction with the accompanying drawings, in which: Embodiments of the present invention and its advantages are best understood by referring to In general, a correlithm object comprises a point of a correlithm object space. A correlithm object may be used as a representation of a token or a code. According to one embodiment, a correlithm object may represent a point of a generalized M-dimensional sub-space S of a particular N-space, where 0≦M≦N. A generalized sub-space comprises a sub-space for which the participation of each dimension from the N-space has been defined, where participation describes the degree to which a dimension is contained within the sub-space. A dimension may be completely contained within a sub-space, fractionally contained within the sub-space, or completely outside of the sub-space. Other embodiments of correlithm object may be used without departing from the scope of this disclosure. A correlithm object may have any suitable number of entries. For example, a correlithm object may include at least twenty, such as thirty, one hundred, one thousand, or ten thousand entries, for example, between one hundred and one thousand entries. An entry may include real numbers, complex numbers, or other suitable values. According to one embodiment, an entry may represent any suitable number of bits of significance, where each bit of significance is represented within one or more numbers such as binary, real, or complex numbers. In this document, the term “each” refers to each of at least a subset of the identified items. A random correlithm object comprises a random point of a correlithm object space. Any suitable distribution of correlithm objects may be used. According to one embodiment, uniformly distributed random correlithm objects may be used. As the number of dimensions of space S increases, randomly selected correlithm objects exhibit standard metrics. A standard metric refers to a standardized distance metric such as a standard distance, a standard radius, a standard corner—corner distance, a standard corner-point distance, or other suitable standardized distance metric. Standard Distance and Standard Radius According to the illustrated embodiment, random points “Standard distance” refers to the distance between random points According to the illustrated embodiment, random points Standard Metrics for a Bounded Space “Standard corner—corner distance” refers to the distance between any two randomly chosen corners of a bounded space. For example, the corners of a unit N-cube typically have coordinates values that are binary values (0 or 1). The standard corner—corner distance may be calculated as the Cartesian distance, which is equivalent to the square root of the Hamming distance, yielding approximately
“Standard corner-point distance” refers to the standard distance between a randomly chosen corner and a random point Nearly Orthogonal Vectors Vector The number of dimensions of random points Random points Normalization with Standard Radius Normalization yields nearly orthonormal random points Normalized standard deviations have the form
Recoverable Correlithm Objects Random points An imposed point p Imposed points p Typically, in physical implementations of imposed and recovered points p The recoverability of correlithm objects may allow for the useful representation of states by correlithm objects. According to one embodiment, a correlithm object may represent a state of a state space for an agent, where an agent may comprise, for example, a process in memory or a physical device. One or more agents may each have one or more unique correlithm objects that represent states for the agent, and the correlithm objects may constitute a private state machine space for the agent. The spaces may be disjoint or overlapping. Two or more agents may execute concurrently within the same space if random correlithm object tokens are globally unique for each state machine space. According to one embodiment, the recoverability of correlithm objects may provide for correlithm object (CO) tokens, which may be used as overlap codes. As discussed above, randomly generated correlithm objects are nearly orthogonal, in particular as the number of dimensions N increases. For example, the number of dimensions may be relatively large such as greater than 1000. Accordingly, randomly generated correlithm objects may be used as nearly orthogonal tokens. As N increases, the tokens naturally become more orthogonal, thus more closely approximating the characteristics of precisely orthogonal tokens. The less orthogonal the tokens, the more inter-symbol interference occurs between simultaneous agents during the concurrent use of a shared resource. According to one embodiment, a correlithm object token may comprise a correlithm object that has D bits represented by N cells. For unit cube, the number of bits-per-dimension may be approximately four bits per dimension such as 4.14 bits per dimension or typically less depending on the resolution per dimension. Each cell value may comprise a randomly selected value, for example, a binary value, a complex number, or a real number of the appropriate resolution. The cell values may have specific ranges and distributions. For example, the cell values may be symmetric around, for example, zero. Different distribution spaces may be statistically equivalent, which may facilitate implementation of encoding and recovery. Correlithm objects may provide for a greatly increased number of available tokens. For an N-dimensional space, only N precisely orthogonal tokens exist. Random correlithm objects, however, may be readily generated to produce nearly orthogonal tokens. Techniques may be implemented to select random correlithm objects that produce nearly orthogonal tokens with a narrower standard deviation of inner angle. For example, tokens may be pre-screened using, for example, N-M-J codes. As another example, unacceptable tokens may be filtered to discard poor candidates to yield a narrowed distribution set, which may produce improved orthogonality. Modifications, additions, or omissions may be made to the example without departing from the scope of the invention. For example, the distances illustrated in An interacting agent “Interface” refers to any suitable structure of a device operable to receive input for the device, send output from the device, or both, and may comprise one or more ports. “Processor” refers to any suitable device operable to function according to instructions. A processor may comprise, for example, a personal computer, work station, network computer, wireless telephone, personal digital assistant, one or more microprocessors, other suitable processing device, or any combination of the preceding. “Memory” refers to any structure operable to store data. A memory may comprise Random Access Memory (RAM), Read Only Memory (ROM), a magnetic drive, a disk drive, a Compact Disk (CD) Drive, a Digital Video Disk (DVD) drive, removable media storage, any other suitable data storage device, or a combination of the preceding. Source agent According to one embodiment, vectors may be used to represent tokens. For example, p random vectors Xi of length N, i=1, . . . ,p may represent a set of p tokens x, and q random vectors Y According to one embodiment, the length of an overlap code may be less than or equal to the dimensional length. If less than, a binary mask may be used. The mask may be integrated into a recovery token table or stored separately to allow the same codes to be shared by source agent A token assignee that is assigned a token may comprise a logical channel According to one embodiment, CO tokens may be used with table lookup techniques. According to the embodiment, memory According to the embodiment, a token assignee may be assigned more than one token to represent more information. The amount of information that may be represented may be described by B=log Alterations or permutations such as modifications, additions, or omissions may be made to system The method begins at step The combined overlap codes are received by recovery agent Alterations or permutations such as modifications, additions, or omissions may be made to the method without departing from the scope of the invention. The method may include more, fewer, or other steps. Additionally, steps may be performed in any suitable order without departing from the scope of the invention. Certain embodiments of the invention may provide one or more technical advantages. A technical advantage of one embodiment may be that correlithm objects may be used to generate nearly orthogonal overlap codes. Typically, larger numbers of nearly orthogonal overlap codes can be generated than precisely orthogonal codes. Although an embodiment of the invention and its advantages are described in detail, a person skilled in the art could make various alterations, additions, and omissions without departing from the spirit and scope of the present invention as defined by the appended claims. Patent Citations
Non-Patent Citations
Classifications
Legal Events
Rotate |