Read Latex

Saturday, February 09, 2019

Computing and the Future HW 3: The Act of Measurement



Preamble: The Act of Measurement



I have already learned a couple of important lessons about, Computing and the Future from this course. One about the subject matter and one about myself

I have learned that it is a poor practice to attempt to "predict the future". It is a much better, and possibly "best practice" to identify "future possibilities". Then with study, diligence and simulation one can begin to estimate the likelihood, the probability, that a given future will emerge. As more information accumulates, as the target date approaches, these probability estimates can be refined, updated and improved. But we can never, in accordance with the uncertainty principle, with the rules of thermodynamics, entropy, and quantum mechanics be certain until they have happened, and more precisely, until they have been documented and measured. It is one of our most divinely-inspired and creative acts - the act of measurement that collapses the wave-function of entangled possibilities into the actual reality that we record as history.

There are two parts to this creative act, the act of making the measurement, and the act of recording that measurement. I won't split hairs further on this, but there are important distinctions and limitations that must be articulated for the making and the recording... in the future. It is the act of recording that lets us, albeit in a very limited way, time-travel backwards to the moment of making the measurement itself.

One might think that the least creative thing that a person can do is to make a measurement. It is after all, what would seem to separate the white-coated laboratorians and micrometer-toting engineers from the paint-flinging artists and improvisational jazz musicians. But after some deliberation I beg to differ. The act of measurement creates information that did not exist before the measurement was made. It is, in effect the moment of creation. Each artist who flings paint or notes on a jazz guitar, presembly prepares the paint, its color, texture and viscosity and launches it into the air with some premeditated intention. This includes, for those caught in an existential crisis, the intention of not having an intention, but nonetheless having chosen to fling or not to fling the paint.


"To fling or not to fling,
that is my existential crisis."

Only when the paint lands, only when the musical note hits the ear of the hearer, is the measurement able to be made. When such an act is repeated, it can be compared with the previous one, only because it has been recorded and measured. It can be called better or worse, more or less like the other ones.

I would be remiss if I did not note the similarity of the intention of not having an intention as being similar to the Whitehead-Russell "set of all sets" conundrum solved by the "who shaves the barber" paradox, which incidentally introduced types into computer languages but I digress.

So in summary, we don't predict the future, we identify possibilities and assign probabilities to them. There is no guarantee that we have identified all the possibilities, and there is no guarantee that our probabilities are correct. There is only the likelihood that we have identified some of the possibilities and the likelihood that our later estimates, made with better and more recent information, are better than our earlier estimates made with worse and less recent information.

Now you may think this rant about measurement, worthy of an asylum toga party, has nothing to do with identifying futures that cannot yet be measured, but the second lesson, the one this course taught me about myself may contradict that.

Below you will notice that I have done this homework exactly twice. I can only mourn the tired eyes of the beleaguered professor that must summon the patience and force of will to get through an unsolicited second repetition of an assignment they have already seen one too many times. I promise to make it a brief but significant exercise.

It is the word significant that brings me to the lesson I have learned about myself in identifying future possibilities and assigning probabilities to them; Itself an act of making and recording a measurement yet to exist, one whose wave function has not yet collapsed.

I have, on two occasions in this course, assigned more significant figures to an estimate than was warranted for the amount of information available. The first instance was an in-class exercise where this author, with assistance, devised the question:


"What is the month and year that 'Uber-like' flying taxis will operate in Silicon Valley?"

The first instance of my mistake was in asking, early in the discovery process, what the month would be, when year was correct grain-size of time to be considering. This would seem a minor edit, but, on reflection, I now consider to be a serious conceptual error:

By begging for more precision than the available information provided, I introduced 'possibility-noise' into the discovery process. Possibility noise is asking for excessively fine-grained information that sends eager minds down all sorts of dark and unproductive alleys for no material good whatsoever too early in the process. Eager minds, including my own, chock full of the ability to confabulate useless detail while secreting loads of dopamine are particularly vulnerable to this error. I did not realize how grevious this error was, till similar questions were articulated by classmates that did not attempt to divine the month, but rather settled for the year from the outset, and generated one forthwith.

I fear, that even though I have written down this grievous mistake, I may inadvertently, through some yet to be analyzed force-of-habit, make it again. In that case I have the comforting existence of this blog...

The second instance of my mistake is recorded below and fortunately it is brief. It could have been briefer and it will be, for I am going to repeat the process more briefly. I apologize for saying variants of brief too many times...

In identifying and tabulating six potential areas of impact, for four candidate projects I decided to give each area a score of 1 through 5to predict its potential impact. Then I added the score for all six areas to rank each of the four projects. Here's the mistake. A range of 1 through 5 is far more resolution than I can assert with the information I currently have. I would be fortunate to correctly answer with a 'yes' or 'no' - a binary distillation. Exactly how fortunate I do not know, because I have not yet experienced that particular future.

So in the first pass, I created the tables for three scopes of concern, that is, the predicted impact to:

  • the individual
  • the organization
  • the society
Each table consists of six impacts that each of four projects might have. This means that there are 24 questions to answer for each scope, for a total of 72 questions. I agonized in the 'possibility-noise-dark-alleys' for some time before I answered each question precisely with information that I did not have. On completion of my task I became a card-carrying agent of the 'bullshit perpetuation society'. Although I can and frequently do perpetuate bullshit effortlessly, I have come to make a conscious effort not to since it is annoying at a very basic level.

To remedy my brief but authentic membership in this society I have repeated the assignment, this time by answering 'yes' or 'no' to each of the 25 questions posed. It might be that lowering the resolution even further might be appropriate, but I have not yet figured out a good way to do that. More seriously abbreviating the assignment further could take me below the 750 words mandated, but I have probably already met that requirement.

One way to lower the resolution appropriately would be to descope the question.

Answering the question for the:

  • individual scope requires enumerating one to one relationships.
  • organizational scope requires enumerating one to many relationships.
  • societal scope requires enumerating many to many relationships.
So an appropriate descope might be just to answer the question for the societal scope, since many to many relationships subsume the two simpler cases.



Assignment: Take One

Q1-I. - For one or more of your proposed topics, make a list of several future potential impacts (such as privacy, security, quality, or any others that seem useful to list), that relate to individuals, such as people like yourself. Explain why these impacts might occur. 250 words.

Proposed Topics


I had three candidate proposals and I added one today, broached to to Dr. Berleant before class. It is a conceptual sketch for a Room Temperature Quantum Computer (RTQC). Thus the four proposals are:

CNN: feature extension of the TensorFlow Neural Network Playground

RNN: demonstration for predicting signals over time using machine learning.
CBL: Soft Gates & Continuous Boolean Logic as a future computing architecture
RTQC: Room Temperature Quantum Computer

In addition to requested impacts for privacy, security and quality (of life?), I am adding:
  • educational impact: the power to enhance technical understanding.
  • economic impacts: value creation
  • usefulness impacts:  amplification of human, or technical leverage.
I will use a five point scale and then briefly discuss for each item the rationale for the choice. If an attribute has a 5 it is assumed that the 5 is imbued to the positive considerations. So a 1 has more negative considerations and a 5 has more positive considerations.

The first column of the table below enumerates the kind of impact, and the second through fourth columns specify a pertinent metric or use case at the individual, organizational, or societal level. The top row shows which of the four projects is in play.

Definitions and Qualifications: 
1) Educational impact as would pertain now to the student or expert user at the individual, level or in the future for the organizational or societal level.
2) Economic impact as profitability that would exist now for the individual developer or in the future for organizations or society.
3) Useful impact as in the extent to which a person at the individual, organizational or societal level would find the fully realized product useful.
4) Impact of Privacy Enhancement implying the degree to which individual privacy is protected considering the legitimate needs of the organization or society.
5) Impact of Security Enhancement implying the degree to which individual privacy is protected considering the legitimate needs of the organization or society.
6) Quality of Life Impact as in the extent to which a person at the individual, organizational or societal level would find their quality of life improved with the fully realized product.

Inputs are coded as yellow cells. Arbitrarily specified or estimated values are listed in blue and computed or carried over values are listed in gray cells. With these definitions in play we can now specify, estimate, or guess a quantity between 1 and 5 that represents the specific impact. First for the individual we have:


Q1-II. - For one or more of your proposed topics, make a list of several future potential impacts (such as privacy, security, quality, or any others that seem useful to list), that relate to organizations, such as businesses, governments, etc. Explain why these impacts might occur. 250 words.

For organizations I have scaled the impacts by the number and kind of users and non-users of the product, and expert and non-expert users as well. This is parameterized so that different ratios in different organizations can be assessed. While in the individual case we assume the expert user, in this organizational case we assume a richer set than we will see in the society at large:



Q1-III. - For your proposed topics, make a list of several future potential impacts (such as privacy, security, quality, or any others that seem useful to list), that relate to society as a whole. Explain why these impacts might occur. 250 words.

According to the link at the bottom of the figure, I optimistic estimate there are on the order of two experts per 100 of the population in technical countries. Even though 98% of the people will not be educated by the four technologies they could nonetheless enjoy varying degrees of impact in their lives for the remaining categories.


In terms of selecting which project to execute for this course, I am leaning towards the first - extending the TensorFlow Playground to utilize additional Feature Recognition Functions. It is the highest ranked of the proposed projects at all the scales of aggregation, individual, organizational, and societal. I am confident that I can implement the extensions proposed and it will make an excellent class demonstration.


Assignment Take Two

I now repeat the process with Boolean values. Will the given project have a given impact.

First the individual scope:


Second the organizational scope:
Thirdly the societal scope:

Discussion of Assignment Take Two

By answering each impact question with a yes or no answer I have reduced the amount of 'possibility-noise' in the analysis to what I feel is an honest amount. An honest amount being that, if I were in a court of law, I could reasonably assert as probably.

Notice that by summing each of the impact numbers the total impact of the first three projects is identical! This could mean that I do not know, a priori, what their true impact would be. Alternately it could mean their impact could be approximately the same.

As I mentioned in the Assignment Take One, the RTQC project is one that would require institution-level of support, beyond the scope of the class or one person's abilities or funding level. This leaves me to choose between the first three projects, precisely the position I was in before I began the assignment!

As I also mentioned before I am leaning towards the first CNN because of its educational value for the class, but if I complete it, I may attempt the others, so that the impact can be compared. 

Comparing the impacts would require setting up metrics for measurement beforehand so that the order in which the projects are presented does not confuse the results.



Q2.  Read 20 pages in the book you have obtained. Explain what you agree with, disagree with, learned from it, and how your views agree with or disagree with the reviewers of the book that you are reading.

I have moved this answer which was quite detailed to my ongoing review of the book, "The Human Race to the Future" a single curated document that is here. In the session for this question I reviewed chapters three through six of the book. For brevity I have removed the content that was previously here.

Friday, February 08, 2019

Computing and the Future 10 - A Warm Quantum Computer


This is a preposterous title, and I am no expert in any of this, but I had an idea about this topic that is so seductive I would be remiss in not writing it down. Here it is in brief:

Let’s say that we can simulate all the properties of a qubit with a gyroscope. The gyro is be mounted in a traditional gimbal that has two degrees of freedom, that allow the gyro to take on any possible value in two angles. We describe the orientation of the gyro in spherical coordinates of unit radius, theta and phi, which can transformed with no loss of generality to the more familiar  coordinates of latitude and longitude so for convenience I will use those; A qubit has two degrees of freedom. The following video explains this analogy.



A gyroscope has spin, and if we put a unit poynting-vector at the center of the qubit, we can denote the state of the qubit by the latitude and longitude of its spin vector. For now, and possibly forever we will assume that the spin rate is constant and non-zero. If the spin vector has a negative value, we assume that the spin is in the other direction.

We need to acknowledge a second property of qubits, and that is, they have the ability to be entangled. We would like to create a model such that if we choose, two (or more) gyros can become entangled. For the time being, and possibly forever we will assume that if one gyro has spin V, that the other gyro has spin -V, and further, that whatever happens to gyro1, also happens to gyro2 in complement according to the rules of entanglement.

Now we do not live in the age of levers, pulleys and springs per se. Consider for a moment a hypothetical electronic circuit that was, in all its momentum and spin glory able to simulate the aspects of a gyroscope. This circuit would have a stable signal that would somehow appropriately and fully represent the spin of the gyro. In other words, we replace the mechanical gyro with an equivalent circuit, or possibly a MEMS device. Below is a functioning equivalent gyroscope circuit modeled by this author using a schematic published in this research gate paper and the J. Falstad online circuit simulator:

Gyroscope Equivalent Circuit

Here is an actual MEMS gyroscope that retails for $15.80 USD on Amazon.

The advantage of the equivalent circuit is that there are no moving parts. If the MEMS circuit were used, power would have to be routed to the board along with input and output connections. Additionally it would have to be gimbaled, which would add to its expense and complexity. Its response would be inhibited by aerodynamic drag on the board assembly, which could necessitate its confinement to a vacuum tube envelope. It could be combined with a wireless communication system to simplify the mechanical pinouts, but I still would prefer the equivalent circuit.

Now I propose, and this is the seductive part, that the entanglement of a qubit manifested as an equivalent gyro circuit and its doppelganger can be accomplished via an RF mixer such as that which occurs in a Software Defined Radio. Once could choose a basic frequency mixer, or the famous IQ mixer that reproduces the full complexity of the Hilbert Space of the qubit with both the real and complex components of the signal. The latter would require a local oscillator acting as a clock.


The I and Q signals could represent the latitude and longitude coordinates of the entangled qubits. Entanglement would place constraints of complementarity on the two gyros.

An RF mixer has the property that it does not sum its inputs like an audio mixer, but rather multiplies them producing an output that is, paradoxically, the sum and difference of the input signals.


After the system was configured with a given problem, which would mean initializing the equivalent circuits and placing the appropriate qubits in superposition, the system would  reach some kind of equilibrium after a settling time. At that time its state could be measured. At the moment of measurement the wave functions collapse into an actual real result per the commonly referenced Schrodinger's suitcase, the cat would be dead or alive.

When a 400 nm ultraviolet parent photon is sent through a lithium niobate crystal, it can be split into two entangled 800 nm photons named Alice and Bob per the Nicolas Gisin experiment, which is informally, but very readably documented, in this New York Times article. The frequency of Alice and Bob must be exactly half that of their parent due to conservation of energy. Alice and Bob are entangled meaning that if Alice has a spin of up, then Bob has a spin of down. Alice's vector could be oriented in any latitude and longitude direction, Bob's would simply point the other way.

Now I mention the lithium niobate example for the very specific reason that optical photons can be split using the nanoscopic lattice of the lithium crystal. If we are willing to work with longer photon wavelengths in the radio frequency spectrum then we could split Gigahertz photons with a grid whose centers were on the order of a centimeter apart. They could be miniatured later of course, once things were completely characterized and understood. There is a serious cost advantage to not thinking too small when prototyping, especially in the RF domain being proposed here.

One thing that Quantum Computing (QC) has lacked, is the "killer app" that would launch it into everyday use. Most applications of QC have to do with encryption and decryption. Cracking codes is certainly interesting but I believe QC may have more popular "killer" utility applications in medical imagery, remote sensing, temporal imaging and generalized image processing.  Imagine being able to produce an image from a great distance in extremely short time frames, possibly including those simultaneously with the occurrence of the event.

The photon splitting, via antenna, or crystal needs a complimentary photon combining operator for mathematical completeness. In Radio Frequency parlance this is "up conversion" versus the "down conversion" performed by the lithium niobate crystal. Each function should have its inverse for full architectural utility. On January 17, 2019 I ran across an article in Phys.org that promises exactly this:




In summary, if it is, or can be made the case that these statements are true for some electronic system, miniature or not, then it should be possible to simulate a quantum computer at room temperature with such a system.


Tuesday, February 05, 2019

Computing and the Future HW 2: Exponential Growth, ML, Soft Logic, Delphi


Introduction


Last week we looked at exponential curves and their self-similar "hockey stick" shape. The analytical solution is developed here, the first of three promises I made to myself during an interesting introductory lecture. These curves, like exponential goldfish that grows to the size of their numerical bowl, are self-similar to within a scale factor. Then as the second of three math problems I extended an existing notebook on the prey-predator population equations making them an interactive simulation in this Python notebook, which takes about 3 minutes to load. The character of these equations is that the population of one species provides a scale factor for the others, thus, in some sense, they are also coordinate free or invariant with respect to absolute value. The same solution can be scaled to different absolute populations. In the graph below, a population of 15 could be 15,000 or 150:

Since I have also been an Calculus instructor at this college, I was also fascinated by a novel grading policy. In trying to understand its statistical properties I built this interactive simulation / numerical experiment that also takes a couple of minutes to load via the launch|binder button on github. I barely finished all three of these in time for class, but it was a fun sprint that left me breathless. Things that could still be added are Runge-Kutta fourth order solutions to prey, and a search for chaotic solutions.

This Week's Questions:

Q1: In the  course, "Information, Computing and the Future", HW2, 
       Dr. Daniel Berleant asks us to:

      "Estimate the doubling time of the software development productivity

       of the average programmer, if productivity increases at 6%/year."

A1: The short answer is about 12 years. The long answer is a non-trivial variant of last week's exploration. Using the symbol r for the rate of productivity in percent per year we write:


              the productivity at year 0 = n

              the productivity at year 1 = n*(1+r)
              the productivity at year 2 = n*(1+r)(1+r)
              the productivity at year y = n*(1+r)^y



Therefore programmer productivity doubles every 11 years, 10 months and 27 days if productivity increases by 6% per year.






Q2: In the  course, "Information, Computing and the Future", we are asked:

        "Discuss what topic(s) and format(s) [] considering for [] term project."

A2: Out of four topics I have three candidates described below. I would like to use a code demonstration format on a projected screen in real time.


