CentralNotice Yacc From Wikipedia, the free encyclopedia Jump to: navigation , search This article includes a list of references , but its sources remain unclear because it has insufficient inline citations . Please help to improve this article by introducing more precise citations. (November 2012) Yacc is a computer program for the Unix operating system. The name is an acronym for " Yet Another Compiler Compiler ". It is a LALR parser generator , generating a parser , the part of a compiler that tries to make syntactic sense of the source code , specifically a LALR parser , based on an analytic grammar written in a notation similar to BNF . [ 1 ] It was originally developed in the early 1970s by Stephen C. Johnson at AT&T Corporation and written in the B programming language , but soon rewritten in C . [ 2 ] A full description of Yacc was published in 1975. [ ...
current community chat blog Stack Overflow Meta Stack Overflow Stack Overflow Careers Sign up or log in to customize your list. more stack exchange communities Stack Exchange sign up log in tour help Tour Start here for a quick overview of the site Help Center Detailed answers to any questions you might have Meta Discuss the workings and policies of this site stack overflow careers Stack Overflow Questions Tags Users Badges Unanswered Ask Question Take the 2-minute tour × Stack Overflow is a question and answer site for professional and enthusiast programmers. It's 100% free, no registration required. lexers vs parsers up vote 115 down vote favorite 78 Are lexers and parsers really that different in theory ? It seems fashionable to hate regular exp...
Message Passing Interface (MPI) using C This is a short introduction to the Message Passing Interface (MPI) designed to convey the fundamental operation and use of the interface. This introduction is designed for readers with some background programming C, and should deliver enough information to allow readers to write and run their own (very simple) parallel C programs using MPI. There exists a version of this tutorial for Fortran programers called Introduction the the Message Passing Interface (MPI) using Fortran. MPI is a library of routines that can be used to create parallel programs in C or Fortran77. Standard C and Fortran include no constructs supporting parallelism so vendors have developed a variety of extensions to allow users of those languages to build parallel applications. The result has been a spate of non-portable applications, and a need to retrain programmer...
CentralNotice Eulerian path From Wikipedia, the free encyclopedia Jump to: navigation , search The Königsberg Bridges graph. This graph is not Eulerian, therefore, a solution does not exist. Every vertex of this graph has an even degree , therefore this is an Eulerian graph. Following the edges in alphabetical order gives an Eulerian circuit/cycle. In graph theory , a Eulerian trail (or Eulerian path ) is a trail in a graph which visits every edge exactly once. Similarly, an Eulerian circuit or Eulerian cycle is an Eulerian trail which starts and ends on the same vertex . They were first discussed by Leonhard Euler while solving the famous Seven Bridges of Königsberg problem in 1736. Mathematically the problem can be stated like this: Given the graph in the image, is it possible to construct a path (or a cycle , i.e. a path starting and ending on the same v...
CentralNotice Hamiltonian path From Wikipedia, the free encyclopedia Jump to: navigation , search This article is about the overall graph theory concept of a Hamiltonian path. For the specific problem of determining whether a Hamiltonian path or cycle exists in a given graph, see Hamiltonian path problem . A Hamiltonian cycle in a dodecahedron . Like all platonic solids , the dodecahedron is Hamiltonian. The Herschel graph is the smallest possible polyhedral graph that does not have a Hamiltonian cycle. In the mathematical field of graph theory , a Hamiltonian path (or traceable path ) is a path in an undirected or directed graph that visits each vertex exactly once. A Hamiltonian cycle (or Hamiltonian circuit ) is a Hamiltonian path that is a cycle . Determining whether such paths and cycles exist in graphs is the Hamiltonian path problem , which is NP-com...
CentralNotice Curse of dimensionality From Wikipedia, the free encyclopedia Jump to: navigation , search The curse of dimensionality refers to various phenomena that arise when analyzing and organizing data in high-dimensional spaces (often with hundreds or thousands of dimensions) that do not occur in low-dimensional settings such as the three-dimensional physical space of everyday experience. There are multiple phenomena referred to by this name in domains such as numerical analysis , sampling , combinatorics , machine learning , data mining and databases . The common theme of these problems is that when the dimensionality increases, the volume of the space increases so fast that the available data become sparse. This sparsity is problematic for any method that requires statistical significance. In order to obtain a statistically sound and reliable result, the amount...
CentralNotice Treap From Wikipedia, the free encyclopedia Jump to: navigation , search Treap Type Randomized Binary Search Tree Time complexity in big O notation Average Worst case Space O(n) O(n) Search O(log n) amortized O(log n) Insert O(log n) amortized O(log n) Delete O(log n) amortized O(log n) Part of a series on Probabilistic data structures Bloom filter Quotient filter Skip list Random trees Random binary tree Treap Rapidly exploring random tree Related Randomized algorithm Computer science portal v t e In computer science , the treap and the randomized binary search tree are two closely related forms of binary search tree data structures that maintain a dynamic set of ordered keys and allow binary searches among the keys. After any sequence of insertions and deletions of keys, the sh...
Sign up for a GitHub account Sign in All Gists nrabinowitz / quantize.js Created July 25, 2011 Code Revisions 4 Stars 67 Forks 17 /.sunken-menu-group /.sunken-menu-contents Embed HTTPS SSH You can clone with HTTPS or SSH . Download Gist /.only-with-full-nav Javascript module for color quantization, based on Leptonica View quantize.js quantize.js Raw File suppressed. Click to show. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 ...
CentralNotice NP-hard From Wikipedia, the free encyclopedia Jump to: navigation , search For a gentler introduction, see P versus NP problem . Euler diagram for P , NP , NP-complete , and NP-hard set of problems NP-hard ( N on-deterministic P olynomial-time hard), in computational complexity theory , is a class of problems that are, informally, "at least as hard as the hardest problems in NP". More precisely, a problem H is NP-hard when every problem L in NP can be reduced in polynomial time to H . [ 1 ] :80 As a consequence, finding a polynomial algorithm to solve any NP-hard problem would give polynomial algorithms for all the problems in NP, which is unlikely as many of them are considered as hard. [ 2 ] A common mistake is to think that the NP in NP-hard stands for non-polynomial . Although it is widely suspected that there are no polynomial-time algorithms ...
CentralNotice Voronoi diagram From Wikipedia, the free encyclopedia Jump to: navigation , search 20 points and their Voronoi cells (larger version below ). In mathematics, a Voronoi diagram is a partitioning of a plane into regions based on 'closeness' to points in a specific subset of the plane. That set of points (called seeds, sites, or generators) is specified beforehand, and for each seed there is a corresponding region consisting of all points closer to that seed than to any other. These regions are called Voronoi cells. The Voronoi diagram of a set of points is dual to its Delaunay triangulation . It is named after Georgy Voronoy , and is also called a Voronoi tessellation , a Voronoi decomposition , a Voronoi partition , or a Dirichlet tessellation (after Peter Gustav Lejeune Dirichlet ). Voronoi diagrams have practical and theoretical applications to a la...
Home Installation Documentation Scikit-learn 0.15 (stable) Tutorials User guide API FAQ Development Scikit-learn 0.14 Scikit-learn 0.13 Scikit-learn 0.12 Scikit-learn 0.11 More versions... Examples end navbar Banner Carousel items Carousel nav ‹ › Simple and efficient tools for data mining and data analysis Accessible to everybody, and reusable in various contexts Built on NumPy, SciPy, and matplotlib Open source, commercially usable - BSD license Github "fork me" ribbon scikit-learn Tutorials An introduction to machine learning with scikit-learn Machine learning: the problem setting Loading an example dataset Learning and predicting Model persistence A tutorial on statistical-learning for scientific data processing Statistical learning: the setting and the estimator object i...
Toggle navigation >>> charlesleifer.com /blog /code /contact /resume October 23, 2012 17:23 / 17 comments / algorithms python I'm working on a little photography website for my Dad and thought it would be neat to extract color information from photographs. I tried a couple of different approaches before finding one that works pretty well. This approach uses k-means clustering to cluster the pixels in groups based on their color. The center of those resulting clusters are then the "dominant" colors. k-means is a great fit for this problem because it is (usually) fast. It has the caveat of requiring you to specify up-front how many clusters you want -- I found that it works well when I specified around 3. I'm no expert on data-mining -- almost all my experience comes from reading Toby Segaran's excellent book Programming Collective Intelligence . I...
Navbar JXcore Already know JXcore? Download BETA-2 Documentation End navbar Jumbotron Intro Develop incredibly fast, and scalable cross-platform backend apps Today! Tomorrow? JavaScript powered native mobile apps with 'Native Performance'! End intro Assets (How to's) <span class="fa fa-picture-o asset-ico-a"></span> JXcore is a Node.JS fork with additional features. Seamless Multithreading for all Node.JS apps. Internal thread and process monitoring and recovery. End assets Scroll-to-cta prompt Learn more about JXcore End scroll-to-cta prompt End Jumbotron Main Content Features Node.JS's async I/O already benefits from multithreading. The problem is that the main thread (single thread) is limited to one operation at a time and all operations handled by multiple threads has to wait in the queue...
CentralNotice Eigenface From Wikipedia, the free encyclopedia Jump to: navigation , search This article includes a list of references , but its sources remain unclear because it has insufficient inline citations . Please help to improve this article by introducing more precise citations. (July 2008) Some eigenfaces from AT&T Laboratories Cambridge Generated faces using FaceMachine Eigenfaces is the name given to a set of eigenvectors when they are used in the computer vision problem of human face recognition . [ 1 ] The approach of using eigenfaces for recognition was developed by Sirovich and Kirby (1987) and used by Matthew Turk and Alex Pentland in face classification. [ 2 ] The eigenvectors are derived from the covariance matrix of the probability distribution over the high- dimensional vector space of face images. The eigenfaces themselves form...
<![endif] Navigation TED 1 Log in Sign up Skip to content… Watch TED Talks Browse the library of TED talks and speakers Playlists Collections of themed talks queued up to view TED-Ed videos Watch, share and create lessons with TED-Ed TEDx Talks Talks from independently organized local events Topics Explore TED offerings by topic Surprise Me The easy option. Let us choose for you! Read ideas.ted.com Outbound Our daily coverage of the world of ideas TED Blog Outbound Updates from TED and highlights from our global community TED Books Short books to feed your craving for ideas TED Studies Curated course material for educators and life long learners Newsletter Inspiration delivered straight to your inbox Attend Conferences Take part in our events: TED, TEDGlobal, TEDActive and more TEDx events Find and attend local, independently organized eve...
Personal tools Home Log in ?php $this->data['sitenotice'] = 'This is a test instance. Do not edit, your changes will be lost.'; ? Views Page Discussion View source History Jump to: navigation , search start content The Zipper is an idiom that uses the idea of “context” to the means of manipulating locations in a data structure. Zipper monad is a monad which implements the zipper for binary trees. 1 Automation 2 Alternative formulation 3 Comonads and monads 4 Applications 5 Further reading Sometimes you want to manipulate a location inside a data structure, rather than the data itself. For example, consider a simple binary tree type: data Tree a = Fork ( Tree a ) ( Tree a ) | Leaf a and a sample tree t: t = Fork ( Fork ( Leaf 1 ) ( Leaf 2 ) ) ( Fork ( Leaf 3 ) ( Leaf 4 ) ) Each subtree of this tree occupies a certain l...
CentralNotice Bloom filter From Wikipedia, the free encyclopedia Jump to: navigation , search Not to be confused with Bloom shader effect . This article includes a list of references , but its sources remain unclear because it has insufficient inline citations . Please help to improve this article by introducing more precise citations. (November 2009) Part of a series on Probabilistic data structures Bloom filter Quotient filter Skip list Random trees Random binary tree Treap Rapidly exploring random tree Related Randomized algorithm Computer science portal v t e A Bloom filter is a space-efficient probabilistic data structure , conceived by Burton Howard Bloom in 1970, that is used to test whether an element is a member of a set . False positive matches are possible, but false negatives are not, thus a Bloom filter has...
This site uses advanced css techniques Home Contact About TechTips Tools&Source Evo Payroll Research AT&T 3B2 Advisories News/Pubs Literacy Calif.Voting Personal Tech Blog SmokeBlog The big security news of Summer 2008 has been Dan Kaminsky's discovery of a serious vulnerability in DNS . This vulnerability could allow an attacker to redirect network clients to alternate servers of his own choosing, presumably for ill ends. Table of Contents Terminology Following a simple DNS query What's in a DNS packet? Resource Record Types Drilling down to a real query What's in the cache? Poisoning the cache Shenanigans, Version 1 Dan's Shenanigans What's the fix? Summary Other References This all led to a mad dash to patch DNS servers worldwide, and though there have been many writeups of just how the vulnerability manifests itself,...
Blog Code Docs Download Mailing list Issues IRC Donate What is gevent? Introduction gevent is a coroutine -based Python networking library that uses greenlet to provide a high-level synchronous API on top of the libev event loop. Features include: Fast event loop based on libev (epoll on Linux, kqueue on FreeBSD). Lightweight execution units based on greenlet. API that re-uses concepts from the Python standard library (for example there are Events and Queues ). Cooperative sockets with SSL support » DNS queries performed through threadpool or c-ares. Monkey patching utility to get 3rd party modules to become cooperative » gevent is inspired by eventlet but features more consistent API, simpler implementation and better performance. Read why others use gevent and check out the list of the open source projects based on gevent . gevent is written and maintained by...
CentralNotice Matrix decomposition From Wikipedia, the free encyclopedia Jump to: navigation , search In the mathematical discipline of linear algebra , a matrix decomposition or matrix factorization is a factorization of a matrix into a product of matrices. There are many different matrix decompositions; each finds use among a particular class of problems. 1 Example 2 Decompositions related to solving systems of linear equations 2.1 LU decomposition 2.2 LU reduction 2.3 Block LU decomposition 2.4 Rank factorization 2.5 Cholesky decomposition 2.6 QR decomposition 2.7 RRQR factorization 2.8 Singular value decomposition 3 Decompositions based on eigenvalues and related concepts 3.1 Eigendecomposition 3.2 Jordan decomposition 3.3 Schur decomposition 3.4 QZ decomposition 3.5 Takagi's factorization 4 Other decompositions 5 See also 6 References 7 ...