background preloader

Gödel’s Lost Letter and P=NP

Gödel’s Lost Letter and P=NP
Related:  ComputationalAlgorithms Title: The Mystery of the Binary Author: Viznut Originally published in the [ALT] magazine issue 0x0000 The subcultures of computing are very young. There are no legends nor values that come from the distant past. No ancient mysticism, no generations-old symbols that have deep emotional effects. Even the old and classical things tend to be quite recent. Fortunately, even the past is not static. Stone-age binary counting We are so completely surrounded by decimal numbers that most people believe humans were "built" to count in base ten: "we have ten fingers, you know." Divine binary protocols The human mind has a strange relationship with randomness. The Two Symbols There's a great deal of similarity between the African and Chinese notations for binary combinations: both use vertical piles where a single bit is designated by one or two "somethings", such as sticks, stones or seeds. The Eight Trigrams The Sixteen Tetragrams The 64 Hexagrams The 256 Octagrams References

Jeff Erickson's Algorithms Sadly, this page has become embarrassingly stale. Updated revisions of most notes, along with unedited video captures of several lectures, are indeed available on the web sites of my most recent courses: (You might notice that some of the updated notes look more like book chapters.) Check back this summer for a major update to this page, complete with three more years of homeworks, exams, and lab problems. This page contains lecture notes and other course materials for various algorithms classes I have taught at the University of Illinois, Urbana-Champaign. The notes are numbered in the order I cover the material in a typical undergraduate class, wtih notes on more advanced material (indicated by the symbol ♥) intersprsed appropriately. Each lecture note includes several exercises, and a near-complete archive of my old homeworks, exams, and discussion problems also follows the lecture notes on this page. Feedback is always welcome, especially bug reports. Everything Algorithms Notes

Finger Trees - Andrew Gibiansky Combinatorial Game Theory Combinatorial Game Theory studies strategies and mathematics of two-player games of perfect knowledge such as chess or go (but often either concentrating instead on simpler games such as nim, or solving endgames and other special cases). An important distinction between this subject and classical game theory (a branch of economics) is that game players are assumed to move in sequence rather than simultanously, so there is no point in randomization or other information-hiding strategies. The bible of combinatorial game theory is Winning Ways for your Mathematical Plays, by E. R. Recent additions: Older stuff: Abstract Games Magazine Akron, connection game similar to hex but based on stacking balls in 3d over a square lattice. David Eppstein, Dept. Last update:

Neopythonic Buck: An Android (and Java!) build tool Buck is a build system for Android that encourages the creation of small, reusable modules consisting of code and resources. Because Android applications are predominantly written in Java, Buck also functions as a Java build system. Learn more about the strategies Buck uses to build Java code so quickly. Features Buck can help you do the following:Speed up your Android builds. How Buck Works Buck has three primary concepts:A build rule is a procedure for producing an output file from a set of input files.A build target is a string identifier for a build rule. When building the output of a build rule, all of the rule's transitive dependencies are built first. Is Buck for Me? Buck is designed for building multiple deliverables from a single repository rather than across multiple repositories. If you build multiple applications, or even if you ship one application but use several sample applications for development, then Buck is definitely for you.

Umbral calculus In mathematics before the 1970s, the term umbral calculus referred to the surprising similarity between seemingly unrelated polynomial equations and certain shadowy techniques used to 'prove' them. These techniques were introduced by John Blissard (1861) and are sometimes called Blissard's symbolic method. They are often attributed to Édouard Lucas (or James Joseph Sylvester), who used the technique extensively.[1] In the 1930s and 1940s, Eric Temple Bell attempted to set the umbral calculus on a rigorous footing. In the 1970s, Steven Roman, Gian-Carlo Rota, and others developed the umbral calculus by means of linear functionals on spaces of polynomials. The 19th-century umbral calculus[edit] The method is a notational procedure used for deriving identities involving indexed sequences of numbers by pretending that the indices are exponents. An example involves the Bernoulli polynomials. and the remarkably similar-looking relation on the Bernoulli polynomials: See also Faulhaber's formula.

Lectures 1 and 2: Analysis of Algorithms I just finished watching the last lecture of MIT's "Introduction to Algorithms" course. Having a great passion for all aspects of computing, I decided to share everything I learned with you, my dear readers! This is the first post in an article series about this course. As I wrote earlier, I am very serious about watching video lectures. If they are math-intensive, I usually take notes as if I were in the classroom. Lectures in this course were exactly like that -- logarithms, big-o's, thetas, expectations, and all the other math guys fighting with each other on the blackboards. There are totally 23 video lectures, each around 1 hour 20 minutes long. Understanding and designing effective algorithms is a very important skill for a top-notch programmer. Let's start with Lecture 1 of this course. Lecture 1: Analysis of Algorithms The first lecture is given by the famous professor Charles E. He starts the lecture by explaining what this course and algorithms will be all about. Lecture 1 notes:

