Difference between revisions of "User:Joho00"

From Simulace.info
Jump to: navigation, search
(Created page with "{{DISPLAYTITLE:Vliv průmyslového rybolovu na populace ryb (Netlogo)}} __TOC__ = Zadání =")
 
Line 5: Line 5:
  
 
= Zadání =
 
= Zadání =
 +
 +
Simulace bude představovat průmyslový rybolov v oceánech, který se negativně projevuje na množství a velikosti ryb, které je následně možné lovit, čímž se zmenšuje úlovek a je nutné rybařit stále intenzivněji pro udržení objemu úlovku.
 +
 +
Při nadměrném rybolovu nejsou schopny ryby udržovat svou populaci a postupně jich ubývá. Vlivem velikost ok v sítích se také vytváří evoluční tlak na velikost ryb, které se mezi generacemi zmenšují, jelikož pak mají větší šanci utéct ze sítí. Pokud ale rybáři zmenší velikost ok v sítích, mohou nastávat situace, že budou loveny nedospělé ryby, které ještě nestihly zplodit potomky, čímž se množství ryb v příští sezóně snižuje. Nastává zde souboj mezi velikostí a množstvím ryb proti velikosti ok a objemu úlovku rybářů
 +
 +
'''Autor'''
 +
Otakar Johanis
 +
 +
'''Typ modelu'''
 +
Multiagentní
 +
 +
'''Modelovací nástroj'''
 +
Netlogo
 +
 +
'''Agenti'''
 +
 +
* Rybářské lodě - Loví ryby v oceánech, je možné nastavit množství lodí a velikost ok sítí
 +
 +
* Ryby - První generace ryb má aktuální i maximální velikost náhodou a v průběhu simulace se vlivem prostředí velikost ryb přizpůsobí podmínkám, ve kterých žijí. Menší ryba poskytne rybářské lodi menší úlovek, má větší šanci rybáři utéct a nenechat se chytit, ale pomaleji se rozmnožuje a má větší šanci, že zahyne (například ji sežere nějaký predátor). Ryby v průběhu času plodí potomky, kteří přijímají velikost svého předka ovlivněnou náhodou. Menší ryby jsou ale snazší kořistí predátorů v oceánech a proto se množí pomaleji, než velké ryby.
 +
 +
'''Parametry modelu'''
 +
 +
* Množství rybářských lodí
 +
 +
* Velikost ok sítí
 +
 +
'''Cíl simulace:'''
 +
Cílem simulace je najít optimální limity objemu vylovených ryb a velikosti ok sítí, aby bylo rybářství z dlouhodobého pohledu udržitelné a nevedlo k devastaci rybích populací v oceánech.
 +
 +
= Popis problematiky =
 +
 +
Průmyslový rybolov je celosvětově velmi rozsáhlý a v posledních desetiletích přestává být udržitelným. Ekosystémy oceánů a moří začínají strádat a velikost ryb se začíná zmenšovat, čímž se každoročně zmenšuje úlovek rybářů. Z dlouhodobého pohledu je nutné rybaření omezit tak, aby bylo udržitelné. Udržitelnosti se dá dosáhnout vícero způsoby.
 +
*  '''Množství lodí''' které v oceánech loví ryby. Za tímto parametrem se může skrývat objem nalovených ryb, množství vydaných rybářských povolení, nebo kapacita rybářských lodí. Jde v podstatě pouze o to, jak často se ryby budou setkávat s rybářskými loděmi - větší množství rybářských lodí, delší rybářské sezóny, nebo větší úložný prostor na lodích jsou již druhotné parametry.
 +
*  '''Velikost ok sítí''' má velký dopad na populaci ryb. Nikoli však na počet ryb, ale na jejich velikost. Menší ryby totiž mají větší šanci utéct skrz velká oka, zatímco velké ryby ze sítí neutečou. To znamená, že menší ryby mají větší šanci přežít v oceánu a větší šanci zplodit potomstvo a tím předat potomkům svou menší velikost. Taková menší velikost však rybám přináší komplikace v běžném životě, jelikož jsou například snazším cílem predátorů, mohou hůře bojovat o potravu a podobně. Díky evoluci byla jejich velikost perfektní pro prostředí ve kterém žily a přinášela jim nejvíce benefitů. O tyto benefity menší ryby přichází, kvůli čemuž je jejich přirozený život těžší. Menší oka sítí tedy vytváří evoluční tlak na ryby, které se snaží přizpůsobit svou velikost, aby ze sítí dokázaly uprchnout.
 +
 +
= Návrh simulace =
 +
 +
Pomocí programu NetLogo jsem vytvořil oceán, ve kterém plavou ryby a lodě. Lodě loví ryby určité velikosti. Ryby postupně rostou a množí se. Potomek ryby se vždy narodí malý, ale dědí maximální velikost svého rodiče, do které může v průběhu života dorůst. Větší ryby se množí rychleji, ale menší ryby mohou uprchnout rybářům a navíc mají větší šanci, že samovolně zahynou (například že je sežere predátor, nebo si nedokáží obstarat dost potravy). Tento stav vytváří prostředí, kdy ryby s větší maximální velikostí mají lepší podmínky pro přežití a reprodukci, takže se na základě evolučního tlaku snaží být co největší. Druhý faktor jsou rybáři, kteří loví ryby jen určité velikosti z čehož benefitují menší ryby, takže mají tendenci zmenšovat se, aby unikly rybářským sítím.
 +
 +
= Popis modelu =
 +
[[File:Joho00_model.png|thumb|600px|right|Ukázka modelu rybolovu]]
 +
Simulace v NetLogu, kterou je možné vidět v obrázku vpravo, se skládá z několika ovládacích prvků, nastavování parametrů, grafů s výsledky a samotné grafické vyobrazení simulace.
 +
*  '''Tlačítka''' ''setup'' a ''go'' slouží k vygenerování ryb a lodí v oceánu a následnému spuštění samotné simulace, případně pozastavení simulace..
 +
*  '''Parametry''' ''number-of ships'' a ''net-size'' slouží k nastavení simulace. ''number-of-ships'' udává počet lodí, které budou v rámci simulace plout oceánem a ''net-size'' udává velikost ok rybářských sítí, čili určuje, které ryby budou lodí uloveny a které nikoli.
 +
*  '''Results''' obsahují celou řadu čísel a grafů, které slouží k vyhodnocení výsledků simulace
 +
** Nejdůležitějším výsledkem je '''Long term catch''', který udává velikost úlovku všech rybářů po doběhnutí simulace (ta trvá 20 000 kroků, přičemž ''Long term catch'' se začíná počítat až od kroku 10 000, jelikož do té doby může stále docházet k vývoji stabilního ekosystému na základě nastavených parametrů).
 +
