Ramblings of a Researcher

/Ramblings of a Researcher

True or False … stay tuned

There was a period in my life, from 2012-2015 when I was adept at producing a regular series of essays. I was weekly sharing stories of my travels, adventures, meetings, and interactions with the world in so many ways. I felt, at that time, that my life was rich, dynamic, and impossibly full. Yet, now, I am working more hours each day, more full days each week than in the past decade and the richness of my engagements is equally fulfilling, even if in a different way. Yet, the stories are internalized, always on hold, for the process is each day unfolding.

When a day in Palestine, Tanzania, or South Africa is a day worth describing, a day working on Python coding leaves one wanting to get away from the keyboard, not closing the day with more typing. What’s more, there is a fear of ridicule for sharing the process if the process is one already tested and proved true or false, for in research the goal is not to rediscover, but to discover anew.

To share the process is to share potential success or potential failure in the making. And that is hard to do.

By | 2018-05-17T00:46:49+00:00 May 17th, 2018|Ramblings of a Researcher|Comments Off on True or False … stay tuned

Postcard from Mars – a SIMOC update: March 10, 2018

At 8 pm this evening, the ASU Capstone team that has been developing the SIMOC game interface will have completed the first working prototype. This brings to fruition six months development of this unique agent model, and lays the foundation for its continued evolution.

As with all software projects, we begin with the blue sky as our goal, and a belief that we will reach that far. In October, November, and December of 2017 we engaged two calls each week, Saturday and Monday evenings. These 1-3 hour brainstorming sessions were a chance for the entire team to explore the possibilities of a scalable, mathematical model with a gaming interface.

We continually juggled the need to build a scientific foundation, a tool to be used for research with the goal to provide a gaming interface that engaged the non-scientific community (while yet producing scientific data, under the hood). While I have extensive experience in software development through my ten years as CEO of Terra Soft, and each of the ASU team came on-board with skills and experience ranging from Python to C, bash to CSS and SQL servers, none of us have built anything quite like this. None of us was truly the leader, nor anyone following. We all pitched in, challenged each other in the conversations, and slowly laid a design foundation that seemed to work.

ASU undergraduate astronomy student Tyler Cox came on-board in July 2017 to get the ball rolling. He built the first, working agent-based model (ABM) using Python and the Mesa library. He was able to quickly demonstrate a functional “astronaut in a can” model in which the initial parameters determined if the human crew of astronauts lived or died (they mostly died). Even our simple model with a light interaction between humans, a few species of plants, and a contained atmosphere proved tricky as even a minor imbalance in the system lead to catastrophic results.

SIMOC data flow by Ben Mccord

In January the capstone team duplicated Tyler’s work on an Amazon web server, integrating SIMOC into an SQL database instead of the original JSON configuration files. Following a minor setback in which we realized Unity was overkill and a good ol’ web interface would suffice, we reset our expectations and started again. The end result goes lives tonight at 8 pm Arizona Mountain Time. It will be simple, and a little rough around the edges, but the Launch screen, Configuration Wizard, and Dashboard (game interface) will be complete (for now).

I have enjoyed the pleasure of working with the following ASU undergraduate students through the Computer Science Capstone team: Ben McCord, Greg Schoberth, Terry Turner, Thomas Curry, and Yves Koulidiati. In addition, we have this year welcomed the incredibly talented, widely published space artist and habitat designer Bryan Versteeg of Spacehabs.com as a backbone to our design process. And most recently, Kevin Hubbard comes to us with a strong foundation in the social sciences, his intent to introduce a means by which we can integrate human social behavior into a more advanced version of our model.

By | 2018-03-10T21:53:09+00:00 March 10th, 2018|Ramblings of a Researcher|Comments Off on Postcard from Mars – a SIMOC update: March 10, 2018

Postcard from Mars – a SIMOC update: February 5, 2018

Rover by Bryan Versteeg Just two weeks ago our work on SIMOC resumed. The holiday break was longer than anticipated (by me). I feel we lost some momentum from the pace we set last fall, but we are regaining now, shooting for a working prototype by the Interplanetary Initiative meeting March 5.

The team made a decision last week to abandon Unity as our game play engine, instead building a Javascript web interface. While we will have less total functionality, we are now more closely aligned with the current goals of this first version of our game play interface. And we will far more easily achieve the desired cross-platform support through a web interface. This decision cost us a week-long sprint of agile programming. Not a tremendous amount of time, but a loss that could have been avoided had I. A lesson learned, but no long-term damage done.

