Difference between revisions of "Můj život aneb jak poznat tu pravou (NetLogo)"

From Simulace.info
Jump to: navigation, search
(Definice problému)
 
(79 intermediate revisions by the same user not shown)
Line 1: Line 1:
  
 
+
'''V následujícím textu se můžete setkat s dávkou nadsázky, sarkazmu a upřímnosti. Pokud se vás něco dotkne, něco urazí nebo povzbudí, je mi to jedno'''.
== '''WORK IN PROGRESS''' ==
 
 
 
 
 
'''V následujícím textu se můžete setkat s dávkou nadsázky, sarkazmu a upřímnosti. Pokud se vás něco dotkne, něco vás urazí nebo povzbudí, je mi to jedno'''.
 
  
 
__TOC__
 
__TOC__
Line 20: Line 16:
 
Ženský.
 
Ženský.
  
Jmenuji se ducan. Jsem hyperaktivní dítě (seriózně) ve věku 24 let původem z jihovýchodní Asie, programátor, nosím zlatočerné dioptrické ray bany (šestky na obou čočkách a lehký astigmatizmus) a od září pravidelně obcházím techno akce s příchutí MDMA. Pustili mě i do berlínského Berghainu, tolik polonahých gayů jsem v zivotě pohromadě neviděl. Momentálně hledám pěknou babu, resp. ženu svých snů.
+
Jmenuji se ducan. Jsem hyperaktivní dítě (seriózně) ve věku 24 let původem z jihovýchodní Asie, programátor, nosím zlatočerné dioptrické ray bany (šestky na obou čočkách a lehký astigmatizmus) a od září pravidelně obcházím techno akce s hořkou příchutí. Pustili mě i do berlínského Berghainu, tolik polonahých gayů jsem v zivotě pohromadě neviděl. Momentálně hledám pěknou babu, resp. ženu svých snů.
  
 
[[File:me.jpg | left | 250px]]
 
[[File:me.jpg | left | 250px]]
  
Pokusím se proto co nejvěrohodněji nasimulovat jeden z mých nedávných týdnů. Den po dni, hodinu po hodině. To jest, part-time (life time) v proptech startupu Spaceflow, navštěvování státního edukativního institutu pro nabytí vědomostí a svatého papíru (doporučuju 4 dohody od Duška), lekce boxu, půlnoční strahovské procházky s partou kamarádů, rave party v Ankali, komunitní (rasově diskriminační) srazy mladých vietnamců v Žitné ulici, posilování lýtek ve fitku a další systematické, nahodilé, ale i nesmyslné činnosti. Bude to 5 let co si zapisuju veškerou svojí denní aktivitu, s přesností na hodiny. Tímto zdravím pana kalendar z Gůgla, díky.
+
Pokusím se proto co nejvěrohodněji nasimulovat jeden z mých nedávných týdnů. Den po dni, hodinu po hodině. To jest, part-time (life time) v proptech startupu Spaceflow, návštěvy státního edukativního institutu pro nabytí vědomostí a svatého papíru (doporučuju 4 dohody od Duška), lekce boxu, půlnoční strahovské procházky s partou kamarádů, rave party v Ankali, komunitní (rasově diskriminační) srazy mladých vietnamců v Žitné ulici, posilování lýtek ve fitku a další systematické, nahodilé, ale i nesmyslné činnosti. Bude to 5 let co si zapisuju veškerou svojí denní aktivitu, s přesností na hodiny. Tímto zdravím pana kalendar z Gůgla, díky.
  
K věci. Během svých “dospělých” let jsem strávil dávku svého času s více či méně atraktivními/energickými/vášnivými/vyspělými zenami. Vytvořil jsem si nedávno i excel tabulku, kde jsem si je všechny ohodnotil v 15 kritériích na škále 0 do 100. Nakonec jsem si hodnoty zprůměroval a maximální skóre bylo osmdesát šest. Ano, vietnamský narcista co bere extázi a chce ovládnout celou galaxii, těší mě.
+
K věci. Během svých “dospělých” let jsem strávil dávku svého času s více či méně atraktivními/energickými/vášnivými/vyspělými ženami. Vytvořil jsem si nedávno i excel tabulku, kde jsem si je všechny ohodnotil v 15 kritériích na škále 0 do 100. Nakonec jsem si hodnoty zprůměroval a maximální skóre bylo osmdesát šest. Ano, vietnamský narcista co bere _m a chce ovládnout celou galaxii, těší mě.
  
 
V posledních 3 měsících se mi nedaří žádný vhodný objekt potkat (ženu), tudíž mi nezbýva nic jiného, než svůj život zmapovat, nasimulovat a zjistit, jak co nejideálněji tweaknout svůj denní režim tak, abych zvýšil své šance potkat tu pravou. Na světě někde je, takže už stačí být jen ve správnou dobu na správném místě.
 
