Monthly Archives: December 2016

Phil 12.30.16

7:00 – 8:00, 8:30 – 5:00 Research

  • Cool thing. Maybe for Ravi?
  • Moving speed to FlockingBeiliefCA and adding slewRate – done. Added an update of the global belief to the agent manager behavior loop.
  • Calculate average heading
  • Calculate average center
  • Add decay based on distance?
    • Sorted list of boids by distance
    • Within a sphere of influence? the vector to the target is scaled by something like 1/distance. Done! looks great!
  • TODO:
    • Move localBehavior to FlockingBeiliefCA. pass in array of other beliefs and maybe the influence diameter
    • Make FlockingShape clusterable based on norms() to other Shape’s beliefs
    • For charting, calculate distances and direction cosine from average center. Export that to excel. We’ll need a sampling interval.
    • Start thinking about network connections

Phil 12.29.16

7:00 – 8:00, 8:30 -3:30 Research

  • But first, we update IntelliJ…
  • The goal today is to get boids to set up the methods that control behavior:
    • Alignment: steer towards the average heading of local flockmates
    • Cohesion: steer to move toward the average position of local flockmates
    • Separation: steer to avoid crowding local flockmates
      • I’m not sure about this one. In the case of a belief system, there really isn’t a need for collision avoidance.
  • Finishing ParticleBelief.interpolateHeading().
  • Changed the vector so that it is always unit, and added  speed variable for the particle belief


Phil 12.28.16

7:00 – 8:00, 8:30 – 4:00 Research

  • Thom Lieb found this for me today: Reuters Tracer – A Large Scale System of Detecting Verifying Real-Time News Events from Twitter. Downloaded. A must read.
  • Need to renew my cert for
  • Realized last night that I should be able to maintain angle and length for my rotation through ‘n’ dimensions between two vectors.
    • Get the angle between the two vectors (dot product)
    • Get the chord between the two normalized vectors
    • Now I have a 2D problem where I project the angle I want to rotate on the chord line. That gives me a new vector that I just need to normalise.
    • Solving simultaneous equations with matrices
    • The only condition where I see this failing is a 180 degree rotation.
    • Need to verify that this will work. It took forever for stupid math reasons but it does work.
    • Reworking ParticleBelief.interpolateHeading()
  • No pretty screenshots for today. Instead, here’s a murmuration of starlings

Magic Cloud from Marco Campazas on Vimeo.

Phil 12.27.16

Phil 7:15 – 8:15, 8:45 -4:15 Research

  • Adding start/stop Done. Should probably add a slider to adjust time
  • Implementing boids as per Craig Reynolds page
    • The flocking shape needs an orientation. Since this orientation can be any number of dimensions, where each statement is a dimension, I’m creating a ParticleBelief to contain ParticleStatements.
    • Getting the heading and rebuilding shape as boid triangles
    • Drawing triangles now. Using the Javafx examples here. Got angle working
    • Adding individual flocks
    • Working on an angle interpolation that will work for any number of dimensions. Going to start with interpolation and renormalization, since the steps should be incremental. I think it’s done. Will test tomorrow. Need to add the parts to the dprint?


Phil 12.26.16

7:00 – 12:00 Research

  • Winterize lawn mower – done!
  • Look into hopkins computational and regular ecology
  • Downloaded the new version of AtlasTi. It’s on OneDrive
  • The goal is to start the development of the flocking app. I’m going to start with a new FlockingGui. Done, now switching all the underlying pieces over. I think done for the day is when the agents are moving based on their belief statement value of xpos and ypos.
  • Update Java – no need
  • Update IntelliJ – downloaded locally and installed. Odd problem with FILE_PATH not being set in Settings->Appearance & Behavior -> Path Variables. This was just for JavaUtils and seems fine in GroupPolarizationModel. Anyway, everything is compiling and running.
  • Update TortoiseSVN – no need
  • Update WinSCP -no need
  • Copy over java code – done
  • Ok, the first thing to do is have an agent that takes its position from an xMapping() and yMapping() function. To begin with, this will be taking an xpos and ypos statement that vary as a function of time.
  • Currently the movement is calculated in the shape, since for force clustering the beliefs/statements don’t know their ‘positions’. This approach is different in that the beliefs are a measure of position in information space. Working through the changes

Phil 12.23.16

7:00 – 8:00 Research