Greenhouse by Bryan Versteeg With the start of the new year we welcomed Bryan Versteeg, world renowned space artist onto the team. He is now leading the design of the game play interface and playing “pieces”, the icons that represent the growing, off-world community.

By | 2018-03-10T18:46:27+00:00 February 5th, 2018|Ramblings of a Researcher|Comments Off on Postcard from Mars – a SIMOC update: February 5, 2018

A Raspberry Pi for the Holidays

Raspberry Pi desktop through VNC

It may not look like much, but this is pure joy. Not since the development of Karoo GP for my MSc have I enjoyed discovering the potential of a computer. I recognize I am a bit late to the game, for the Raspberry Pi has been out since 2012. But for me, I finally made time to configure, launch, and explore the Pi 2B gifted to me for Christmas 2015.

The Sunfounder 37 Modules Sensor Kit has proved to be a great deal of fun. Nothing less than simple to execute, the experiments open a new world for automation, data collection, and robotics. I can’t wait to dive back in soon, to learn more.

Now, I have VNC running directly to my MacBook Pro which also provides Internet access. I have loaded Kodi, the multimedia player, and will tomorrow conduct a test-run of the Raspberry Pi with a 7″ touchscreen LCD as my principal provider of music in my Subaru. If successful, I will remove the Kenwood deck and instead install the Raspberry Pi plus amplifier and once again have full control of my driving environment.

By | 2018-11-25T17:14:17+00:00 December 29th, 2017|Critical Thinker, Humans & Technology, Ramblings of a Researcher|Comments Off on A Raspberry Pi for the Holidays

TensorFlow enabled Genetic Programming

GECCO ’17 Proceedings of the Genetic and Evolutionary Computation Conference Companion
http://dl.acm.org/citation.cfm?id=3084216

Abstract: “Genetic Programming, a kind of evolutionary computation and machine learning algorithm, is shown to benefit significantly from the application of vectorized data and the TensorFlow numerical computation library on both CPU and GPU architectures. The open source, Python Karoo GP is employed for a series of 190 tests across 6 platforms, with real-world datasets ranging from 18 to 5.5M data points. This body of tests demonstrates that datasets measured in tens and hundreds of data points see 2-15x improvement when moving from the scalar/SymPy configuration to the vector/TensorFlow configuration, with a single core performing on par or better than multiple CPU cores and CPUs. A dataset composed of 90,000 data points demonstrates a single vector/TensorFlow CPU core performing 875x better than 40 scalar/Sympy CPU cores. And a dataset containing 5.5M data points sees GPU configurations out-performing CPU configurations on average by 1.3x.”

My first 1st-author paper is published! Thank you Lee, Eddie, Marco, Arun, and Iuri for your input, support, and collaboration. –kai

By | 2017-08-05T18:31:13+00:00 August 5th, 2017|Ramblings of a Researcher|Comments Off on TensorFlow enabled Genetic Programming

Postcard from Mars – a SIMOC update: August 01, 2017

ECLSS by Wikipedia commons

ECLSS
An Environmental Control and Life Support System (ECLSS) enables humans to survive in a semi-open (Fig 1) completely closed (BioSphere II, Lunar Palace) ecosystem. In a traditional model, all components vital to sustaining life are tracked by a network of system monitors. Careful estimations are made for the quantity of humans in the given environment for a particular period of time, against the resources provided. The amount of work they perform, the food they consume, and the number of hours they sleep all affect the duration and quality of the mission (see Wikipedia commons image, above).

In this linear tabulation of resource allocation and consumption each human actor or agent is treated as an IN and OUT box, a system which transforms one resource of a particular quantity into a bi-product which is either reused or discarded as waste.

To use this model for a massively scalable system (4-40,000 people) will result in an arduous, ultimately failing bookkeeping effort of tracking values such as the quantity of molecules of oxygen, carbon dioxide, water, calories, Watts or Joules. Through this linear method, we will be less likely to discover causality. If instead we can build a model which considers the relationship between two or more systems, which are themselves maintained by a constant input of energy and mass flow against the natural progression toward system breakdown, then we will gain a better sense of what it means to scale a human colony in a totally foreign, inhospitable environment, from the first astronauts to arrive to a genetically viable human gene pool that can, of its own accord, carry the human species forward.

A rendezvous with Rama
In our imagination, humans in a distant future have gained the ability to travel vast distances in relatively short periods of time. An exploratory mission discovers a massive, abandoned space station in orbit about a planet which itself is not conducive to life as we know it. We attach a shuttle craft to the hull of the outpost, tens of kilometers in diameter, and let ourselves inside. There does not appear to be a single living creature inside. Nothing moves, not even automated repair and management systems.

Immediately, we ask, For how long has this outpost been abandoned?

To answer that question, we determine if the atmosphere is breathable for humans, and we remove our helmets. The air is dry, cold, and devoid of the smell of decay. There is an odor of machine oil and mechanical systems.
While completely sealed, and safely parked in a non-decaying orbit far above the drag of the atmosphere, this habitat is decaying. It is slowly degrading. No matter how well crafted, no matter how perfectly every nut, bolt, and weld is applied, eventually this artificial world will fall to pieces.

You can point to the systems which are no longer being maintained: water delivery, sewage removal, atmosphere recycling systems. The ship’s hull is continuously bombarded with radiation from the binary star system 1.5 AU from the orbit of the host planet. Each of these is breaking down due to a lack of maintenance.

As we explore the inner halls and chambers of this orbiting world we take note of the integrity of the structure. Are seals in tact? Are lubricants leaking? Do the doorways to passages open and close securely? Do motors yet spin and pistons yet pump? Or have all moving parts seized and become immobile?

While we tend to measure breakdown over time, we can also measure the disorganization of the structure, at the macroscopic and microscopic levels. Physical breakdown of a mechanical system can be described as a degree of current functionality in comparison to its original design parameters. In this alien outpost, despite the incredible technology employed, we do recognize the failure of some systems (once rebooted and encouraged to operate again), such that we are able to estimate their original function and design specification. The difference between full capacity and the current state is a ratio which can be described as a normalized function, from zero through one [0 … 1] where 1 is complete, working order and 0 is a seized, non-functioning machine, no longer providing the intended service, and thereby no longer supporting this habitat nor the inhabitants who once occupied it.

This breakdown, the unavoidable decline of all bounded systems can be described by the single variable entropy, or the measure of organization.

SIMOC sketch by Kai Staats

So let’s take a few steps back, to a time when the alien station was yet inhabited. We can safely assume that at that time there was a maintenance schedule, a system by which the entire structure was maintained through routine inspection, repair, and replacement. This could have been done by the macroscopic hands of the aliens (who appear to be of a similar stature to that of the human explorers), an automated array of robotic assistants, or by microscopic nanobots whose function is to maintain the integrity of all functional systems, at all times, such that no weaknesses ever develop, and no systems ever suffer from catastrophic failure.

Either way, there is a cost to this maintenance, the work (w), or energy expenditure and mass flow to maintain the function (f) of the habitat. Organization (o) of this work requires management of information (i). As such, we have defined a means by which we can measure the status of a closed ecosystem:

  1. Organization
  2. Information
  3. Work

Function, then, is a relationship between the Organization, Information, and Work attributed to the sustained management of the habitat, or its total functionality. While each of these could be measured in any of number methods, we will place each in a tightly bound relationship to entropy, such that entropy is the counterpart, the undoing of organization, information, work, and ultimately the function.

Now, we have a new means of monitoring the health of the physical parameters of an isolated habitat, as:

f = (o [operator] i [operator] w) / entropy

Where the ratio is a measure of the effort or energy required to ultimately maintain a self-contained ecosystem without ever having had to count the molecules of oxygen, water, or complex carbohydrates. In a newly built habitat, the entropy is low, therefore the maintenance is low as well. But as the habitat ages, or if catastrophe strikes, the entropy will be large, thereby requiring greater organization, information, and work to bring it back into compliance with sustaining human life.

We are relating the current state of the system to its design specification over the inevitable force of entropy.

Back to Mars
If we employ a normalized set of values, as discussed above, then the maths is quite simple, even as we scale this colony from 4 to 400 to 40,000 individual habitants. This is not to say we will not count molecules nor worry ourselves with the atmospheric pressure in the greenhouse, for our model is in fact based on data accumulated from close-ecosystem and bioregenerative experiments on Earth. But to find those non-linear functions of scalability, we must remove ourselves from the line-item bookkeeping which would otherwise overlook the economies of scale which will surely affect a growing colony.

The habitat itself is designed to sustain human life in an otherwise inhospitable environment. As such, we can model the human lives of the astronauts by making certain the habitat itself is functional. We have established a potential framework built upon four parameters which enable us, at any point in the run-time of our SIMOC model, determine the relatively “health” of the physical structure of the habitat.

