1 of 36 Finding The Human Trajectory By Ian Beardsley © 2016
2 of 36
In From Media Theory to Space Odyssey: Petar Jandric´ interviews Paul Levinson, Petar Jandric´ quotes me in a question to Paul Levinson in which what I said, and in what Paul Levinson answered, gets at the crux of what this research is about:


3 of 36
4 of 36 The Synergy Calculator Model Future Short Model Future
5 21 26
5 of 36 The Synergy Calculator
6 of 36 The Idea: Synergy means “The whole is greater than the sum of the parts.” A technology according to Buckminster Fuller “is that which increases our degrees of freedom.” We use the idea that we develop the theory such that only whole numbers are used. This is done to use design of the system such that it increases simplicity of usage so that it is usable to a wider range of disciplines while at the same time achieving more, thus creating a more positive effect by breaking down the barriers erected by specialization. We achieve more using less in that we define our parameters such that there is no division of integers, thus eliminating the need for floats and casting in the source code, thus only needing to declare integers. The Theory: the degrees of freedom are N factorial (N!) because if we have a and b, the permutations for three technological functions are N!=6: (aaa), (aab), (abb), (bbb), (bba), (baa). That is, 3! = 1X1X2X3 = 6. These are the degrees of freedom for a 3 function technology. The work done by the technology must be a whole number expression thus, there can be no division. This is easily explained by looking at the ascii values for the the keyboard characters in binary. A bit is a zero or a one. Each character on the keyboard is described by a byte, which is the word for eight bits, thus we say there are two to the power of eight numbers available in binary for characters on the key board: 2^8=256. The work done by the technology is N^n, where n is the number steps to carry out the task (N is the number of technological functions the technology carries). The progress is work times n, again using no division to stick with whole number evaluations and results. The quality of life provided by the technology is described by the degrees of freedom provided by the technology times the work done by it. This paradigm becomes complete when we include Fuller’s stance that progress only happens through individual initiative. The Objective of the Project: To develop a software that evaluates the work done by a technology, the amount of progress it provides, and how much it increases the individual’s quality of life. Ian Beardsley September 14, 2016 Claremont, CA
7 of 36 #include <stdio.h> #include <math.h> int main(void) { int work, progress, n, quality; int N, fact=1; char verb[15], noun[15], step[15], function[15]; printf("What is verb describing task: "); scanf("%s", verb); printf("What is a noun describing task: "); scanf("%s", noun); printf("The task is: %s %s\n", verb, noun); printf("Enter number of functions done by the technology: "); scanf("%d", &N); printf("Enter the name of each function in one word: \n"); for (int j=1; j<=N; j++) { printf("Function %d: ", j); scanf("%s", function); } printf("Enter the number steps in task: "); scanf("%d", &n); printf("List the steps task in one word each: \n"); for (int k = 1; k<=n; k++) { printf("Enter function %d: ", k); scanf("%s", step); } work=pow(N, n); printf("work done: %d\n", work); progress=work*n; printf("progress: %d\n", progress); for (int i=1; i<=N; i++) { fact=fact*i; } printf("degrees of freedom: %d\n", fact); quality = work*fact; printf("Quality of Life rating for Technology: %d\n", quality); }
8 of 36 jharvard@appliance (~): cd Dropbox jharvard@appliance (~/Dropbox): make work clang -ggdb3 -O0 -std=c99 -Wall -Werror work.c -lcs50 -lm -o work jharvard@appliance (~/Dropbox): ./work What is verb describing task: calculate What is a noun describing task: area The task is: calculate area Enter number of functions done by the technology: 3 Enter the name of each function in one word: Function 1: recall Function 2: multiply Function 3: square Enter the number steps in task: 8 List the steps task in one word each: Enter function 1: 0.5 Enter function 2: enter Enter function 3: pi Enter function 4: recall Enter function 5: multiply Enter function 6: enter Enter function 7: square Enter function 8: multiply work done: 6561 progress: 52488 degrees of freedom: 6 Quality of Life rating for Technology: 39366 jharvard@appliance (~/Dropbox): ./work What is verb describing task: make What is a noun describing task: coffee The task is: make coffee Enter number of functions done by the technology: 3 Enter the name of each function in one word: Function 1: reservoir Function 2: filter Function 3: heat Enter the number steps in task: 3 List the steps task in one word each: Enter function 1: fill (reservoir) Enter function 2: fill (filter) Enter function 3: brew work done: 27 progress: 81 degrees of freedom: 6 Quality of Life rating for Technology: 162 jharvard@appliance (~/Dropbox):
9 of 36 Let’s see if we can run these results on the HP 35s scientific calculator and get the same results: SYNERGETICS.HP (WORK = W, PROGRESS=P) INPUT F = NUMBER OF FUNCTIONS OF THE TECHNOLOGY INPUT N = NUMBER OF STEPS OF THE TASK PRGM TOP P001 LBL P P002 INPUT F P003 INPUT N P004 STO N P005 RCL F P006 RCL N P007 y^x P008 STO W P009 FN= W P010 RCL W P011 RCL N P012 X (MULTIPLY) P013 STO P P014FN= P P015 RTN XEQ P000 F? 3 N? 3
R/S R/S
27.000000000 81.000000000 RUN ON AN HP 35s
10 of 36 SYNERGETICS.HP (Q=QUALITY OF LIFE) INPUT F = NUMBER FUNCTIONS OF THE TECHNOLOGY INPUT N = NUMBER OF STEPS OF THE TASK PRGM TOP Q001 LBL Q Q002 INPUT F Q003 ! Q004 STO D Q005 INPUT N Q006 RCL F Q007 y^x Q008 RCL D Q009 X (multiply) Q010 RTN XEQ Q000 F? 3 N? 3
R/S R/S
6.000000000 (Degrees of Freedom) 162.000000000 (Quality of Life)â&#x20AC;©
11 of 36 The Code In Python s = str(raw_input("Describe the task in two words: ")); N = int(raw_input("Enter the number of functions done by the technology: ")) n= int (raw_input("Enter the number of steps in the task: ")); i=1 fact = 1 while (i<=N): fact=fact*i i=i+1 work = N**n progress = work*n quality = work*fact else: print("Degrees of Freedom = " + str(fact)); print("work done = " + str(work)); print("progress = " + str(progress)); print("Quality of life rating = " +str(quality));â&#x20AC;Š
â&#x20AC;©
12 of 36
13 of 36 The Code In Java import comp102x.IO; public class Lab02 { public static void multiply() { System.out.print("Enter number of functions done by technology: "); double N = IO.inputDouble(); System.out.print("Enter number of steps in task: "); double n = IO.inputDouble(); int fact = 1; for (int i = 1; i<=N; i++) { fact = fact*i; } double work = java.lang.Math.pow(N,n); double progress = work*n; double quality = work*fact; IO.outputln("Work: "+ work + "progress: " + progress + "quality: " + quality); } }
14 of 36 The Code in Javaâ&#x20AC;©
15 of 36 In Xcode Beta Choose Command Line Tool, then give product name:â&#x20AC;Š
16 of 36 // // // // // // //
main.m work Created by Ian Beardsley on 9/15/16. Copyright (c) 2016 ovnigitano. All rights reserved.
#import <Foundation/Foundation.h> #include <stdio.h> #include <math.h> int main(int argc, const char * argv[]) { @autoreleasepool { { int work, progress, n, quality; int N, fact=1; char verb[15], noun[15], step[15], function[15]; printf("What is verb describing task: "); scanf("%s", verb); printf("What is a noun describing task: "); scanf("%s", noun); printf("The task is: %s %s\n", verb, noun); printf("Enter number of functions done by the technology: "); scanf("%d", &N); printf("Enter the name of each function in one word: \n"); for (int j=1; j<=N; j++) { printf("Function %d: ", j); scanf("%s", function); } printf("Enter the number steps in task: "); scanf("%d", &n); printf("List the steps task in one word each: \n"); for (int k = 1; k<=n; k++) { printf("Enter function %d: ", k); scanf("%s", step); } work=pow(N, n); printf("work done: %d\n", work); progress=work*n; printf("progress: %d\n", progress); for (int i=1; i<=N; i++) { fact=fact*i; }
17 of 36 printf("degrees of freedom: %d\n", fact); quality = work*fact; printf("Quality of Life rating for Technology: %d\n", quality); } NSLog(@"Hello, World!"); } return 0; }
18 of 36 If build succeeds, run in Xcode Beta Terminal:
19 of 36 Run in Mac Utility Terminal by extracting the executable file in Xcode Beta:
20 of 36 Claires-MBP:~ ianbeardsley$ /Users/ianbeardsley/Desktop/work ; exit; What is verb describing task: make What is a noun describing task: coffee The task is: make coffee Enter number of functions done by the technology: 3 Enter the name of each function in one word: Function 1: reservoir Function 2: filter Function 3: brew Enter the number steps in task: 3 List the steps task in one word each: Enter function 1: fill Enter function 2: fill Enter function 3: brew work done: 27 progress: 81 degrees of freedom: 6 Quality of Life rating for Technology: 162 2016-09-15 00:48:28.757 work[22821:2431039] Hello, World! logout [Process completed]â&#x20AC;Š
21 of 36 Model Future Short We equate the probability of landing at a distance in a random walk to the percent development of Humanity. Thus, as an example, we say landing at plus 4 after 10 random jumps of one light year each with equal probability of jumping either left or right (p=0.5, q=0.5) which can be expressed (p =1/2, q=1/2) that there is a 12% development towards building a starship since 1969 (The year we landed on the moon) to 2009 (the year we put space telescopes in orbit that would see back to the beginning of the Universe). 2009 - 1969 = 40 years. Thus in 40 years we have developed 12% towards the objective. Knowing the t = 40 years we can use the equation of exponential growth to determine the growth rate constant, k. Which in this case is 0.0621. Knowing the growth rate, we can determine in what year we will have a starship since 1969 is time = 0. We can adjust the probabilities towards the objective and away from the objective by according to our assessment of the human state at an given moment in time. The following is the equation of a random walk. N is the number of jumps (10), p and q are the probabilities of jumping either left or right, and n1 and n2 are the jumps left and right. So if we are to land at plus 4 in 10 leaps, then n1 = 3 and n2 =7 (n1+n2 = 10, and n2-n1=7).â&#x20AC;Š
22 of 36
The HP 35sâ&#x20AC;©
23 of 36 W.HP
Part 1
Percent Development
hp 35s
W001 LBL W W002 INPUT N W003 ! W004 STO X W005 INPUT A W006 ! W007 STO Y W008 INPUT B W009 ! W010 STO Z W011 INPUT P W012 RCL A W013 y^x W014 STO U W015 INPUT Q W016 RCL B W017 y^x W018 STO V W019 RCL U W020 RCL V W021 X (MULTIPLY) W022 STO C W023 RCL Y W024 RCL Z W025 X (MULTIPLY) W026 STO D W027 RCL X W028 RCL C W029 X (MULTIPLY) W030 RCL D W031 / (DIVIDE) W032 100 W033 X (MULTIPLY) W034 RTN To run this, type: XEQ W000 N? 10 R/S A? 3 R/S B? 7 R/S P? 0.5 R/S Q?i 0.5 R/S …… RUNNING Answer: 11 23/32
Which is correct, it rounds to 12%
24 of 36 R.HP
Part 2
Growth Rate
hp 35s (Using result from part 1, W.HP)
R001 LBL R R002 INPUT W R003 LOG R004 STO W R005 INPUT T R006 STO T R007 2.718 R008 LOG R009 STO L R010 RCL W R011 RCL T R012 / (DIVIDE) R013 RCL L R014 / (DIVIDE) R015 RTN To run this, type: XEQ R000 W? 12 T? 40
R/S R/S R/S
…… RUNNING Answer: 178/2865 = 0.0621 (Which is Correct)
25 of 36 T.HP
Part 3
Time Objective Achieved hp 35s (Using results from part 2, R.HP)
T001 LBL T T002 INPUT R T003 STO R T004 100 T005 LOG T006 STO L T007 2.718 T008 LOG T009 STO E T010 RCL L T011 RCL R T012 / (DIVIDE) T013 RCL E T014 / (DIVIDE) T015 RTN To run, type: XEQ T000 R? 0.0621
R/S R/S
…… RUNNING
Answer: 74 167/1012 =74.165 years ~ 74 years (Which is correct) 1969 + 74 =2043
26 of 36
Model Futureâ&#x20AC;©
27 of 36
Star System: Alpha Centauri Spectral Class: Same As The Sun Proximity: Nearest Star System Value For Projecting Human Trajectory: Idealâ&#x20AC;©
28 of 36
The probability of landing at four light years from earth at Alpha Centauri in 10 random leaps of one light year each (to left or right) is given by the equation of a random walk:
{ W }_{ n }({ n }_{ 1 })=\frac { N! }{ { n }_{ 1 }!{ n }_{ 2 }! } { p }^{ n1 }{ q }^{ n2 }\\ N={ n }_{ 1 }+{ n }_{ 2 }\\ q+p=1
To land at plus four we must jump 3 to the left, 7 to the right (n1=3, n2 = 7: 7+3=10):â&#x20AC;Š
29 of 36
Using our equation:
! We would be, by this reasoning 12% along in the development towards hyperdrive. Having calculated that we are 12% along in developing the hyperdrive, we can use the equation for natural growth to estimate when we will have hyperdrive. It is of the form: ! t is time and k is a growth rate constant which we must determine to solve the equation. In 1969 Neil Armstrong became the first man to walk on the moon. In 2009 the European Space Agency launched the Herschel and Planck telescopes that will see back to near the beginning of the universe. 2009-1969 is 40 years. This allows us to write: ! log 12 = 40k log 2.718 0.026979531 = 0.4342 k k=0.0621 We now can write: ! ! log 100 = (0.0621) t log e t = 74 years 1969 + 74 years = 2043 Our reasoning would indicate that we will have hyperdrive in the year 2043.
30 of 36
Study summary: 1. We have a 70% chance of developing hyperdrive without destroying ourselves first. 2. We are 12% along the way in development of hyperdrive. 3. We will have hyperdrive in the year 2043, plus or minus. Sierra Waters was handed the newly discovered document in 2042. Sierra Water was a Paul Levinson character in his book The Plot To Save Socrates. Her adventure was one to excel human development, in particular to attain hyperdrive technology for making a starship. In Isaac Asimovâ&#x20AC;&#x2122;s I, Robot, he has that a computer called The Brain, will invent hyperdrive in 2044. My value of 2043 is right in-between these two assessments.â&#x20AC;Š
31 of 36 modefuture.c #include <stdio.h> #include <math.h> int main (void) { printf("\n"); int N, r; double u, v, y, z; double t,loga, ratio; int n1, n2; char name[15]; float W,fact=1,fact2=1,fact3=1,a,g,rate,T,T1; double x,W2; printf("(p^n1)(q^n2)[W=N!/(n1!)(n2!)]"); printf("\n"); printf("x=e^(c*t)"); printf("\n"); printf("W is the probability of landing on the star in N jumps.\n"); printf("N=n1+n2, n1=number of one light year jumps left,\n"); printf("n2=number of one light year jumps right.\n"); printf("What is 1, the nearest whole number of light years to the star, and\n"); printf("2, what is the star's name?\n"); printf("Enter 1: "); scanf("%i", &r); printf("Enter 2: "); scanf("%s", name); printf("Star name: %s\n", name); printf("Distance: %i\n", r); printf("What is n1? "); scanf("%i", &n1); printf("What is n2? "); scanf("%i", &n2); printf("Since N=n1+n2, N=%i\n", n1+n2); N=n1+n2; printf("What is the probability, p(u), of jumping to the left? "); scanf("%lf", &u); printf("What is the probability, p(v), of jumpint to the left? "); scanf("%lf", &v); printf("What is the probability, q(y), of jumping to the right? "); scanf("%lf", &y); printf("What is the probability, q(z), of jumping to the right? "); scanf("%lf", &z); printf("p=u:v"); printf("\n"); printf("q=y:z"); printf("\n"); for (int i=1; i<=N; i++)
32 of 36 { fact = fact*i; printf("N factorial = %f\n", fact); a=pow(u/v,n1)*pow(y/z,n2); } for (int j=1; j<=n1; j++) { fact2 = fact2*j; printf("n1 factorial = %f\n", fact2); } for (int k=1; k<=n2; k++) { fact3 = fact3*k; printf("n2 factorial = %f\n", fact3); x=2.718*2.718*2.718*2.718*2.718; g=sqrt(x); W=a*fact/(fact2*fact3); printf("W=%f percent\n", W*100); W2=100*W; printf("W=%.2f percent rounded to nearest integral\n", round(W2)); } { printf("What is t in years, the time over which the growth occurs? "); scanf("%lf", &t); loga=log10(round(W*100)); printf("log(W)=%lf\n", loga); ratio=loga/t; printf("loga/t=%lf\n", ratio); rate=ratio/0.4342; //0.4342 = log e// printf("growthrate constant=%lf\n", rate); printf("log 100 = 2, log e = 0.4342, therfore\n"); printf("T=2/[(0.4342)(growthrate)]\n"); T=2/((0.4342)*(rate)); printf("T=%.2f years\n", T); printf("What was the begin year for the period of growth? "); scanf("%f", &T1); printf("Object achieved in %.2f\n", T+T1); } }
33 of 36 running modelfuture.c Last login: Wed Jun 29 22:20:17 on ttys000 Claires-MBP:~ ianbeardsley$ /Users/ianbeardsley/Desktop/c\ files/ modelfutre\ execs/modelfuture\ copy ; exit; (p^n1)(q^n2)[W=N!/(n1!)(n2!)] x=e^(c*t) W is the probability of landing on the star in N jumps. N=n1+n2, n1=number of one light year jumps left, n2=number of one light year jumps right. What is 1, the nearest whole number of light years to the star, and 2, what is the star's name? Enter 1: 4 Enter 2: alphacentauri Star name: alphacentauri Distance: 4 What is n1? 3 What is n2? 7 Since N=n1+n2, N=10 What is the probability, p(u), of jumping to the left? 1 What is the probability, p(v), of jumpint to the left? 2 What is the probability, q(y), of jumping to the right? 1 What is the probability, q(z), of jumping to the right? 2 p=u:v q=y:z N factorial = 1.000000 N factorial = 2.000000 N factorial = 6.000000 N factorial = 24.000000 N factorial = 120.000000 N factorial = 720.000000 N factorial = 5040.000000 N factorial = 40320.000000 N factorial = 362880.000000 N factorial = 3628800.000000 n1 factorial = 1.000000 n1 factorial = 2.000000 n1 factorial = 6.000000 n2 factorial = 1.000000 W=59062.500000 percent W=59063.00 percent rounded to nearest integral n2 factorial = 2.000000 W=29531.250000 percent W=29531.00 percent rounded to nearest integral n2 factorial = 6.000000 W=9843.750000 percent W=9844.00 percent rounded to nearest integral n2 factorial = 24.000000
34 of 36 W=2460.937500 percent W=2461.00 percent rounded to nearest integral n2 factorial = 120.000000 W=492.187500 percent W=492.00 percent rounded to nearest integral n2 factorial = 720.000000 W=82.031250 percent W=82.00 percent rounded to nearest integral n2 factorial = 5040.000000 W=11.718750 percent W=12.00 percent rounded to nearest integral What is t in years, the time over which the growth occurs? 40 log(W)=1.079181 loga/t=0.026980 growthrate constant=0.062136 log 100 = 2, log e = 0.4342, therfore T=2/[(0.4342)(growthrate)] T=74.13 years What was the begin year for the period of growth? 1969 Object achieved in 2043.13 logout [Process completed]
35 of 36 The Authorâ&#x20AC;©
36 of 36