8:30 – 4:00 BRC

  • Reading in a spreadsheet to GPM -done. Ok results, not great clustering
  • Tried adjusting the threshold and adding antibelief, but other than helping the refresh rate, no joy. I think I need a different distance/similarity calculation
    • Hops. Every agent is connected over the network by going through flag nodes. We could literally draw the node/agent network, and count the hops in an adjacency matrix
    • N-dimensional cartesian. As I recall, this is close to what I have already. It’s closely related to n-dimensional flocking, so I’m going to get that running anyway so that I can measure distance between/within flocks
    • Cosine similarity. I think that this is a good approach since it decomposes the dimensions in a useful way, particularly for sparse matrices.
    • There is similarity there, but not enough distance to make anything emerge. Pretty pix though.
  • integrityagents

Phil 12.22.16

7:00 – 8:00 Research

  • Met with Wayne yesterday evening. We’re going to take a look at science team data text to see how it compares with the overall coding by humans. Verified that the data is all available
  • Interesting stuff on NPR this morning on Russia: The information space opens wide asymmetrical possibilities for reducing the fighting potential of the enemy. In North Africa, we witnessed the use of technologies for influencing state structures and the population with the help of information networks. It is necessary to perfect activities in the information space, including the defense of our own objects [objectives].
  • Continuing with Sociophysics
    • Chapter 8: Endnote
      • Definition of consensus in an opinion model – the emergence of long-range order.
      • Looking for phase changes from heterogeneous to homogeneous or clustered states is important. Finding what parameters are causal and the values is considered a publishable result. Canonical types of transitions, such as the percolation threshold are discussed in the appendices.

BRC 8:30 – 4:30

  • Verify that the META_INF file in src isn’t screwing jar file creation. Deleted, with the same behavior. Sigh
  • Add fields for renaming columns. Will probably have to save the data out as XML to keep the relationship/mapping?
  • Find the code that strips off the common leading text (in GoogleCSE2?) Done
  • Started to work on clustering with Moby Dick and brought Aaron into the conversation to think about clustering issues – how to make like items gather together with other like items. NMF kind of does this by filling in latent values, but the question is where to cluster on
  • Finally read in the integrity data and it did not look good. I realize now that a matrix made up completely of zeros and ones will not be handled well by NMF since it will try to make all the cells one based on the models’s mechanism of treating zeroes as empty cells.
  • After talking to Aaron about it for a while, I think the better way to cluster will be based on the Group Polarization model. Need to be able to bring in that spreadsheet and then write out a report. Also, look at the high-dimension flocking.

Phil 12.21.16

7:00 – 8:00 Research

8:30 – 4:00 ASRC

Phil 12.20.16

7:00 – 8:00 School

  • Looks like I need to keep track of my hours better for next year. Getting started now
  • Continuing with Sociophysics

8:30 – 4:30 ASRC

  • Sorting TableColumn(s)- done. The trick is to change the name and the cellValueFactory:
    tc.setCellValueFactory(new MapValueFactory<>(colName));
  • Sorting rows is more straightforward. Just got a list of the sorted row sums and reordered based on that.
  • Need to update the value in the ‘selected field’ textarea.
  • Verify that the cells are tracking
  • Add a tab so that it’s possible to switch between the original and the product matrices
  • Add an Edit/recalculate capability
    • Tweak original matrix
    • Adjust k
    • Column clustering/renaming

Phil 12.19.16

7:15 – 4:15 ASRC

  • Continuing with Sociophysics
    • Chapter 7:  of flocks, flows and transports [page 179]
    • Boids (Flocks, herds and schools: A distributed behavioral modelCraig Reynolds):
      • Try to avoid collisions with other boids (repulsion)
      • Attempt to match velocity with neighboring boids
      • attempt to stay close to nearby boids
    • If the collision avoidance is taken out and the number of dimensions increased, then this could be the model. Rather than the flock converging around a position, look at the distances between the individuals using DBSCAN and cluster.
    • Density and noise need to be independent variables and saved on runs. This would also be true in information space. You can have high organization in high density, low noise states. Thinking about that, this also implies one of the emergent properties of an information bubble is the low noise. Even though the environment may be very noisy, the bubble isn’t.
    • As with the other social models, individuals can have weight. That way the flock can have leaders and followers. (See Misinformed leaders lose influence over pigeon flocks to inform the model)
    • Also, I like the idea of a social network being built from belief proximity, which raises the cost for switching to another flock, even if they are nearby. It could be that once a social network forms that anti-belief repulsion starts to play a role.
  • BRC
    • Updating intellij and Java.
    • Intellij failed to patch. Odd. Tried again and it worked.
    • Working on getting tables to update
      • Clear() – done
      • Load – done
      • Select row and modify – done
      • Working on columns and cells
      • Need to sort by row and column. Do this as part of the update() process