** Graf '''Catch''' vyobrazuje množství úlovku. Jsou v něm vidět dva výsledky. ''Catch'' vyobrazuje celkový úlovek od prvního cyklu simulace. Zde je často vidět velký, či naopak malý úlovek na začátku simulace, dokud se ekosystém nepřizpůsobí nastaveným parametrům. Pokud simulace poběží krátkou dobu, je možné vidět, že výsledky velmi agresivního rybolovu budou velmi dobré, jelikož rybáři na začátku vyloví obrovské množství ryb a zdecimují ekosystém. Ten nebude produkovat dost ryb a z dlouhodobého pohledu bude úlovek velmi malý, nebo dokonce vůbec žádný. Od tohoto počátečního zkreslení je očištěn graf '''Long term catch''', který začíná počítat až od kroku 10 000, takže ukazuje dlouhodobý a udržitelný úlovek při nastavených parametrech.
 +
** Grafy '''Fish population''' a '''Fish atributes''' se oba týkají populace ryb, ale kvůli zcela odlišným řádům nejsou vyobrazeny jako jeden.
 +
*** '''Fish population''' zobrazuje parametr ''Number of fishes'', který popisuje celkový počet ryb v oceánu, zatímco parametr ''Mass of fishes'' vykresluje celkovou hmotnost všech ryb v oceánu v součtu. Pokud jsou tyto dva výsledky velmi blízko, znamená to, že ryby jsou velmi malé a průměrná velikost ryby je blízko 1. Naopak pokud jsou od sebe tyto parametry velmi vzdálené, poukazuje to na skutečnost, že ryby v oceánu jsou opravdu velké.
 +
*** '''Fish atributes''' se zaměřuje na průměrné parametry ryb. ''Average max size'' vyobrazuje “gen” velikosti ryb. Jde totiž o maximální velikost, které mohou ryby dorůst. Tato vlastnost může být zásadně ovlivněna velikostí ok sítí, které vyvíjí evoluční tlak na zmenšování maximální velikosti ryb.
 +
* '''Mapa''' slouží ke grafickému vyobrazení simulace a má rozměry 300x300 polí, což je poměrně vysoké číslo, ale jelikož v simulaci nepracuji se samotnými dlaždicemi, nemá to negativní dopad na výkon simulace.
 +
 +
== Agenti modelu ==
 +
* '''Lodě''' reprezentují rybáře lovící v oceánu. Počet lodí, které se vygenerují, je závislý na nastavení parametru ''number-of-ships'', mají velikost 15 a generují se na náhodné pozici v oceánu s náhodnou orientací.
 +
* '''Ryby''' se stejně jako rybářské lodě generují na náhodných pozicích a s náhodnou orientací, mají tvar ryby, modrou barvu a tři zajímavé parametry ''max-size'', který udává jejich maximální “genetickou” velikost. Jde o maximální velikost, do které může ryba dorůst a na začátku se u každé ryby generuje náhodně na základě globálních parametrů ''breed-max-size'' a ''breed-min-size'', které udávají rozsah ve kterém se může ''max-size'' vygenerovat. V našem případě se počáteční ''max-size'' může pohybovat od 1 do 10 a může nabývat i desetinných čísel. V moment, kdy je definována maximální velikost, do které může ryba dorůst, je potřeba vygenerovat její počáteční velikost. Ta se opět generuje náhodně v rozsahu mezi ''breed-min-size'' a ''max-size''. Poslední parametr, který ryby mají, je ''Reproduce-cooldown'', což je odpočet, který odpočítává za jak dlouho ryba zplodí potomka. Tento parametr se u první generace ryb generuje náhodně, aby se ryby rozmnožovaly postupně a ne po vlnách, což je důležité pro plynulost simulace.
 +
== Parametry modelu ==
 +
Model má celou řadu parametrů - některé z nich se nastavují při setupu v kódu a nejsou určeny k přenastavování uživatelem. Opravdu rýpavý uživatel si s nimi hrát může, ale hrozí, že po jeho zásahu nebude simulace správně fungovat, nebo bude enormně náročná na výpočetní výkon simulace. Těmito parametry jsou ''breed-max-size'', ''breed-min-size'', počet vygenerovaných ryb a ''ocean-capacity'', který slouží pouze ke snížení množství ryb v simulaci kvůli velkým výpočetním požadavkům v situaci, kdy je ryb velké množství.
 +
Parametry, které jsou určeny pro uživatele simulace, jsou ''number-of-ships'' a ''net-size''
 +
* '''number-of-ships''' udává množství lodí v simulaci. Může nabývat hodnot od 0 (ekosystém si žije vlastním životem) do 100. Výsledky simulace se efektivně mění do 40 lodí a dále jsou výsledky již velmi podobné. Ideální by bylo, pokud by NetLogo umožňovalo nastavit přírůstky o 1 mezi 0 až 40 a mezi 41 až 100 například po pěti. Tuto funkci bohužel NetLogo nemá a proto jsou výsledky velmi podobné ve více než půlce rozsahu tohoto parametru. Na tuto skutečnost je nutné myslet při generování výsledků.
 +
* '''net-size''' ovlivňuje jak velké ryby budou lodí uloveny. Může nabývat hodnot v rozsahu 1 až 10. Hodnotu 0 jsem z možností vyřadil, jelikož v reálu není možné vytvořit funkční síť s nulovou velikostí ok a také kvůli tomu, že v žádném bodě simulace nemohou ryby nabývat menší velikosti než 1. Tento limit jsem se rozhodl implementovat, jelikož ryby s menší velikostí než 1 nejsou v simulaci takřka vidět (ryba má velikost jednoho pixelu). Oka v sítích mohou mít velikost sítí jen celá čísla, jelikož jemnější škála už na výsledky simulace nemá velký vliv, ale pokud by se simulací chtěl někdo experimentovat, je možné tuto škálu nastavit na libovolný počet desetinných míst.
 +
 +
== Metody modelu ==
 +
* '''setup''' slouží k  vygenerování počátečního stavu simulace. Vyčistí se během ní všechny hodnoty z předchozího běhu simulace, nastaví se ''breed-max-size'', ''breed-min-size'' a ''ocean-capacity''. Následně se zavolají funkce k vygenerování lodí a ryb (v našem případě 500).
 +
** '''setup-ships''' je velmi jednoduchá metoda, která vygeneruje počet lodí na základě parametru ''number-of-ships'', nastaví jim náhodnou pozici v oceánu a velikost 15.
 +
** '''setup-fishes''' vytvoří požadovaný počet ryb, každá z nich se vygeneruje na náhodné pozici, nastaví se jí náhodně ''max-size'' v rozsahu 1 až 10 a následně se nastaví aktuální rychlost ryby v rozsahu 1 až ''max-size''. V dalším kroku se náhodně vygeneruje ''reproduce-cooldown'' v rozsahu 0 až 500 + total-fish-mass*2. Horní limit by šel v našem případě nastavit na konkrétní číslo, ale pokud by uživatel zkoušel měnit počet ryb vygenerovaných na začátku, tak to bude v ''reproduce-cooldown'' zohledněno. Nakonec se rybám nastaví tvar “fish” a modrá barva.
 +
