« first day (239 days earlier)      last day (333 days later) » 

8:25 AM
In section 2 "Memristors and Memristive Elements", an overview over the history and motivation of the memristor is given. Both charge-controlled and flux-controlled memristors are defined, which seems to be the most common types of memristors. Their relevance is explain as "the memristor represents a passive and non-volatile memory element which is capable of computation due to the fast switching times of its internal state variable(s)."
 
8:39 AM
Di Ventra then appears on the stage: "Di Ventra et al. [9] extended the concept of memristive systems to include capacitors and inductors with memory effects, known as memcapacitors and meminductors. ... Collectively, these elements with memory effects are known as “memelements”." and presents possible applications: "Using these elements (in particular, the memristor), Di Ventra, et al [11] describes a new, massively parallel approach to solving mazes."
 
 
2 hours later…
10:42 AM
In section 3 "The Memcomputing Concept", an overview of the memcomputing concept and properties of memcomputing machines is given. It contrasts that concept to the von Neumann computer architecture, where a central processing unit separate from its memory introduces a potential bottleneck. It is explained that: "A memcomputing machine is composed of a network of memprocessors, otherwise known as the compu- tational memory, which is signaled by a control unit, ..."
"..., which is responsible for specifying the input to the machine. The control unit does not perform any computation itself, thereby eliminating the need to bus information between itself and the memory." After the computation, the control unit has an additional responsibility: "The output of the machine can be read from the nodes of the network of memprocessors at the end of the machine’s computation."
It goes on to "... discuss the three main properties that these machines are said to possess." Those are "intrinsic parallelism", "functional polymorphism", and "information overhead". They are explained as: "Intrinsic parallelism refers to the feature in which all memprocessors operate simultaneously and collectively during the machine’s computation."
"Functional polymorphism is the idea that a memcomputing machine’s computational memory can be re-purposed to compute different functions without modifying its underlying topology." and "Information overhead allegedly allows the machine to store and compress more than a linear amount of data as a function of the number of memprocessors in the network, because of the physical coupling of the individual elements."
 
10:59 AM
Both section 2 and section 3 are written using the authors (i.e. Daniel Saunders) own words, and are easy to read and understand. The author tries hard not to judge the concepts he describes, even so he sometimes distances himself a bit from the descriptions. Overall, those first 4 pages of the survey can be recommended to anyone who wants to learn about memcomputing without spending much time. And even those who want to spend more time can benefit from this initial summary.
Let me do some of the judging which Daniel Saunders avoided in those first 4 pages. I didn't heard before about [1103.0021] Solving mazes with memristors: a massively-parallel approach - arXiv by Yuriy V. Pershin, and Massimiliano Di Ventra
It is a sweet and short paper of only 6 pages. The algorithm is well explained, and basically works. Even the analysis of its runtime is initially correct, before the authors decide to intentionally bring forward an obviously invalid argument for why it only their algorithm only needs a single step: "Since with an appropriate choice of voltage/current magnitude the switching time of all the memristors along the solution path is on the order of the switching time of a single memristor, ..."
"..., we can argue that the minimum time required to solve a maze of arbitrary complexity by our method can be as short as few nanoseconds or even less, since, as discussed above, full switching is not required to find a solution. Moreover, only one step (a single voltage pulse) is needed to find the solution." But increasing the voltage/current beyond bound for the sake of keeping the computation time constant is so obviously not scalable and not realistic, that this raises questions...
... about why the authors put forward such an obviously flawed argument. In my own opinion, the purpose of the argument is to justify extraordinary claims "Most importantly, unlike existing approaches, the memristor processor requires only one step to find the maze solution." and "However, we would like to emphasize once more that the hardware implementation of the memristive processor requires a single computational step, and thus outperforms all existing maze solving algorithms."
 
11:34 AM
Maybe I should shortly explain why their algorithm obviously takes time proportional to the length of the path through the maze: Only every other memristor switches, so the total resistance of the path is proportional to its length, and the switching time of the given memristor model is proportional to the current flowing though the memristor.
 
 
1 hour later…
12:52 PM
A similar strategy can also be observed in the later "Universal Memcomputing Machines" paper. The authors first describe why separating the frequencies would require exponential time, and the introduce a narrow bandpass filter to avoid that problem, without ever discussing the question how long that bandpass filter will take to separate the frequencies. Instead, they cite noise as the main reason why their solution approach is not scalable in physical practice.
Those exponential small amplitudes might indeed be another problem of that specific approach, but that feels more forgivable to me in a certain sense. The slight of hand with the bandpass filter on the other hand feels like intentional cheating and misdirection, just for claiming that their algorithm only needs a single step.
 

« first day (239 days earlier)      last day (333 days later) »