Steps to create a Vagrant Base Box with Ubuntu 14.04 Desktop (GUI) and VirtualBox Since the advent of the IaaS and PaaS providers, the decline in usage of monolithic architectures (e.g.: application server + relational DB) and the need for distributed and automatically scalable applications, as software developers we have to be increasingly more aware and skilled in the tools and techniques used to orchestrate and automate the deployment of all the different components that our architecture might end up with. Among these tools, normally encompassed in the DevOps space, I am currently very interested in Vagrant, Docker, Ansible and Ubuntu JuJu. Although I already use Vagrant, today I decided I wanted to know how to create my own Base Boxes that I can reuse. My idea is to have two Linux Base Boxes with Ubuntu Server and Ubuntu Desktop respectively and then another two with Windows 7 and 8. Once Vagrant is covered I want to get deeper with Docker because I see a lot of potential in lightweight containers instead of using heavy virtual machines. - Install VirtualBox

Hermite polynomials In mathematics, the Hermite polynomials are a classical orthogonal polynomial sequence that arise in probability, such as the Edgeworth series; in combinatorics, as an example of an Appell sequence, obeying the umbral calculus; in numerical analysis as Gaussian quadrature; in finite element methods as shape functions for beams; and in physics, where they give rise to the eigenstates of the quantum harmonic oscillator. They are also used in systems theory in connection with nonlinear operations on Gaussian noise. They are named after Charles Hermite (1864)[1] although they were studied earlier by Laplace (1810) and Chebyshev (1859).[2] Definition[edit] There are two different ways of standardizing the Hermite polynomials: (the "probabilists' Hermite polynomials"); and (the "physicists' Hermite polynomials"). These two definitions are not exactly identical; each one is a rescaling of the other, These are Hermite polynomial sequences of different variances; see the material on variances below.

Reverse a linked list in java « Think ! If you search for it you will get millions of solutions but sadly (like many things in internet) the first few solutions seem unintuitive and unnecessarily complex for such a simple problem, not sure why, anyway putting mine out there for somebody to point out why I should go for a more complex solution. [in java for a change] Idea : Use two references and reverse their links and proceed till we reach the end public void reverse_iterative { if(isEmpty()) { return;} //curr == null Node currNode,nextNode , loopNode; currNode = head; nextNode =; = null; while(nextNode ! Recursive Idea : Reverse the sublist starting from second node and point the second node to first, apply this recursively. private void reverse(Node curr) { if(isEmpty()) { return;} //curr == null if( == null) { head = curr; return; } reverse(; = curr; = null; } Share This

Xubuntu on steroids! To me Voyager Live is a well decorated Xubuntu. I tried previously Voyager Live and it looked beautiful but I found it much less efficient than Xubuntu and felt, kind of defeats the purpose of XFCE distros. This was for Voyager spin of Xubuntu 12.04. However, the present release changed my impression and I'll tell you how. Voyager 14.04.1 is based on the latest LTS (3 years though) spin of Xubuntu and ships with Xfdesktop 4.11.6 running on XFCE 4.10 and Linux kernel 3.13.0. I downloaded the 983 MB 64 bit Voyager Live 14.04 ISO for this review. Aesthetics Though Xubuntu, Fedora and Debian XFCE along with others ship very good and usable spins of XFCE but a lot of user customization is required as far as aesthetics is concerned. However, there is a lot beneath the superficial look (which is similar to XFCE). There is a conky control as well though it is not as functional as a conky manager. Thunar 1.6.3 is the default file manager and it has a pretty nice interface, specially the icons.

Malament–Hogarth spacetime A Malament–Hogarth (M-H) spacetime, named after David B. Malament and Mark Hogarth, is a relativistic spacetime that possesses the following property: there exists a worldline and an event such that all events along are a finite interval in the past of , but the proper time along is infinite. is known as an M-H event. 's past to set a computer (Turing machine) to work on some task and then have the Turing machine travel on , computing for all eternity. lies in 's past, the Turing machine can signal (a solution) to at any stage of this never-ending task. , to pick up the solution. if and only if the Turing machine halts. The Kerr metric, which describes empty spacetime around a rotating black hole, possesses these features: a computer can orbit the black hole indefinitely, while an observer falling into the black hole experiences an M-H event as they cross the inner event horizon.

Sorting Algorithm Animations Algorithms in Java, Parts 1-4, 3rd edition by Robert Sedgewick. Addison Wesley, 2003. Quicksort is Optimal by Robert Sedgewick and Jon Bentley, Knuthfest, Stanford University, January, 2002. Dual Pivot Quicksort: Code by Discussion. Bubble-sort with Hungarian (“Csángó”) folk dance YouTube video, created at Sapientia University, Tirgu Mures (Marosvásárhely), Romania. Select-sort with Gypsy folk dance YouTube video, created at Sapientia University, Tirgu Mures (Marosvásárhely), Romania. Sorting Out Sorting, Ronald M.