* '''go''' uvádí celou simulaci do pohybu a opakuje se stále dokola. Začíná podmínkou, která simulaci zastaví v cyklu 20 000, aby bylo možné odečíst výsledky simulace vždy ve stejný čas. Počet cyklů je možné libovolně změnit, nedoporučuji ho však snižovat k hranici 10 000 a už vůbec ne pod ní, jelikož by se tím zmenšila přesnost výsledků, případně by simulace nevytvořila výsledky žádné. Po kontrole této podmínky se započíta další tick.
 +
** '''count-average-size''', '''count-average-max-size''' a '''count-total-fish-mass''' metody slouží pouze k odečtení sledovaných parametrů. V metodě ''average-size'' se počítá průměrná velikost všech ryb, metoda ''average-max-size'' slouží k vypočtení průměrné maximální velikosti a ''total-fish-mass'' sečte hmotnost všech ryb v oceánu.
 +
** '''move-fishes''' zajišťuje pohyb a další funkce ryb. Každá ryba si nejdříve zkontroluje, jestli nebyla snědena, poté se pokusí reprodukovat, následně kousek povyroste a nakonec se posune dopředu o vzdálenost 1.
 +
*** '''be-eaten''' je metoda, která simuluje přirozené hynutí ryb v oceánu. Může jít o přirozenou smrt věkem, sežrání predátorem, neschopnost obstarat si potravu, uhynutí na nemoci a cokoliv dalšího. Metoda funguje na základě náhodného čísla, které když je menší než 1, tak je ryba sežrána a umírá. Toto náhodné číslo v sobě zohledňuje velikost ryby (větší ryba má menší šance, že bude sežrána), ''total-fish-mass'' (slouží k tomu, aby se ryby nepřemnožily. Pokud ryby v oceánu v součtu dosahují velké hmotnosti, je větší šance, že zahynou. Toto je snaha o implementaci nedostatku potravy), ''ocean-capacity'' (parametr, který slouží pouze k regulaci množství ryb kvůli výkonové náročnosti v situaci, kdy je v oceánu příliš mnoho ryb).
 +
*** '''reproduce''' začíná podmínkou, kde se kontroluje, jestli už vypršel odpočet pro reprodukci. Pokud ano, musí ryba splnit ještě jednu podmínku, kdy musí být větší nebo stejně velká jako je náhodné číslo z její maximální velikosti. Tento krok je snahou o implementaci toho, aby nedospělé ryby nemohly plodit potomky a protože nechci v simulaci definovat věk ryby, kdy se může množit, udělal jsem to pomocí této náhody. Pokud ryba splní všechny tyto podmínky, tak zplodí potomka - ten se vytváří velmi podobně jako se vytvářely ryby na začátku, s výjimkou generování ''max-size''. Tento parametr totiž potomek přejímá po svém předkovi s tím, že může být až o 1 větší, nebo menší, než byl u rodiče. Pokud je však velikost větší, než ''breed-max-size'', tak se uměle zmenší na maximální hodnotu a naopak pokud je velikost menší než ''breed-min-size'', velikost se opět uměle zvětší na minimum. Tímto děděním je zajištěna velmi zjednodušená evoluce, která umožňuje selekci ryb s maximální velikostí nejvhodnější pro nastavené parametry. Aktuální velikost nově narozené ryby je desetinou její maximální velikosti a její ''reproduce-cooldown'' je náhodné číslo od nuly do minimálně jednoho tisíce + ''total-fish-mass'' krát ''ocean-capacity''. Tento složitý výpočet slouží opět k tomu, aby se nově narozené ryby množily pomaleji ve chvíli, kdy už je jejich populace přemnožená a ''ocean-capacity'' opět slouží k umělému snížení množství ryb z důvodu výpočetní náročnosti. Po narození potomka si ryba rodič opět znovu nastaví ''reproduce-cooldown'' a zahájí se nový odpočet do dalšího rozmnožování. Ten je generován náhodně od 0 do minimálně 200 +  ''total-fish-mass'' krát ''ocean-capacity''. Na konci celé ''reproduce'' funkce se sníží ''reproduce-cooldown'' o aktuální velikost ryby. Opět jsou zvýhodněy ryby, které mají větší velikost, jelikož se jejich odpočet odečítá rychleji.
 +
*** '''grow''' je velmi jednoduchá metoda, která zajišťuje pouze růst ryb. Pokud je ryba menší, než je její ''max-size'', tak povyroste o poměr její maximální velikosti ku aktuální velikosti (mladší ryby rostou rychleji, než starší ryby) a to celé se ještě vydělí 100, aby ryby nerostly příliš rychle.
 +
** '''move-ships''' vdechuje život rybářským lodím. Každá loď se posune o vzdálenost 2 dopředu a následně u všech ryb zkontroluje, jestli jsou k lodi blíže než 5 a jestli je jejich velikost větší, než velikost ok sítí, pokud ano, ryba je chycena a umírá. Velikost ryby se přičítá k celkovému úlovku a pokud je kolo simulace větší než 10 000, tak se velikost ryby přičítá i k ''long-term-catch'', který slouží jako hlavní sledovaná metrika této simulace.
 +
= Výsledky simulace =
 +
Jelikož NetLogo neumí exportovat množství výsledků naráz (nebo o tom alespoň nevím), tak tvorba dat pro mou simulaci byla zdlouhavá manuální práce, nicméně výsledky jsou opravdu velmi zajímavé. Rozhodl jsem se vygenerovat data pro všechny velikosti ok sítí a mnoho variant množství lodí. Od 1 do 40 lodí jsem generoval výsledky pro každou jednu kombinaci od 40 do 50 jsem vygeneroval pět variant následně jsem se zaměřil jen na 55, 60, 70, 80, 90 a 100 lodí, jelikož výsledky v těchto vysokých počtech lodí se mění již velmi pomalu. Výsledky vykazují předvídatelný trend - pokud rybáři loví ryby příliš agresivně, škodí tím rybímu ekosystému a v dlouhodobém horizontu naloví méně ryb. K tomuto závěru dojde každý bez velkého přemýšlení, ale výsledky simulace celou problematiku hodně osvětlily a poukázaly na mnoho zajímavých skutečností.
 +
== Strategie rybářů ==
 +
Na situaci rybářů se dá nahlížet z několika pohledů. Prvním je snaha dosáhnout co největšího úlovku v součtu (například v situaci, kdy většina rybářských lodí patří jedné velké společnosti, která si platí velmi levnou pracovní sílu a zajímá ji jen a pouze maximalizace vyloveného množství ryb). Druhým pohledem je co největší úlovek na jednu rybářskou loď (jde o situaci, kdy rybáři rybaří sami za sebe a jde jim o maximalizaci svého vlastního úlovku).
 +
* '''Největší celkový úlovek'''
 +
[[File:Joho00_celkovy-ulovek.png|thumb|900px|right|Celkový úlovek všech lodí]]
 +
