Phil 8.18.16

7:00 – 4:30 ASRC

  • Wrote up my recollection of the meetings with Don, Aaron and Shimei
  • Realized that there should be explicit affordances for confirming and avoiding as well as exploring. Added to the strawman mockup.
  • Adding a ‘model feedback’ section after the evaluation criteria for RQs 2, 3 and 4
  • Back to a simple model of GP
  • Starting on livePrint(String) needs a store and clear method. Done. Also added ctrl-click.
  • Need to make a special test case where one belief chases another. Reworking BeliefMain to support this. Done. The algorithm is good (hacked right now to transform quickly)
  • Meeting with Thom – he wants to see the contributions fleshed out. We discussed the larger frame of the contribution of a self-organizing trustworthy journalism, based on the idea that many people doing small implicit fact checking as a function of their information browsing patterns can be (as?) effective as a few people doing deliberate in-depth fact checking, and with the ability to scale.

Phil 8.17.16

7:00 – 7:00 ASRC

  • Working on the fact checking section
  • Trying out different approaches to the polarization algorithm – still not quite right. I think I need onscreen printing to debug
  • Meeting with Don and Aaron. They’d like a more sophisticated belief calculation that ages off old statements as a way of avoiding regression to the mean. Also, triangulation on group polarization in different contexts. I’m suggesting sexual selection, which I’m using already, and stock bubbles. It does look like these systems have been explored extensively. The following cover a pretty good range of years (1989 – 2016)
  • Meeting with Shimei. She’d like a better description of how the results of experiments are used to adjust the model.
    • I think this will mean that there may be several models in the end.
      • Models of information browsing based on term collections generated in/between search sessions
      • Models of GUI use using the tool. Since the idea behind the GUI is to provide affordances that support explorers, confirmers and avoiders, using those sections that support those behaviors should provide good insight and an addition to the model that is language independent. I think this may also address Aaron’s IDE question. Though, to have the a group polarization effect, there needs to be a way of supporting a non-verbal conversation. Maybe the way the page gets set up is dynamically configured by the group use?

Phil 8.16.16

7:00 – 5:00 VTX

Phil 8.15.16

7:00 – 5:00 VTX

  • Extending the group polarization section based on the lovely introduction in Modelling Group Opinion Shift to Extreme : the Smooth Bounded Confidence Model 
  • Still thinking about genetic co-evolution, particularly as demonstrated in sexual selection. In S.S., we have a group that can develop extreme, ‘useless’ and even objectively dangerous traits as genetic conversation with in a group. Birds provide several examples, ranging from peacocks to the Resplendent quetzal. And I think I may have found a paper that proposes some useful models: Models of speciation by sexual selection on polygenic traits. So Group Polarization == Speciation???
  • From the above paper: “The evolution of mating preferences may be self-reinforcing because, once started, females are selecting not only for more extreme males but also indirectly, through the genetic correlation, for a higher intensity of mating preferences. Fisher (3) stated that the result of this positive feedback could be a “runaway process,” in which a male trait and female preferences for it both increase geometrically or exponentially with time until finally checked by severe counterselection. 
  • And more: “In a finite population, random genetic drift in female mating preferences produces random selective forces on males, which in turn affect mating preferences through the genetic correlation between the traits. When the line of equilibria created by genetic variance in mating preferences is unstable, random genetic drift could trigger a runaway process of sexual selection. Even when the line of equilibria is stable, evolution along it can occur rapidly through the interaction of random genetic drift with natural and sexual selection because populations starting from the same point may drift to different sides of the line of equilibria and be selected in opposing directions

Phil 8.12.16

7:00 – 3:30 VTX

  • Working on diagram -done! Incorporated in proposal

proposal-flowchart2

  • Added strawman webpage design
  • Thinking about using some kind of GA approach to adopting a belief. Every pass you look select a belief from another agent, with probability based on nearness+behavior. You then randomly mutate your belief based on the other belief plus some randomness.
    • I’m starting to really like this idea. Evolution, particularly co-evolution is very much about bubbles until the environment constrains. So what’s the breeding algorithm?
  • Found the jenetics.io GA library. Checking out the programmers guide

Phil 8.11.16

7:00 – 4:30 VTX

  • Scheduling Meetings with Aaron, Don, and Shimei.
  • Continuing with diagram.
  • Wrote up evaluation criteria for RQ3. Probably needs some fleshing out.
  • Integrating cluster tests! Done! Working!
  • Added a slider to manipulate where in the sorted list of distances the eps is taken from
  • In the BeliefAgentShape.getOpinions() set the belief and antibelief mechanisms the same. We get our antibeliefs from our neighbors.
  • Need to add an adjustable drag. Done
  • Still thinking about how to calculate opinions. Clearly, closer opinions should be more powerful. What about antiBeliefs? Is that a two-pass process?
  • 4:00 Acceptance meeting.