Now, let’s turn our attention to the health of the human habitants for which the habitat was designed and built Like a structure which is built from concrete, steel, glass, and soil, humans are composed of building blocks. Water, oxygen, calories, protein, vitamins and minerals make up the fluid and solid systems of our bodies.
How do we bring such discreet elements into the SIMOC model without managing each and every molecule that supports the lives of the human inhabitants of the isolated colony? In much the same way as we did with the habitat, we can look at the construct of the human body, and what breaks down over time.

One can see the human body as an assembly of points of failure, critical systems which must be satisfied. Oxygen intake, carbon dioxide exhalation, water, calories, nutrition, and waste management are as mission critical to the human body as is a sealed, pressurized shell to a habitat.

If we see humans as the caretakers of the habitat, that is, the principal labor force responsible for its anti-entropic upkeep, and the habitat as the physical construct which enables the humans to survive in outer space, or on a remote planet, then we have created a positive feedback loop in which each unit supports the other.

What happens when automated or directed robot labor replaces the human maintenance engineer? The labor is shifted from one entity to another, but the total work required to maintain the habitat is sustained, and the total quantity of humans supported, given the immediate infrastructure is not changed. Rather, the caloric expenditure of each human in the habitat is shifted to other functions, and the economy of scale is realized.

By | 2018-03-10T22:07:37+00:00 August 1st, 2017|Ramblings of a Researcher|Comments Off on Postcard from Mars – a SIMOC update: August 01, 2017

When I sell my vision

Research has its moments of upset, intrigue, and thrill.

But for this past six months these moments are lost to the effort of writing.

Proposal followed by proposal, I am a salesman with a briefcase full of ideas. Some new. Some old. Some revised. Some bold. If my visions for a better tomorrow are a good match to your funding of today, then we will enter into a partnership in which I am paid to investigate, experiment, and to play.

By | 2017-06-10T00:12:27+00:00 May 31st, 2017|Ramblings of a Researcher|Comments Off on When I sell my vision

SIMOC – Visions of a village on Mars

“Some stories only make sense in retrospect, the looking back giving foundation to where we now stand. This is the first of what will hopefully be a series of essays to describe the path from a Good Sam’s campground in 2011 to in some way, helping develop the first community on Mars.” –kai

It starts long ago, beneath a stair case in the basement of our family home in Columbus, Nebraska. Friend Jason Zach and I covered the underside of the stairs with plywood, cardboard, a dead monochrome CRT, and myriad electronic components, wires that stimulated Radio Shack switches, piezoelectric sirens, and LEDs and wires that went nowhere. In that spacecraft, we journeyed across the galaxy, venturing to the shores of distant planets whose inhabitants had never before seen humans. Jason was an expert marksman, never afraid to attack. I was keenly interested in obtaining samples, studying the cultures, and welcomed Jason to cover my back.

Many years later, while camped at a Good Sam’s, in Seabrook, New Hampshire on August 2011, I returned to that child-like sense of belonging to a distant place and time. As described, I believed I gained some insight as to how isolated communities might evolve on space stations, Mars and asteroid outposts, even among the stars.

Later that same year, I returned to Holden Village, an isolated village in the Cascades of Washington State. In those months late in the year, the retreat of summer saw the last of the guests depart down the sixteen miles to Lake Chelan. Those of us who remained, counted by dozens, shifted our daily routine from that of a more finite task to general support of the village. Files had to be stoked in order to heat the buildings, snow shoveled, and the water driving the hydro-electric generator kept from freezing, else the electricity would fail.

In those crisp, cold, mostly dark winter days that followed, Holden was a true Village. While a hierarchy of command remained, we became more egalitarian, sharing in the responsibilities of maintenance, even survival should a heavy snow storm bury the pathways and building exits or make impossible a medical evacuation. It was then that my interest in village (communal) living was again stimulated, and the journey to Mars re-ignited.

For five months in 2012 I worked as a photo journalist and documentary filmmaker in Palestine, where a sense of isolation from the world was applied not a mountain village, but the confines of geopolitical boundary that has the power to contain people from birth to death. I witnessed first-hand how the skilled craftsmen and capable artisans were the backbone of an economy of trade and negotiation in place of the familiar currencies of exchange. I learned how much individuals depend upon each other, especially in the challenging times.

I was building a sense of what it meant to live with the challenge of an isolated environment.