Nejlepších výsledků může rybářský průmysl dosáhnout, když se bude lodí oceánem plavit poměrně málo, ale zato budou lovit i velmi malé ryby. Jde totiž o situaci, kdy rybolov není natolik intenzivní, aby se vytvářel evoluční tlak na zmenšování ryb. Ryby na rybáře naráží tak málo, že se jim absolutně nevyplatí jim přizpůsobovat svou velikost, jelikož benefity z jejich velikosti zásadně převažují benefity uprchnutí rybářům. Rybáři navíc loví všechny ryby nehledě na jejich velikost, takže i kdyby se ryby zmenšily, výhodu nad rybáři by tím nezískaly. Tato strategie malých ok funguje pokud rybářů není příliš mnoho. Pokud se jich oceánem začne plavit příliš, rybám se již může vyplatit svou velikost přizpůsobit, nebo pokud rybáři budou intenzivně lovit i velmi malé ryby, může dojít k úplnému vylovení druhu, což z dlouhodobého pohledu povede ke zcela nulovým ziskům.
 +
Pokud jde o rybolov v chudé oblasti, kde je jedinou obživou lidí rybolov, může nastat situace, kdy je rybářů příliš mnoho, jelikož na tom záleží jejich přežití. V takovou chvíli je nutné, aby rybáři zvětšili oka v sítích, aby nezničili ekosystém. Vzniká tak paradoxní situace, kdy rybáři záměrně nachytají méně ryb, aby jich ulovili více. V tuto chvíli je rybářů příliš mnoho a mají zásadní vliv na populaci ryb, které svou velikost přizpůsobují velikosti sítí, jediné ryby, které rybáři naloví jsou ty, které “omylem” narostou do takové velikosti, že se již chytí do sítí. Pro vysvětlení předpokládejme, že jedna z deseti ryb doroste takové velikosti, aby mohla být chycena v sítích. Rybářům se vyplatí chovat se tak, aby se tento boj o jednu z deseti dostatečně velkých ryb vedl v oceánu, kde jsou sítě i ryby velké, jelikož jedna ulovená ryba rybáři přinese více masa, které může prodat.
 +
Nejhorší možný scénář (ale bohužel ten v realitě nejpravděpodobnější) nastává, když je rybářů příliš mnoho a pro maximalizaci svého osobního užitku se snaží velikost ok zmenšovat, aby ulovili více než konkurence. To vytváří velký evoluční tlak na zmenšování ryb a může vést i k úplnému zhroucení ekosystému. V obou případech na situaci tratí nejen rybáři, ale i populace ryb a potažmo celý ekosystém oceánu.
 +
* '''Největší úlovek jednotlivce'''
 +
[[File:Joho00_ulovek-na-lod.png|thumb|900px|right|Celkový úlovek všech lodí]]
 +
Maximalizace úlovku jednotlivce se na první pohledu jeví jako ten nejlepší přístup, výsledky však ukazují, že není možné se tímto přístupem řídit. Největšího výdělku na jednu loď by totiž rybáři dosáhli, pokud by se oceánem plavila pouze jedna jediná loď, která loví ryby absolutně všech velikostí. Jedna taková loď by neulovila tolik ryb, aby měla dopad na ekosystém a zároveň by se plavila nejméně vyloveným, nejzdravějším oceánem, který je plný velkých ryb. Pokud by se oceánem plavily dvě lodě, nastávaly by situace, kdy se musí o oceán dělit a ryby vylovené jedním rybářem by již nemohl ulovit druhý rybář. Je jasné, že není možné, aby bylo celé lidstvo zásobováno rybami z jedné jediné rybářské lodě a proto je tento přístup nepoužitelný. Jediný možný scénář, kdy je tento pohled aplikovatelný je v situaci, kdy jeden rybář vlastní jednu rybářskou loď a velké jezero a uvažuje, jestli dá svolení k rybolovu ve svém jezeře ještě někomu dalšímu.
 +
== Významné jevy ==
 +
V tabulce objemu vylovených ryb jsou vidět dvě zajímavé oblasti a jeden ostrý přechod. Jde o velmi zajímavé jevy, které v simulaci nastávají a je možné je aplikovat i na rybolov ve skutečném světě
 +
* '''Kritická hranice''' 
 +
[[File:Joho00_kriticka-hranice.png|thumb|450px|right|Kritická hranice]]
 +
je asi nejzajímavější z výsledků simulace. V datech je vidět ostrá hrana, kdy stačí jen drobná změna parametrů a výsledky simulace jsou radikálně odlišné. Jde o hranici, kde se populace ryb “rozhoduje” mezi strategií ''být co největší'' a strategií ''přizpůsobit se velikosti ok''. Pod/napravo od této čáry je vidět situace, kdy je rybolov natolik intenzivní, že se rybám vyplácí svou velikost přizpůsobit velikosti ok sítí a ryby se začínají zmenšovat, aby intenzivnímu rybolovu unikly. Rybolov by se měl vždy snažit být nad touto hranicí. Pokud už se ale rybáři dostanou pod tuto hranici, je nutné aby oka v jejich sítích byla velká, aby se ryby nezačaly zmenšovat do fáze, kdy bude v oceánu plavat málo ryb, které budou ještě ke všemu velmi malé, nebo aby nedošlo ke kompletnímu vyhubení druhu.
 +
** '''Být co největší''' je strategie, kdy převládají benefity z velikosti ryb nad hrozbou rybářů. To může být z několika důvodů.
 +
*** '''1)''' Rybáři mají malá oka, takže by se populace ryb musela zmenšit o hodně a nevýhody spojené s jejich malými rozměry převažují schopnost utéct z rybářských sítí.
 +
*** '''2)''' Rybáři mají větší oka, ale oceánem se jich plaví málo. Rybám by se sice vyplatilo se zmenšit, aby sítěmi proplavaly, ale šance, že v oceánu narazí na loď je tak malá, že benefity z velikosti přesahují riziko ulovení.
 +
** '''Přizpůsobit se velikosti ok''' je strategie, která se vyznačuje většími benefity z přizpůsobení své velikosti velikosti ok, jelikož rybáři představují větší hrozbu, než přirození predátoři.
 +
*** '''1)''' Rybáři mají příliš velká oka a proto se rybám vyplatí zmenšit svou maximální velikost a tím uprchnout ze sítí za cenu mírného znevýhodnění v běžném životě.
 +
*** '''2)''' Rybářů je příliš mnoho a ryby, které jsou větší, než oka v sítích narazí na rybáře příliš rychle a velká ryba nestihne ze své velikosti vytěžit tolik, aby se jí vyplatilo stát se obětí rybářů. Pokud by bylo rybářů málo, tak velká ryba sice bude dříve či později ulovena, ale během toho stihne zplodit dost potomků, aby se jí toto riziko vyplatilo podstoupit.
 +
