Viral Videos (Krystal & Michelle)

No preview image

1 collaborator

Default-person Michelle Carr (Author)

Tags

(This model has yet to be categorized with any tags)
Model group LS426_2013 | Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.0.3 • Viewed 509 times • Downloaded 19 times • Run 0 times
Download the 'Viral Videos (Krystal & Michelle)' modelDownload this modelEmbed this model

Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)


Comments and Questions

Please start the discussion about this model! (You'll first need to log in.)

Click to Run Model

turtles-own [ 
  viewed?
  quality-standard
  engagement-standard
  funny-standard
  emotional-standard
  facebook-standard
  twitter-standard
  standard-set
  tweet-out
  facebook-out
  friend-out
  tweet-care
  facebook-care
  friend-care
  publicity
  recommendations
  near-neighbor
  ]

to setup
  clear-all
  ask links [ set color white ]
  generate-viewers
  reset-ticks
  linkage
end 

to generate-viewers
  crt 1000 [ 
    repeat 10 [let empty-patches neighbors with [not any? turtles-here]
    if any? empty-patches
    [let target one-of patches
      face target
      move-to target]
       ]
     set viewed? false
     set color gray
     set shape "person" 
     set quality-standard random 11
     set engagement-standard random 11
     set funny-standard random 11
     set emotional-standard random 11
     set facebook-standard random 51
     set twitter-standard random 51
     set standard-set 0
     set publicity random 101
     set tweet-out random 101
     set facebook-out random 101
     set friend-out random 101
     set tweet-care random 101
     set facebook-care random 101
     set friend-care random 101
     if quality > quality-standard  [ 
       set standard-set standard-set + 1]
     if engagement > engagement-standard [
       set standard-set standard-set + 1]
     if funny > funny-standard [
       set standard-set standard-set + 1]
     if emotional > emotional-standard [
       set standard-set standard-set + 1]
    ]
end 



;;;;;;;;;;;;;;;;;
;;;GO COOMMAND;;;
;;;;;;;;;;;;;;;;;

to initial-viewers
  ask turtles [ 
    if standard-set = 4 [
      set color yellow
      set viewed? true ]
  ]
  ask turtles [
   if count turtles with [color = yellow] = 0 [ 
  repeat random 6 [
  ask one-of turtles [
    set color yellow
    set viewed? true ] ]
  ]
  ]
  tick
end 

to go
  friend-share
  tweet-share
  facebook-share
  tick
end 

to linkage
  let num-links (200)
  while [count links < num-links ]
  [ask one-of turtles
    [
      let choice (min-one-of (other turtles with [not link-neighbor? myself])
                   [distance myself])
      if choice != nobody [ create-link-with choice ]
    ]
    ]
   repeat 5
  [
    layout-spring turtles links 0.3 1 0.05
  ]
end 

;;;
;;;SHARING & CARING PARAMETERS
;;;

to friend-share
  ask turtles [
    if friend-out < Friend-Sharing and color = yellow [
        ask link-neighbors [
          if friend-care < Friend-Check [
          set color lime ]
          ]
    ]
  ]
    ask turtles [
    if friend-out < Friend-Sharing and color = red [
        ask link-neighbors [
          if friend-care < Friend-Check [
          set color lime ]
          ]
    ]
  ]  ask turtles [
    if friend-out < Friend-Sharing and color = blue [
        ask link-neighbors [
          if friend-care < Friend-Check [
          set color lime ]
          ]
    ]
  ]
    ask turtles [
    if friend-out < Friend-Sharing and color = lime [
        ask link-neighbors [
          if friend-care < Friend-Check [
          set color lime ]
          ]
    ]
  ]
    ask turtles [
    if friend-out < Friend-Sharing and color = orange [
        ask link-neighbors [
          if friend-care < Friend-Check [
          set color lime ]
          ]
    ]
  ]
    tick
end 

to tweet-share
  ask turtles [
      if tweet-out < Twitter-Sharing and color = yellow [
        ask (turtles-on neighbors4) [
        if tweet-care < Twitter-Check [
        set color red ]
      ]
      ]
  ]  
  
ask turtles [
      if tweet-out > Twitter-Sharing and color = red [
        ask (turtles-on neighbors4) [
        if tweet-care > Twitter-Check [
        set color red ]
      ]
      ]
  ]  
ask turtles [
      if tweet-out > Twitter-Sharing and color = blue [
        ask (turtles-on neighbors4) [
        if tweet-care > Twitter-Check [
        set color red ]
      ]
      ]
  ]  
ask turtles [
      if tweet-out > Twitter-Sharing and color = lime [
        ask (turtles-on neighbors4) [
        if tweet-care > Twitter-Check [
        set color red ]
      ]
      ]
  ]  
ask turtles [
      if tweet-out > Twitter-Sharing and color = orange [
        ask (turtles-on neighbors4) [
        if tweet-care > Twitter-Check [
        set color red ]
      ]
      ]
  ]  
tick
end 

to facebook-share
  ask turtles [
      if facebook-out < Facebook-Sharing and color = yellow [
        ask (turtles-on neighbors4) [
        if facebook-care < Facebook-Check [
        set color blue ]
      ]
      ]
  ]  
  
ask turtles [
      if facebook-out < Facebook-Sharing and color = blue [
        ask (turtles-on neighbors4) [
        if facebook-care < Facebook-Check [
        set color blue ]
      ]
      ]
  ]  
ask turtles [
      if facebook-out < Facebook-Sharing and color = red [
        ask (turtles-on neighbors4) [
        if facebook-care < Facebook-Check [
        set color blue ]
      ]
      ]
  ]
ask turtles [
      if facebook-out < Facebook-Sharing and color = lime [
        ask (turtles-on neighbors4) [
        if facebook-care < Facebook-Check [
        set color blue ]
      ]
      ]
  ]
ask turtles [
      if facebook-out < Facebook-Sharing and color = orange [
        ask (turtles-on neighbors4) [
        if facebook-care < Facebook-Check [
        set color blue ]
      ]
      ]
  ]
tick
end 

to increased-views
  repeat (count turtles with [publicity > 70]) [make-node find-partner]
    tick
end 

to wander
  rt random 360
  fd 1
end 
 
 ;;;;
 ;;;; FROM PREFERENTIAL ATTACHMENT
 ;;;; This is borrowed from the Preferential Attachment Model, which 
 ;;;; borrowed from the lottery model. It adds links for the new
 ;;;; oranage people, which are generated by publicity.
 ;;;;

to make-node [old-node]
  crt 1
  [
    set shape "person"
    set color orange
    if old-node != nobody
      [ create-link-with old-node [ set color pink ]
        ;; position the new node near its partner
        move-to old-node
        wander
      ]
     set quality-standard random 11
     set engagement-standard random 11
     set funny-standard random 11
     set emotional-standard random 11
     set facebook-standard random 51
     set twitter-standard random 51
     set standard-set 0
     set publicity random 101
     set tweet-out random 101
     set facebook-out random 101
     set friend-out random 101
     set tweet-care random 101
     set facebook-care random 101
     set friend-care random 101
     if quality > quality-standard  [ 
       set standard-set standard-set + 1]
     if engagement > engagement-standard [
       set standard-set standard-set + 1]
     if funny > funny-standard [
       set standard-set standard-set + 1]
     if emotional > emotional-standard [
       set standard-set standard-set + 1]
  ]
end 

to-report find-partner
  let total random-float sum [count link-neighbors] of turtles
  let partner nobody
  ask turtles
  [
    let nc count link-neighbors
    ;; if there's no winner yet...
    if partner = nobody
    [
      ifelse nc > total
        [ set partner self ]
        [ set total total - nc ]
    ]
  ]
  report partner
end 


There are 2 versions of this model.

Uploaded by When Description Download
Michelle Carr over 11 years ago updated model (bug fix) Download this version
Michelle Carr over 11 years ago Initial upload Download this version

Attached files

No files

This model does not have any ancestors.

This model does not have any descendants.