On an isolated ranch in the Rocky Mountains of Colorado in 2013, I lived for six months—up to six weeks without face-to-face contact with another human being. In those months I gained from the challenge and ultimate reward of true isolation; a chance to discover who I am without the influence of others, without opportunity to attribute my success nor place blame on the actions of others.

In 2014 I joined MarsCrew134 at the Mars Desert Research Station (MDRS) as the seventh member of an isolated, Mars analog crew. We lived for two weeks in the confines of a simulated Mars lander, a two-story vehicle just large enough to contain individual sleeping quarters, two airlocks, kitchen and crew commons, toilet and shower, lab, and minimal storage. We departed the structure only while wearing a spacesuit, the visor scratched and needing replacement; the radios dodgy at best. The crew came from six countries, representing seven nationalities and more than a dozen languages spoken. It was not always easy, and at times far from fun, but we made the best of those two weeks, focused on our research, data collection, and surviving the simulation. We came away friends for a life-time, even now traveling far to see each other again.

It was then that I became invested in a study of village life. In part because I realized that is where I felt most at home; in part because at least for the first generation, that is how humans will once again live when we finally place boots on Mars.

This week I submitted a proposal to the Interplanetary Initiative at Arizona State University’s School of Earth and Space Exploration (SESE) for the research and development of a mathematical model of a scalable, isolated model of an off-world community (SIMOC).

Now we wait …

By | 2017-12-21T15:46:40+00:00 May 21st, 2017|Ramblings of a Researcher|Comments Off on SIMOC – Visions of a village on Mars

How to Install TensorFlow on OSX 10.11

If you are coming to OSX from Ubuntu, the installation of applications can go smoothly, as Apple intends, or leave you beyond the threshold of frustration, in a dismal state of frustration, rage, and despair. The instructions at the TensorFlow website are correct, if everything goes as planned. But as noted, “Since a native pip installation is not walled-off, the pip installation might interfere with or be influenced by other Python-based installations on your system,” for me, this became a real problem.

I tried pip, then virtualenv, then Anaconda only to find that none of these worked, for various reasons I won’t go into here. The key issue with pip was that the ‘Collecting …’ stalled, it would hang there, for minutes, even hours (as I waited, and waited, just to make certain). When I canceled the process (CTRL-C), I noted a lockfile in the process output.

It was not until my associate Iurii M. had time to assist me, that he discovered a work-around, using pip with the ‘–no-cache-dir’ extension in order to force it to bypass the locked file (which we never did locate). Then, the collection just worked, as it should, and for the most part, it was installed and running in roughly 30 minutes, including the time required to open an NVIDA developer account and obtain the CUDNN license.

So, here’s how the installation of TensorFlow on OSX goes …

  1. Install Homebrew
    $ brew update
    $ brew upgrade
    $ brew doctor
    $ brew install python

    * always run brew and pip from user session, not root

  2. Upgrade pip install:
    $ pip install -U pip
     
  3. Install TensorFlow
    * use pip with cach disabled (to keep terminal from stalling):

    $ pip install –no-cache-dir -I tensorflow-gpu

  4. Install CUDA

    $ brew install Caskroom/cask/cuda

  5. Install CUDNN (from NVIDIA)
    https://developer.nvidia.com/cudnn

    $ Download cuDNN v5 (May 27, 2016), for CUDA 8.0

  6. Unzip & Install
    1. select location for unzip
    2. move items proper location:
      mv -v lib/libcudnn* /usr/local/cuda/lib
      mv -v include/cudnn.h /usr/local/cuda/include

     

  7. Test TensforFlow
    $ python
    $ import tensor flow
By | 2017-09-05T07:03:12+00:00 April 6th, 2017|Ramblings of a Researcher|Comments Off on How to Install TensorFlow on OSX 10.11

Karoo GP and TensorFlow

Yesterday I received a revision to Karoo GP which now includes the Python machine learning library TensorFlow. The 10,000 row dataset which consumed 48 hours for 30 generations of evolution on a powerhouse 40 core motherboard now runs in less than 4 minutes on a single GPU card.

30 lines of code revised, and Karoo enjoys a 720x improvement in performance.

I am blown away.

The updated version of Karoo will be released to github with the close of December, after the contract developer and I complete a suite of tests and the code is prepared for release.

By | 2017-08-05T19:09:18+00:00 December 3rd, 2016|Ramblings of a Researcher|Comments Off on Karoo GP and TensorFlow