* '''Zóna udržitelnosti''' [[File:Joho00_zona-udrzitelnosti.png|thumb|450px|left|Zóna udržitelného rybolovu]]Jde o zónu, která je pro rybolov ideální. Zdravým oceánem se plaví relativně malé množství lodí, takže nemají velký vliv na ekosystém. Rybáři na těchto lodích loví velmi agresivně, díky čemuž mají velký úlovek. Celkový úlovek všech rybářů v součtu je zde uplně nejlepší. Pokud by rybářů bylo méně, či více, tak by se celkový objem vylovených ryb by se pouze snižoval. Stejného výsledku by se dosáhlo i pokud by rybáři zásadně zvětšili oka svých sítí. Jelikož nepředstavují pro ekosystém hrozbu, není nutné, aby brali ohledy na velikost lovených ryb.
 +
* '''Ničení ekosystému''' [[File:Joho00_niceni-ekosystemu.png|thumb|450px|right|Zóna ničení ekosystému]]
 +
Zóna v tabulce vpravo nahoře je zcela nejhorší možná situace. Jde o situaci, kdy je v oceánu málo ryb, které dorůstají malých rozměrů, a jež se snaží lovit obrovské množství zoufalých rybářů, kteří musí mít velmi malá oka v sítích, aby měli alespoň nějaký úlovek. Ryby jsou malé, takže hůře rostou, méně se množí a je jich málo, takže se jejich populace rozrůstá jen velmi pomalu. V této zóně hrozí totální vyhubení ryb a snížení úlovku na nulu.

Revision as of 15:49, 13 June 2021


Zadání

Simulace bude představovat průmyslový rybolov v oceánech, který se negativně projevuje na množství a velikosti ryb, které je následně možné lovit, čímž se zmenšuje úlovek a je nutné rybařit stále intenzivněji pro udržení objemu úlovku.

Při nadměrném rybolovu nejsou schopny ryby udržovat svou populaci a postupně jich ubývá. Vlivem velikost ok v sítích se také vytváří evoluční tlak na velikost ryb, které se mezi generacemi zmenšují, jelikož pak mají větší šanci utéct ze sítí. Pokud ale rybáři zmenší velikost ok v sítích, mohou nastávat situace, že budou loveny nedospělé ryby, které ještě nestihly zplodit potomky, čímž se množství ryb v příští sezóně snižuje. Nastává zde souboj mezi velikostí a množstvím ryb proti velikosti ok a objemu úlovku rybářů

Autor Otakar Johanis

Typ modelu Multiagentní

Modelovací nástroj Netlogo

Agenti

  • Rybářské lodě - Loví ryby v oceánech, je možné nastavit množství lodí a velikost ok sítí
  • Ryby - První generace ryb má aktuální i maximální velikost náhodou a v průběhu simulace se vlivem prostředí velikost ryb přizpůsobí podmínkám, ve kterých žijí. Menší ryba poskytne rybářské lodi menší úlovek, má větší šanci rybáři utéct a nenechat se chytit, ale pomaleji se rozmnožuje a má větší šanci, že zahyne (například ji sežere nějaký predátor). Ryby v průběhu času plodí potomky, kteří přijímají velikost svého předka ovlivněnou náhodou. Menší ryby jsou ale snazší kořistí predátorů v oceánech a proto se množí pomaleji, než velké ryby.

Parametry modelu

  • Množství rybářských lodí
  • Velikost ok sítí

Cíl simulace: Cílem simulace je najít optimální limity objemu vylovených ryb a velikosti ok sítí, aby bylo rybářství z dlouhodobého pohledu udržitelné a nevedlo k devastaci rybích populací v oceánech.

Popis problematiky

Průmyslový rybolov je celosvětově velmi rozsáhlý a v posledních desetiletích přestává být udržitelným. Ekosystémy oceánů a moří začínají strádat a velikost ryb se začíná zmenšovat, čímž se každoročně zmenšuje úlovek rybářů. Z dlouhodobého pohledu je nutné rybaření omezit tak, aby bylo udržitelné. Udržitelnosti se dá dosáhnout vícero způsoby.

  • Množství lodí které v oceánech loví ryby. Za tímto parametrem se může skrývat objem nalovených ryb, množství vydaných rybářských povolení, nebo kapacita rybářských lodí. Jde v podstatě pouze o to, jak často se ryby budou setkávat s rybářskými loděmi - větší množství rybářských lodí, delší rybářské sezóny, nebo větší úložný prostor na lodích jsou již druhotné parametry.
  • Velikost ok sítí má velký dopad na populaci ryb. Nikoli však na počet ryb, ale na jejich velikost. Menší ryby totiž mají větší šanci utéct skrz velká oka, zatímco velké ryby ze sítí neutečou. To znamená, že menší ryby mají větší šanci přežít v oceánu a větší šanci zplodit potomstvo a tím předat potomkům svou menší velikost. Taková menší velikost však rybám přináší komplikace v běžném životě, jelikož jsou například snazším cílem predátorů, mohou hůře bojovat o potravu a podobně. Díky evoluci byla jejich velikost perfektní pro prostředí ve kterém žily a přinášela jim nejvíce benefitů. O tyto benefity menší ryby přichází, kvůli čemuž je jejich přirozený život těžší. Menší oka sítí tedy vytváří evoluční tlak na ryby, které se snaží přizpůsobit svou velikost, aby ze sítí dokázaly uprchnout.

Návrh simulace

Pomocí programu NetLogo jsem vytvořil oceán, ve kterém plavou ryby a lodě. Lodě loví ryby určité velikosti. Ryby postupně rostou a množí se. Potomek ryby se vždy narodí malý, ale dědí maximální velikost svého rodiče, do které může v průběhu života dorůst. Větší ryby se množí rychleji, ale menší ryby mohou uprchnout rybářům a navíc mají větší šanci, že samovolně zahynou (například že je sežere predátor, nebo si nedokáží obstarat dost potravy). Tento stav vytváří prostředí, kdy ryby s větší maximální velikostí mají lepší podmínky pro přežití a reprodukci, takže se na základě evolučního tlaku snaží být co největší. Druhý faktor jsou rybáři, kteří loví ryby jen určité velikosti z čehož benefitují menší ryby, takže mají tendenci zmenšovat se, aby unikly rybářským sítím.

Popis modelu

Ukázka modelu rybolovu

