Land division and Jubilee

No preview image

1 collaborator

Tags

economy 

Tagged by Erel Segal Halevi almost 12 years ago

geonomics 

Tagged by Erel Segal Halevi almost 12 years ago

jubilee 

Tagged by Erel Segal Halevi almost 12 years ago

land 

Tagged by Erel Segal Halevi almost 12 years ago

Visible to everyone | Changeable by everyone
Model was written in NetLogo 5.0 • Viewed 381 times • Downloaded 32 times • Run 0 times
Download the 'Land division and Jubilee' modelDownload this modelEmbed this model

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


WHAT IS IT?

Freedom, in Biblical economy, means that every citizen owns a land-plot. Originally, this was achieved by two means:

  • Initially, all land was divided into equal plots, and each citizen got a plot;
  • Once in 50 years, in the year of Jubilee, all lands returned to the original owners.

This model checks whether it is possible to achieve the goal of Freedom (meaning, every citizen owns a land) even when the initial division is not equal.

HOW IT WORKS

There is an equal number of citizens and land-plots, defined by the num-citizens slider.

Initially, land is divided randomly - each land is given to one of the citizens, picked at random. This means that some citizens will have no land, while others will have many plots.

At each period, each land has some probability of being sold: the probability-of-deal-per-period slider. If a land is sold, it is transferred to a citizen picked at random.

After 50 periods (or a different number, set by the periods-per-jubilee slider), a Jubilee procedure is performed, as defined by the jubilee-procedure menu. There are 3 options:

  • no-jubilee - nothing is done;
  • jubilee-for-landless - each citizen with no land picks one of the lands that he had in the previous Jubilee (if any), and gets it back.
  • jubilee-for-all - each citizen gets all lands that he had in the previous Jubilee.

Then the trade goes on as before.

HOW TO USE IT

Choose the number of citizens, the probability of deal per period, the number of periods per Jubilee, and the Jubilee procedure. Then click setup.

Pressing the go once button will run a single period. Some lands will be sold to new owners. A directed link points from the original ownersto the new owner. The color of the land will change to that of the new owner.

The land distribution is shown in the "land distribution" histogram and the "landless" plot.

As the model runs, there are more and more links. But at the Jubilee year, some or all lands return to their original owner, so some or all links are removed.

The number of deals canceled is shown in the "deals canceled" plot.

THINGS TO NOTICE

When the Jubilee procedure is "jubilee-for-landless", the number of landless citizens decreases in each Jubilee, relative to the previous Jubilee. Over time, all citizens will have land. The land distribution approaches the state of a single land per citizen.

This does not happen for "no-jubilee" or for "jubilee-for-all".

THINGS TO TRY

How many Jubilees it takes until each citizen has a land?

How does the answer depends on the probability-of-deal?

How does the number of deals canceled change, as more and more citizens have land?

If originally ALL citizens have land, is it still possible that some deals will NOT be canceled in the Jubilee year? What is required for this to happen? (hint: look for cycles in the graph at period 0).

EXTENDING THE MODEL

Right now the probability of any land being sold is identical. Can you think of more realistic models?

Perhaps the model should also include wealth; wealthy citizens are more likely to buy lands, while poor citizens are more likely to sell lands.

Perhaps the model should also include subjective prerefences: some citizens prefer to live in the east, while others prefer to live in the west. etc.

NETLOGO FEATURES

Citizens are turtles. Land-plots are patches. However, since there are usually more patches then turtles, only some of the patches are considered for the model. They are called "land-patches" in the code, and are colored in the same color as their current owner.

Links are used to link the original owner of a land with its current owner. A cycle, in that graph, means that the relevant owners switched their lands.

HOW TO CITE

If you mention this model in a publication, we ask that you include these citations for the model itself and for the NetLogo software:

  • Segal-Halevi, Erel (2012). NetLogo Land-Random model.
  • Wilensky, U. (1999). NetLogo. http://ccl.northwestern.edu/netlogo/. Center for Connected Learning and Computer-Based Modeling, Northwestern University, Evanston, IL.

COPYRIGHT AND LICENSE

Copyright 2012 Erel Segal-Halevi.

CC BY-SA 3.0

This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 License. To view a copy of this license, visit http://creativecommons.org/licenses/by-sa/3.0/ or send a letter to Creative Commons, 559 Nathan Abbott Way, Stanford, California 94305, USA.

Comments and Questions

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

Click to Run Model

globals [
  land-patches            ;; a subset of all patches, that we consider to be land-plots
  num-of-deals-made       ;; counts the number of land deals done so far in the current period
  num-of-deals-canceled   ;; counts the number of land deals canceled so far in the current Jubilee
  period-past-jubilee     ;; number of period, relative to the previous jubilee
]