Phil 8.10.16

7:00 – 4:30 VTX

  • Working on diagram
  • Realised that I don’t have an evaluation Criteria for RQ2
  • Got the antiBelief and origin force scalars working
  • Still don’t have the inserts and deletes working in Belief.addBeliefStatements() working something to talk to Don and Aaron about?
  • Starting to work on clustering. Extended the ResizableCanvas class, since it knows the global state.
  • Yay! I don’t have to implement DBSCAN. It’s in the apache math commons!
  • It works! You need to know the average spacing within a cluster. Here’s how.
    Clusters with eps of < 3.8461538461538463
    
    cluster (10 elements):
    Shape[0-0] pos = (5.14, 2.50), angle = 0.00
    Shape[0-1] pos = (7.46, 0.73), angle = 0.00
    Shape[0-2] pos = (2.51, 2.64), angle = 0.00
    Shape[0-4] pos = (5.11, 0.24), angle = 0.00
    Shape[0-6] pos = (4.07, 1.91), angle = 0.00
    Shape[0-7] pos = (4.14, 4.53), angle = 0.00
    Shape[0-8] pos = (3.82, 5.07), angle = 0.00
    Shape[0-3] pos = (1.96, 4.80), angle = 0.00
    Shape[0-5] pos = (0.68, 2.02), angle = 0.00
    Shape[0-9] pos = (2.73, 6.09), angle = 0.00
    
    cluster (10 elements):
    Shape[1-0] pos = (37.75, 38.52), angle = 0.00
    Shape[1-1] pos = (37.47, 38.50), angle = 0.00
    Shape[1-2] pos = (40.58, 37.65), angle = 0.00
    Shape[1-6] pos = (38.97, 37.11), angle = 0.00
    Shape[1-7] pos = (40.48, 39.53), angle = 0.00
    Shape[1-8] pos = (35.93, 35.51), angle = 0.00
    Shape[1-9] pos = (35.95, 40.37), angle = 0.00
    Shape[1-3] pos = (40.63, 34.00), angle = 0.00
    Shape[1-5] pos = (40.69, 35.59), angle = 0.00
    Shape[1-4] pos = (34.95, 34.15), angle = 0.00
    
    cluster (10 elements):
    Shape[2-0] pos = (68.48, 71.03), angle = 0.00
    Shape[2-4] pos = (67.78, 72.69), angle = 0.00
    Shape[2-5] pos = (67.39, 69.31), angle = 0.00
    Shape[2-6] pos = (71.04, 70.03), angle = 0.00
    Shape[2-8] pos = (70.69, 73.91), angle = 0.00
    Shape[2-1] pos = (70.23, 66.77), angle = 0.00
    Shape[2-2] pos = (74.27, 68.85), angle = 0.00
    Shape[2-3] pos = (72.95, 68.10), angle = 0.00
    Shape[2-7] pos = (72.85, 69.00), angle = 0.00
    Shape[2-9] pos = (72.05, 73.34), angle = 0.00
  • Yup, that worked:
    for(SmartShape outerSS : ssList){
        for(SmartShape innerSS : ssList){
            if(outerSS == innerSS){
                continue;
            }
            double[] op = outerSS.getPoint();
            double[] ip = innerSS.getPoint();
            double dist = Math.sqrt(op[0]*ip[0] + op[1]*ip[1]);
            distList.add(dist);
        }
    }
    distList.sort(doubleComparator);
    double eps = distList.get(distList.size()/10);
    DBSCANClusterer<SmartShape> dbscan = new DBSCANClusterer<SmartShape>(eps, 3);
    final List<Cluster<SmartShape>> clusterList = dbscan.cluster(ssList);
  • Well, that was a really good day…

Phil 8.9.16

7:00 – 3:30 VTX

Paper

  • Working on a diagram that connects research questions
    • Learning Illustrator
  • Need to add some setup for each section
  • Add a study where subjects have explorer, confirmer and avoider roles when searching for an answer. (This should be in the E.C. for 5.4.4)
  • Add a final study that’s just ‘open search’? (This could be interesting with 5.4.5. It wouldn’t be any more coding than the Red Scare system. Still a Google CSE as the back end, but running through an intermediary server for logging.)

Code

  • Working through the antistatement
  • Added a subtractStatement to belief.
  • Adding in an opposing belief for initialization tests
  • I’m going to need an anti belief list for each agent for similarity analysis. Weight is being overloaded.
  • Added AntiBelief, which calculates a repulsion based on similarities with  statements in the target belief.
  • Need to add a button that toggles origin attraction.
  • Copied projects to VTX svn

Phil 8.8.16

8:00 – 3:00 VTX

Paper

  • Continuing the The Sovereign Map. Definitely building my vocabulary. Interesting point: map, carte, etc are all descriptions of drawing. So the etymology of map does not address the concepts that support maps.
  • Need to add a ‘done’ condition to the discussion of the RQs. – Working this.
    • Added the evaluation criteria for 5.4.9.
  • Need to add diagram that connects research questions
  • Need to add some setup for each section
  • Add a study where subjects have explorer, confirmer and avoider roles when searching for an answer. (This should be in the E.C. for 5.4.4)
  • Add a final study that’s just ‘open search’? (This could be interesting with 5.4.5. It wouldn’t be any more coding than the Red Scare system. Still a Google CSE as the back end, but running through an intermediary server for logging.)

Code

Phil 8.5.16

7:00 – 3:30 VTX

Paper

  • Started The Sovereign Map
  • Need to add a ‘done’ condition to the discussion of the RQs. – Working this.
    • Added the evaluation criteria for 5.4.6. Also added some discussion on how the model might help narrow the search space.
  • Need to add diagram that connects research questions
  • Need to add some setup for each section
  • Add a study where subjects have explorer, confirmer and avoider roles when searching for an answer. (This should be in the E.C. for 5.4.4)
  • Add a final study that’s just ‘open search’? (This could be interesting with 5.4.5. It wouldn’t be any more coding than the Red Scare system. Still a Google CSE as the back end, but running through an intermediary server for logging.)

Code

  • Added mousewheel scale and mouse drag. Recentering isn’t quite right
  • Added reset button
  • Working on polarization
    • chance calculations seem to be working, but frequent enough sampling of far away to have all the items converge. Need to ponder. Maybe there’s a cost for keeping a statement that has a high average distance?
    • The current goal is to see the color groups collapse into homogeneous without combining into one group.
    • After that look into dissimilarity. Purge elements of similarity?
    • Would like to measure the overall force vector of a particular cluster as a proxy for group drift.

Phil 8.4.16

7:00 – 3:30 VTX

Paper

  • Need to add a ‘done’ condition to the discussion of the RQs. – Working this.
  • Added the evaluation criteria for 5.4.6. Also added some discussion on how the model might help narrow the search space.
  • Need to add diagram that connects research questions
  • Need to add some setup for each section
  • Add a study where subjects have explorer, confirmer and avoider roles when searching for an answer. (This should be in the E.C. for 5.4.4)
  • Add a final study that’s just ‘open search’? (This could be interesting with 5.4.5. It wouldn’t be any more coding than the Red Scare system. Still a Google CSE as the back end, but running through an intermediary server for logging.)

Code

  • Added origin attraction scalars
  • Something is causing the system to set positions to NaN. Need to look for divide by zero. Fixed several things, including distance calculations between the same item.
  • Fixed the sliders
  • Starting on polarization
    • It needs to wait until the system stabilizes, so I added a start/stop button
    • Calculating the chance of changing an opinion
    • Also added and then commented out code that copies a statement from one agent into another’s.
    • Selecting chance is based on closeness. Need to verify that this is working
    • The current goal is to see the color groups collapse into homogeneous without combining into one group.
    • After that look into dissimilarity. Purge elements of similarity?
    • Would like to measure the overall force vector of a particular cluster as a proxy for group drift.

Phil 8.3.16

VTX 7:00 – 3:30

Paper

  • Need to add diagram that connects research questions
  • Need to add some setup for each section
  • Need to add a ‘done’ condition to the discussion of the RQs. – Working this.
    • Struggled with RQ2 and RQ2a. My issue was one of ordering reall. I’d like to get some good information about how the current tool would be used. I know there will need to be modifications and I don’t want to get tied up in designing before the people that I can talk to about the design have a sense of how it might work. So what is required for a pre-design design? And how do you evaluate it.
    • As a side note, I could certainly revisit the Google news navigation. The RSS code isn’t supported any more, but it looks like a CSE with NewsArticle might work. Looks like it does! ScholarlyArticle is supported as well!
  • Add a study where subjects have explorer, confirmer and avoider roles when searching for an answer. (This should be in the E.C. for 5.4.4)
  • Add a final study that’s just ‘open search’? (This could be interesting with 5.4.5. It wouldn’t be any more coding than the Red Scare system. Still a Google CSE as the back end, but running through an intermediary server for logging.)

Coding

  • Going to try the similarity distance as the ratio of similar items to the total. That turned out to work very nicely. Here’s the code of it:
    public double compare(Belief targBelief) {
        CollectionCompare cc = new CollectionCompare();
    
        // look for all matches and partial matches from teh target's point of view
        for (Statement targStatement : targBelief.getList()) {
            if (statementMap.containsKey(targStatement.getName())) {
                Statement sourceStatement = statementMap.get(targStatement.getName());
                double matches = Math.min(sourceStatement.getWeight(), targStatement.getWeight());
                cc.matches += matches;
                cc.mismatches += Math.max(sourceStatement.getWeight(), targStatement.getWeight()) - matches;
    
            } else {
                cc.mismatches += targStatement.getWeight();
            }
        }
    
        // look for all mismatches from our point of view
        Map<String, Statement> targMap = targBelief.getMap();
        for (Statement sourceStatement : getList()) {
            if (!targMap.containsKey(sourceStatement.getName())) {
                cc.mismatches += sourceStatement.getWeight();
            }
        }
    
        cc.total = cc.matches+cc.mismatches;
        double ratio = cc.matches/cc.total;
    
        return ratio;
    }
  • Had to add a pull towards the origin
  • Added sliders to manipulate attraction and repulsion

GP3

Phil 8.2.16

7:00 – 4:00 VTX

Paper

  • Need to add diagram that connects research questions
  • Need to add some setup for each section
  • Need to add a ‘done’ condition to the discussion of the RQs. – Working this.
    • Added in a section that discusses the creation of statements and beliefs, since that looks like it’s going to work.
    • Added the evaluation criteria for 5.4.3
  • Add a study where subjects have explorer, confirmer and avoider roles when searching for an answer. (This should be in the E.C. for 5.4.4)
  • Add a final study that’s just ‘open search’? (This could be interesting with 5.4.5. It wouldn’t be any more coding than the Red Scare system. Still a Google CSE as the back end, but running through an intermediary server for logging.)

VTX

  • Test QA if its up.Done
  • More porsche crap.
  • Added dprint callbacks. Will need to add some other event handling that will filter up.
  • Moved simple clustering into ForceShape
  • Starting on BeliefAgentShape (BAS). Got a lot done. The logic for handling agents is now in the BeliefAgentManager class. BASs now have a ControlBeliefCA in them, and it’s initialized correctly. Not using it for similarity comparisons yet.
  • Built three beliefs, redBelief, greenBelief and blueBelief. Eash belief consists of a set of colors that are in the neighborhood of pure red green and blue. This should be a good test since I’ll be able to see the groups
  • Pix for the day:

GP2

Phil 8.1.16

7:00 – 3:00 VTX

  • Found Some nice stuff on Bootstrapping
    • The WISE (Web Interface for Statistics Education) site
    • Nice video showing their applet
  •  Paper
    • Need to add diagram that connects research questions
    • Need to add some setup for each section
    • Need to add a ‘done’ condition to the discussion of the RQs. – Working this.
    • Add a study where subjects have explorer, confirmer and avoider roles when searching for an answer.
    • Add a final study that’s just ‘open search’?
  • Got the initial particle code running with a real simple similarity compare. Performance is quite nice! Need to add belief compare next. Poles could probably be anchors with a frozen belief, maybe with one statement.

SimilarityClustering

Phil 7.29.16

7:00 – 3:30 VTX

  • Found this: We need more solution-oriented social science: on changing our frames of reference and tackling big social problems.
  • Paper
    • Need to add diagram that connects research questions
    • Need to add some setup for each section
    • Need to describe that the intent of building the model is to have a starting point that is updated as research continues. It’s plastic, not static
    • Need to add a ‘done’ condition to the discussion of the RQs.
    • Add a study where subjects have explorer, confirmer and avoider roles when searching for an answer.
    • Add a final study that’s just ‘open search’?
  • More interactive app for visualizing group polarization
    • Adding OpenGL-like matrix manipulation to Resizable canvas – done
      • Well, I thought I was. Needed to use a copy constructor to place a copy of the matrix rather than the same old pointer.
    • Need to get the origin at the center – done
    • Need to build some graphic entities that mostly draw themselves and hang onto state. Also some interactivity like detecting clicks. Damn – it looks like I need to unproject the matrix. Done. Yay, there was already a bounding box class.
    • Assuming that I can make attraction work on a force model, then some things come along for free
      • Closer agents are more like minded. Therefore looking at closer agents for statements makes sense
      • Clustering can then be based on the distance model. We should use dp-means (blog) (paper), since we don’t know the number of clusters?