Simulace v NetLogu, kterou je možné vidět v obrázku vpravo, se skládá z několika ovládacích prvků, nastavování parametrů, grafů s výsledky a samotné grafické vyobrazení simulace.

  • Tlačítka setup a go slouží k vygenerování ryb a lodí v oceánu a následnému spuštění samotné simulace, případně pozastavení simulace..
  • Parametry number-of ships a net-size slouží k nastavení simulace. number-of-ships udává počet lodí, které budou v rámci simulace plout oceánem a net-size udává velikost ok rybářských sítí, čili určuje, které ryby budou lodí uloveny a které nikoli.
  • Results obsahují celou řadu čísel a grafů, které slouží k vyhodnocení výsledků simulace
    • Nejdůležitějším výsledkem je Long term catch, který udává velikost úlovku všech rybářů po doběhnutí simulace (ta trvá 20 000 kroků, přičemž Long term catch se začíná počítat až od kroku 10 000, jelikož do té doby může stále docházet k vývoji stabilního ekosystému na základě nastavených parametrů).
    • Graf Catch vyobrazuje množství úlovku. Jsou v něm vidět dva výsledky. Catch vyobrazuje celkový úlovek od prvního cyklu simulace. Zde je často vidět velký, či naopak malý úlovek na začátku simulace, dokud se ekosystém nepřizpůsobí nastaveným parametrům. Pokud simulace poběží krátkou dobu, je možné vidět, že výsledky velmi agresivního rybolovu budou velmi dobré, jelikož rybáři na začátku vyloví obrovské množství ryb a zdecimují ekosystém. Ten nebude produkovat dost ryb a z dlouhodobého pohledu bude úlovek velmi malý, nebo dokonce vůbec žádný. Od tohoto počátečního zkreslení je očištěn graf Long term catch, který začíná počítat až od kroku 10 000, takže ukazuje dlouhodobý a udržitelný úlovek při nastavených parametrech.
    • Grafy Fish population a Fish atributes se oba týkají populace ryb, ale kvůli zcela odlišným řádům nejsou vyobrazeny jako jeden.
      • Fish population zobrazuje parametr Number of fishes, který popisuje celkový počet ryb v oceánu, zatímco parametr Mass of fishes vykresluje celkovou hmotnost všech ryb v oceánu v součtu. Pokud jsou tyto dva výsledky velmi blízko, znamená to, že ryby jsou velmi malé a průměrná velikost ryby je blízko 1. Naopak pokud jsou od sebe tyto parametry velmi vzdálené, poukazuje to na skutečnost, že ryby v oceánu jsou opravdu velké.
      • Fish atributes se zaměřuje na průměrné parametry ryb. Average max size vyobrazuje “gen” velikosti ryb. Jde totiž o maximální velikost, které mohou ryby dorůst. Tato vlastnost může být zásadně ovlivněna velikostí ok sítí, které vyvíjí evoluční tlak na zmenšování maximální velikosti ryb.
  • Mapa slouží ke grafickému vyobrazení simulace a má rozměry 300x300 polí, což je poměrně vysoké číslo, ale jelikož v simulaci nepracuji se samotnými dlaždicemi, nemá to negativní dopad na výkon simulace.

Agenti modelu

  • Lodě reprezentují rybáře lovící v oceánu. Počet lodí, které se vygenerují, je závislý na nastavení parametru number-of-ships, mají velikost 15 a generují se na náhodné pozici v oceánu s náhodnou orientací.
  • Ryby se stejně jako rybářské lodě generují na náhodných pozicích a s náhodnou orientací, mají tvar ryby, modrou barvu a tři zajímavé parametry max-size, který udává jejich maximální “genetickou” velikost. Jde o maximální velikost, do které může ryba dorůst a na začátku se u každé ryby generuje náhodně na základě globálních parametrů breed-max-size a breed-min-size, které udávají rozsah ve kterém se může max-size vygenerovat. V našem případě se počáteční max-size může pohybovat od 1 do 10 a může nabývat i desetinných čísel. V moment, kdy je definována maximální velikost, do které může ryba dorůst, je potřeba vygenerovat její počáteční velikost. Ta se opět generuje náhodně v rozsahu mezi breed-min-size a max-size. Poslední parametr, který ryby mají, je Reproduce-cooldown, což je odpočet, který odpočítává za jak dlouho ryba zplodí potomka. Tento parametr se u první generace ryb generuje náhodně, aby se ryby rozmnožovaly postupně a ne po vlnách, což je důležité pro plynulost simulace.

Parametry modelu

Model má celou řadu parametrů - některé z nich se nastavují při setupu v kódu a nejsou určeny k přenastavování uživatelem. Opravdu rýpavý uživatel si s nimi hrát může, ale hrozí, že po jeho zásahu nebude simulace správně fungovat, nebo bude enormně náročná na výpočetní výkon simulace. Těmito parametry jsou breed-max-size, breed-min-size, počet vygenerovaných ryb a ocean-capacity, který slouží pouze ke snížení množství ryb v simulaci kvůli velkým výpočetním požadavkům v situaci, kdy je ryb velké množství. Parametry, které jsou určeny pro uživatele simulace, jsou number-of-ships a net-size

  • number-of-ships udává množství lodí v simulaci. Může nabývat hodnot od 0 (ekosystém si žije vlastním životem) do 100. Výsledky simulace se efektivně mění do 40 lodí a dále jsou výsledky již velmi podobné. Ideální by bylo, pokud by NetLogo umožňovalo nastavit přírůstky o 1 mezi 0 až 40 a mezi 41 až 100 například po pěti. Tuto funkci bohužel NetLogo nemá a proto jsou výsledky velmi podobné ve více než půlce rozsahu tohoto parametru. Na tuto skutečnost je nutné myslet při generování výsledků.
  • net-size ovlivňuje jak velké ryby budou lodí uloveny. Může nabývat hodnot v rozsahu 1 až 10. Hodnotu 0 jsem z možností vyřadil, jelikož v reálu není možné vytvořit funkční síť s nulovou velikostí ok a také kvůli tomu, že v žádném bodě simulace nemohou ryby nabývat menší velikosti než 1. Tento limit jsem se rozhodl implementovat, jelikož ryby s menší velikostí než 1 nejsou v simulaci takřka vidět (ryba má velikost jednoho pixelu). Oka v sítích mohou mít velikost sítí jen celá čísla, jelikož jemnější škála už na výsledky simulace nemá velký vliv, ale pokud by se simulací chtěl někdo experimentovat, je možné tuto škálu nastavit na libovolný počet desetinných míst.

