Claude-Thesis-v1
Do you have questions or comments about this model? Ask them here! (You'll first need to log in.)
WHAT IS IT?
(a general understanding of what the model is trying to show or explain)
HOW IT WORKS
(what rules the agents use to create the overall behavior of the model)
HOW TO USE IT
(how to use the model, including a description of each of the items in the Interface tab)
THINGS TO NOTICE
(suggested things for the user to notice while running the model)
THINGS TO TRY
(suggested things for the user to try to do (move sliders, switches, etc.) with the model)
EXTENDING THE MODEL
(suggested things to add or change in the Code tab to make the model more complicated, detailed, accurate, etc.)
NETLOGO FEATURES
(interesting or unusual features of NetLogo that the model uses, particularly in the Code tab; or where workarounds were needed for missing features)
RELATED MODELS
(models in the NetLogo Models Library and elsewhere which are of related interest)
CREDITS AND REFERENCES
(a reference to the model's URL on the web if it has one, as well as any other necessary credits, citations, and links)
Comments and Questions
breed [candidates candidate] breed [employers employer] candidates-own [ skill-score narrative-score dossier-score employed? my-employer ai-assisted? ] employers-own [ hiring-regime jd-complexity workforce-quality vacancies bad-hire-count hire-count ] globals [ market-signal-gap narrative-firm-quality evidence-firm-quality ] to setup clear-all create-candidates num-candidates [ set shape "person" set skill-score clamp (random-normal 0.5 0.18) 0 1 set narrative-score clamp ( skill-score * narrative-skill-correlation + random-normal 0 0.2 ) 0 1 set dossier-score clamp (skill-score + random-normal 0 0.05) 0 1 set employed? false set my-employer nobody set ai-assisted? (random-float 1.0 < pct-ai-candidates / 100) set color scale-color green skill-score 0 1 setxy random-xcor random-ycor ] create-employers num-employers [ set shape "house" set size 2 set color gray set hiring-regime random-float 1.0 set jd-complexity 0.3 set workforce-quality 0.5 set vacancies 2 + random 4 setxy random-xcor random-ycor ] reset-ticks end to-report clamp [val low high] report max (list low (min (list high val))) end to go if ticks >= max-ticks [ stop ] candidate-ai-inflate employer-ai-adapt run-hiring-round update-job-performance update-hiring-regime labour-market-churn update-globals tick end to candidate-ai-inflate ask candidates with [not employed?] [ if ai-assisted? [ let inflation ai-inflation-rate * (1 - narrative-score) * random-float 1.0 set narrative-score clamp (narrative-score + inflation) 0 1 ] set narrative-score clamp (narrative-score + 0.002 * random-float 1.0) 0 1 set color scale-color green skill-score 0 1 ] end to employer-ai-adapt let market-narrative mean [narrative-score] of candidates ask employers [ let gap market-narrative - 0.5 set jd-complexity clamp (jd-complexity + 0.01 * gap) 0.1 1.0 ] end to run-hiring-round ask employers [ let open-slots vacancies - count candidates with [my-employer = myself] if open-slots > 0 [ let pool candidates with [not employed?] if any? pool [ let scored map [ c -> list ((selection-score c) + random-float 0.0001) c ] sort pool let ranked sort-by [[a b] -> first a > first b] scored let n min (list open-slots length ranked) foreach (sublist ranked 0 n) [ pair -> let c last pair ask c [ set employed? true set my-employer myself ] set hire-count hire-count + 1 ] ] ] ] end to-report selection-score [c] let narrative-signal [narrative-score] of c - (jd-complexity * 0.3) let evidence-signal [dossier-score] of c report (hiring-regime * evidence-signal) + ((1 - hiring-regime) * narrative-signal) + random-normal 0 0.03 end to update-job-performance ask employers [ let staff candidates with [my-employer = myself and employed?] if any? staff [ set workforce-quality mean [skill-score] of staff ] ] end to update-hiring-regime ask employers [ let quality-gap workforce-quality - 0.5 set hiring-regime clamp (hiring-regime + 0.02 * quality-gap) 0 1 let neighbours employers in-radius 5 if any? neighbours [ let best max-one-of neighbours [workforce-quality] if [workforce-quality] of best > workforce-quality + 0.05 [ set hiring-regime [hiring-regime] of best ] ] set color scale-color blue hiring-regime 0 1 ] end to labour-market-churn ask candidates with [employed?] [ if random-float 1.0 < 0.02 [ set employed? false set my-employer nobody ] ] create-candidates churn-rate [ set shape "person" set skill-score clamp (random-normal 0.5 0.18) 0 1 set narrative-score clamp (skill-score * narrative-skill-correlation + random-normal 0 0.2) 0 1 set dossier-score clamp (skill-score + random-normal 0 0.05) 0 1 set employed? false set my-employer nobody set ai-assisted? (random-float 1.0 < pct-ai-candidates / 100) set color scale-color green skill-score 0 1 setxy random-xcor random-ycor ] end to update-globals set market-signal-gap mean [narrative-score] of candidates - mean [skill-score] of candidates let n-firms employers with [hiring-regime < 0.4] let e-firms employers with [hiring-regime > 0.6] if any? n-firms [ set narrative-firm-quality mean [workforce-quality] of n-firms ] if any? e-firms [ set evidence-firm-quality mean [workforce-quality] of e-firms ] end
There is only one version of this model, created 29 days ago by Mike Sheerin.
Attached files
| File | Type | Description | Last updated | |
|---|---|---|---|---|
| Claude-Thesis-v1.png | preview | Preview for 'Claude-Thesis-v1' | 29 days ago, by Mike Sheerin | Download |
This model does not have any ancestors.
This model does not have any descendants.
Download this model