I am interested in machine learning (ML) and functions that estimate future outcomes. In current ML practice there are:

  • convolutional neural networks (CNN's),
  • recurrent neural networks (RNN's) ,
  • generative adversarial networks (GAN's)
  • reinforcement learning (RL)
CNN's work over 2-D arrays that either are, or are similar to images. In my first homework I demonstrated the tensorFlow playground which is a great example of these. I have also used the source code to extend this example to use different basis functions to more quickly recognize difficult to distinguish patterns such as the spiral pattern. I could develop and use this as a semester project. It would have the advantage that I already have a running start. It would have the advantage for the class of showing them the CNN playground in a visual way. It would have the disadvantage of not being written by me from bare metal so in that sense would be derivative work. This could be combined with some hyperparameter exploration to determine the best CNN architecture to solve a given feature space. Here is a snapshot of the version I extended with the two spatial functions in the feature recognition column.




RNN's work over 1-D arrays that represent functions or signals changing over time. I am interested in their predictive power for functions, stock market signals and so forth. I am really interested in these and have coded them in the past. They would have also have the advantage of a running start. They are a simpler to understand and compare. They show the strengths and weaknesses of machine learning. They would make an effective classroom demonstration running in a Python Jupyter notebook which anyone interested in Machine Learning needs to pick up. Here is one that estimates periodic function values from the TensorFlow lecture on RNN's by Jose Portilla. 



GAN's use an agent (the generator) and a critic (the adversary) to generate and evaluate anticipated moves. They are useful for games like Go and Chess. I have little to no experience with these, but they are powerful mechanisms for machine learning. The same goes for RL.

CBL's Continuous Boolean logic (CBL), as opposed to the discrete Boolean logic we currently use. I invented this in July and call it "Soft Gate Technology". It is an architecture suitable for implementing fuzzy logic problems and may have application addressing the explainability problem in AI, raised in Homework 1. It also could be used to optimize AI, which is an extended discussion. It is a bare metal project that could be done in Jupyter Python. It is experimental, brittle and less likely to look polished a demonstration setting, but would be interesting for those exploring alternate computing architectures and reasoning systems. Here is what Soft Gate 'And" looks like when compared to hard gates we currently use. Compare the AND(HardRising, HardFalling) with the AND(SoftRising, SoftFalling) in the diagram below.





In summary my three candidate proposals are:

CNN: feature extension and hyperparameter optimization using TF Playground

RNN: demonstration for predicting signals over time.
CBL: Soft Gates & Continuous Boolean Logic as a future computing architecture

Some interactive discussion will help reveal the best choice.




Q3 Part AFor your question that we used the Delphi Method on in class, find the median and the range of the middle 50% of the responses. Using a graphics editor [] make a graph that is [] similar to the one in the lecture notes, showing the total range, middle 50% range, and median.

A3 Part A. Here is the graph from the lecture notes:

My initial question was:

When will Uber Flying Taxis happen?

This was sharpened to:

What month and year will 'Uber' Flying Taxis happen in Silicon Valley?

Tabulating the first and second pass results in the graph and statistics below. The Delphi Display has been transposed for compactness:



After two passes 4/10 of the respondents favored earlier dates while 3/10 favored later dates. The median response 1/2050 shifted by 1 month to 2/2050. The total range compressed from infinite - due to one respondent saying 'never", to the finite value of 45 years. The standard deviation compressed from undefined to 12 years. After some extended discussion the range of the middle 50% of the responses (which was actually the middle 40% since there were an even number of respondents) went from  1.1 years to 9.5 years, which was more reflective of the overall standard population deviation of 12 years.


Q3 Part B. Read up on the Delphi method on the Web Explain how the process that we went through in class differs from the process as described in the source you found.

In the classic Delphi method as described here, anonymity is more strictly enforced than we did in class, since our answers were submitted verbally rather than it writing. The results seemed to correlate slightly with the seating closeness of the respondents. Also the discipline of writing the answer before  stating it got a little looser towards the end as the discussion increased in speed and quantity.


Q3 Part C. Based on what you find out about the Delphi method, what shortcomings, risks, or other weaknesses do you see for the process that we followed in class? Also do you see a way to fix some of these, if we wanted to follow a more rigorous approach?


Strict anonymity of the responses, while retaining free flow of discussion could be accomplished by keeping the whole process in writing including distributing and picking up the response slips. An app could be built that would facilitate this in the computerized classroom setting. There are two parts to this, the date prediction activity, and the chat activity which could be made orthogonal in an application. Chat would not have to be automated in the classroom setting, simplifying the app to a simple authenticated ssh relay of some kind. Further rounds could be enabled until the answers and their accompanying statistics quit changing. An app would speed up the process of distributing and picking up slips by eliminating it.




Q4. Grad students only: [] Find reviews of the book online. Amazon often has them. Read the reviews and make sense out of them. For example, what things about the book can you glean from them? Do they all complain or praise the same things, or are they all different and make it hard to see anything about the book that many readers seem to agree on? Etc. This should be a complete analysis of the reviews such that there would not be anything much that someone might be able to add about the reviews.

I purchased the book, Human Race to the Future... by D. Berleant. Since this book is sold on Amazon there is excellent data in both quality and quantity reviewing the book. For verified customers there were 35 reviews, some lengthy and detailed, some abbreviated. Amazon publishes a summary of each review, the number of stars that quantify whether the user liked the book, the date of the review, and the number of users that found the review helpful.  There are two figures presented below, a spreadsheet summarizing each review and some statistics resulting from an analysis of the reviews. 




The following figure shows the mean and standard deviation and also the review value versus time.



The reviews were slightly bimodal in distribution:


I attribute this a to the fact that the 14 five star reviews were made by people primed to appreciate the material. It is an impressive feat that the majority of the reviews were at the top of the ranking scale. Those who weren't as enthusiastic about the material, approach or timeline chosen were more reserved. Two of the three star reviews were made by people (#32 and #43) who couldn't or didn't spell properly including one who wanted, 'MOAR SCIENCE'. Oh well. Those who made more lengthy reviews tend to be ranked as more "Helpful" by other users.

I'm looking forward to a deep dive into this book to be done as a set of consecutive incremental reviews that accumulate here.