Metody modelu

  • setup slouží k vygenerování počátečního stavu simulace. Vyčistí se během ní všechny hodnoty z předchozího běhu simulace, nastaví se breed-max-size, breed-min-size a ocean-capacity. Následně se zavolají funkce k vygenerování lodí a ryb (v našem případě 500).
    • setup-ships je velmi jednoduchá metoda, která vygeneruje počet lodí na základě parametru number-of-ships, nastaví jim náhodnou pozici v oceánu a velikost 15.
    • setup-fishes vytvoří požadovaný počet ryb, každá z nich se vygeneruje na náhodné pozici, nastaví se jí náhodně max-size v rozsahu 1 až 10 a následně se nastaví aktuální rychlost ryby v rozsahu 1 až max-size. V dalším kroku se náhodně vygeneruje reproduce-cooldown v rozsahu 0 až 500 + total-fish-mass*2. Horní limit by šel v našem případě nastavit na konkrétní číslo, ale pokud by uživatel zkoušel měnit počet ryb vygenerovaných na začátku, tak to bude v reproduce-cooldown zohledněno. Nakonec se rybám nastaví tvar “fish” a modrá barva.
  • go uvádí celou simulaci do pohybu a opakuje se stále dokola. Začíná podmínkou, která simulaci zastaví v cyklu 20 000, aby bylo možné odečíst výsledky simulace vždy ve stejný čas. Počet cyklů je možné libovolně změnit, nedoporučuji ho však snižovat k hranici 10 000 a už vůbec ne pod ní, jelikož by se tím zmenšila přesnost výsledků, případně by simulace nevytvořila výsledky žádné. Po kontrole této podmínky se započíta další tick.
    • count-average-size, count-average-max-size a count-total-fish-mass metody slouží pouze k odečtení sledovaných parametrů. V metodě average-size se počítá průměrná velikost všech ryb, metoda average-max-size slouží k vypočtení průměrné maximální velikosti a total-fish-mass sečte hmotnost všech ryb v oceánu.
    • move-fishes zajišťuje pohyb a další funkce ryb. Každá ryba si nejdříve zkontroluje, jestli nebyla snědena, poté se pokusí reprodukovat, následně kousek povyroste a nakonec se posune dopředu o vzdálenost 1.
      • be-eaten je metoda, která simuluje přirozené hynutí ryb v oceánu. Může jít o přirozenou smrt věkem, sežrání predátorem, neschopnost obstarat si potravu, uhynutí na nemoci a cokoliv dalšího. Metoda funguje na základě náhodného čísla, které když je menší než 1, tak je ryba sežrána a umírá. Toto náhodné číslo v sobě zohledňuje velikost ryby (větší ryba má menší šance, že bude sežrána), total-fish-mass (slouží k tomu, aby se ryby nepřemnožily. Pokud ryby v oceánu v součtu dosahují velké hmotnosti, je větší šance, že zahynou. Toto je snaha o implementaci nedostatku potravy), ocean-capacity (parametr, který slouží pouze k regulaci množství ryb kvůli výkonové náročnosti v situaci, kdy je v oceánu příliš mnoho ryb).
      • reproduce začíná podmínkou, kde se kontroluje, jestli už vypršel odpočet pro reprodukci. Pokud ano, musí ryba splnit ještě jednu podmínku, kdy musí být větší nebo stejně velká jako je náhodné číslo z její maximální velikosti. Tento krok je snahou o implementaci toho, aby nedospělé ryby nemohly plodit potomky a protože nechci v simulaci definovat věk ryby, kdy se může množit, udělal jsem to pomocí této náhody. Pokud ryba splní všechny tyto podmínky, tak zplodí potomka - ten se vytváří velmi podobně jako se vytvářely ryby na začátku, s výjimkou generování max-size. Tento parametr totiž potomek přejímá po svém předkovi s tím, že může být až o 1 větší, nebo menší, než byl u rodiče. Pokud je však velikost větší, než breed-max-size, tak se uměle zmenší na maximální hodnotu a naopak pokud je velikost menší než breed-min-size, velikost se opět uměle zvětší na minimum. Tímto děděním je zajištěna velmi zjednodušená evoluce, která umožňuje selekci ryb s maximální velikostí nejvhodnější pro nastavené parametry. Aktuální velikost nově narozené ryby je desetinou její maximální velikosti a její reproduce-cooldown je náhodné číslo od nuly do minimálně jednoho tisíce + total-fish-mass krát ocean-capacity. Tento složitý výpočet slouží opět k tomu, aby se nově narozené ryby množily pomaleji ve chvíli, kdy už je jejich populace přemnožená a ocean-capacity opět slouží k umělému snížení množství ryb z důvodu výpočetní náročnosti. Po narození potomka si ryba rodič opět znovu nastaví reproduce-cooldown a zahájí se nový odpočet do dalšího rozmnožování. Ten je generován náhodně od 0 do minimálně 200 + total-fish-mass krát ocean-capacity. Na konci celé reproduce funkce se sníží reproduce-cooldown o aktuální velikost ryby. Opět jsou zvýhodněy ryby, které mají větší velikost, jelikož se jejich odpočet odečítá rychleji.
      • grow je velmi jednoduchá metoda, která zajišťuje pouze růst ryb. Pokud je ryba menší, než je její max-size, tak povyroste o poměr její maximální velikosti ku aktuální velikosti (mladší ryby rostou rychleji, než starší ryby) a to celé se ještě vydělí 100, aby ryby nerostly příliš rychle.
    • move-ships vdechuje život rybářským lodím. Každá loď se posune o vzdálenost 2 dopředu a následně u všech ryb zkontroluje, jestli jsou k lodi blíže než 5 a jestli je jejich velikost větší, než velikost ok sítí, pokud ano, ryba je chycena a umírá. Velikost ryby se přičítá k celkovému úlovku a pokud je kolo simulace větší než 10 000, tak se velikost ryby přičítá i k long-term-catch, který slouží jako hlavní sledovaná metrika této simulace.

Výsledky simulace

Jelikož NetLogo neumí exportovat množství výsledků naráz (nebo o tom alespoň nevím), tak tvorba dat pro mou simulaci byla zdlouhavá manuální práce, nicméně výsledky jsou opravdu velmi zajímavé. Rozhodl jsem se vygenerovat data pro všechny velikosti ok sítí a mnoho variant množství lodí. Od 1 do 40 lodí jsem generoval výsledky pro každou jednu kombinaci od 40 do 50 jsem vygeneroval pět variant následně jsem se zaměřil jen na 55, 60, 70, 80, 90 a 100 lodí, jelikož výsledky v těchto vysokých počtech lodí se mění již velmi pomalu. Výsledky vykazují předvídatelný trend - pokud rybáři loví ryby příliš agresivně, škodí tím rybímu ekosystému a v dlouhodobém horizontu naloví méně ryb. K tomuto závěru dojde každý bez velkého přemýšlení, ale výsledky simulace celou problematiku hodně osvětlily a poukázaly na mnoho zajímavých skutečností.

Strategie rybářů

Na situaci rybářů se dá nahlížet z několika pohledů. Prvním je snaha dosáhnout co největšího úlovku v součtu (například v situaci, kdy většina rybářských lodí patří jedné velké společnosti, která si platí velmi levnou pracovní sílu a zajímá ji jen a pouze maximalizace vyloveného množství ryb). Druhým pohledem je co největší úlovek na jednu rybářskou loď (jde o situaci, kdy rybáři rybaří sami za sebe a jde jim o maximalizaci svého vlastního úlovku).

  • Největší celkový úlovek
Celkový úlovek všech lodí

Nejlepších výsledků může rybářský průmysl dosáhnout, když se bude lodí oceánem plavit poměrně málo, ale zato budou lovit i velmi malé ryby. Jde totiž o situaci, kdy rybolov není natolik intenzivní, aby se vytvářel evoluční tlak na zmenšování ryb. Ryby na rybáře naráží tak málo, že se jim absolutně nevyplatí jim přizpůsobovat svou velikost, jelikož benefity z jejich velikosti zásadně převažují benefity uprchnutí rybářům. Rybáři navíc loví všechny ryby nehledě na jejich velikost, takže i kdyby se ryby zmenšily, výhodu nad rybáři by tím nezískaly. Tato strategie malých ok funguje pokud rybářů není příliš mnoho. Pokud se jich oceánem začne plavit příliš, rybám se již může vyplatit svou velikost přizpůsobit, nebo pokud rybáři budou intenzivně lovit i velmi malé ryby, může dojít k úplnému vylovení druhu, což z dlouhodobého pohledu povede ke zcela nulovým ziskům. Pokud jde o rybolov v chudé oblasti, kde je jedinou obživou lidí rybolov, může nastat situace, kdy je rybářů příliš mnoho, jelikož na tom záleží jejich přežití. V takovou chvíli je nutné, aby rybáři zvětšili oka v sítích, aby nezničili ekosystém. Vzniká tak paradoxní situace, kdy rybáři záměrně nachytají méně ryb, aby jich ulovili více. V tuto chvíli je rybářů příliš mnoho a mají zásadní vliv na populaci ryb, které svou velikost přizpůsobují velikosti sítí, jediné ryby, které rybáři naloví jsou ty, které “omylem” narostou do takové velikosti, že se již chytí do sítí. Pro vysvětlení předpokládejme, že jedna z deseti ryb doroste takové velikosti, aby mohla být chycena v sítích. Rybářům se vyplatí chovat se tak, aby se tento boj o jednu z deseti dostatečně velkých ryb vedl v oceánu, kde jsou sítě i ryby velké, jelikož jedna ulovená ryba rybáři přinese více masa, které může prodat. Nejhorší možný scénář (ale bohužel ten v realitě nejpravděpodobnější) nastává, když je rybářů příliš mnoho a pro maximalizaci svého osobního užitku se snaží velikost ok zmenšovat, aby ulovili více než konkurence. To vytváří velký evoluční tlak na zmenšování ryb a může vést i k úplnému zhroucení ekosystému. V obou případech na situaci tratí nejen rybáři, ale i populace ryb a potažmo celý ekosystém oceánu.

  • Největší úlovek jednotlivce
Celkový úlovek všech lodí

Maximalizace úlovku jednotlivce se na první pohledu jeví jako ten nejlepší přístup, výsledky však ukazují, že není možné se tímto přístupem řídit. Největšího výdělku na jednu loď by totiž rybáři dosáhli, pokud by se oceánem plavila pouze jedna jediná loď, která loví ryby absolutně všech velikostí. Jedna taková loď by neulovila tolik ryb, aby měla dopad na ekosystém a zároveň by se plavila nejméně vyloveným, nejzdravějším oceánem, který je plný velkých ryb. Pokud by se oceánem plavily dvě lodě, nastávaly by situace, kdy se musí o oceán dělit a ryby vylovené jedním rybářem by již nemohl ulovit druhý rybář. Je jasné, že není možné, aby bylo celé lidstvo zásobováno rybami z jedné jediné rybářské lodě a proto je tento přístup nepoužitelný. Jediný možný scénář, kdy je tento pohled aplikovatelný je v situaci, kdy jeden rybář vlastní jednu rybářskou loď a velké jezero a uvažuje, jestli dá svolení k rybolovu ve svém jezeře ještě někomu dalšímu.

Významné jevy

V tabulce objemu vylovených ryb jsou vidět dvě zajímavé oblasti a jeden ostrý přechod. Jde o velmi zajímavé jevy, které v simulaci nastávají a je možné je aplikovat i na rybolov ve skutečném světě

  • Kritická hranice
Kritická hranice

je asi nejzajímavější z výsledků simulace. V datech je vidět ostrá hrana, kdy stačí jen drobná změna parametrů a výsledky simulace jsou radikálně odlišné. Jde o hranici, kde se populace ryb “rozhoduje” mezi strategií být co největší a strategií přizpůsobit se velikosti ok. Pod/napravo od této čáry je vidět situace, kdy je rybolov natolik intenzivní, že se rybám vyplácí svou velikost přizpůsobit velikosti ok sítí a ryby se začínají zmenšovat, aby intenzivnímu rybolovu unikly. Rybolov by se měl vždy snažit být nad touto hranicí. Pokud už se ale rybáři dostanou pod tuto hranici, je nutné aby oka v jejich sítích byla velká, aby se ryby nezačaly zmenšovat do fáze, kdy bude v oceánu plavat málo ryb, které budou ještě ke všemu velmi malé, nebo aby nedošlo ke kompletnímu vyhubení druhu.

    • Být co největší je strategie, kdy převládají benefity z velikosti ryb nad hrozbou rybářů. To může být z několika důvodů.
      • 1) Rybáři mají malá oka, takže by se populace ryb musela zmenšit o hodně a nevýhody spojené s jejich malými rozměry převažují schopnost utéct z rybářských sítí.
      • 2) Rybáři mají větší oka, ale oceánem se jich plaví málo. Rybám by se sice vyplatilo se zmenšit, aby sítěmi proplavaly, ale šance, že v oceánu narazí na loď je tak malá, že benefity z velikosti přesahují riziko ulovení.
    • Přizpůsobit se velikosti ok je strategie, která se vyznačuje většími benefity z přizpůsobení své velikosti velikosti ok, jelikož rybáři představují větší hrozbu, než přirození predátoři.
      • 1) Rybáři mají příliš velká oka a proto se rybám vyplatí zmenšit svou maximální velikost a tím uprchnout ze sítí za cenu mírného znevýhodnění v běžném životě.
      • 2) Rybářů je příliš mnoho a ryby, které jsou větší, než oka v sítích narazí na rybáře příliš rychle a velká ryba nestihne ze své velikosti vytěžit tolik, aby se jí vyplatilo stát se obětí rybářů. Pokud by bylo rybářů málo, tak velká ryba sice bude dříve či později ulovena, ale během toho stihne zplodit dost potomků, aby se jí toto riziko vyplatilo podstoupit.
  • Zóna udržitelnosti
    Zóna udržitelného rybolovu
    Jde o zónu, která je pro rybolov ideální. Zdravým oceánem se plaví relativně malé množství lodí, takže nemají velký vliv na ekosystém. Rybáři na těchto lodích loví velmi agresivně, díky čemuž mají velký úlovek. Celkový úlovek všech rybářů v součtu je zde uplně nejlepší. Pokud by rybářů bylo méně, či více, tak by se celkový objem vylovených ryb by se pouze snižoval. Stejného výsledku by se dosáhlo i pokud by rybáři zásadně zvětšili oka svých sítí. Jelikož nepředstavují pro ekosystém hrozbu, není nutné, aby brali ohledy na velikost lovených ryb.
  • Ničení ekosystému
    Zóna ničení ekosystému

Zóna v tabulce vpravo nahoře je zcela nejhorší možná situace. Jde o situaci, kdy je v oceánu málo ryb, které dorůstají malých rozměrů, a jež se snaží lovit obrovské množství zoufalých rybářů, kteří musí mít velmi malá oka v sítích, aby měli alespoň nějaký úlovek. Ryby jsou malé, takže hůře rostou, méně se množí a je jich málo, takže se jejich populace rozrůstá jen velmi pomalu. V této zóně hrozí totální vyhubení ryb a snížení úlovku na nulu.