Language Drift

Language Drift preview image

1 collaborator

Default-person Jeremy Needle (Author)

Tags

(This model has yet to be categorized with any tags)
Parent of 1 model: Child of Language Drift
Model group MAM-2013 | Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.0.4 • Viewed 213 times • Downloaded 34 times • Run 0 times
Download the 'Language Drift' 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

;; swtiches: learn-subset?,learn-local?,learn-nearest?,method-mean?,method-median?,method-one?
;; sliders: learn-subset,learn-radius
breed [adults adult]
breed [children child]

adults-own [f1 f2 my-lifespan age]
children-own [f1 f2 my-group]

to setup
  clear-all
  create-adults population-size / 2 [
    ; initialize adult formants near start-f1,-f2 (use random-normal)
    ; use realistic f1 (700), f2 (2000), deviation
    set f1 random-normal start-f1 150
    set f2 random-normal start-f2 500
    set color red
    set ycor random-ycor
    set xcor random-xcor
    set my-lifespan random lifespan
    ]
  create-children population-size [
    ; children start with no language
    set color blue
    set ycor random-ycor
    set xcor random-xcor
    ]
  reset-ticks
end 

to go
  ;; Run one generation (tick)
  ask children [
    set my-group adults ;; default to all adults
    ;; none of these are intended to work together, though they theoretically could
    if learn-local? [set my-group adults in-radius learn-radius] ;; all adults within radius
        ;; if learn-radius is set too small, too many children die isolated to graduate to fill dying adult slots. problem :/
    if learn-subset? [set my-group n-of learn-subset my-group] ;; random N of adults
    if learn-nearest? [set my-group min-n-of learn-subset adults [distance myself]] ;; nearest N adults

    ifelse any? my-group ;; don't attempt learn if my-group is empty, instead die
    [listen]
    [die]
  ]
  
  ask adults [
    set age age + 1 ;; increment age
    if age > my-lifespan [die] ;; die if new age exceeds my-lifespan
  ]
  
  ask n-of (population-size - count adults) children [
    ; only enough children graduate to replace deaths
    set breed adults
    set color red
    ; children get lifespan upon graduation
    set my-lifespan random lifespan + 1
  ]
  ask children [die] ; remaining children are cleaned out before 50 new created
  create-children population-size [
    set color blue
    set ycor random-ycor
    set xcor random-xcor
  ]
  plot-vowel-space
  tick
end 

to listen
  ; agent listens to all speaking agents (adults), computes idiolect
  ; learn-mean is one possible strategy: learn-mode
  ; noisy listening/learning is also possible
  ;; none of these are intended to interact, though it may be possible; this is still better than multiple setup buttons, because of the combinations
  ;; if none are picked, it's just pure noise effect
 
  if method-one? [learn-one]
  if method-mean? [learn-mean]
  if method-median? [learn-median]
  ; add noise as % of total (not current?)
  ;; this means that f2 has more absolute noise, because it's a larger value; problem?
  set f1 f1 + random-normal 0 noise-level * start-f1
  set f2 f2 + random-normal 0 noise-level * start-f2
  if f1 < 200 [set f1 200]
  if f2 < 500 [set f2 500]
  if f1 > 1200 [set f1 1200]
  if f2 > 3500 [set f2 3500]
end 

to learn-mean ;;adopts mean of adults
    set f1 mean [f1] of my-group
    set f2 mean [f2] of my-group
end 

to learn-one ;;randomly copies one adult
  set f1 one-of [f1] of my-group
  set f2 one-of [f2] of my-group
end 

to learn-median ;;learns median of  adults
    set f1 median [f1] of my-group
    set f2 median [f2] of my-group
end 

to plot-vowel-space
  ask adults [
    plotxy f2 f1]
end 
  

There are 5 versions of this model.

Uploaded by When Description Download
Jeremy Needle over 11 years ago Final version Download this version
Jeremy Needle over 11 years ago Added locality, noise, lifespans Download this version
Jeremy Needle over 11 years ago Added realistic formant values, alternative simple learning procedures, subsetting. Download this version
Jeremy Needle over 11 years ago base function Download this version
Jeremy Needle over 11 years ago Initial upload Download this version

Attached files

File Type Description Last updated
EECS 472 Poster Slam.pptx powerpoint Poster Slam slides over 11 years ago, by Jeremy Needle Download
JeremyNeedle_5-13.txt html Progress update 5-13 over 11 years ago, by Jeremy Needle Download
JeremyNeedle_5-20.txt html Progress update 5-20 over 11 years ago, by Jeremy Needle Download
JeremyNeedle_5-27.txt html Progress update 5-27 over 11 years ago, by Jeremy Needle Download
JeremyNeedle_6-3.txt html Progress update 6-3 over 11 years ago, by Jeremy Needle Download
Language Drift.png preview Preview for 'Language Drift' over 11 years ago, by Jeremy Needle Download
Needle_Jeremy_FinalPaper.pdf pdf Final writeup over 11 years ago, by Jeremy Needle Download
Needle_Jeremy_poster.pdf pdf Poster over 11 years ago, by Jeremy Needle Download

This model does not have any ancestors.

Children:

Graph of models related to 'Language Drift'