From 4f5ed34f06a222e1dc25b44df5763bbd1bc277d9 Mon Sep 17 00:00:00 2001 From: Fabricio J Barth Date: Tue, 23 Jul 2024 13:06:24 -0300 Subject: [PATCH] =?UTF-8?q?In=C3=ADcio=20semestre=202024=5F2=20sem=20o=20p?= =?UTF-8?q?lano=20de=20aula=20atualizado?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/avaliacao.md | 11 +- docs/comentarios.md | 26 -- docs/ementa.md | 12 +- docs/index.md | 6 +- docs/projetos/11_delivery/index.md | 25 -- .../11_delivery/parte01/img/grafo.png | Bin 33044 -> 0 bytes .../11_delivery/parte01/img/input.dot | 17 -- .../11_delivery/parte01/img/mapa_01.drawio | 127 ---------- .../11_delivery/parte01/img/mapa_01.png | Bin 21099 -> 0 bytes .../11_delivery/parte01/img/mapa_01_01.drawio | 127 ---------- .../11_delivery/parte01/img/mapa_01_01.png | Bin 25196 -> 0 bytes .../11_delivery/parte01/img/mapa_02.drawio | 115 --------- .../11_delivery/parte01/img/mapa_02.png | Bin 22865 -> 0 bytes .../11_delivery/parte01/img/mapa_03.drawio | 229 ------------------ .../11_delivery/parte01/img/mapa_03.png | Bin 43396 -> 0 bytes docs/projetos/11_delivery/parte01/index.md | 56 ----- .../11_delivery/parte02/img/mapa_01.drawio | 133 ---------- .../11_delivery/parte02/img/mapa_01.png | Bin 24671 -> 0 bytes docs/projetos/11_delivery/parte02/index.md | 42 ---- docs/projetos/11_delivery/parte03/index.md | 33 --- docs/projetos/11_delivery/parte04/index.md | 18 -- docs/projetos/15_rl/index.md | 90 ------- mkdocs.yml | 102 ++++---- 23 files changed, 60 insertions(+), 1109 deletions(-) delete mode 100644 docs/comentarios.md delete mode 100644 docs/projetos/11_delivery/index.md delete mode 100644 docs/projetos/11_delivery/parte01/img/grafo.png delete mode 100644 docs/projetos/11_delivery/parte01/img/input.dot delete mode 100644 docs/projetos/11_delivery/parte01/img/mapa_01.drawio delete mode 100644 docs/projetos/11_delivery/parte01/img/mapa_01.png delete mode 100644 docs/projetos/11_delivery/parte01/img/mapa_01_01.drawio delete mode 100644 docs/projetos/11_delivery/parte01/img/mapa_01_01.png delete mode 100644 docs/projetos/11_delivery/parte01/img/mapa_02.drawio delete mode 100644 docs/projetos/11_delivery/parte01/img/mapa_02.png delete mode 100644 docs/projetos/11_delivery/parte01/img/mapa_03.drawio delete mode 100644 docs/projetos/11_delivery/parte01/img/mapa_03.png delete mode 100644 docs/projetos/11_delivery/parte01/index.md delete mode 100644 docs/projetos/11_delivery/parte02/img/mapa_01.drawio delete mode 100644 docs/projetos/11_delivery/parte02/img/mapa_01.png delete mode 100644 docs/projetos/11_delivery/parte02/index.md delete mode 100644 docs/projetos/11_delivery/parte03/index.md delete mode 100644 docs/projetos/11_delivery/parte04/index.md delete mode 100644 docs/projetos/15_rl/index.md diff --git a/docs/avaliacao.md b/docs/avaliacao.md index 2546894f..4980ca4c 100644 --- a/docs/avaliacao.md +++ b/docs/avaliacao.md @@ -12,7 +12,7 @@ Os objetivos de aprendizagem desta disciplina serão avaliados através das segu O critério para aprovação é: * nota final superior ou igual a cinco (5); -* a média das avaliações intermediária e final deve ser igual ou maior que quatro (4); +* a média das avaliações intermediária e final deve ser igual ou maior que cinco (5); * e 75% de frequência mínima nas aulas. ## *N* exercícios sobre agentes autônomos @@ -21,10 +21,7 @@ Seguem os enunciados que se encaixam nesta categoria: | Descrição | Prazo para entrega | |:------------------------------------------------------------|:-------------------:| -| [Laboratório sobre Busca em Largura e Profundidade](aulas/04_x_buscas/index.md#atividade-de-laboratório) | 03/03/2024 | -| [Laboratório sobre algoritmos de busca cega](aulas/08_heuristica/index.md#entrega-do-exercício) | 10/03/2024 | -| [Planejando rotas para um entregador](./projetos/11_delivery/index.md) | 20/03/2024 | -| [Ambiente competitivo](aulas/14_tictactoe/index.md#atividade-de-laboratório) | 22/04/2024 | +| TBD | TBD | ## 2 projetos @@ -32,9 +29,7 @@ Seguem os enunciados que se encaixam nesta categoria: | Descrição | Prazo para entrega | |:-----------------------------------------------------------------------------------------|:-------------------:| -| [Planejando rotas para um entregador](./projetos/11_delivery/index.md): solução completa | 10/04/2024 | -| [Trabalhando com ambiente não determinístico](./projetos/15_rl/index.md) | 09/05/2024 | - +| TBD | TBD | ## Conversão de conceito para valor numérico diff --git a/docs/comentarios.md b/docs/comentarios.md deleted file mode 100644 index 99a9e633..00000000 --- a/docs/comentarios.md +++ /dev/null @@ -1,26 +0,0 @@ -# Comentários sobre alguns projetos - -Nesta página você irá encontrar alguns comentários e referências sobre alguns projetos executados nesta disciplina. - -## Ambiente competitivo - -A melhor implementação para o exercício sobre [ambientes competitivos](./aulas/14_tictactoe/index.md) foi a implementação feita pela Laura, Julia, Jonas e Giulia. - -Esta implementação está disponível neste [repositório](https://github.com/insper-classroom/04-jogo-velha-ju-lau-jo-giu). - -## Planejador de rotas - -A melhor implementação para o projeto sobre [entregadores de comida](./projetos/11_delivery/index.md) foi a implementação feita pelo Matheus, Daniel e Nina. - -Esta implementação está disponível neste [repositório](https://github.com/insper-classroom/projeto1-nina_dani_mat). - -Trata-se de uma boa implementação para o problema proposto. Esta equipe conseguiu implementar todos os requisitos do enunciado. Claro que sempre há espaço para melhorias, entre elas: - -* A interface do usuário não está tão legal. Está pequena, o que faz ficar pouco amigável. -* A solução sempre aloca o primeiro entregador. Mesmo se ele não for o mais próximo da entrega. - -Quem quiser contribuir com o projeto pode fazer um fork do mesmo e propor pull requests. O que acham? - -## Ambiente não determinístico - -E ai? Quem vai ter a melhor implementação destacada aqui? \ No newline at end of file diff --git a/docs/ementa.md b/docs/ementa.md index cdedfedc..4e6cc595 100644 --- a/docs/ementa.md +++ b/docs/ementa.md @@ -39,16 +39,10 @@ Ao final da disciplina o estudante será capaz de: ## Bibliografia Básica 1. NORVIG, P.; RUSSELL, S., Inteligência Artificial, 3ª ed., Campus Elsevier, 2013 -1. SIEGWART, R.; NOURBAKHSH, I. R.; SCARAMUZZA, D., Introduction to Autonomous Mobile Robots., 2ª ed., MIT Press, 2011 -1. O'KANE, J., A Gentle introduction to ROS, CreateSpace Publishing, 2013 -1. SILVER, D.; SINGH S.; PRECUP D.; SUTTON R. Reward is enough. Artificial Intelligence. Vol 299, 2021. Disponível em [https://doi.org/10.1016/j.artint.2021.103535](https://doi.org/10.1016/j.artint.2021.103535). - ## Bibliografia Complementar -1. SUTTON, R.; BARTO, A. Reinforcement Learning: An Introduction. Second Edition. The MIT Press, 2018. -1. GÉRON, A. Hands-on Machine Learning with Scikit-learn, Keras, and TensorFlow, 2ª ed., O'Reilly, 2021. -1. SCHERZ, P.; MONK, S., Practical electronics for inventors, 3ª ed., Mc Graw Hill, 2013 -1. ASTRÖM, K.; MURRAY, R., Feedback Systems: An Introduction for Scientists and Engineers, Princeton University Press, 2008 -1. THRUN, S.; BURGARD, W; FOX, D., Probabilistic Robotics., MIT Press, 2006 +1. O'KANE, J., A Gentle introduction to ROS, CreateSpace Publishing, 2013 +1. SIEGWART, R.; NOURBAKHSH, I. R.; SCARAMUZZA, D., Introduction to Autonomous Mobile Robots., 2ª ed., MIT Press, 2011 +1. SILVER, D.; SINGH S.; PRECUP D.; SUTTON R. Reward is enough. Artificial Intelligence. Vol 299, 2021. Disponível em [https://doi.org/10.1016/j.artint.2021.103535](https://doi.org/10.1016/j.artint.2021.103535). 1. SILVER, D.; HUBERT T.; SCHRITTWIESER, J.; ANTONOGLOU, I.; LAI, M.; GUEZ, A. [A general reinforcement learning algorithm that masters chess, shogi, and Go through self-play](https://doi.org/10.1126/science.aar6404). Science 362, 1140-1144 (2018). \ No newline at end of file diff --git a/docs/index.md b/docs/index.md index ae2f95d8..a495eae0 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,4 +1,4 @@ -# Inteligência Artificial e Robótica - 2024/1 +# Inteligência Artificial e Robótica - 2024/2 1. [Ementa da disciplina.](ementa.md) 2. [Plano aula-a-aula da disciplina.](plano_de_aulas.md) @@ -10,13 +10,13 @@ Segundas e quartas das 07:30 até 09:30. ## Horário de atendimento -Quartas das 10:00 até 11:30. +Segundas das 10:00 até 11:30. ## Informações adicionais sobre os projetos e implementações * Todas os projetos e implementações irão utilizar a linguagem de programação **Python**. Sendo assim, espera-se que os alunos desta disciplina tenham conhecimento de programação em Python. -* As entregas dos projetos e exercícios serão via [Github Classroom](https://classroom.github.com/classrooms/66448216-insper-classroom-ai-2024) +* As entregas dos projetos e exercícios serão via [Github Classroom](https://classroom.github.com/classrooms/66448216-insper-classroom-ia-2024-2){:target="_blank"} ## Contato diff --git a/docs/projetos/11_delivery/index.md b/docs/projetos/11_delivery/index.md deleted file mode 100644 index 98a2d66d..00000000 --- a/docs/projetos/11_delivery/index.md +++ /dev/null @@ -1,25 +0,0 @@ -# Planejando rotas para entregadores - -O objetivo deste projeto é desenvolver um sistema que identifica as melhores rotas para um conjunto de entregadores levando-se em consideração algumas restrições. - -Este projeto é composto por várias entregas. As entregas são: - -* Entrega 01: [Implementação das funcionalidades mais básicas do sistema de entrega de encomendas](./parte01/index.md). -* Entrega 02: [Implementação do módulo de entrega de encomendas que considera mais de uma entrega no mapa](./parte02/index.md). -* Entrega 03: [Implementação da interface gráfica do sistema de entrega de encomendas](./parte03/index.md). -* Entrega 04: [Implementação do módulo de entrega de encomendas que considera mais de um entregador](./parte04/index.md). - -## Rubrica do projeto - -| Check-point realizado | Conceito | -|-----------------------|----------| -| Não fez o check-point 2 | I | -| Fez o check-point 2 | C | -| Fez o check-point 3 | B+ | -| Fez o check-point 4 | A+ | - -## Data de entrega - -A data de entrega máxima deste projeto será **10 de abril de 2024** até às 11:00. Este projeto deverá ser feito por equipes com até **4 integrantes**. - -Os projetos deverão ser entregues via Github Classroom: [https://classroom.github.com/a/GaolQD5x](https://classroom.github.com/a/GaolQD5x). \ No newline at end of file diff --git a/docs/projetos/11_delivery/parte01/img/grafo.png b/docs/projetos/11_delivery/parte01/img/grafo.png deleted file mode 100644 index ad943f6568b42987fc7cfb4d058c118614b945cd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33044 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 diff --git a/docs/projetos/11_delivery/parte01/img/input.dot b/docs/projetos/11_delivery/parte01/img/input.dot deleted file mode 100644 index e58d8f9f..00000000 --- a/docs/projetos/11_delivery/parte01/img/input.dot +++ /dev/null @@ -1,17 +0,0 @@ -graph G { - - fontname="Helvetica,Arial,sans-serif" - node [fontname="Helvetica,Arial,sans-serif"] - edge [fontname="Helvetica,Arial,sans-serif"] - rankdir="LR"; - node [shape = circle]; - - "a (5)" -- "c (2)" [label = "3"]; - "a (5)" -- "b (4)" [label = "1"]; - "b (4)" -- "c (2)" [label = "1"]; - "b (4)" -- "g (0)" [label = "9"]; - "c (2)" -- "d (1)" [label = "3"]; - "g (0)" -- "h (1)" [label = "1"]; - "c (2)" -- "h (1)" [label = "2"]; - "d (1)" -- "g (0)" [label = "2"]; -} diff --git a/docs/projetos/11_delivery/parte01/img/mapa_01.drawio b/docs/projetos/11_delivery/parte01/img/mapa_01.drawio deleted file mode 100644 index 7bd44b14..00000000 --- a/docs/projetos/11_delivery/parte01/img/mapa_01.drawio +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/projetos/11_delivery/parte01/img/mapa_01.png b/docs/projetos/11_delivery/parte01/img/mapa_01.png deleted file mode 100644 index 2df1f957cc88d8ca0e570acb692ea87ec53d2901..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 21099 zcmeHv2|U#8+CT9iSt^pqQV4bITV%<;Wr=z;WM_~WW0|oVAyl$wiI_@CH4glv($ zOrcQLP?oWbkoO+TIZw{>|9{T=zV&cE@8Q#!-#ypwUcUEreSg<=-Pd%*P+yatmW`H- zjEr7eOU;OkjNBRgqoAPzErgGJ2H+35hmocV+2iJepUKF?w2|uPkZ^CP6U?5BPeOI= z9iN0ccyH%q?ci<==Mxuovg4Cb;}aLxRF$xkGFI2tgSnknbG1WBE9BD7ZM}2u66?V)^xXab<{)H*~5UGo%foQ4CyY?jdnh34U!TPYYh(W8>6juA}&g5 zFn01??_NxFT@2-9XYa9g@46rofq)^MTz_n|MYy=w+aiAuw03t#c>O2_MZnhAxZas7 zSjG=Gks6F`tzrM%YT{&vbX=1?F10>AlC+k+lY`^N$YP@FpTMm*gx4E99IfpTUTgQS zHm&03jzEB0)mOJf)gDH|ZUdLK`!xO^pZafFKc>U#=VJ2+^0 zXc$T9t!<#VsHZgywZ7mr*gcRw8whwgIw9?iU9D|N0$yN~`6N^vk#HEe5(96oJzUpt zhdO!N18h~+I&iiA$Gq03>S^zev|rbY)us)_u}8q|k?uZV>Fb}0i?1z3bX{pA)-S#O zu>%_$;P?mdH`=V%_uS#{9Rm$q#}T}Nd#?ih=b-;7O6xkj-B6NQpVu})Y2C258A=l3 zl4}~dO;B2&&Cf&$kUC5i0YkX2l8c1O>hI67L?h*`JTzFW@mTiS?(|RuS1o6tK;i zZ0m8_aIv?SAHUi6+IpORfhYefIe!yt{gwEsdML|?+H31*nj+8ISZdguu~)Yd`uBoQ zQhfa(_1C-pe~RAr43IXX^cOxF{}iQP5Fq`8N8@Icw%ioAXCx$fe9JO7f2vH|GZNa2 z(pHOLz~SgZMDg5)5vBsOj~YqV%sya z*?dAFc6|Lw^A|+Qe`g=e$6?> z*6Z0e_0Knj#9NQkzlVpu^*C)$AN`;Fg)Qf;?dha%_7}t@*5|op{=)Wj(>MDITaMF4 zCCWBCf!ORXY&}lDz)$}R{e`W^Z+rUho70|KkJI+_-#2IUwjQTn;J^QbcyP17@K@pl ziaNz%HjbVMQwakH6&V*xsDtCba-szaH(g1!k8p2LChO`b?BV3#;vo!0Anb&p)*eVp z(mN2v{Gle&72)K9w0Bqc1f`jzT0~NvLq~I3b-7E}$bD1QLmW|3N?*1||bOKq5$Gnbzx9wqRU)Pz|Qy;cSnzCDp8o zf{UN9eUit2JW-Pr6JC#V{@}-K6b<~bG*f)tef{5*X8!5^{R?#P=lkd3if~7I2;2JD z!kk1$j5k3BA`?tQwf84)~s_mb?f4_jHHd)$FEr;Axg!LB|CjSfm z!G@xv;4o!dB&i(qe@Y~OumuDP2@C`f)JAyG9R+PQw{_}|b@PzU~x()-n-@IQQiVYM_IG;Vw|V&nSn-;7uKxN*thH;Tmd$ z`j$32f|%YBqL?0I5LeZb-9RIzm$+O4kw|Y?sTqPRwkXWswB9**qCh`Qu46i6VW8?1 z?yNbwG@DC=;O69F@$$h_V#Rw&_%TbNmi=6avAS3OR`><{J>N$q7-lQ{=%k4d4el}R z=?C=k==Ly3($NPEHP(2ID-c&xQRnWZ3M@ULKlUIjJw4qz^B3eb?i@80;7K5IcA(dlHwQ72Z>w8dvy=zEN(6%-i!G^pOW; znOyWC1Jv5UlBS+E(=97flI==DP)NE!d$PAz_S)#EV@; z2!ryK?|#w;BNmJMqcU_w%B~MJ-cY@t?t9ccV75a{$KDn!Qu&4*cgxVwmoc)x1t!%V zaJZ?=bmSEGTv8ZAG&+VC;&JC|>urjrv=d&3xa*m3A`Ow~>KPvye! z*=9xeUK=PW>uOIIhKU{)5+jOY}nKC(+VnH=wfn1&tAw z$ta{&1_KQ)iq>JKlC5eU!pJImkrPd{{`PGw=TUQS2A5hlm32msb57aFeGJ-^?xmj0 zhwH>%LW>e+`OBB0-g^Mj?4x~gRGjsd(wEi9OW+EY{#cg~*wev8)E%KmI<(E z^zIt$ef_kQ1G9`uOHWuYFD28bN`%yfEq5cz+n}lN-w`D}7anCh&UTpO=%@wI%g0gR z7~+C;_>)m?$qS*yr6M&`zYRpn^xP6Ed>4#AXG>o)5U1<7vOJ&Ty_a+O))UAI04cvo zx_kG^#GN`ScGyWo*(^);v#%wc7?-ly-$%QP5b77r@*S1SzkhR%q5WZiiRX(hqaBY- zT2I2>`y;UJAKMsdQ>A(nI3yigZIY)XVs2*1Lf$I)&VSYO`hYSiVYut58C#I1syx>aHRz3Ng{WGy)ke^RzI%)z7T zHMez%Rh79z8mc-iRR*CSxIAkTvMm2i`J>%(yROLTx+sogJKmND27U@Gt%;qU)MAK3 z>C`Z@cN1zf2~_=guY`4ht`}XV>+xJ3$%wYXAAZ9k`5Y``1dD5aSlrtvLz(V7`e4N1 z;u{5%WE72uZ-9I%dmO4bs;j^`NkK+PHcEb4%lFe2ek=Um*3rU2hey;52eqog8FRd7 z(0js^=I-je6CE=gLVl~nqFfoWjqo0L&4X@gECalC>if;rRKw_kATpQ8l=v0gKB=XM z+w07Q9afru8Qnegea6%|I{`IVM{HJFSsLGUlSP3DfuUiDwh+Cg4in4F`gnea71M$X z2?}?rEXitG&JM|1;e8B`=Fm5m$d41w2*1LLluoLYd@UK9zG(wbJuy)ludldZmy8Oa znRHIC;|lbjdw85{Nr0p=zdu9dzjuGt2Fz4Ec9U7bz0qjHS*rebxwfBUR2k~y2!lzM>B}o; zP0R~e%&4Mz1$;k-?ssg9=EwL??<|0K7v6zLXrE%4P@Wxoi?}^}WZ{1K@ia@%PW#TH znJE*VuYgPT$ zXoC9l>-z?Cadd&P-kJTt_A<@AJ|rZbcdv)Z_Z)sO0Tiv#G(YStyNo^V@tnJv)ZxNj z^kP@e@ib{T+te!$pJ@5$FH`4$!6}2zFhgZ_J@=al^1Kt~xZBg7J6C8=@!^JwIAl8Q z;>S-s){JC3o50^gJ#5k;8_?_BA1ONa@N%bfU+4RjuGifAE&bgJmroD$85T7hePpNl zw}LlD)#YUI!+n#AIBQkS- zHpvpLy+mYCat>%!rndJA<)c^+!Zf_`O#W22O$l0sgO@7P&* z_ua;nUc&*+Ibwf(rvt`(-$9oO8M=kg1L(n+6qSUQpYFe?dj>2aq zgo^9KiEkqrPD{k8PEI8K6Z%696AR@_)2}20zRh&ixsN)xc%c^?>l#3CY(E#Ls`+V=*Z%(e!uYpXo7r z>T=D>31dm*q%qI<0n+G(vnY=q0~_1HXu(p;^Ij)Hlv5S_JUy$dXGYpO-`*W6b9$K* zGl6SSJfQ3!USw9}65&<>_Z|zGFJGvS1s)IXu)!**ki@}!r%|Xm!|1{z-;S7Pl7;iz%D~@ zPw*Sdli$SV>|i;k+UPzqRzj4ymUS5SYc_-r?59|qy3%lOQ+(8j~NvpnM{Er zdG)4>QuF{fh|u3rg8Qk-X|X>lZ@J< z&O5#fr%&T@>9#d~&&gBADI4Vu6|0BOX)zQkUwwGkJTMt02eZ94-o_Y%wH4s0WYxm& zJQ;bMw^8nJ^3Jee2tSz=K8CYiIWHg-IS|-EtvfTito1wtY&)l>)ada)n$( zj|OuXK5Vq4U_Acep}G9mDf}fF5s`%o?4yR_n^dA>?yfCn`=Dw2AGmk_c@tvRZi0-&R8b%nePYlX=n)WqF-5s<|QEN1&CRm00@M1F;8rou37( z=7De_t^n?G9z7le>E6dd3OYa_^1cEaNeB^9%+re*Hn`_4Sera2AJNo}Sn^4Y-Y+pZ zSBoiH=%dQWjnHrU4E~Demu*r% z2-JCqPZrjV!4)myQi~KU5Cr8sXt(@9zFtX)clarqwlZL)gn04nf%YsKD?bT$@_}>uK6EhlLaReU`l!20)ic`X2{W- zr|V8wT@ye(M-{wW0mJKo^#q^+{2rGSK#1vWp=6=B048ewqkud=#VVBjd{2E=*91_1 zduT&#z*9BE0~Pme1i5!T5tIJpNH2Jw9j^%Bi^bt7{^mKKA48uc}8&*H2Ur z%-3_=_q2n2Gp_<9sLe6bhr;p~`_<4Q)MnK~})#Nk!suna&EIKs@Q zEzS%qN8nUl4Q^EgCDv z3RCw3?02ymHat!j0oEXxz$9JhP*#bpl8nXfuTG@v5}@FLXaYi5BekijiLjf31Kf)pUeU^7(NP$#jNELROKx_S_IPEpO2ddFbbh@&bk^*v{U+y;B4ZDyQgYCG*aP-nF6J@F?Kd-Y? z)?lbSn1%CGPNVrrQonCT_e3$~?j$#MiL%S4D}HhiAH7?2a7YW^a8b9x$3k8U?8Hd^ zED&|(pdWm^BX=rd}c-ZGXcDTOO}q)Wjk})@rA3tB;f_gTb&Ign57b~XRuT! zQrz8}3b>U99o2qLN%rK?+?{c#D}5%%zW7XWLriQfS0+fnW#`&8Rz_q$S8_oaDn2cCxP}5($S>F88vTD#YHt}I6vU@z>6~yunv1>BcX=6n|n@e7=qBk z*UnJo9^jz_%yvi%9~niWGz6w@2RA^H@PeO0 z>`oO^Aw39!?LLeU0gvh208jV00);k`+7^hFDFZY~ltmMV%IF7tD`3BBH2=d1KC%lXdkOm$X{j5xdYcVo7I^ zHH;vr%QAsQD0r(sq0kA!khL;D^B$mvW(#m@3r5>iG3Mzo-|A-ZeO+T_O0SfBO#M`@ z0!#GacjTEB24s#`&E=;3|f7Ocm`VJ-XTY{cb zFTwKfT;$D^ze-zPx}QeyiqlCx9yYwa2{xvC@(c_# zyv|p4AiGr%CEmJ^4ncJH7{j7#GH5(c3QjVSrP%C`277mmR?Da%<6R7vkG2)QtL*b9 zq3kd_q5n+uKZyQENB^6~WLIyxr|M0nDCP~#es-=U<|+{sVltlX`;W7Py9-rb+(YBihfUxH2n~(}!b3FX{%A@x9d>HM4WOA~b1| z-908Vz_aV7CSc0Y!>t#-o`z}RO-Ezj2K5XiJI$TU!*7YCc6L$V_l0nfHPZxnB%$S* z*9Q6DMjyQf2MAgqAMKmRa(a;JrlM!NK4IsPuOo#ym>Dm* zdf?D}i_}q6MkI5_-PUf9={87{L)`)S#nkkGIY^gvI0ws#S<-0$IAJ&iQdA0H4Z6s_ zAZm>p7FQS4WOFOPaYRss6Otexom>#+{^G*jRzpaS`16#w+N3kjh^Jku!Z5f)c!J&X& zIEUxC8YaJ?8xA9rRgC;Dq|A4?9vPJ5H<<)wqsw}O)yJ4C{TtNEec_YF96b8XO35fzm!oAif8$JGYJyM_>UW;eZptTGs}4`>d^(=@N+9}a_>0?8m{vmkT*&H^ zb%JD-S9k19Y;R|8G}USh9ugfBeSgN+Nr*F{{)w(kzvj1{Ewj$#!q|)&Mj$}fC`TvS zWMLYi>8zg|&C+g-$|nXv!U-XFnMg5&X$1d*+9)ptud`78AS!=`3YX{+AHWO8({brm z-O}yVb)LG5sb4u}rD&=Z-qH36WJ8)kAi(Nb@8=|xKER}$hYv0`;g>!(TlWoNdj3%GmS^#(*yNyo(K4)NIA0()rs5xVE zsUkT}Nb7cqMPDae@k#fo3x*7d&IQzB4Fs#G-t#5VZoiDot zlnyoe=E}R66Q1K*1`4yxQivY^T-+ki{|CBB!ZV*DM4%eYVNJCbGnW-GcZQAgl^RO~ zf_E;GW*~Rlik5-H7y&CStA?eXTcW?Rhiwd<1b_4z&H0`87Y}mC-8R_%V7Ser8`p1Jfz59YvicHw$jlahR zef{w4wJM{+^#do^<=F#9_Bbovp0%A1fz)Y8e)3-BKY^H+sx__b>_Y6q>O52 zPp_3gkG{`A^gc&+!;9>f-;H!msz$LAc0Ndb2*TNYd3$PS0qLPAt$Eq*Wc6_RPgXW& zEffM-9=ez z)bq92Ht`xY9jhVHj+&lLjYs3!OU^I5d|u^__|qD2Pm_s`y}Vd^u$e@YV*B=bVOf3q z9Ud&)_QuxlkDrrY zP5cqBkb-EEqyDRe#k-c7x`6eN NX{+n2Jyx*_{x77_Xm$Vq diff --git a/docs/projetos/11_delivery/parte01/img/mapa_01_01.drawio b/docs/projetos/11_delivery/parte01/img/mapa_01_01.drawio deleted file mode 100644 index 2caf6c4f..00000000 --- a/docs/projetos/11_delivery/parte01/img/mapa_01_01.drawio +++ /dev/null @@ -1,127 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/projetos/11_delivery/parte01/img/mapa_01_01.png b/docs/projetos/11_delivery/parte01/img/mapa_01_01.png deleted file mode 100644 index 88858aed527b15dd903f403b8c4feaf5bf910093..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25196 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 - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/projetos/11_delivery/parte01/img/mapa_02.png b/docs/projetos/11_delivery/parte01/img/mapa_02.png deleted file mode 100644 index 73a620157fa61ce41b31c7d4df93b4d65f828af7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 22865 zcmeHv2|Sc*-~Ws?B$diOS_l=H8Ed9wC)t;xvczB*GnSDd%T!9Gnxd7EC8Cg$lx1A%BqRRuLA zRr~q=&hBU&b0QObFb0ctmPY6+D=31gWcR}1(nxJ^wHt#AAc9w-nu?=}k{r0w^6|l< z_n;3NV+f4?U`nJ4V~DY#waIR2gbujIV!Y7c#Q^Q%g=Y+L^>YqXz~Di51VTYkfw5T~ z4?ny&=%f#aD}g3uRiv^4LQNgq`Sqdn5y}c`3QC~O%Gu4?5A)q}j499rXZQJM#ajjW znOY!>Owjs)L?y&teP@5O`DZ+Y_VdR80?m?C zg*m;627b;y9wvBKG!{(kN}L}AS3-iPWNgbdXud@asW#u>?zgb|+@uIaMuQb5n7JGr zY?d+3Jpkj1_GivE-$cOUu>_3IZyR0kI2@3f-*j~L^TP-JwwoIs%Y0_$sy^Vcelv*C zVCCYB{e9~mj4Q!|`4q~`?J;^AqA~6s3oFBcIL>X{+j*fgv%%lP*%co+KYp(1d#=pW zae5PN}+%yob;{ny9-iyD6aQl0`Pbq&w&;qpsJun2cm5(zJTcmCvkSL(59t3YJc*js% zXMdl09=lXw#1|V6J0mua-&hiXkI-|c*13(mm)xl%&esh)`sXh1oH<>1+8VFDrD$VkYQD#le zSnL~A;Y?G-a=w8nNPnef%(L_dJLg5dfpr<6%9Y&< z^uHylUD!A?>8GZ`M6N97H;_Lds$HZTe``AScYcF)Ir9Ue-M>ROe&;t>mjgc_s$HZT zKi6-t0%za^e4wqni5pJd&&Ip-_K7(Z$^8-#@ z{|?Pq3^Z6*Gk(D7>LShfxjutsHG^eOT^Hr2;NbK6EQ&Nht-xRY(St?G@l&A&E3@VY zpunHuI9QnlKLGD7(vF|%I#`1>CRS#FrdsZ9xII{RTQ~DPR@w)>|D7BaC`Xwq6!Ip5 zVjv$61%He?&R@ab2k%GlS8xe(!D4Wr2`k0|g!0jG_z-D6QG;d=QN_$NOUl^A$`7@dN_i`@0TWSg;we0s+q` z0C8r%a{=q3!N;t%{k_lx7e*xxsAl?GNB@{R4#uBcoiyJEPKTonK0hWgsP87Uc=n%14q(X8 zvePozU{<^AZ?O}%obTL7^ z>(6pg3ne)gWGD}G2VtPS?s8L#pTLmr*H__$=|1TuA{Pc z;~4jARQX=*p(RL;*Qk5^Wy)r+M!2gs{GuvFR@6BUTC|2-O~TKk%0qM*eX2IJE|>bB zc9ANSB4gi-K2-R~E;zBl_3M+F=VLN*YmRrnLwlXcin_&Sq`NArx}@DuzP0Msw-nkb z?QvSHfr=WDf8SkAlEGbdBELr8)nihZx>rXVB*4o?)KD3uY6G@dFDO^9pT+bie3c33!I z4PgU)Wn(8dn#3-L)#qm2tDmsgA-pyyM1gl-MRHN|c~rjb+1ba2u-O(nNs*7opwX2R zLxU<>7lp*4D_iY-8pNtPwb6(n4(bdw+bhrXtq+>=au0RAD8OY1 z>#M13<(OLz?^ULUmm>3B3awi)H(z)1UF9v+QT$adUQOdUQ6C0#;zuvcZQ{;WNxYzL zQ0}^*qAX6K;tMDR>oIkMx%m>K%3s};-Kru*&a&w&Rfw)EJ@m>zpRtMDl8_>ks?MJzr3q?FMjuFz4p5s_qkvX=&q(! z5VmZZJh9;cRwkv3d{l3= zs+3V-0LdVK50KFr2&}A&mM0G+w=i<3NPFn{uv9?QdDPKbpmq}e=TS37!C&76VkSm< zMk*!4&8cZ7J=0&?(p&MR?;PQ86%~`?V%8fbI3eoeHLh$UeDblmU>d)z;g@U3W2nrUk-h&=}C%&C2!u7ZQl1PD`(TtP|a3q1dm{m zP@NNpY3rHi9_dSHgK2&F-mSN6v+N0j9eT>=9lr#Ry>Z9TX=Q}5&vw19vc!sq>one< zc6%vC7mj%uvW}9HBPV0p-}0d6?IZs^{2kQ%k)9Ms<>3TU<;CbVy%5-Ti@^RCJ!Q|v z0xoe_Xm@gKK_A==>D%YE4-ncR-auLJ45O}DAnknSCax~LE2tkR?u zx^lT`gR)m^zK~@6ABbEBB)o2#xFgi0^5soq!CAZ9gU2Tx;!CG5!$LK2OCOdPdKH86xleSq;cr;jnK)l44Ea>m*tH^4qwZ` ze|g-ea8t1@Kdk@3>qhpZ9zV$x&AV4No&nKm}c1i>DBDp!e>G<&6Bj#p0OwR6ugL4 zE-b$vHXZEwwjg)cW#@_$8MC345`n3n`OXzwqDZ%;q2E4UQF5X{4hmbge0f)x5%O)w zx4qpUAk8FBUw&VH>igoux7|A|MN2bldz1;E%tu#^wLI|3@cUTpTg-;CuTi^h`ep@e zNBpKe+2Vs@i9kXQ^k&%UFC%l{HJvD-t!Z7gakmw&l~vR~3>bKSVA^AwZ^x5@ zG?=F^kKG?z@Ir|$2j2b}#vzIEMlD)+qc6$L0v0x30Gg`+D%rUK$zD$ikVnx5Vh zqC?6t8DFIULro=%tCnQkXdRDD$Gv+z0<42o{I-B>krPyv1JXL5uDqkQ6Nr=j54VTk zICiAcU) zv@d<;zJ!D5*3W?0xArx1FB3254UA6=n>e-W@|KL5Y^`HlN?}vPtv8$G2OquSfOGwNS{FQKEk)9;x?rQUCNlQ6s7SY_p$*%% z2agy^RHXY(NonuuY>O(uO$bD|s_?XJA+{eEYTU46>M=X5;hwI3`e!bI+jWlL-WK?# zJU-E`WYlP%=b?4mHY+*BfNWV3@~z`gw+#Py6|^L~L((=tw5>(K_Rik7aZ3$h603E3 zVx&fC~%%=0=i$`A-^bW^BLbjKyii~qU(#^8F@0N#sgBTqWE9JOiXB^~y za-eSTAr0Y4lDW{aZszczh{%r)#lgyh+FNZhFFt;6czELJY+YMy*Fzm4dHYlc;}^v| z6!P1~J9bvv4XXoRv^>OzpDlbFY1TA8ajJAnwWILa*ATOlK2ovU3d<`V`)s3=6N+AZ zgPP2^K{eZ+1vZTfXqqVceK6!CUwPKH*`q1*Qt;^`iC&#?{HpH=F`ImQ8|6lqEq4@x z@9&xA<16SIOeQ=Jy^lo6y&M)uzrJItVA^Ld`qUvS3%M>|jJZlsBlSq~MC>2~HDs68ywF)nWx| zG@dO<#cZU?g#3-0*kOX3>@%UnEj(Vgw$R{Gsb>+S$`hGgo@_9Gd(j*Y;u&MlytOp= zrt~)lNtJgJ(r)Xmfl;-O+mPG5onsdKdr)ZHuCW=Xz8fSY=eS~jzm2YYTvzCN@r+`x zEbHu zphu(>zPdv)Fiv~14Vv&G)eHrv8QrnCx*cM6wO8h<7>L&+4W|=Mdcl%lP*~Elsqp&? zF$0LZYoVxn(^^9das7r?amt2PNhxMf@qZoWgR6g=4n`)hH*p!I0RY4j(-%0NtK(q~ z;U(IV1gIB|a2t5m&uB<2R}No=vRERyb+eWAD6c_W|d^aIvP79Mu9H_L5c~;!?=7uIi8;Xmr zzLy?^tc*D(#DywT&a;Eko2^xyyeWd_J8LSSWb~0^7r9YdjrTRz(3@X3e_cwdd`K|m zVq<{gH~@~RwN0`N*ep2=fk`H-i?b2MPxl9GqIBB8A5KHb`-->M0wJvWScIhcDmb1eH{s`0WD& zSB;Nc#Dc&T3-I32Y3N)O`W%4E=VJg7HcL`AG>Ze^_7Ch}6o2+=2X>~kprD92y zG5hN@*kRq#eP&CDBM*2}WN17(0k!H-a+>+N0CvFkaNUr$r8V{WC)qlA0z{UL& zZNp+|_?-!43FFaeQXD?>Em8&Bywl*EcoH?;%<2dm=ck0jUy@>#y#<&$=42C8Tw~MNiq$mmyZu@q_vBt#kI9v*EWK2k;uGZqG8>GDY0kZ8)*$jrwnBT z*ePT)qBmFvISoL*Z)AI3?d@dTWE{!BJxW9|tj_z>i=ms0l@>sUr{!bpHj%5o(ehY4iPO)Ox-Cuso6H; zaPD{eLcnOLuyu0YaVp-T0e!D(WA29tN#8Fd6gbn2OuOUnZ%0jSRwxa5lJlrHzc0J+ zTuUBCr?Zm0C+C^pK9I<0%CItc7|~lyRFZxR2@ z%u4351~-v#acK^jk2rqg?F}tkr$>EZ)K$4qHY$d7UYr>E7Pdd$e_lm;!T%2 zxbf3J$%;5gw$jB>#Pc8%lVv(!C0ZIwd0jna{h%j}zkX(VG6M(~0c10Fwo+7i$K&~M zQx1>5g!86`&(0_Xk9bf74X1s$TO-^D-WOZnww2!&(7S37e{!lzw$$#if4AxA&Ore5 zZB|~xw$SN)kRsAC6)vCQuG-9BZs(L_zW+?cOle!a&OQJopWCZF*?cq-+Fp1U(BdXQ z#0{A?w`Bvryd}&`1&!tklr%n%Q_Tr}8C!;E%4=_z{qUrK&|`Vy(YIs#A-vCOYxtMU zK$aLFOk3HiBzv92=!(KimmDiMYelMogwpPJW)3-11AuRqI|oaVP8(xYP#ZTIJGy{O zMN1;IgHJ2$EQr8;%1unDbUO5srp8l}61LfVdv19knyNZ;AX=c=F?942TNL#4SNkX- zX;c|C-+Q0^U8f^gCSH$xY>OP~uFsj7=}ruP_4qvXkxA{SPsQ5v%CETNA|kbDUZP>g z@_@i7;oqYIzN$D(0&AFYpzu&{je1dnuo9Po;V_3lBJx#^W8!!mB}_EDOsZcjH6$)J zP^zKdv*ZQHt(cX|LCv&JY4RKJfg$)rHPf`Y0ry#& z(ALERONa>fY8QAu_^9g$JNKuKr%}G$T{3**4dM<{XT?-)>u(OW-Soa`d}U+F)2nu! zg?=Glr7YM{r&jTPZ8M=%@FhZ>mXB{Z5wp?cC7TSoK1h7_MZKiahkj?e@J`KIBr0s9 zuQC_Cz_O(crPY2-BQTpSQf$^q6J!d)#k5mlaN}zf3ajC#a|BR2h!p>afs_BIdk7YwFoCF5wY;b;b3I7{?k?nN@}L;;U} i`m-4j!xM97q2VKX$_IFT;NX8GLyYuHb+fgdj{ZNBUipmx diff --git a/docs/projetos/11_delivery/parte01/img/mapa_03.drawio b/docs/projetos/11_delivery/parte01/img/mapa_03.drawio deleted file mode 100644 index 94776cc7..00000000 --- a/docs/projetos/11_delivery/parte01/img/mapa_03.drawio +++ /dev/null @@ -1,229 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/docs/projetos/11_delivery/parte01/img/mapa_03.png b/docs/projetos/11_delivery/parte01/img/mapa_03.png deleted file mode 100644 index 88727e6d0320c2026b5798f44fb80017b6c5d01a..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 43396 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 diff --git a/docs/projetos/11_delivery/parte01/index.md b/docs/projetos/11_delivery/parte01/index.md deleted file mode 100644 index 18a0d152..00000000 --- a/docs/projetos/11_delivery/parte01/index.md +++ /dev/null @@ -1,56 +0,0 @@ -# Planejando a rota para um entregador - -Neste projeto você deverá implementar um agente que é capaz de ir de um lugar até outro em um mapa, buscar uma encomenda e entregá-la ao seu destinatário. Este agente está andando de bicicleta ou moto e sabe executar as seguintes ações: - -* ir para frente: ao executar esta ação o agente avança uma casa na direção que ele está olhando; -* virar para a esquerda: ao executar esta ação o agente muda a direção que ele está olhando para a esquerda e não avança nenhuma casa; -* virar para a direita: ao executar esta ação o agente muda a direção que ele está olhando para a direita e não avança nenhuma casa; -* pegar a encomenda: ao executar esta ação o agente pega a encomenda que está esperando por ele na casa onde ele está; -* entregar a encomenda: ao executar esta ação o agente entrega a encomenda que ele está carregando na casa onde ele está. - -Um exemplo possível de mapa que este agente pode receber é apresentado abaixo: - -Mapa 01: - - - -Neste estado inicial: - -* o entregador está na posição [0,0], -* o item que deve ser entregue está na posição [0,5], -* o destinatário está na posição [4,5], -* o mapa tem 5 linhas e 7 colunas, e -* existem campos no mapa que estão pintados em cinza e que representam obstáculos. - -Cada ação que o agente sabe executar tem custo 1. - -Implemente uma solução que ajuda o entregador a tomar a decisão com relação ao melhor plano - aquele plano que faz ele chegar no objetivo com o menor custo. - -A solução implementada precisa ser capaz de tratar diversas configurações com diversas dimensões. Por exemplo: - -Mapa 02: - - - -Mapa 03: - - - -Mapa 04: - - - -Não existem testes pré-configurados. No entanto, recomenda-se fortemente que você teste a sua implementação nos cenários descritos acima. - -A configuração dos mapas não pode ser feita de forma fixa no código. A configuração dos mapas deve ser feita em arquivos de configuração. - -Nesta implementação você deve utilizar a biblioteca `aigyminsper`. - -## Entrega do projeto - -- O projeto como um todo deverá ser feito por equipes com até 3 integrantes. -- O prazo máximo para entrega é 20/03/2024 (quarta-feira) até às 23:30 horas. -- A entrega deverá ser feita via Github Classroom. O link para a entrega é [https://classroom.github.com/a/D8WBu3wF](https://classroom.github.com/a/D8WBu3wF). -- Cada equipe deverá entregar todos os arquivos python para o funcionamento da solução, uma arquivo README.md que explica como executar, todos os arquivos de configuração dos mapas e um arquivo de `requirements.txt` com todos os pacotes necessários para a execução do projeto. - -[[Parte 2](../parte02/index.md)] [[Parte 3](../parte03/index.md)] [[Parte 4](../parte04/index.md)] [[Projeto](../index.md)] diff --git a/docs/projetos/11_delivery/parte02/img/mapa_01.drawio b/docs/projetos/11_delivery/parte02/img/mapa_01.drawio deleted file mode 100644 index 299980cc..00000000 --- a/docs/projetos/11_delivery/parte02/img/mapa_01.drawio +++ /dev/null @@ -1,133 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - \ No newline at end of file diff --git a/docs/projetos/11_delivery/parte02/img/mapa_01.png b/docs/projetos/11_delivery/parte02/img/mapa_01.png deleted file mode 100644 index 05f4801ed2872de87a7e658b62f84b92bbf802a7..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 24671 zcmeHw2{@E(`?ofvg!EWKL?mS$46sY^A>3N^0_j$kL{r+z~^?t{HI^@2uIj{4+uHU&_=XqV{eelz`qD)C~oPvae zgz}<_f))wM9whLykDL@}Ss3M12Y&6b(^8fr$!TT&KtdwIVXt`8-qIP4uz--;(mO$s7<+nBAAYyM*>Al!ZOQ`p=CfC@U+NiT$4ljcjdEPJbqYqbzpkxXa8M zn8u$v?KE69F|zpQ)*A?@z1bI9F_GQj?NF=05T<5dpDZY_`;Dd1SK{3UJ2N9F%IQo0 z&rP3kvqhnRu8N;UA`i3J!R{+AU-~Kii*J7)zb(va_u>Ed4o(PhIWxF`>lH^{BU4iq zJ0&d{mnS8-Mk)Q38K|UHXxh_>CX?+31P=ccJ%sULPxkY1`Wj;YT5V{_}DAHDmODiWh#m-}*I!^l#$@A<*tPe_Fio zYli9H#tT0kr>~VLzt{=HxADTy$LR;e>3?Iq@bmHeHRJbhw>^J8PQPaS{_T$5&&TNp z#P8oBAN)36_&ad|iaLcXjLjTTIv{mZIk1%>+|=yfIne?NH?4PSA1$4MGFfXgK0Ab| zl^q`(g@W?IjqL0Vcdmde<_|TI)+mIPJ}z|9zCZ;!J41A(jsFe2a!d(=*C zrqS-53Gi?jP!c9*hlJUi>=drNas{7>}!f9#U}!}Z2UNI*bHR@>QN z#^a!~wqn($*Yt&>MYr$Vp;lCswf5EwRfI4HJC>=j74*Hhd%0({|`P-+_OTl?=mQ#f_-^76PxHv^Qgn2mSy)IZa@DP09_%Xwnq8s+YNVn1y z$olh^M;K}UGgs4Y^%q%|jE7yGTOGqZlJzE)4xE0^_*+XKJz~EQd5Z+~O%J9nU@-Nq zS*ES=el^}?v&s!3J$l}V&NQN2NWge|mPe=(n|FKGKCkX#S^dR*g4h!Rw@BWxi1q`9)xn*h@)XTVE~EbPDKcZYl=aAkimf%m zx|i;gD=gD}g|BF3LywoL9BGj_O2~6dfU_`78|o}Fq@jgKgYe8jE>37=>~g?;&dZS_ zD9?2!3CC&Qjt;HG*6y-n$FF)GTYg)nZnL~kIl<)FOOPB9vv|vnE;;e-zcsvz+ zIP&LuALMpqZT98`(DN&;d>qWPn`~{jHpd#cOgt!=ty&L>it=GXRnSn$Y&>IqEN22t z)mtdU>+=lylSM`Y;)`Ym{134r?-g`OFnEk=+asCQY@f*+@U6+RHL~$&u1vkzMk%aoVY_x<*O z?p+pHM|+7Z&&TN{=CydC5ctf&QUN88kEN6BVDL)vjs60}zNOjh;vtGkfMe2V7PeK0 zR}s7Xn|Mr(o+udo+$=3+);7}E^5aUP1ix-l5C$E6Pp!0nZtgjw+3-W!V5CWpEd|1IeP0P zN-eBZad090vIc2v;r_6&cLk(PZTw1=`D20}&Z6OkM{M!eEAmVlPjpQ*abON}nm@=| zskAB?B~?w7B!+OdN-n5wtPgMF&Qurkw)ByU=3Nm+3Z@59)W5@3W+sa7Q@ofN8X1`? zGMTOGG`7gGZuENMDgr0bM9Cs??CO&fhjnrdD(5;b^QSQps`O_VtaNfOG zo6wulOCGsY4IKl-rl#~qBC|nEjz&!}RPXS1R!<-VwiQ6s@9rGpBkzZGrE6+zchM+^ z(6>ma*gs;8gR@B8mkp*qgiS0mlZ5jV555+D)#Z$(pJbQXzzVuKq+gZ$PnCAutH#;nvy`Pd&_g-m${8^0jq#)oMYe z?AZ7VSe)F)o(B97etou@wM}y2^~v%~GT_}#+r5{2g^{$l@wN7>iD#l2#|~i)3SGo= zk_HZB_fI82_#t5dxeat2(tH)ofCJDe{+O|zTD`S~%+f0rTD)rv_@xx9;;WOL%FH$j zDjayxs`8IzXBQ7#Av3_IFgo-Pc|{4$uMB&#p1qz$zIj<)z0vPmJH%>RGbVZ$1x)coHX~ z7=+C)BG0Y(MA27_^6U)-46nkco~a|t%kx}< zAOF_6v?JZ@g_@kX;mgC^g$MmF1y~y|Tz&Iou-oj-YOxQbED+&K7h|KMy6CuWAS){v z<_{8Fe_!vDz^Wijz{qSd&>J`#af@#g+dPkK&MF0=-A?P3Sf6abuwsgb(M&4?c2p6> z>-w*v_?62YXI{h>x-M?qqc?ay5oH+MZ&l8_n81E5YV8C6gH~4O5wG^*MUT}{AF;7O z(2Jwv@6MlT(HZcTqL++s(UEHJaC$M%eQwx4RpNm!CYO@?^g+Asrw1Y;wUY}9_7-05 zoY&Zfh|NS>rQr4@;ctJEAcV%oP90ny7#I}e96K7wBH#_LTem5Sjet%6ds!e9w zeO9wEMdP>-lpOv#+6z4FP8((5ib%ic0MD*sg|5zxruaY;(Q6-`J}W zPk&sUC6pQe5aQP1`uaFvwLbmwg5HTA$Wtxb(b11Dx%U^J8o`}tOK!YKKbCkS_qo5} zknC8)P$G1o#0E^7;3|_d<4WJ+YPi2^MLiP>b+|GJxFTOB{RI89^4A(U@i%V0h$(dK zo9{KjP)OWB$wBNyd}Ms4bMhLU(m#W zV5PS=7UpZnSVt-rTFzD$Yn{?d*2R|f~#u-i+g649Q=!orYD-UjD$=wiDO z0gScPbuWXqYvvG>Dcv?hty$FuWt2&nGZ$>-mKwQ$MX?u}-7)J;C7r(MUG#FKdUIJf zJ!y%;6o)UWNR)Cj-`p~`u@MXl4;MsqoZ1+r@=S&>p&sy`7 zN2`8oyeYK3a#D*C;ppf%6;vJ83al=ES;bkE_O^vg~q?dy9bt9w6U<@ zl@I6?UsRHlTS9m=1|RJj>fW0>Ts9dwiq8RnpKOVvFUvHU=_}MQbigl3Ovc;Et=!7o z!b{8)bS9(2H8<}Bu9ay!WSE2$6ckiiRs?2CM`#yQRjuJO8N}vB4E?M_nNN5-Ybsgv zm2AAHJ(KLQIOCqxdvnvHwL342I_d67{f`QlUYw|{c7M^Fo)GEny7W|rf=HZ{E3mZQ zb0YiwjTWj`(CkDF?c!-E;&^z;=JMRIRU!Ww{66`m=Yg){8)W3HTc?kLQXl~VpG}LTK7KwSO*K$SIBEoEi=~Qq?&rUeH)ZkF>jbSAGjD~ z$fWCEyvRrzk3MZhz)r>lhGO{|pWdNrPuEL?rs2DV@6(Z zAL-%e4;2ICOxt;QmCN|br-jbld`2R(xk!6l)PkX?)HO^~DkiafX^Y*Fo2Ht z1)BQ^c;8sY-5>^kCn}4Q*}X#z^hJ88F#t(OCxk_6C`W zfD_SK7P+J!ly?R3qi2t-;!Iv=GxLBDb9>4 zdIb-$nCOy8`TNW+FfslTJJG%<6TS{Kb_>Bzfzq6_CA|aviFfPW_dB<(N6ji z#QB@Ea;(D$weq#+iZXK%S&!t@(y=?=+^aLuxDU4^iM>Tnzj+(Z%gvUcweH_is9Rfd zf`zlGU};Sw@U_LmTsds;iQ4B%fNgORo{t}0dajDolxLVC;al4i?vNZN$Qs|=$9&!| zQ5bnJq6OKW)slCp;z_``0ECQ>X>6}B(qu|OqHKyx702H3hW`aL8xsSiiY+|Vw^nF| zTZ{Hv+F^_oB%0AbgdpX)`f3zqZspTG2w5>!#SP{8D_)LuIH$2<&2hgS_txBS(R^v$D#Y$%o^( zfguxZT($wWpNXKBF}=}QGaTc$8B3?gDwyiD-p*T5U-kpAaipy+mz|z$tas8HqBPF^ z2yo#C0~A(P&S2k(4PYU(x}$gGJTL=QH@<)%Q(UAU@ZU1c3lNeZ4)hnf%f5q;t@!k} z54+pk=XxbN3rVgBAVoW2+Y6-VpLsO*3FQew`jyGU3zy;rAU)Lnz}UE6PCNrr_n2ip zI;QYKm@$AnhMEg_hEaab$zuSyS_Cj_pzBQOIZ-ZP(hX2c)|09@oZSnkzC5=vuo=J| zReJ>J+Ghu`P~90O0E%36R`%rG=Cb=5b-=cOCZ7)r(6wMPA3%eb7I==wU0~F02g4mG zQ+%8ItR4b01-c^IV88%%xq#=alLMnpq~#(Um!k-1CZNwnDW+S0wlnYdQxi7Wn%*6!WfC#&l#U zJ|54Ae&uR6(Gmflx%l!^klv7_Fw#Xz@#$3lkQpwtmmZy9OiQYVWyZ(~@1eD7-Q+l2 z0vE5R3NPd`(`wNll2pZM@q999gjEVc+cm2M>|9 zNH8R{$j@b zPOqcIpubNrBB-lQdof{t@0He<4vaJXQ)>tGNF0;OeR+}r;(OHEd*e5pU7U{BT|3gDp^SX58|w4E2R7=Tan%f`)AY7ejL!9t?a~fBEUCs1 z8P3xg$4NPpi?-?AKAehdahD$ujThNcpK@KF5k~TkPa~KQRURmH{X7~iLCrvxLwO#; zXvwM)C+65Fa91p`tjk?b!j0le*%YuNL1()x9DHx+j$Y-C=*cpoxf_D-^;X4zsTOh> z??)a$=zzAX4EU7XiTuJ+qx=6=2T@+bVAD3dzv%hnh!*#Y*&+;vT7f02&i{)3Qh>j; zdZo7gIn;#9`+DyBzWe9r+lvOw*Qd)*Y^~llb*?|&00@JxwI0~A_10EBW)kN+lNp13 zwl+wmQDH~sIAKYpE0ukbHiC}sArbK;Wo$%tUF!9xMpDW*61mbxX{0%4&s*enJU?noWZS0A?!pnTURM!d*etM#r>ot^~h@C`BpBAr6Ol0s-MIb#v z^s|VN*Y0KHaugk$QCF-)6(MC_Yh81_JZ8I?_~}%izPlh?&xR9?p5YK)c3vN9C^58t zU*h&=ET`NI7ir%7s=$8nJ*?tpu?=7~gqxW>m#{+>ww!5;Yf_ge9FOOwW@Q~4RNkg) z-5xV@7qDWc!)zG}=PoXv99!$!3$5H>?lW{f)6y61)$3&cW`IO&0(FJALBzHqXEGCl zedbb6F~*XlQOws`PT;HK((OboI z4%iSE|5WB8?Xi*TJel}L<;=>m*GNiaX6rM8qlI^Wq`Md8Hj&C;8b{km=j=-WPONlz>3g7ICtixmKVvNdJXMBVP%yQHiAD5W* zfy@RUANq*wVt5i!6et$I7GkTm<|wJxvXfTM;VONt8w$MWE9>p=#MbW^kIvQoS}m3S zmfhvEqxAv&N|$W)$1*rir?FutT^QzGzDf~PdYm>^k`NR^J-S@U!mVIbuEbDkfvD>f zCiqg<7kJ$Oc!eGR!b_ecOwFOL$bHK_%dn!?+12La#VPb;f=U*4vVZvmvj0fN*#!-% zZdS{UKzHHe?fc{n+&GObznmUiP(}$Rq&L3Xk^fAn`v<$Sg_IppNA!Q`5%OjA?5X|zi>2X@q6DvWz;1DjJ&y0!_cx}`Ldm`rb;9^ArmUwYZBH)s<&f zouLH?Z(6sVw8v8|F|dM?>1hH%lSLv~f4HiTFiJ1(a!0iw)Ne@PbUNhq&R|6p*}4aS zrCMqn;QV<3CuHa6cbun=EYjWpOqi>YKpPmzXH<=tXQ;D^G{Y?~0H-by96O6=p~piz z2nqs*9xnA z14LO&^>D_MK#&|4V!qSU`LJ=uegrP^=mMd@84hquf%G^2h8o0T!Ye_*#<@=;+w#FS zSY_#__q8D8`Z6UDdrv@z5il6+p0o~$#s_~!YpG=l6e_>S$-fVD$nwOD!Ls9s>+}RX z7t$}KnEh50rDNSJ8vJom5jy$O{B!D2OSh*gyiZMv_>bu4T}&L;Ev*)!7v@+8+@T4> zXr)!DH|_)HeSD%tg3mvQ^%lba!ZYzDF7hJTGec#jB(d7`RwvG+w%|ipK?A9-rA@%Z zBV2_ECEP%SsYXLC`ebN-jVO0L6v*EGm-K%T_+JG6n-NgwhFspmt>HtUArbdKI)0jB zZhu)A>z)v`%iOlkG<(=D?DxGrK|YtzWp$^CiWsVJ+cjK47fUB|t82gN)6xJ_tBu>5 zm!#Gl(!n0DPr1$QQ@U6ng0#6)OC3)_LNT;c3$S3emunz?gM42Oq*W0e{nbwkLM~@0 zS07nQ+u4%gLVoV{caZMAjGN%(yjf^{vM5*AC!w@7Ju1}eej~HDNx6f(p4=U-#n8BN zl_TM1&>@rVJFcDbRRtCM4RavA@f8leRUmpwJS^G8+r(OlVC9Q>#Ht_%dIn99f>8{y zfJj|rHtpM)@x^9d(ksK5R(T(#*d!cbKvKur56mU=E(H18;jkodb^M*lAy#i*BH4Nk z&64h|UgFAFK4^-pn}*I8vhC5u?Jj1emu^LIH1y7?Q*0-I=<=k$rf*m~Qc4-qaL=UC z{2)({_OC* zd$1I*oLTAP#mgzIcjddCuv^R7#dF5j>5iJ$b6`KIbSZw4Ep$pDN19v8Az+O6E7$q1 zObzxk5omO57FPF~-0}`ddY-%l8(~|86nx?hjE=l__pTTep7zLU&>M5!afYWpR)omS z%iCxtKV1LTa*E7{y~_!UUMT9HYxARhvzM{y!savfmx?EF9Q1=9OZIsrIls`!BMJ%D z%HHXfynl86F;majPBp;M{W4=)j!bY*Q5s&IRCbO>SDa;<27{IePPgX7okl*MTl4aT zRCndFR-wlzq3=|>lq;W&j~kuF-J-qnp@*ucC1xyu#G5*fpBBV?mms+RN;(tK@9<&* zXl>Mc0>y@Pkidh*R&%GH(tIkSH)`=*c!SlKkwlAZUZ~5GLBBirnpOO0P>8>YwZcu& z9%E3E5!sqF@l@F$+6{`6Dj0b`Poi}=E+mQJ&TNW3^@i&9_`yI=4h>>YsB-u$}4v!!=HNmu7sm+G^{gMakw*QX|slbp6G`^ z*x$I=Qdd1B40U^`^0n@Gfjp+ z(~yhSyW6SbP|p|>x;c`T7}_YQx537Pt*VUNt}Z^G(lOnLLy+cyjQJllW9TD{dm5L#4%Tt6FfFtL(~HXQT^9wzr$@HYd5kPTzCX= zll?Fv3Pe|?6>y!9DbB~>*h0oQppv1)Z!xS-l0AU9^g0O6d#?!1as~(UvKDIUHVi>~(`f>Y@@>^pP*z@_w8O ze?|*OK11w((9Ug*9jZc0CC+w|>0ZxK=q$37Hyj%8DV}C2fu6~Wky8`&>9rCje;@fG4P$>6yIZ?a_q!J#{2L zY%)VN`dHY3`&aP6hK`o?Hp&H!b;!vv93tvg_j{Px&EkV;1FM2UaUE1o<%OxS*Y9s= z_vCQDekK2^H9^q5X78ydk5kf~O zH7gtviAinr(bqAP~s#f47J(u;zc`Qdvl!j)Z@qZ3}n*mObr+5B6{6p;%nIS zFni4I=r^fDpFN-%7Apli{zgC2Wl}amB+#>okAh{md3fudHCN_AXHKWbMclvG!%xmw z#u^o{vFZrlto31iSD$r`TV8tp&LIK&k9u{dIa%(yL2Lxm^jyzeuUfd$)a1i^^Y&{# z{fF;?bEs8k$F6*G3le;`s~Pr&r!NgZETtridXm|557*(CfVx%h&E(W9hGO;VV@c@k zBVq5Z%H2onoL#H&np%s@dN5z*+{~HI&8rBcl7i4>i>_b{)hoCngfWfk_}#~L@7egy z9PDXJU=mt2H%#3HX86#xiz@>j()8Alb&14|?t#2;N5Y zvd*({;wrwEUl``beC{gKL)#*`fhPn&&emRQ$UMASkeTzM8w9^w#eKfx8U*4O<4raO z>|e+=@f)n<+1NE_=VT`thRwcP6`M&A z-%J*aa&CN(!ORD;Yuw6~xB$}@3PwJjvo_0fqf;xdL5YE7=6hd0+um*gk6|Yhugct` z7Fz4fEqiJ9#Abn^h70Gn;VWyY-9&|scoXdEAaMKA;VDUG&*{urGLy-{z#eSUp@|6P zoM;*$_wZMkrRXlor|R19O6T{lrIaW~D%@rjaU2+iwuRY8N~5(lV{)7F_dS-n`%Hi; zyYRxI!*voGsCD^GTv&`o^G*Hj-2Tdv&AoOq(Q~cbs`@33RN6w-Q`&2?+VF&=aPP)8 zv3>ehRg6Hu5bPRW0d_nmog{n^SYw!^CYoAkMGkl!xq#k#4~(yQG-0~4xVYmF>&=(P z*~nw2Hb?GZ8jPBWgRT%5% zn-&SB=Wb_SwTvBj+*^23Ca-qrGK`)$Ka;}1PeS^(VW$}HD6oUc6z3Xnq&nHHyb0Lx zFzaRro_*N6`rd?_)XSFsY=B_`7ZTe*LtWkJiXIEJ!v5t6T&h*bpu$0VZ1yf1+9Y9!;_ zm!{Qlnt?{TJ?(KA%W!{VX+8C0BM0p{W%jZuYrZ&x-l9^D5jh&W*3<(0#Q>6vidPhJ I - -Neste caso, o cliente "vermelho" solicitou a comida "vermelha" e o cliente "verde" solicitou a comida "verde". Você deve considerar esta situação como sendo o mesmo instante de tempo, ou seja, o cliente "vermelho" e o cliente "verde" solicitaram a comida ao mesmo tempo. Para este caso, o seu sistema deve calcular o custo para atender a ambos os clientes e atender o cliente com menor custo primeiro. - -Para o mapa acima, a solução apresentada pelo seu módulo deve ser a seguinte: - -``` -Custo para atender o cliente vermelho: 14 -Custo para atender o cliente verde: 24 -O cliente vermelho será atendido. -``` - -A sua equipe deve criar vários cenários de testes para validar a implementação. Deve também considerar uma quantidade de entregas maior que 2. - -No caso acima, o entregador deve atender o cliente vermelho primeiro, pois o custo para atender o cliente vermelho é menor que o custo para atender o cliente verde. Depois de atender o cliente vermelho, o entregador deverá refazer o calculo do custo para atender os clientes existentes no mapa. Neste caso o sistema deverá imprimir: - -``` -Custo para atender o cliente verde: 24 -O cliente verde será atendido. -``` - -A forma de identificar o cliente não precisa ser por cores, pode ser por algum outro tipo de identificador alfanumérico. - -Se o entregador tiver um número N de entregas para fazer então o procedimento apresentado acima deve ser repetido N vezes. - -Quando você tiver isto pronto, por favor, chame o professor da disciplina para validar e fazer o: - -:new: check-point número 2. - -## Itens do check-point 2 - -* Sistema calcula a melhor rota para o entregador fazer as entregas e mostra o custo -* Sistema consegue atender mais de um cliente em diferentes instantes de tempo -* A lógica de atendimento apresentada acima precisa estar correta - -[[Parte 1](../parte01/index.md)] [[Parte 3](../parte03/index.md)] [[Parte 4](../parte04/index.md)] [[Projeto](../index.md)] - - diff --git a/docs/projetos/11_delivery/parte03/index.md b/docs/projetos/11_delivery/parte03/index.md deleted file mode 100644 index 7af5e534..00000000 --- a/docs/projetos/11_delivery/parte03/index.md +++ /dev/null @@ -1,33 +0,0 @@ -# Interface gráfica do sistema de entrega de encomendas - -Nesta parte do projeto você deverá implementar uma interface gráfica para o sistema de entrega de encomendas que você implementou nas entregas anteriores. - -Quando terminado, o seu sistema deverá ser capaz de mostrar o mapa com as entregas que devem ser feitas e o entregador disponível. Também deverá mostrar a movimentação do entregador no mapa indo até a entrega, pegando a entrega e entregando a encomenda. - -Esta interface gráfica deve permitir a adição de encomendas, clientes e a movimentação dos entregadores no mapa. - -Uma vez editado o mapa, o sistema deve ser capaz de calcular a melhor rota para o entregador fazer as entregas. Não existe interação do usuário depois que o entregador começa a executar a sua lógica. - -A configuração do mapa não pode estar hard-coded no código. O mapa deve ser carregado de um arquivo de configuração ou definido via interface gráfica. - -A sua entrega pode considerar um tamanho máximo de mapa de 30 por 30. - -A interface gráfica deve mostrar quem é o entregador, onde estão os bloqueios, onde está a encomenda, onde está o cliente da encomenda, a ação que o entregador está executando e o caminho que ele está seguindo. Também deve ficar claro na interface se o entregador está se movendo com a entrega ou não. - -Quando você tiver isto pronto, por favor, chame o professor da disciplina para validar e fazer o: - -:new: check-point número 3. - -## Itens do check-point 3 - -* Interface gráfica mostra onde entregador está -* Interface gráfica mostra que ação entregador está realizado -* Interface gráfica mostra onde estão os bloqueios -* Interface gráfica mostra onde está a encomenda e o cliente da encomenda -* Interface gráfica consegue mostrar mais que uma encomenda -* Interface gráfica mostra se entregador está com encomenda ou não -* Sistema permite a configuração do mapa: tamanho, obstáculos, onde o entregador está e onde as encomendas estão. Esta configuração não pode ser feita via código -* Sistema calcula a melhor rota para o entregador fazer as entregas e mostra o custo -* Depois que inicializado o processo de busca pela solução não será mais possível interagir com o sistema - -[[Parte 1](../parte01/index.md)] [[Parte 2](../parte02/index.md)] [[Parte 4](../parte04/index.md)] [[Projeto](../index.md)] \ No newline at end of file diff --git a/docs/projetos/11_delivery/parte04/index.md b/docs/projetos/11_delivery/parte04/index.md deleted file mode 100644 index 95a56435..00000000 --- a/docs/projetos/11_delivery/parte04/index.md +++ /dev/null @@ -1,18 +0,0 @@ -# Módulo de entrega de encomendas que considera mais de um entregador - -Para finalizar a implementação do projeto, você deve considerar que cada entregador é um processo independe. Quando o entregador é adicionado no mapa, ele deve identificar qual é a entrega com menor custo para ele, marcar a entrega como sendo dele e começar a se movimentar até a entrega. - -Neste meio tempo outro entregador pode ser adicionado ao mapa e ele deve fazer o mesmo procedimento, ignorando as entregas já marcadas por outros entregadores. - -Ao terminar esta funcionalidade, por favor, chame o professor da disciplina para validar e fazer o: - -:new: check-point número 4. - -## Itens do check-point 4 - -* Todas as funcionalidades entregues nas partes anteriores estão funcionando -* Todos os entregadores são processos independentes -* Entregadores identificam a entrega com menor custo para ele e começam a se movimentar até a entrega -* Entregadores ignoram entregas já marcadas por outros entregadores - -[[Parte 1](../parte01/index.md)] [[Parte 2](../parte02/index.md)] [[Parte 3](../parte03/index.md)] [[Projeto](../index.md)] \ No newline at end of file diff --git a/docs/projetos/15_rl/index.md b/docs/projetos/15_rl/index.md deleted file mode 100644 index 93ff488e..00000000 --- a/docs/projetos/15_rl/index.md +++ /dev/null @@ -1,90 +0,0 @@ -# Ambientes não-determinísticos - -O ambiente [Frozen Lake](https://gymnasium.farama.org/environments/toy_text/frozen_lake/) é um ambiente não determinístico onde um agente deve encontrar um caminho do lugar onde ele está para outro lugar passando por buracos. Se ele chegar no objetivo sem cair no buraco então ele termina a tarefa e tem 1 ponto de reward. Se ele cair em um dos buracos então ele termina a tarefa com 0 pontos de reward. Cada ação que não leva para um estado terminal tem reward igual a 0. - -Neste ambiente o agente consegue executar 4 ações: ir para cima, ir para baixo, ir para esquerda e ir para direita. **Como o chão é de gelo, não necessariamente a ação de ir para baixo vai levar o agente para baixo**, por exemplo. Isto acontece com todas as quatro ações. Por isso que este ambiente é não determinístico. - -O ambiente Frozen Lake está disponível no pacote `gymnasium` com duas configurações: 4x4 e 8x8. - -```python -import gymnasium as gym -env = gym.make('FrozenLake-v1', map_name="4x4", is_slippery=True).env -env = gym.make("FrozenLake-v1", map_name="8x8", is_slippery=True).env -``` - -A função de recompensa é dada por: - -\begin{equation} -R(s_{i}, A) = \begin{cases} - 1, & \text{se } s_{i} = \text{objetivo} \\ - 0, & \text{se } s_{i} = \text{buraco} \\ - 0, & \text{caso contrário} - \end{cases} -\end{equation} - -Os estados terminais são o objetivo e os buracos. Mas se o agente fizer mais de 100 movimentos no ambiente $4 \times 4$ ou mais de 200 movimentos no ambiente $8 \times 8$ então o episódio termina com `truncated` igual a `True` sem `reward` positivo ou negativo. - -## Perguntas - -* É possível treinar um agente capaz de atuar no ambiente do Frozen Lake? Ou seja, é possível treinar um agente capaz de atuar em um mundo **não-determinístico**? - -* Qual é o melhor algoritmo e os melhores hiperparâmetros para treinar um agente capaz de atuar no ambiente do Frozen Lake? Considerando ambas as configurações: $4 \times 4$ e $8 \times 8$. - -## Método - -Para responder as perguntas acima você deve treinar um agente capaz de atuar no ambiente do Frozen Lake e comparar a curva de aprendizado do agente treinado com a curva de aprendizado de outros agentes treinados com diferentes algoritmos e hiperparâmetros. - -Você deve treinar o agente com os algoritmos Q-Learning e SARSA escolhendo duas configurações de hiperparâmetros para cada algoritmo. Ou seja, você irá comparar a curva de aprendizagem de 4 agentes diferentes para o ambiente $4 \times 4$ e 4 agentes diferentes para o ambiente $8 \times 8$. - -**Detalhe importante**: neste ambiente o reward é apenas 0 ou 1. Nesta caso, a melhor abordagem é comparar a curva de aprendizagem dos agentes treinados usando uma média móvel dos rewards obtidos ao longo do treinamento. - -Após treinar os agentes você deve utilizar o agente com melhor desempenho para o ambiente $4 \times 4$ e para o ambiente $8 \times 8$ e executar 100 vezes em ambos os ambientes e calcular a quantidade de vezes que o agente chegou até o destino final sem cair no buraco. - -## Artefatos que devem ser entregues - -Cada equipe deve entregar os seguintes artefatos: - -* Relatório com os gráficos das curvas de aprendizado dos agentes treinados e dados sobre o desempenho do melhor agente no ambiente (quantidade de vezes que o agente chegou até o destino final sem cair no buraco). - -* Todos os códigos utilizados para executar os experimentos. - -* Arquivo README.md descrevendo como executar o experimento. - -A entrega deve ser feita através do [Github Classroom](https://classroom.github.com/a/4J2eATAH). O trabalho é em equipe com até 4 pessoas. - -### Rubrica de avaliação - -Os itens para a avaliação são apresentados abaixo: - -| Número | Descrição | -|:-------|:----------| -| 1 | implementou o algoritmo Sarsa| -| 2 | implementou o algoritmo Q-Learning| -|3 | realizou experimentos com no mínimo 2 configurações de hiperparâmetros para o ambiente $4 \times 4$ usando o algoritmo Sarsa| -|4 | realizou experimentos com no mínimo 2 configurações de hiperparâmetros para o ambiente $4 \times 4$ usando o algoritmo Q-Learning| -|5 | realizou experimentos com no mínimo 2 configurações de hiperparâmetros para o ambiente $8 \times 8$ usando o algoritmo Sarsa| -|6 | realizou experimentos com no mínimo 2 configurações de hiperparâmetros para o ambiente $8 \times 8$ usando o algoritmo Q-Learning| -|7 | entregou código bem organizado e um arquivo README.md com instruções claras sobre como executar os experimentos| -|8 | apresentou os resultados dos experimentos com o ambiente $4 \times 4$ de forma clara e objetiva, incluindo o uso de gráfico| -|9 | apresentou os resultados dos experimentos com o ambiente $8 \times 8$ de forma clara e objetiva, incluindo o uso de gráfico| -|10 | apresentou um texto breve descrevendo os experimentos realizados e os resultados alcançados| -|11 | treinou um agente capaz de encontrar o caminho em no mínimo 70% das vezes em apenas uma dimensão do ambiente| -|12 | treinou um agente capaz de encontrar o caminho em no mínimo 70% das vezes para ambas as dimensões de ambientes| - -Segue lista de itens que devem ser entregues para alcançar cada conceito: - -| Conceito | Descrição | -|:--------:|:----------| -| I | Só entregou 1 e 2, sem conectar com os ambientes | -| D | Entregou um dos itens: 3, 4, 5 ou 6 | -| C | Entregou todos os itens de 1 até 6 | -| C+ | Entregou todos os itens de 1 até 7 | -| B | Entregou todos os itens de 1 até 9 | -| B+ | Entregou todos os itens de 1 até 10 | -| A | Entregou todos os itens de 1 até 10 e conseguiu ou o item 11 ou o item 12| -| A+ | Conseguiu entregar todos os itens | - - -### Prazo de entrega - -O prazo para a entrega desta atividade é **9 de maio de 2024 (quinta-feira) até às 11:30 horas da manhã**. \ No newline at end of file diff --git a/mkdocs.yml b/mkdocs.yml index 5aa1467a..e403ae9d 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -19,59 +19,59 @@ nav: - 'aulas/01_introducao_ia/index.md' - 'aulas/02_agentes_autonomos/index.md' - 'aulas/03_configuracao/index.md' - - 'Busca em espaço de estados': - - 'aulas/04_modelagem/index.md' - - 'aulas/04_x_buscas/index.md' - - 'aulas/04_x_modelagem/index.md' -# - 'aulas/05_busca_com_custo/index.md' -# # - 'aulas/05_x_busca_cega/index.md' - - 'aulas/07_revisao/index.md' - - 'aulas/08_heuristica/index.md' - - 'aulas/08_heuristica_parte_2/index.md' -# - 'aulas/08_heuristica_parte_3/index.md' -# # - 'aulas/10_heuristica_revisao/index.md' -# - 'aulas/11_contribuindo_aigyminsper/index.md' - - - 'Programação por restrições': - - 'aulas/12_csp/index.md' - - - 'Ambientes competitivos': - - 'aulas/13_jogos/index.md' - - 'aulas/14_tictactoe/tictactoe.ipynb' - - 'aulas/14_tictactoe/index.md' - -## - 'aulas/14_competicao/index.md' - - 'Aprendizagem por reforço': - - 'aulas/15_rl/index.md' - - 'aulas/15_rl_parte2/index.md' - - 'aulas/15_rl_sarsa/index.md' -## - 'aulas/15_xnon_determ/index.md' - -# - 'Avaliações atuais': -# - 'avaliacoes/2024_1_intermediaria/index.md' -# - 'avaliacoes/2024_1_final/index.md' -# - 'avaliacoes/2024_1_gabarito/index.md' -# - 'avaliacoes/2023_2_sub/index.md' - - 'Projetos atuais': - - 'projetos/11_delivery/index.md' - - 'projetos/15_rl/index.md' -## - 'projetos/16_robo/index.md' - - -## - 'Tópicos sobre IA': -## - 'aulas/99_topicos/index.md' +# - 'Busca em espaço de estados': +# - 'aulas/04_modelagem/index.md' +# - 'aulas/04_x_buscas/index.md' +# - 'aulas/04_x_modelagem/index.md' +## - 'aulas/05_busca_com_custo/index.md' +## # - 'aulas/05_x_busca_cega/index.md' +# - 'aulas/07_revisao/index.md' +# - 'aulas/08_heuristica/index.md' +# - 'aulas/08_heuristica_parte_2/index.md' +## - 'aulas/08_heuristica_parte_3/index.md' +## # - 'aulas/10_heuristica_revisao/index.md' +## - 'aulas/11_contribuindo_aigyminsper/index.md' +# +# - 'Programação por restrições': +# - 'aulas/12_csp/index.md' +# +# - 'Ambientes competitivos': +# - 'aulas/13_jogos/index.md' +# - 'aulas/14_tictactoe/tictactoe.ipynb' +# - 'aulas/14_tictactoe/index.md' +# +### - 'aulas/14_competicao/index.md' +# - 'Aprendizagem por reforço': +# - 'aulas/15_rl/index.md' +# - 'aulas/15_rl_parte2/index.md' +# - 'aulas/15_rl_sarsa/index.md' +### - 'aulas/15_xnon_determ/index.md' +# +## - 'Avaliações atuais': +## - 'avaliacoes/2024_1_intermediaria/index.md' +## - 'avaliacoes/2024_1_final/index.md' +## - 'avaliacoes/2024_1_gabarito/index.md' +## - 'avaliacoes/2023_2_sub/index.md' +# - 'Projetos atuais': +# - 'projetos/11_delivery/index.md' +# - 'projetos/15_rl/index.md' +### - 'projetos/16_robo/index.md' +# +# +### - 'Tópicos sobre IA': +### - 'aulas/99_topicos/index.md' - 'Referências': - 'referencias/01_introducao/index.md' - - 'referencias/03_algoritmos_busca/index.md' - - 'referencias/03_csp/index.md' -# - 'referencias/03_dijkstra/index.md' - - 'referencias/04_busca_competitiva/index.md' - - 'referencias/05_jogos/index.md' - - 'referencias/06_rl/index.md' - - 'Exercícios e avaliações antigas': - - 'exercicios/index.md' - - - 'Comentários': 'comentarios.md' +# - 'referencias/03_algoritmos_busca/index.md' +# - 'referencias/03_csp/index.md' +## - 'referencias/03_dijkstra/index.md' +# - 'referencias/04_busca_competitiva/index.md' +# - 'referencias/05_jogos/index.md' +# - 'referencias/06_rl/index.md' +# - 'Exercícios e avaliações antigas': +# - 'exercicios/index.md' +# +# - 'Comentários': 'comentarios.md' extra_javascript: