Knowledge Acquisition Through Conversation

Knowledge Acquisition Through Conversation preview image

1 collaborator

Default-person Noah Conley (Author)

Tags

conversation 

Tagged by Marzieh Jahanbazi over 10 years ago

knowledge acquisition 

Tagged by Marzieh Jahanbazi over 10 years ago

Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.0.4 • Viewed 436 times • Downloaded 40 times • Run 0 times
Download the 'Knowledge Acquisition Through Conversation' 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

globals [
  current-population
]

turtles-own [
  personal-interest
  interest-level
  attention-span
  thought-size
  knowledge-counter
  conversing-with
  current-action
  space-out-duration
]

to setup
    ca
    reset-ticks
    set current-population population
    crt population [
      setxy random-xcor random-ycor
      set shape "person"
      set size 2
      if (interest-variation = "none") [ set color 75 ]
      if (interest-variation = "small") [ set color 75 + (random 5 * -1 ^ random 2) ]
      if (interest-variation = "medium") [ set color 75 + (random 3 * 10 * -1 ^ random 2) + (random 5 * -1 ^ random 2) ]
      if (interest-variation = "large") [ set color 75 + (random 5 * 10 * -1 ^ random 2) + (random 5 * -1 ^ random 2) ]
      set knowledge-counter 0
      set interest-level 0
      set label knowledge-counter
      set current-action "walking"
      set attention-span 0
      set personal-interest color
    ]
end 

to go
  ask turtles [
    ifelse (current-action = "walking") [
      move
      check-location
    ] [
      ifelse (current-action = "talking")
      [ talk ] [listen]
    ]
  ]
  tick
end 

; turtle methods

to move
  rt random-float 90 * -1 ^ random 2
  fd 1
end 

to check-location
  if (count other turtles-here with [current-action = "walking"] > 0) [
    create-link-with one-of other turtles-here with [current-action = "walking"]
    set current-action "talking"
    face one-of link-neighbors
    set conversing-with [who] of one-of link-neighbors
    set-interest-level
    set-thought-size
    ask link-neighbors [
      set current-action "listening"
      set conversing-with [who] of myself
      face myself
      set-interest-level
      set-attention-span
    ]
  ]
end 

to talk
  set thought-size (thought-size - 1)
  if (thought-size <= 0) [
    set current-action "listening"
    set-attention-span
  ]
end 

to listen
  ifelse (attention-span > 0) [
    set attention-span (attention-span - 1)
    if ([current-action] of one-of link-neighbors = "talking") [ 
      set knowledge-counter (knowledge-counter + (1 - interest-level))
      set label precision knowledge-counter 2
    ]
    if (attention-span <= 0) [ set-space-out-duration ]
  ] [
    set space-out-duration (space-out-duration - 1)
    if (space-out-duration <= 0) [ set-attention-span ]
  ]
  if ([current-action] of one-of link-neighbors = "listening") [
    ifelse (attention-span = 0) [
      set current-action "walking"
      rt 180
      fd 2
      ask one-of link-neighbors [
        set current-action "walking"
        rt 180
        fd 2
        ]
      ask my-links [ die ]
    ] [
      set-thought-size
      if (thought-size > 10) [ set current-action "talking" ]
    ]
  ]
end 

; set methods

to set-thought-size
  set thought-size random 300 * interest-level
end 

to set-interest-level
  let difference abs (personal-interest - ([personal-interest] of one-of link-neighbors))
  ifelse (difference = 0)
  [ set interest-level .9 ] [
    ifelse (difference = 1)
    [ set interest-level .7 ]
    [ set interest-level 1 / difference ]
  ]
end 

to set-attention-span
  set attention-span (average-attention-span + random 6 * -1 ^ random 2) + (average-attention-span * interest-level)
end 

to set-space-out-duration
  set space-out-duration (average-space-out-duration + random 6 * -1 ^ random 2) + (average-space-out-duration * interest-level)
end   

There is only one version of this model, created about 11 years ago by Noah Conley.

Attached files

File Type Description Last updated
Knowledge Acquisition Through Conversation.png preview Preview for 'Knowledge Acquisition Through Conversation' about 11 years ago, by Noah Conley Download

This model does not have any ancestors.

This model does not have any descendants.