turtles-own [
  explored?
  lands      ;; list of lands (=patches) owned by this turtle
]

patches-own [
  owner           ;; citizen (=turtle) that ownes this land.  
  original-owner  ;; citizen (=turtle) that owned this land at the beginning of the current Jubilee cycle.
]

;;;;;;;;;;;;;;;;;;;;;;;;
;;; Setup Procedures ;;;
;;;;;;;;;;;;;;;;;;;;;;;;

to setup
  clear-all
  set-default-shape turtles "person"
  
  create-turtles num-citizens [
    set lands []
    set color (10 * random 10 + 4)  ;; citizens have dark colors.
  ]
  ask patches [
    set owner nobody  
    set original-owner nobody
  ]
  set land-patches n-of num-citizens patches

  random-land-division

  ask turtles with [length lands = 0] [
    let land-with-no-owner one-of patches with [owner = nobody]
    setxy [pxcor] of land-with-no-owner [pycor] of land-with-no-owner
  ]

  ask turtles with [length lands > 0] [
    let my-land one-of lands
    setxy [pxcor] of my-land [pycor] of my-land
  ]

  layout

  set period-past-jubilee 0

  reset-ticks
end 

;;;;;;;;;;;;;;;;;;;;;;
;;; Main Procedure ;;;
;;;;;;;;;;;;;;;;;;;;;;

to go
  if period-past-jubilee = 0 [
    ;; initialize the land records at the start of the next period:
    ask land-patches [
      set original-owner owner
      ask original-owner [ 
        setxy [pxcor] of myself [pycor] of myself 
      ]
    ]
    ask links [die]
    set num-of-deals-made 0
    set num-of-deals-canceled 0
  ]

  set period-past-jubilee period-past-jubilee + 1

  citizens-trade-lands
  if period-past-jubilee >= periods-per-jubilee [
    ;; in the Jubilee year, some lands return to original owners:
    run jubilee-procedure
    set period-past-jubilee 0
  ]
  layout
  tick
end 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Land division procedures ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to random-land-division
  ask land-patches [
    assign-land self one-of turtles
  ]
end 

to citizens-trade-lands
  ask land-patches [
    if random 100 < probability-of-deal-per-period [
      sell-land self one-of turtles
    ]
  ]
end 

to sell-land [the-land new-owner]
  assign-land the-land new-owner
  set num-of-deals-made num-of-deals-made + 1
end 

to return-land [the-land new-owner]
  assign-land the-land new-owner
  set num-of-deals-canceled num-of-deals-canceled + 1
end 

;; Assign the given land (=patch) to the given owner (=turtle): 

to assign-land [the-land new-owner]
  let current-owner  [owner] of the-land
  
  if current-owner = new-owner [stop]
  
  if current-owner != nobody [
    ask current-owner [
      set lands remove the-land lands
    ]
  ]

  ask the-land [
    set owner new-owner
    if original-owner != nobody [
      ask original-owner [
        if out-link-to current-owner != nobody [
           ask out-link-to current-owner [die]
        ]
        if self != new-owner [       ;; cannot create a link from turtle to itself
          create-link-to new-owner
        ]
      ] 
    ]
    set pcolor [color + 2] of new-owner  ;; lands have lighter colors.
  ]

  ask new-owner [
    if not member? the-land lands [
      set lands lput the-land lands
    ]
  ]
end 

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;; Jubilee procedures       ;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

to no-jubilee
end 

to jubilee-for-landless
  let landless-citizens turtles with [empty? lands]
  let change? false
  ask landless-citizens [
    let returned-land  ;; to each landless citizen, return one of the lands he originally owned:
        one-of land-patches with [original-owner = myself]
    if returned-land != nobody [
      return-land returned-land self
      set change? true
    ]
  ]
  
  ;; if anything was changed in this iteration, do it again:
  if change? [jubilee-for-landless]
end 

to jubilee-for-all
  ask turtles [
    let returned-lands 
        land-patches with [original-owner = myself and owner != myself]
    ;; show returned-lands
    ask returned-lands [
        return-land self myself
    ]
  ]
end 


;;;;;;;;;;;;;;
;;; Layout ;;;
;;;;;;;;;;;;;;

to layout
  if not layout? [ stop ]
  ;; the number 10 here is arbitrary; more repetitions slows down the
  ;; model, but too few gives poor layouts
  repeat 10 [
    do-layout
    display  ;; so we get smooth animation
  ]
end 

to do-layout
  layout-spring (turtles) links 0.4 6 1
  ;; layout-circle turtles max-pxcor - 1
end 


; Copyright 2005 Uri Wilensky.
; See Info tab for full copyright and license.

There are 2 versions of this model.

Uploaded by When Description Download
Erel Segal Halevi almost 12 years ago ֻChange initial values Download this version
Erel Segal Halevi almost 12 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.