V posledních 3 měsících se mi nedaří žádný vhodný objekt potkat (ženu), tudíž mi nezbýva nic jiného, než svůj život zmapovat, nasimulovat a zjistit, jak co nejideálněji tweaknout svůj denní režim tak, abych zvýšil své šance potkat tu pravou. Na světě někde je, takže už stačí být jen ve správnou dobu na správném místě.
  
''UPDATE, v období mezi napsáním zadání a finalizace této práce se už i poštěstilo. Hm, takže jsem to dělal zbytečně''
+
''UPDATE, v období mezi napsáním zadání a finalizace této práce se už i nějaké zajímavé bytosti objevily. Vesmíre, simulace, funguje to :).''
  
 
=== Cíl ===
 
=== Cíl ===
  
Cílem simulace je najít tu pravou :-) //todo [[#Definice problému|problému]] výše.
+
Cílem simulace je zjistit:
 +
 
 +
*  Kolik možných budoucích chotí lze během jednoho týdne potkat. :-)
  
 
== Přístup k řešení ==
 
== Přístup k řešení ==
  
Simulace mého týdne
+
Nasimuluju jeden z mých týdnů. A ostatní lidi v Praze.
  
 
=== Týdenní režim ===
 
=== Týdenní režim ===
  
* Můj týdenní režim (hrubý, permutovaný, ilustrativní nástin, stalkeři, máte smůlu)
+
* Můj týdenní režim (hrubý, permutovaný, ilustrativní nástin, stalkeři, máte smůlu). <ref name="calenar">Google Calendar. Dostupné z: [http://www.calendar.google.com gcal] </ref>
  
 
  Pondělí
 
  Pondělí
Line 56: Line 54:
 
  - 20 minut skype s mámou a tátou (jsou ve Vietnamu)
 
  - 20 minut skype s mámou a tátou (jsou ve Vietnamu)
 
  - šest hodin na VŠE
 
  - šest hodin na VŠE
  - 1 hodina oběd se spoluzáky
+
  - 1 hodina oběd se spolužáky
 
  - 1 hodina přesun v MHD
 
  - 1 hodina přesun v MHD
 
  - 3 hodiny vývojářský meetup v STRV
 
  - 3 hodiny vývojářský meetup v STRV
Line 62: Line 60:
 
  Pátek
 
  Pátek
 
  - 20 minut hygiena
 
  - 20 minut hygiena
  - 1 hodina oběd se spoluzackou
+
  - 1 hodina oběd se spolužačkou
 
  - šest hodin na VŠE
 
  - šest hodin na VŠE
 
  - 1 hodina posilování
 
  - 1 hodina posilování
 
  - 1 hodina přesun v MHD
 
  - 1 hodina přesun v MHD
 
  - 7 hodin taneční akce v Ankali
 
  - 7 hodin taneční akce v Ankali
 +
 +
a tak dále.
  
 
=== Data pro simulaci ===
 
=== Data pro simulaci ===
 
+
[[File:obyv_stav.jpg|400px|right]]
* Počet obyvatel v konkrétních lokalitách -  dle městských částí Prahy, ČSÚ <ref name="obyv_pocet">Souhrnné informace o 57 městských částech 2004 - 2016 - Český statistický úřad [online]. 2018 [cit. 2018-06-07]. Dostupné z: [www.czso.cz/documents/11236/37543548/casova_rada_MC_2016.xlsx/3c601a66-7ab8-46b0-8178-6cbdce108249?version=1.1] </ref>
+
* Počet obyvatel v konkrétních lokalitách -  dle městských částí Prahy, ČSÚ <ref name="obyv_pocet">Souhrnné informace o 57 městských částech 2004 - 2016 - Český statistický úřad [online]. 2018 [cit. 2018-06-07]. Dostupné z: [http://www.czso.cz/documents/11236/37543548/casova_rada_MC_2016.xlsx/3c601a66-7ab8-46b0-8178-6cbdce108249?version=1.1 odkaz] </ref>
 
* Atraktivita (fyzická / duševní) - Gaussovo rozdělení (cíl je nad 87 percentil)
 
* Atraktivita (fyzická / duševní) - Gaussovo rozdělení (cíl je nad 87 percentil)
* Počasí - průměrné údaje za posledních 5 let v prvním týdnu května.
+
* Počasí
* Aktuální stav (svobodný, zadaný) - ČSÚ
+
* Aktuální stav (svobodný, zadaný) - <ref name="obyv_stav">Demografická statistika ČSÚ [online]. 2018 [cit. 2018-06-07]. Dostupné z: [http://www.czso.cz/documents/10180/20541835/30000414k01.pdf/1a3310e8-ed0f-43f6-a0c7-f5871b963cb2?version=1.1 odkaz] </ref>
* Věk (dle stromu zivota v ČR) <ref name="obyv_vek">Věkové složení obyvatelstva - Český statistický úřad [online]. 2018 [cit. 2018-06-07]. Dostupné z: [www.czso.cz/documents/11236/37543548/CR_L2_PHA_vek.xlsx/afc354f3-f23c-491c-9032-d65937e6d35c?version=1.3] </ref>
+
* Věk (dle stromu zivota v ČR) <ref name="obyv_vek">Věkové složení obyvatelstva - Český statistický úřad [online]. 2018 [cit. 2018-06-07]. Dostupné z: [http://www.czso.cz/documents/11236/37543548/CR_L2_PHA_vek.xlsx/afc354f3-f23c-491c-9032-d65937e6d35c?version=1.3 odkaz] </ref>
* Sexuální orientace (ČSÚ)
+
* Sexuální orientace (echo24) <ref name="obyv_orientace">Homosexualita v ČR - Echo 24 [online]. 2018. Dostupné z: [http://www.echo24.cz/a/iyay8/4--homosexualu-mezi-cechy-jich-je-mnohem-vic-zjistil-vedec odkaz] </ref>
  
 
=== Ženy ===
 
=== Ženy ===
 +
 +
'''Všechny ženy jsou krásné.'''
 +
 +
V rámci vědy si je ale pěkně rozškatulkujem a z celého toho univerza bytostí budou vyhovovat tyto:
 +
 +
* Pohlaví: Žena
 +
* Atraktivita: Nad 87 (škála - normální rozdělení se střední hodnotou 50 a rozptylem 15) - představte si pod tím cokoli
 +
* Stav: Svobodné
 +
* Orientace: Heterosexuální
 +
* Věk: Mezi 18 a 30.
  
 
== Model ==
 
== Model ==
Line 88: Line 98:
 
=== Přehled agentů ===
 
=== Přehled agentů ===
  
+
{| class="wikitable"
 
+
|+ Agenti
Pražané
+
!
 +
| align="center" | Žlutý vlk o velikosti 3
 +
|-
 +
! Lidé
 +
| align="center" | Barevné šipky, vel. 1
 +
|-
 +
! Lokality
 +
| align="center" | Zelená pole za mapou (skryté)
 +
|-
 +
|}
  
 
=== Vstupní parametry ===
 
=== Vstupní parametry ===
Line 170: Line 189:
  
 
Kapitola zahrnuje přehled a popis některých procedur, které v modelu najdete.
 
Kapitola zahrnuje přehled a popis některých procedur, které v modelu najdete.
 +
 +
=== Nastavení prostředí ===
  
 
*<b>setup</b>
 
*<b>setup</b>
Line 193: Line 214:
 
   setup-people-vrsovice
 
   setup-people-vrsovice
 
   setup-people-other
 
   setup-people-other
 +
 +
* <b>day-count</b>
 +
:: - Počítání aktuálního dne (1 den ~ 1200 ticks v simulaci)
 +
 +
to-report day-count
 +
  let day-ticks-modulo floor (ticks / 1200)
 +
  if day-ticks-modulo = 0 [report "Monday"]
 +
  if day-ticks-modulo = 1 [report "Tuesday"]
 +
  if day-ticks-modulo = 2 [report "Wednesday"]
 +
  if day-ticks-modulo = 3 [report "Thursday"]
 +
  if day-ticks-modulo = 4 [report "Friday"]
 +
  if day-ticks-modulo = 5 [report "Saturday"]
 +
  if day-ticks-modulo = 6 [report "Sunday"]
 +
 +
  report "The end. Restart the simulation."
 +
end
  
 
* <b>setup-me</b>
 
* <b>setup-me</b>
Line 211: Line 248:
 
   end
 
   end
  
* <b>cook-the-magic</b>
+
=== Aktivity, pohyb ===
.
+
 
.
+
V následujícím kódu jsou aktivity '''spát''' a '''jít do školy'''. V prvním případě mi roste energie a malinko i nálada a zůstávám na místě. V druhém mi energie klesá, nálada je nahoru/dolu (v praxi vzhledem ke vztahu k předmětu, v simulaci to není :D) a moje postavička skotačí na území VŠE.
.
+
 
* <b>calculate-consequences</b>
+
to go-to-bed
.
+
  set my-energy my-energy + 0.05
.
+
  set my-mood my-mood + 0.005
.
+
  set my-state "sleeping"
// TODO
+
  ask myselfs [
 +
    set label "sleeping"
 +
  ]
 +
end
 +
to go-to-school
 +
  ask myselfs [
 +
    facexy school-x school-y
 +
    jump random-normal 1 0.2
 +
  ]
 +
  set my-energy my-energy - 0.03
 +
  set my-mood my-mood + ( -1 + random 3 ) / 100
 +
  set my-state "at school"
 +
  ask myselfs [
 +
    set label "at school"
 +
  ]
 +
end
 +
 
 +
=== Výpočet chemie mezi mužem a ženou ===
 +
 
 +
(Takhle to doopardy funguje, dávali to v Simpsonových)
 +
 
 +
Základní procedura, "uvař magii", aplikuje na všechny obyvatele Prahy
 +
to cook-the-magic
 +
  magic-happens-everywhere-with-everybody people-karlin
 +
  magic-happens-everywhere-with-everybody people-strahov
 +
  magic-happens-everywhere-with-everybody people-holesovice
 +
  magic-happens-everywhere-with-everybody people-vrsovice
 +
  magic-happens-everywhere-with-everybody people-zizkov
 +
end
 +
 
 +
Tady se ta magie vaří. Musí se smíchat několikero ingrediencí. Má přítomnost, energie, nálada, kombinace atributů protějšku jako atraktivita, stav, orientace, věk. No, a nakonec musí přát počasí i vesmír.
 +
to magic-happens-everywhere-with-everybody [breed-name]
 +
 
 +
  let chemistry-ingredience flavor-the-weather + flavor-the-chemistry
 +
 
 +
  ask breed-name [
 +
    if any? myselfs-on patch-ahead 1 and chemistry-ingredience > 25 and flavor-people-match = 1 and flavor-me > 20 [
 +
      let message "You've got a match <3"
 +
      calculate-consequences 1 1 1 1 message
 +
    ]
 +
    if any? myselfs-on patch-ahead 1 and chemistry-ingredience > 23 and flavor-people-potential = 1 and flavor-me > 17 [
 +
      let message "There's a potential in the air."
 +
      calculate-consequences 0 1 0.3 0.5 message
 +
    ]
 +
  ]
 +
end
 +
to-report flavor-the-weather
 +
  if weather = "tropical" [
 +
    report random-normal 10 2
 +
  ]
 +
  if weather = "sunny" [
 +
    report random-normal 15 2
 +
  ]
 +
  if weather = "medium" [
 +
    report random-normal 15 2
 +
  ]
 +
  if weather = "cloudy" [
 +
    report random-normal 8 2
 +
  ]
 +
  if weather = "rainy" [
 +
    report random-normal 5 2
 +
  ]
 +
end
 +
to-report flavor-the-chemistry
 +
  report random 10
 +
end
 +
to-report flavor-me
 +
  ifelse my-state = "sleeping"
 +
  [report -100]
 +
  [report my-energy + my-mood]
 +
end
 +
to-report flavor-people-match
 +
  ifelse attractiveness > 87 and marital-status = 0 and orientation = "hetero" and age > 18 and age < 30 and gender = "woman"
 +
  [report 1]
 +
  [report 0]
 +
end
 +
to-report flavor-people-potential
 +
  ifelse attractiveness > 80 and marital-status = 0 and orientation = "hetero" and age > 18 and age < 30 and gender = "woman"
 +
  [report 1]
 +
  [report 0]
 +
end
 +
 
 +
No a když se poštěstí, udělá to semnou velké dobré.
 +
 
 +
to calculate-consequences [match-girl potential-girl mood-change energy-change message]
 +
  set girls-matched girls-matched + match-girl
 +
  set girls-potential girls-potential + potential-girl
 +
  set my-mood my-mood + mood-change
 +
  set my-energy my-energy + energy-change
 +
  show message
 +
end
  
 
== Zhodnocení výsledné simulace ==
 
== Zhodnocení výsledné simulace ==
Line 230: Line 357:
  
 
* jsem vnímavý a dokážu si všimnout každé ženy, co projde kolem
 
* jsem vnímavý a dokážu si všimnout každé ženy, co projde kolem
* lidé v noci spí
+
* všichni lidé v noci spí
 
* lidé přes den pracují (v nějaké lokalitě) a po práci se jdou socializovat
 
* lidé přes den pracují (v nějaké lokalitě) a po práci se jdou socializovat
 
* když je hezké počasí, lidé mají větší tendenci být venku
 
* když je hezké počasí, lidé mají větší tendenci být venku
Line 237: Line 364:
  
 
* výkon počítače/netloga, milion obyvatel/turtlů Prahy to nerozdejchalo
 
* výkon počítače/netloga, milion obyvatel/turtlů Prahy to nerozdejchalo
*
+
* v simulaci je proto jen obyvatelstvo částí Prahy, kde se pravděpodobně vyskytuji
  
 
=== Možná rozšíření modelu ===
 
=== Možná rozšíření modelu ===
Line 247: Line 374:
 
* naškálování (simulace celého roku, více atributů lidí, více druhů počasí,  .. škálování do šířky prakticky čehokoli)
 
* naškálování (simulace celého roku, více atributů lidí, více druhů počasí,  .. škálování do šířky prakticky čehokoli)
  
=== Analýza pozorování ===
+
=== Výsledky ===
  
=== Grafy ===
+
[[File:result.jpg|1100px]]
  
 
== Závěr ==
 
== Závěr ==
 +
 +
Nasimuloval jsem svůj týden. Od pondělí do neděle. Práce, škola, zábava. A ostatní pražané, rozdělení dle městských částí, pohlaví, věku, sexuální orientace a dalších atributů, tam byli také.
 +
Cílem práce bylo zjistit, kolik vyhovujících žen lze potkat během jednoho týdne, výsledky jsou v kapitole výše ([[#Zhodnocení výsledné simulace | Výsledky]]). Došel jsem k několika závěrům:
 +
 +
* Počasí hraje velkou roli (sluníčko mi v 9. kole simulace přineslo 8 vyhovujících žen!, déšť mi naopak nepřinesl ani jednu)
 +
* Setkání s vyhovující ženou nemá rozhodující vliv na energii a náladu na konci týdne (pokud jich teda nepotkám dvě stě)
 +
* Nejvíce žen přibývalo v lokalitě Žižkov. Měl bych asi více chodit do školy.
 +
* Porovnám-li výsledky simulace s reálným životem, pro normální a deštivé počasí výsledky odpovídají, při slunečném jsou přestřelené.
 +
* „Ženy byly stvořeny, aby byly milovány. Ne proto, aby byly chápány.“ Oscar Wilde
  
 
== Zdroje ==
 
== Zdroje ==
Line 259: Line 395:
 
== Ke stažení ==
 
== Ke stažení ==
  
[[File:life.zip]] | zip archiv se simulací NetLogo (kód rozdělen do modulů, proto v zipu)
+
[[File:life.zip]] | zip archiv se simulací NetLogo (kód rozdělen do modulů, proto v zipu)  
  
 
[[File:vysledky.xlsx]] | výstupy ze simulací
 
[[File:vysledky.xlsx]] | výstupy ze simulací
 
+
disclaimer: simulace čas od času stopne, když nějaký člověk vyjde z mapy. V tomto případě pokračujte stisknutím simulate.
  
  
  
 
[[User:Mai|Mai]] ([[User talk:Mai|talk]]) 22:51, 7 June 2018 (CEST)
 
[[User:Mai|Mai]] ([[User talk:Mai|talk]]) 22:51, 7 June 2018 (CEST)

Latest revision as of 15:38, 6 August 2018

V následujícím textu se můžete setkat s dávkou nadsázky, sarkazmu a upřímnosti. Pokud se vás něco dotkne, něco urazí nebo povzbudí, je mi to jedno.

Základní údaje

Název simulace: Můj život aneb jak poznat tu pravou
Předmět: 4IT495 Simulace systémů (LS 2017/2018)
Autor: Bc. Mai Duc Anh
Email: mai@spaceflow.io
Typ modelu: Multiagentní model
Modelovací nástroj: NetLogo

Definice problému

Ženský.

Jmenuji se ducan. Jsem hyperaktivní dítě (seriózně) ve věku 24 let původem z jihovýchodní Asie, programátor, nosím zlatočerné dioptrické ray bany (šestky na obou čočkách a lehký astigmatizmus) a od září pravidelně obcházím techno akce s hořkou příchutí. Pustili mě i do berlínského Berghainu, tolik polonahých gayů jsem v zivotě pohromadě neviděl. Momentálně hledám pěknou babu, resp. ženu svých snů.

Me.jpg

Pokusím se proto co nejvěrohodněji nasimulovat jeden z mých nedávných týdnů. Den po dni, hodinu po hodině. To jest, part-time (life time) v proptech startupu Spaceflow, návštěvy státního edukativního institutu pro nabytí vědomostí a svatého papíru (doporučuju 4 dohody od Duška), lekce boxu, půlnoční strahovské procházky s partou kamarádů, rave party v Ankali, komunitní (rasově diskriminační) srazy mladých vietnamců v Žitné ulici, posilování lýtek ve fitku a další systematické, nahodilé, ale i nesmyslné činnosti. Bude to 5 let co si zapisuju veškerou svojí denní aktivitu, s přesností na hodiny. Tímto zdravím pana kalendar z Gůgla, díky.

K věci. Během svých “dospělých” let jsem strávil dávku svého času s více či méně atraktivními/energickými/vášnivými/vyspělými ženami. Vytvořil jsem si nedávno i excel tabulku, kde jsem si je všechny ohodnotil v 15 kritériích na škále 0 do 100. Nakonec jsem si hodnoty zprůměroval a maximální skóre bylo osmdesát šest. Ano, vietnamský narcista co bere _m a chce ovládnout celou galaxii, těší mě.

V posledních 3 měsících se mi nedaří žádný vhodný objekt potkat (ženu), tudíž mi nezbýva nic jiného, než svůj život zmapovat, nasimulovat a zjistit, jak co nejideálněji tweaknout svůj denní režim tak, abych zvýšil své šance potkat tu pravou. Na světě někde je, takže už stačí být jen ve správnou dobu na správném místě.

UPDATE, v období mezi napsáním zadání a finalizace této práce se už i nějaké zajímavé bytosti objevily. Vesmíre, simulace, funguje to :).

Cíl

Cílem simulace je zjistit:

  • Kolik možných budoucích chotí lze během jednoho týdne potkat. :-)

Přístup k řešení

Nasimuluju jeden z mých týdnů. A ostatní lidi v Praze.

Týdenní režim

  • Můj týdenní režim (hrubý, permutovaný, ilustrativní nástin, stalkeři, máte smůlu). [1]
Pondělí
- 20 minut hygiena ve společných koupelnách na Strahově
- 7 hodin programování ve Spaceflow ve foru karlín
- 1 hodina oběd v Karlíně s náhodnou duší
- 2 hodiny boxu
- 1 hodina procházka s partou na petříně
- 1 hodina přesun/doprava v MHD
Úterý
- 20 minut hygiena
- 20 minut skype s mámou a tátou (jsou ve Vietnamu)
- šest hodin na VŠE
- 1 hodina oběd se spolužáky
- 1 hodina přesun v MHD
- 3 hodiny vývojářský meetup v STRV
Pátek
- 20 minut hygiena
- 1 hodina oběd se spolužačkou
- šest hodin na VŠE
- 1 hodina posilování
- 1 hodina přesun v MHD
- 7 hodin taneční akce v Ankali

a tak dále.

Data pro simulaci

Obyv stav.jpg
  • Počet obyvatel v konkrétních lokalitách - dle městských částí Prahy, ČSÚ [2]
  • Atraktivita (fyzická / duševní) - Gaussovo rozdělení (cíl je nad 87 percentil)
  • Počasí
  • Aktuální stav (svobodný, zadaný) - [3]
  • Věk (dle stromu zivota v ČR) [4]
  • Sexuální orientace (echo24) [5]

Ženy

Všechny ženy jsou krásné.

V rámci vědy si je ale pěkně rozškatulkujem a z celého toho univerza bytostí budou vyhovovat tyto:

  • Pohlaví: Žena
  • Atraktivita: Nad 87 (škála - normální rozdělení se střední hodnotou 50 a rozptylem 15) - představte si pod tím cokoli
  • Stav: Svobodné
  • Orientace: Heterosexuální
  • Věk: Mezi 18 a 30.

Model

Grafické rozhraní

Aaa.jpg

Přehled agentů

Agenti
Žlutý vlk o velikosti 3
Lidé Barevné šipky, vel. 1
Lokality Zelená pole za mapou (skryté)

Vstupní parametry

Výchozí hodnoty
day     Monday    
time 0:00
weather medium
my-energy 2
my-mood 5
work 30%
school 20%
sleep 30%
socialize 15%
shopping 3%
girls-matched 0
girls-potential 0

Průběh simulace je ovlivněn nastavitelnými parametry. Cílem simulace je nalézt optimální nastavení vstupních parametrů pro zvýšení šance potkat vyhovující a potencionální dívku.

Počasí
  1. weather - předpověď počasí (tropical, sunny, medium, cloudy, rainy)
Život (podíl zastoupení činností)
  1. work - práce ve startupu ve Foru Karlín
  2. school - přednášky a cvičení na VŠE
  3. sleep - spaní na Strahovských kolejích
  4. socialize - společenské vyžití (např. kyvadlo, meetupy)
  5. shopping - rozjímání na Andělu

Ovládání

Ovládat simulaci lze pomocí kláves.

  • | S | SETUP- připravení modelu ke spuštění s aktuálně nastavenými parametry
  • | G | SIMULATE- spuštění simulace, ta běží od Pondělí 0:00 do Neděle 23:59

Sledované ukazatele

Ukazatele.jpg


  1. my-energy - vývoj úrovně mé energie, která se odvíjí od činností, událostí, počasí ..
  2. my-mood - vývoj nálady opět na základě vnějších faktorů
  3. girls-matched - počet vyhovujících dívek
  4. girls-potential - počet potencionálních dívek
  5. day - den (pondělí až neděle)
  6. time - čas (0 až 24)

Principy simulace

Kapitola zahrnuje přehled a popis některých procedur, které v modelu najdete.

Nastavení prostředí

  • setup
- nastavení interních parametrů moddelu
- zahrnuje procedury setup-weather, setup-map, setup-people, setup-me, recalculate-globals
  • setup-weather
- nastavení počasí, které má vliv na aktivitu lidí (projeví se i graficky na mapě)
  • setup-map
- nastaví souřadnice důležitých lokací a jejich okolí na mapě (práce, škola ..)
- zahrnuje následující procedury
 setup-globals
 setup-places
 setup-places-area
  • setup-people
- nastavení počtu obyvatel jednotlivých částí v Praze, iniciální nastavení umístění a atributů lidí (atraktivita, rodinný stav ..) - dle údajů z ČSÚ (viz Data pro simulaci)
- zahrnuje následující procedury
 setup-area-coords
 setup-people-count
 setup-people-strahov
 setup-people-karlin
 setup-people-holesovice
 setup-people-zizkov
 setup-people-vrsovice
 setup-people-other
  • day-count
- Počítání aktuálního dne (1 den ~ 1200 ticks v simulaci)
to-report day-count
 let day-ticks-modulo floor (ticks / 1200)
 if day-ticks-modulo = 0 [report "Monday"]
 if day-ticks-modulo = 1 [report "Tuesday"]
 if day-ticks-modulo = 2 [report "Wednesday"]
 if day-ticks-modulo = 3 [report "Thursday"]
 if day-ticks-modulo = 4 [report "Friday"]
 if day-ticks-modulo = 5 [report "Saturday"]
 if day-ticks-modulo = 6 [report "Sunday"]
 report "The end. Restart the simulation."
end
  • setup-me
- nastavení mé iniciální lokace, barvy kůže, avataru, nálady, energie ... (začínám na Strahově, spánkem).
 to setup-me
 create-myselfs 1
 ask myselfs [
   setxy dormitory-x dormitory-y
   set size 3 
   set label "ducan"
   set label-color yellow
   set color yellow
   set shape "wolf"
 ]
 
 set my-mood 5
 set my-energy 2
 end

Aktivity, pohyb

V následujícím kódu jsou aktivity spát a jít do školy. V prvním případě mi roste energie a malinko i nálada a zůstávám na místě. V druhém mi energie klesá, nálada je nahoru/dolu (v praxi vzhledem ke vztahu k předmětu, v simulaci to není :D) a moje postavička skotačí na území VŠE.

to go-to-bed
 set my-energy my-energy + 0.05
 set my-mood my-mood + 0.005
 set my-state "sleeping"
 ask myselfs [
   set label "sleeping"
 ]
end
to go-to-school
 ask myselfs [
   facexy school-x school-y
   jump random-normal 1 0.2
 ]
 set my-energy my-energy - 0.03
 set my-mood my-mood + ( -1 + random 3 ) / 100
 set my-state "at school"
 ask myselfs [
   set label "at school"
 ]
end

Výpočet chemie mezi mužem a ženou

(Takhle to doopardy funguje, dávali to v Simpsonových)

Základní procedura, "uvař magii", aplikuje na všechny obyvatele Prahy

to cook-the-magic
 magic-happens-everywhere-with-everybody people-karlin
 magic-happens-everywhere-with-everybody people-strahov
 magic-happens-everywhere-with-everybody people-holesovice
 magic-happens-everywhere-with-everybody people-vrsovice
 magic-happens-everywhere-with-everybody people-zizkov
end

Tady se ta magie vaří. Musí se smíchat několikero ingrediencí. Má přítomnost, energie, nálada, kombinace atributů protějšku jako atraktivita, stav, orientace, věk. No, a nakonec musí přát počasí i vesmír.

to magic-happens-everywhere-with-everybody [breed-name]
 
 let chemistry-ingredience flavor-the-weather + flavor-the-chemistry
 
 ask breed-name [
   if any? myselfs-on patch-ahead 1 and chemistry-ingredience > 25 and flavor-people-match = 1 and flavor-me > 20 [
     let message "You've got a match <3"
     calculate-consequences 1 1 1 1 message
   ]
   if any? myselfs-on patch-ahead 1 and chemistry-ingredience > 23 and flavor-people-potential = 1 and flavor-me > 17 [
     let message "There's a potential in the air."
     calculate-consequences 0 1 0.3 0.5 message
   ]
 ]
end
to-report flavor-the-weather
 if weather = "tropical" [
   report random-normal 10 2
 ]
 if weather = "sunny" [
   report random-normal 15 2
 ]
 if weather = "medium" [
   report random-normal 15 2
 ]
 if weather = "cloudy" [
   report random-normal 8 2
 ]
 if weather = "rainy" [
   report random-normal 5 2
 ]
end
to-report flavor-the-chemistry
 report random 10
end
to-report flavor-me
 ifelse my-state = "sleeping" 
 [report -100]
 [report my-energy + my-mood]
end
to-report flavor-people-match
 ifelse attractiveness > 87 and marital-status = 0 and orientation = "hetero" and age > 18 and age < 30 and gender = "woman"
 [report 1]
 [report 0]
end
to-report flavor-people-potential
 ifelse attractiveness > 80 and marital-status = 0 and orientation = "hetero" and age > 18 and age < 30 and gender = "woman"
 [report 1]
 [report 0]
end

No a když se poštěstí, udělá to semnou velké dobré.

to calculate-consequences [match-girl potential-girl mood-change energy-change message]
 set girls-matched girls-matched + match-girl
 set girls-potential girls-potential + potential-girl
 set my-mood my-mood + mood-change
 set my-energy my-energy + energy-change
 show message
end

Zhodnocení výsledné simulace

Předpoklady a omezení modelu

Předpoklady

Pro zjednodušení modelové situace jsou brány v úvahu následující předpoklady.

  • jsem vnímavý a dokážu si všimnout každé ženy, co projde kolem
  • všichni lidé v noci spí
  • lidé přes den pracují (v nějaké lokalitě) a po práci se jdou socializovat
  • když je hezké počasí, lidé mají větší tendenci být venku

Omezení

  • výkon počítače/netloga, milion obyvatel/turtlů Prahy to nerozdejchalo
  • v simulaci je proto jen obyvatelstvo částí Prahy, kde se pravděpodobně vyskytuji

Možná rozšíření modelu

  • přesuny mezi lokalitami přesně podle spojů MHD Praha
  • zahrnout další faktory ovlivňující seběvědomí (po návštěvě kadeřnictví, po nějakém úspěchu)
  • další atributy u lidí (preference, míra otevřenosti, záliby ovlivňující pravděpodobnost výskytu na nějaké akci/události ...)
  • vliv sociální sítě (vyšší pravděpodobnost potkání se s přítelem mého přítele)
  • naškálování (simulace celého roku, více atributů lidí, více druhů počasí, .. škálování do šířky prakticky čehokoli)

Výsledky

Result.jpg

Závěr

Nasimuloval jsem svůj týden. Od pondělí do neděle. Práce, škola, zábava. A ostatní pražané, rozdělení dle městských částí, pohlaví, věku, sexuální orientace a dalších atributů, tam byli také. Cílem práce bylo zjistit, kolik vyhovujících žen lze potkat během jednoho týdne, výsledky jsou v kapitole výše ( Výsledky). Došel jsem k několika závěrům:

  • Počasí hraje velkou roli (sluníčko mi v 9. kole simulace přineslo 8 vyhovujících žen!, déšť mi naopak nepřinesl ani jednu)
  • Setkání s vyhovující ženou nemá rozhodující vliv na energii a náladu na konci týdne (pokud jich teda nepotkám dvě stě)
  • Nejvíce žen přibývalo v lokalitě Žižkov. Měl bych asi více chodit do školy.
  • Porovnám-li výsledky simulace s reálným životem, pro normální a deštivé počasí výsledky odpovídají, při slunečném jsou přestřelené.
  • „Ženy byly stvořeny, aby byly milovány. Ne proto, aby byly chápány.“ Oscar Wilde

Zdroje

  1. Google Calendar. Dostupné z: gcal
  2. Souhrnné informace o 57 městských částech 2004 - 2016 - Český statistický úřad [online]. 2018 [cit. 2018-06-07]. Dostupné z: odkaz
  3. Demografická statistika ČSÚ [online]. 2018 [cit. 2018-06-07]. Dostupné z: odkaz
  4. Věkové složení obyvatelstva - Český statistický úřad [online]. 2018 [cit. 2018-06-07]. Dostupné z: odkaz
  5. Homosexualita v ČR - Echo 24 [online]. 2018. Dostupné z: odkaz

Ke stažení

File:Life.zip | zip archiv se simulací NetLogo (kód rozdělen do modulů, proto v zipu)

File:Vysledky.xlsx | výstupy ze simulací

disclaimer: simulace čas od času stopne, když nějaký člověk vyjde z mapy. V tomto případě pokračujte stisknutím simulate. 


Mai (talk) 22:51, 7 June 2018 (CEST)