Changes

Jump to: navigation, search

Data

16,022 bytes added, 12:00, 30 April 2018
Created page with "'''Home * Programming * Data''' FILE:data-mining.jpg|border|right|thumb|link=http://historyofeconomics.wordpress.com/2008/10/|[https://en.wikipedia.org/wi..."
'''[[Main Page|Home]] * [[Programming]] * Data'''

[[FILE:data-mining.jpg|border|right|thumb|link=http://historyofeconomics.wordpress.com/2008/10/|[https://en.wikipedia.org/wiki/Data_mining Data mining] <ref>[http://historyofeconomics.wordpress.com/2008/10/ History of Economics Playground - October « 2008]</ref> ]]

'''Data''' is anything in a form suitable for use with a [https://en.wikipedia.org/wiki/Computer computer] to represent [https://en.wikipedia.org/wiki/Information information] or [[Knowledge|knowledge]]. [[Bit|Bits]], [[Byte|bytes]], [https://en.wikipedia.org/wiki/Character_%28computing%29 characters], [https://en.wikipedia.org/wiki/String_%28computer_science%29 strings], [https://en.wikipedia.org/wiki/Number numbers], [https://en.wikipedia.org/wiki/Code codes], [https://en.wikipedia.org/wiki/Set_%28computer_science%29 sets], [https://en.wikipedia.org/wiki/Sequence sequences] and [https://en.wikipedia.org/wiki/Structure structures], as well as [https://en.wikipedia.org/wiki/Reference_%28computer_science%29 references] ([https://en.wikipedia.org/wiki/Pointer_%28computing%29 pointers], [https://en.wikipedia.org/wiki/Memory_address addresses]) to related data, retrievable stored in [[Memory|memory]] of any kind of [[Hardware|hardware]].

A [https://en.wikipedia.org/wiki/Variable_%28programming%29 variable] in the context of [[Languages|programming languages]], associates a symbolic name with a [https://en.wikipedia.org/wiki/Memory_address memory address].

=Processor's View=
From processor's point of view, an atomic fixed sized data item with a unique memory address is a primitive data item, today usually with a size of one, two, four, or up to eight bytes, sometimes even 16 or 32 bytes. One of these data items may represent numbers in various formats and value ranges, finite sets, codes like a character of a text or a piece on the chessboard, or even instruction codes and memory addresses. It fits into one processor register and is subject of arithmetical or logical operations, or, if interpreted as (part of an) address, to perform random memory access, that is to store and retrieve primitive data items. Program code is decoded and interpreted as instruction to control the [[Combinatorial Logic|combinatorial]] and [[Sequential Logic|sequential logic]] while executing a program within its processor, usually distinct from application specific data, if the application is not an [https://en.wikipedia.org/wiki/Assembly_language#Assembler assembler], [https://en.wikipedia.org/wiki/Compiler compiler] or [https://en.wikipedia.org/wiki/Debugger debugger] or anything related to [https://en.wikipedia.org/wiki/Self-modifying_code self-modifying code] or [https://en.wikipedia.org/wiki/Self-replication self-replication] <ref>[http://cm.bell-labs.com/who/ken/trust.html Reflections on Trusting Trust] [[ACM]] Classic by [[Ken Thompson]]</ref> .

A collection of primitive data types, located consecutively in memory may be accessed relative to the address of its first element via another data item, an index, or - specially if the primitive data items have different sizes, via constant offsets. From machine perspective, this covers [[Array|array]] (vector) and structure, while the latter may be interpreted as concrete implementation of abstract objects.

=Lifetime of Data=
Data may resist in [https://en.wikipedia.org/wiki/Persistence_%28computer_science%29 persistent] [https://en.wikipedia.org/wiki/Non-volatile_memory non-volatile memory] or [https://en.wikipedia.org/wiki/Volatile_memory volatile] [[Memory#RAM|random-access memory]]. The [https://en.wikipedia.org/wiki/Object_lifetime lifetime] of volatile data depends on the data [https://en.wikipedia.org/wiki/Declaration_%28computer_science%29 declaration] of various [[Languages|programming languages]], in [[C]] related to storage class specifiers <ref>[http://msdn.microsoft.com/en-us/library/ash6ess9.aspx Storage-Class Specifiers] from [http://msdn.microsoft.com/en-us/library/ms123401.aspx MSDN Library]</ref> .

==Static Data==
[https://en.wikipedia.org/wiki/Global_variable Global] or [https://en.wikipedia.org/wiki/Static_variable static data] as determined and may be initialized at [https://en.wikipedia.org/wiki/Compile_time compile time] requires [https://en.wikipedia.org/wiki/Static_memory_allocation static memory allocation]. Static data resides in an [https://en.wikipedia.org/wiki/Object_file object file] or in [https://en.wikipedia.org/wiki/Segmentation_%28memory%29 segmentated memory] in a [https://en.wikipedia.org/wiki/Data_segment data-] or [https://en.wikipedia.org/wiki/.bss bss-segment], dependent on their [https://en.wikipedia.org/wiki/Initialization_%28programming%29 initialization]. For instance, some chess programs keep [[Material Tables|material-]] and other lookup tables initialized in their object file and data segment, for huge tables likely by generated [https://en.wikipedia.org/wiki/Source_code source code] with appropriate data declarations and static initialization. Assuming the initialization code is (much) shorter than the generated data, others prefer to reduce the size of the object file to initialize stuff located in the bss-segment or elsewhere after program startup.

==Dynamic Data==
Dynamic data is created during the [https://en.wikipedia.org/wiki/Run_time_%28computing%29 runtime] of a [[Process|process]], it might be [https://en.wikipedia.org/wiki/Dynamic_memory_allocation allocated] from a [https://en.wikipedia.org/wiki/Memory_pool memory pool] (heap), and freed if no longer needed, depending on the framework or [[Languages|programming languages]], either explicitly, or implicitly by [https://en.wikipedia.org/wiki/Garbage_collection_%28computer_science%29 garbage collection].

==Automatic Data==
Automatic data and variables like [https://en.wikipedia.org/wiki/Local_variable local variables] and [https://en.wikipedia.org/wiki/Parameter_%28computer_science%29 actual parameters] have a limited lifetime inside the [https://en.wikipedia.org/wiki/Scope_%28programming%29 scope] of a [https://en.wikipedia.org/wiki/Subroutine subroutine] or [https://en.wikipedia.org/wiki/Block_%28programming%29 block]. Automatic variables either reside on the processor [[Stack|stack]], or inside a [https://en.wikipedia.org/wiki/Processor_register processor register].

=Algorithms + Data=
Data structures are inherently related to [[Algorithms|algorithms]] and their efficiency, as for instance elaborated by [https://en.wikipedia.org/wiki/Niklaus_Wirth Niklaus Wirth] in ''[https://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures_%3D_Programs Algorithms + Data Structures = Programs]'' <ref>[https://en.wikipedia.org/wiki/Niklaus_Wirth Niklaus Wirth] ('''1976'''). ''[https://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures_%3D_Programs Algorithms + Data Structures = Programs]''</ref> .

=Primitive Types=
==General Purpose==
* [[Bit]]
* [[Nibble]]
* [[Byte]]
* [[Word]]
* [[Double Word]]
* [[Quad Word]]
* [[Integer]]
* [[Float]]
* [[Double]]
==Chess Specific==
Scalar integers as numbers, enumerations or simple structures related to [[Chess]] and [[Search]] basics.
* [[Bitboards]]
* [[Pieces]]
* [[Squares]]
* [[Moves]]
: [[Encoding Moves]]
* [[Depth]]
: [[Ply]]
* [[Score]]
: [[Centipawns]]
: [[Millipawns]]

=Structured Data=
==General Purpose==
* [[Array]]
* [[De Bruijn sequence]]
* [[Hash Table]]
* [[Linked List]]
* [[Priority Queue]]
* [[Queue]] (FIFO)
* [[Stack]] (LIFO)
==Chess Specific==
* [[Attack and Defend Maps]]
* [[Butterfly Boards]]
* [[Move List]]
* [[Piece-Lists]]
* [[Search Tree]]
* [[Transposition Table]]
* [[Triangular PV-Table]]

==Persitant Data==
* [[Databases|Chess Databases]]
* [[Endgame Bitbases]]
* [[Endgame Tablebases]]
* [[Extended Position Description]] (EPD)
* [[Forsyth-Edwards Notation]] (FEN)
* [[Opening Book]]
* [[Persistent Hash Table]]
* [[Portable Game Notation]] (PGN)

=[[Endianness]]=
* [[Little-endian]]
* [[Big-endian]]

=See also=
* [[Algorithms]]
* [[Knowledge]]
* [[Memory]]
* [[Recursion]]
* [[Space-Time Tradeoff]]

=Publications=
==1960 ...==
* [[Georgy Adelson-Velsky]], [[Mathematician#Landis|Evgenii Landis]] ('''1962'''). ''An algorithm for the organization of information''. [https://en.wikipedia.org/wiki/Proceedings_of_the_USSR_Academy_of_Sciences Proceedings of the USSR Academy of Sciences], 146: 263–266. (Russian) English translation by Myron J. Ricci in [https://en.wikipedia.org/wiki/Proceedings_of_the_USSR_Academy_of_Sciences#Soviet_Mathematics_-_Doklady Soviet Mathematics Doklady], No. 3 <ref>[https://en.wikipedia.org/wiki/AVL_tree AVL tree from Wikipedia]</ref>
==1970 ...==
* [https://en.wikipedia.org/wiki/Bloom_filter Burton H. Bloom] ('''1970'''). ''[http://portal.acm.org/citation.cfm?id=362692 Space/time trade-offs in hash coding with allowable errors]''. Comm. of the ACM, Vol. 13, No. 7, [http://www.lsi.upc.edu/%7Ediaz/p422-bloom.pdf pdf] <ref>[https://en.wikipedia.org/wiki/Bloom_filter Bloom filter from Wikipedia]</ref>
* [https://en.wikipedia.org/wiki/Niklaus_Wirth Niklaus Wirth] ('''1976'''). ''[https://en.wikipedia.org/wiki/Algorithms_%2B_Data_Structures_%3D_Programs Algorithms + Data Structures = Programs]''
==1980 ...==
* [[Guy Jacobson]] ('''1989'''). ''[http://dl.acm.org/citation.cfm?id=915547 Succint Static Data Structures]''. Ph.D. thesis, [[Carnegie Mellon University]], CMU-CS-89-112, [http://www.research.att.com/export/sites/att_labs/people/Jacobson_Guy_J/library/publications/JacobsonThesis.pdf pdf]
* [[Guy Jacobson]] ('''1989'''). ''Space-efficient Static Trees and Graphs''. [http://dl.acm.org/citation.cfm?id=1398514&picked=prox SFCS'89], [https://www.computer.org/csdl/proceedings/focs/1989/1982/00/063533.pdf pdf]
==1990 ...==
* [[Keith Gorlen|Keith E. Gorlen]], [http://um2017.org/faculty-history/faculty/sanford-m-orlow Sanford M. Orlow], [http://arnetminer.org/viewperson.do?naid=614566&name=Perry%20Plexico Perry S. Plexico] ('''1990'''). ''[http://www.goodreads.com/book/show/3108432-data-abstraction-and-object-oriented-programming-in-c Data abstraction and object-oriented programming in C++]''. [https://en.wikipedia.org/wiki/John_Wiley_%26_Sons Wiley] <ref>[http://www.softwarepreservation.org/projects/c_plus_plus/library/nihcl NIH Class Library — Software Preservation Group], [[The Computer History Museum]]</ref> <ref>[http://www.softwarepreservation.org/projects/c_plus_plus/library/nihcl/3.0-readme.pdf NIH Class Library Revision 3.0 - Release Notes] (pdf)</ref> » [[Cpp|C++]]
* [[Bernhard Balkenhol]] ('''1994'''). ''Data Compression in Encoding Chess Positions.'' [[ICGA Journal#17_3|ICCA Journal, Vol. 17, No. 3]], [http://www.balkenhol.net/papers/icca94.ps.gz zipped ps] » [[Chess Position]]
* [[Robert Levinson]] ('''1994'''). ''[http://www.researchgate.net/publication/2821395_UDS_A_Universal_Data_Structure UDS: A Universal Data Structure]''. UCSC CRL-94-15
* [[Leen Ammeraal]] ('''1996'''). ''[http://home.planet.nl/%7Eammeraal/algds.html Algorithms and Data Structures in C++]''. ISBN 0-471-96355-0, Chichester: [http://eu.wiley.com/WileyCDA/Section/id-300022.html John Wiley]
* [[Liwu Li]] ('''1998'''). ''[https://link.springer.com/book/10.1007%2F978-3-642-95851-9 Java - Data Structures and Programming]''. [https://en.wikipedia.org/wiki/Springer_Science%2BBusiness_Media Springer]
==2000 ...==
* [[Julio César Hernández-Castro]], [[Ignacio Blasco-López]], [[L.Javier Garcéa-Villalba]] ('''2004'''). ''Hiding Data in Games''. [[ICGA Journal#27_2|ICGA Journal, Vol. 27, No. 2]]
* [[Julio César Hernández-Castro]], [[Ignacio Blasco-López]], [[Juan M. Estevez-Tapiador]], [[Arturo Ribagorda-Garnacho]] ('''2006'''). ''Steganography in games: A general methodology and its application to the game of Go''. [http://www.journals.elsevier.com/computers-and-security/ Computers & Security], Vol. 25, [http://www.azlaha.com/stegogo.pdf pdf] <ref>[https://en.wikipedia.org/wiki/Steganography steganography from Wikipedia]</ref>
* [http://ozark.hendrix.edu/%7Eburch/ Carl Burch], ''[http://www.toves.org/books/data/index.html Data & Procedure]''. On-line Book
* [[Mathematician#KMehlhorn|Kurt Mehlhorn]], [[Peter Sanders]] ('''2008'''). ''[http://www.mpi-inf.mpg.de/~mehlhorn/Toolbox.html Data Structures and Algorithms: The Basic Toolbox]''. [https://en.wikipedia.org/wiki/Springer_Science%2BBusiness_Media Springer], ISBN 978-3540779773
* [[Denis Xavier Charles]], [[Kumar Chellapilla]] ('''2008'''). ''[http://arxiv.org/abs/0807.0928 Bloomier Filters: A Second Look]''. [http://www.informatik.uni-trier.de/%7Eley/db/conf/esa/esa2008.html#CharlesC08 ESA 2008] <ref>[https://en.wikipedia.org/wiki/Bloom_filter#Bloomier_filters Bloom filter - Bloomier filters from Wikipedia]</ref>
* [[Anthony Cozzie]], [http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/s/Stratton:Frank.html Frank Stratton], [http://www.informatik.uni-trier.de/~ley/db/indices/a-tree/x/Xue:Hui.html Hui Xue], [http://spqr.cs.umass.edu/events/2011-king-sam/ Samuel T. King] ('''2008'''). ''Digging for Data Structures''. [http://www.informatik.uni-trier.de/~ley/db/conf/osdi/osdi2008.html#CozzieSXK08 OSDI 2008], [http://www.usenix.org/event/osdi08/tech/full_papers/cozzie/cozzie.pdf pdf]
* [http://csl.ira.uka.de/~felix/ Felix Putze], [[Peter Sanders]], [http://algo2.iti.kit.edu/english/singler.php Johannes Singler] ('''2009'''). ''Cache-, hash-, and space-efficient bloom filters''. [[ACM#JEA|ACM Journal of Experimental Algorithmics]] Vol. 14

=External Links=
* [https://en.wikipedia.org/wiki/Data_%28computing%29 Data (computing) from Wikipedia]
* [https://en.wikipedia.org/wiki/Data_%28disambiguation%29 Data (disambiguation) from Wikipedia]
* [https://en.wikipedia.org/wiki/Information Information from Wikipedia]
* [https://en.wikipedia.org/wiki/Lookup_table Lookup table from Wikipedia]
* [https://en.wikipedia.org/wiki/Cache Cache from Wikipedia]
* [https://en.wikipedia.org/wiki/Data_type Data type from Wikipedia]
* [https://en.wikipedia.org/wiki/Initialization_%28programming%29 Initialization from Wikipedia]
* [https://en.wikipedia.org/wiki/Data_compression Data compression from Wikipedia]
* [https://en.wikipedia.org/wiki/Data_segment Data segment from Wikipedia]
* [https://en.wikipedia.org/wiki/Addressing_mode Addressing mode from Wikipedia]
* [https://en.wikipedia.org/wiki/Data_structure Data structure from Wikipedia]
* [https://en.wikipedia.org/wiki/Succinct_data_structure Succinct data structure from Wikipedia]
* [https://en.wikipedia.org/wiki/List_of_data_structures List of data structures from Wikipedia]
* [http://xlinux.nist.gov/dads/ Dictionary of Algorithms and Data Structures] by [http://hissa.nist.gov/~black/ Paul E. Black], [https://en.wikipedia.org/wiki/National_Institute_of_Standards_and_Technology National Institute of Standards and Technology]
* [https://en.wikipedia.org/wiki/Dictionary_of_Algorithms_and_Data_Structures Dictionary of Algorithms and Data Structures from Wikipedia]
* [http://www.cs.sunysb.edu/%7Eskiena/214/lectures/lect1/lect1.html Data Structures and Programming Lecture 1] by [[Steven Skiena|Steven S. Skiena]]
* [https://en.wikipedia.org/wiki/Serialization Serialization from Wikipedia]
* [https://en.wikipedia.org/wiki/Marshalling_%28computer_science%29 Marshalling (computer science) from Wikipedia]
* [https://en.wikipedia.org/wiki/Data_mining Data mining from Wikipedia,]
* <span id="StarTrek"></span>[https://en.wikipedia.org/wiki/Star_Trek Star Trek] [http://memory-alpha.wikia.com/wiki/Category:TNG_episodes TNG]: [http://memory-alpha.wikia.com/wiki/Conundrum_(episode) S5E14 Conundrum], [https://en.wikipedia.org/wiki/Deanna_Troi Deanna Troi] beats [https://en.wikipedia.org/wiki/Data_%28Star_Trek%29 Data] in [https://en.wikipedia.org/wiki/Three-dimensional_chess#Star_Trek_Tri-Dimensional_Chess Tri-D Chess], [https://en.wikipedia.org/wiki/YouTube YouTube] Video
: {{#evu:https://www.youtube.com/watch?v=Z4F7mUUjt_c|alignment=left|valignment=top}}

=References=
<references />

'''[[Programming|Up one Level]]'''

Navigation menu