2-APL UPC project.
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

bbfizp e81827cf 5e25fbb2

+393 -356
+393 -356
docs/briscola_chiamata/bc-pres.tex
··· 1 - \documentclass[dvipsnames,usenames,10pt]{beamer} 2 - 3 - \usetheme{JuanLesPins} 4 - 5 - \title{A Multi-Agent System for playing Briscola Chiamata} 6 - 7 - \author[B. Borja Fiz, F. De Santis, M. Gabarda]{Beltran Borja Fiz, Fabrizio De Santis, Marcos Gabarda} 8 - \institute[Universitat Polit\`ecnica de Catalunya]{ 9 - Multi-agent Systems Course\\ 10 - Master in Artificial Intelligence\\ 11 - Universitat Polit\`ecnica de Catalunya\\ 12 - \texttt{\\ \{beltran.borja.fiz, fabrizio.de.santis, marcos.gabarda\}@est.fib.upc.edu}} 13 - \date{\today} 14 - 15 - \begin{document} 16 - 17 - \frame{\titlepage} 18 - 19 - \section*{Outline} 20 - 21 - \frame{ 22 - \frametitle{Outline} 23 - \begin{itemize} 24 - \item Problem Specification 25 - \vskip 2.0ex 26 - \item System Specification 27 - \item High level/Architectural Design 28 - \item Detailed Design 29 - \vskip 2.0ex 30 - \item Prototype 31 - \item Demo 32 - \item Conclusions 33 - \end{itemize} 34 - } 35 - 36 - \part{Problem Specification} 37 - \frame{\partpage} 38 - 39 - \frame{ 40 - \frametitle{Problem Specification} 41 - \begin{itemize} 42 - \item Introduction to Briscola Chiamata card game 43 - \item Why the game is suitable for a multi-agents system? 44 - \end{itemize} 45 - } 46 - 47 - \frame{ 48 - \frametitle{A bit of terminology} 49 - 50 - \begin{itemize} 51 - \item Game: ....definition here...... 52 - \item Hand/Round: .......definition here........ 53 - \item Trick: points collected in one round 54 - \item Suit: spades, hearts, diamonds, clubs 55 - \item Rank: 1-7, jack, queen, king 56 - \item Briscola (Brisca): a particular suit 57 - \item Non-player charcacter: .....definiton here..... 58 - \end{itemize} 59 - } 60 - 61 - \frame{ 62 - \frametitle{Briscola Chiamata} 63 - 64 - In short: italian game, 5 players, 8 cards each, no cards undealt, 2 teams 65 - 66 - \vskip 2.0ex 67 - 68 - Game in two-phases: 69 - \begin{itemize} 70 - \item Bidding phase 71 - \item Playing phase 72 - \end{itemize} 73 - } 74 - 75 - 76 - \frame{ 77 - \frametitle{Why is suitable for multi-agents system?} 78 - 79 - \begin{itemize} 80 - \item Uncertainity (nobody knows who is actually its partner) 81 - \item Sociality (needed in order to discover team settings) 82 - \begin{itemize} 83 - \item Cooperation (inside the team once partners are discovered) 84 - \item Competition (between opponent's teams) 85 - \end{itemize} 86 - \item Trust/Reputation models needed 87 - \end{itemize} 88 - 89 - \vskip 2.0ex 90 - 91 - \begin{itemize} 92 - \item Main agent properties are satisfied 93 - \begin{itemize} 94 - \item Autonomy (players can be autonomous agents) 95 - \item Flexibility 96 - \begin{itemize} 97 - \item Reactivity (players have to play when its their turn) 98 - \item Proactivity (players can exchange information at any moment) 99 - \item Social (players have to interact for discovering team settings) 100 - \end{itemize} 101 - \end{itemize} 102 - \end{itemize} 103 - } 104 - 105 - \part{System Specification} 106 - \frame{\partpage} 107 - 108 - \frame{ 109 - \frametitle{System Specification} 110 - 111 - \begin{itemize} 112 - \item Analysis overview diagram: the interactions between the system and the environment 113 - \item Scenarios diagram: the dynamics of the game 114 - \item Goals overview diagram: how goals can be decomposed into subgoals 115 - \item System roles diagram: group different goals, percepts and actions under roles 116 - \end{itemize} 117 - } 118 - 119 - \frame[shrink,squeeze]{ 120 - \frametitle{Analysis Overview Diagram} 121 - 122 - \begin{center} 123 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/analysis_overview.png} 124 - \end{center} 125 - } 126 - 127 - \frame{ 128 - \frametitle{Scenarios Diagram} 129 - 130 - \begin{center} 131 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/system_specification/scenarios.png} 132 - \end{center} 133 - } 134 - 135 - \frame{ 136 - \frametitle{Goals Overview Diagram} 137 - 138 - \begin{center} 139 - \includegraphics[keepaspectratio,scale=0.35]{pdt/images/system_specification/goal_overview.png} 140 - \end{center} 141 - } 142 - 143 - \frame[allowframebreaks]{ 144 - \frametitle{System Roles Diagram} 145 - 146 - \begin{center} 147 - \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_1.png} 148 - \end{center} 149 - 150 - \break 151 - 152 - \begin{center} 153 - \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_2.png} 154 - \end{center} 155 - 156 - \break 157 - 158 - \begin{center} 159 - \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_3.png} 160 - \end{center} 161 - } 162 - 163 - \part{High-level/Architectural Design} 164 - \frame{\partpage} 165 - 166 - \frame{ 167 - \frametitle{High-level/Architectural Specification} 168 - 169 - \begin{itemize} 170 - \item Data coupling diagram: links roles to data 171 - \item Agent-role grouping diagram: group the roles into agent types 172 - \item Agent acquaintance diagram: how agents interact with each's other 173 - \item System overview diagram: all agents in the system, along with their interface and interaction 174 - \end{itemize} 175 - } 176 - 177 - \frame{ 178 - \frametitle{Data Coupling Diagram} 179 - 180 - \begin{center} 181 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/data_coupling.png} 182 - \end{center} 183 - } 184 - 185 - \frame{ 186 - \frametitle{Agent-Role Grouping Diagram} 187 - 188 - \begin{center} 189 - \includegraphics[keepaspectratio,scale=0.35]{pdt/images/architectural_design/aget-role_grouping.png} 190 - \end{center} 191 - } 192 - 193 - \frame{ 194 - \frametitle{Agent Acquaintance Diagram} 195 - 196 - \begin{center} 197 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/agent_acquaintance.png} 198 - \end{center} 199 - } 200 - 201 - \frame{ 202 - \frametitle{System Overview Diagram} 203 - 204 - \begin{center} 205 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/system_overview.png} 206 - \end{center} 207 - } 208 - 209 - \frame[allowframebreaks]{ 210 - \frametitle{Protocols} 211 - 212 - \begin{center} 213 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Bidding_protocol.png} 214 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Game_protocol.png}\\ 215 - \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Dealing_protocol.png}\\ 216 - \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/First_bid_protocol.png} 217 - \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Wake_up_dealer_protocol.png}\\ 218 - \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Communication_protocol.png} 219 - \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Join_game_protocol.png}\\ 220 - \end{center} 221 - 222 - } 223 - 224 - \part{Detailed Design} 225 - \frame{\partpage} 226 - 227 - \frame{ 228 - \frametitle{Detailed Design} 229 - 230 - \begin{itemize} 231 - \item Agent overview diagrams: internals of agents 232 - \item Capability overview diagrams: internals of a capability in terms of plans or sub-capabilities and messages 233 - \end{itemize} 234 - } 235 - 236 - \frame{ 237 - \frametitle{Agent Overview Diagram: gatekeeper agent} 238 - 239 - \begin{center} 240 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/gatekeeper_overview_diagram.png} 241 - \end{center} 242 - } 243 - 244 - \frame{ 245 - \frametitle{Capability Overview Diagram: gatekeeper agent} 246 - \begin{center} 247 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/release_player_capability_overview_diagram.png} 248 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_players_capability_overview_diagram.png} 249 - \end{center} 250 - } 251 - 252 - \frame{ 253 - \frametitle{Agent Overview Diagram: notary agent} 254 - 255 - \begin{center} 256 - \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/notary_overview_diagram.png} 257 - \end{center} 258 - } 259 - 260 - \frame[allowframebreaks]{ 261 - \frametitle{Capability Overview Diagram: notary agent} 262 - 263 - \begin{center} 264 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/turn_selection_capability_overview_diagram.png} 265 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/end_the_game_capability_overview_diagram.png}\\ 266 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/start_dealing_capability_overview_diagram.png} 267 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/control_bidding_capability_overview_diagram.png}\\ 268 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/count_points_capability_overview_diagram.png} 269 - \end{center} 270 - } 271 - 272 - \frame{ 273 - \frametitle{Agent Overview Diagram: dealer agent} 274 - 275 - \begin{center} 276 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealer_overview_diagram.png} 277 - \end{center} 278 - } 279 - 280 - \frame{ 281 - \frametitle{Capability Overview Diagram: dealer agent} 282 - 283 - \begin{center} 284 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealing_capability_overview_diagram.png} 285 - \end{center} 286 - } 287 - 288 - \frame{ 289 - \frametitle{Agent Overview Diagram: non-player-character agent} 290 - 291 - \begin{center} 292 - \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/non-player_character_overview_diagram.png} 293 - \end{center} 294 - } 295 - 296 - \frame[allowframebreaks]{ 297 - \frametitle{Capability Overview Diagram: non-player-character agent} 298 - 299 - \begin{center} 300 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/receive_a_hand_capability_overview_diagram.png} 301 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/bidding_capability_overview_diagram.png}\\ 302 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/playing_capability_overview_diagram.png}\\ 303 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/declare_briscola_capability_overview_diagram.png} 304 - \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_to_game_capability_overview_diagram.png} 305 - \end{center} 306 - } 307 - 308 - \part{Prototype} 309 - \frame{\partpage} 310 - 311 - \frame{ 312 - \frametitle{Prototype} 313 - \begin{itemize} 314 - \item Environment is a Java class 315 - \item Agents are implemented in 2APL 316 - \item A GUI has been implemented 317 - \item Agent strategies are straight forward 318 - \end{itemize} 319 - } 320 - 321 - \part{Demo} 322 - \frame{\partpage} 323 - 324 - \part{Conclusions} 325 - \frame{\partpage} 326 - 327 - \frame{ 328 - \frametitle{Conclusion: the good and the bad} 329 - 330 - \begin{columns} 331 - \begin{column}{0.5\textwidth} 332 - Good: 333 - \begin{itemize} 334 - \item Powerful mix of declarative (Prolog) and imperative programming style (Java) 335 - \item JADE 336 - \end{itemize} 337 - \end{column} 338 - \begin{column}{0.5\textwidth} 339 - Bad: 340 - \begin{itemize} 341 - \item Lack of library to support agent side development 342 - \item Lack of a manual and examples 343 - \item Platform not at industry level 344 - \end{itemize} 345 - \end{column} 346 - \end{columns} 347 - } 348 - 349 - 350 - \begin{frame}{Bibliography} 351 - \nocite{*} 352 - \bibliographystyle{plain} 353 - \bibliography{bc-pres} 354 - \end{frame} 355 - 356 - \end{document} 1 + \documentclass[dvipsnames,usenames,10pt]{beamer} 2 + 3 + \usetheme{JuanLesPins} 4 + 5 + \title{A Multi-Agent System for playing Briscola Chiamata} 6 + 7 + \author[B. Borja Fiz, F. De Santis, M. Gabarda]{Beltran Borja Fiz, Fabrizio De Santis, Marcos Gabarda} 8 + \institute[Universitat Polit\`ecnica de Catalunya]{ 9 + Multi-agent Systems Course\\ 10 + Master in Artificial Intelligence\\ 11 + Universitat Polit\`ecnica de Catalunya\\ 12 + \texttt{\\ \{beltran.borja.fiz, fabrizio.de.santis, marcos.gabarda\}@est.fib.upc.edu}} 13 + \date{\today} 14 + 15 + \begin{document} 16 + 17 + \frame{\titlepage} 18 + 19 + \section*{Outline} 20 + 21 + \frame{ 22 + \frametitle{Outline} 23 + \begin{itemize} 24 + \item Problem Specification 25 + \vskip 2.0ex 26 + \item System Specification 27 + \item High level/Architectural Design 28 + \item Detailed Design 29 + \vskip 2.0ex 30 + \item Prototype 31 + \item Demo 32 + \item Conclusions 33 + \end{itemize} 34 + } 35 + 36 + \part{Problem Specification} 37 + \frame{\partpage} 38 + 39 + \frame{ 40 + \frametitle{Problem Specification} 41 + 42 + \begin{itemize} 43 + 44 + \item Chosen problem : the Briscola Chiamata card game 45 + \item Why the game is suitable for a multi-agents system? 46 + 47 + \begin{itemize} 48 + 49 + \item Competitiveness and Cooperation. 50 + \item Reactive and Proactive agents. 51 + \item Could also have human players. 52 + 53 + \end{itemize} 54 + \end{itemize} 55 + } 56 + 57 + \frame{ 58 + \frametitle{A bit of terminology} 59 + 60 + \begin{itemize} 61 + \item Game: The event starting when enough players are gathered and ending when a final victor is declared. 62 + \item Round: A round is a subdivision of a game. It represents one full play of the deck, after which it is shuffled and anoher round begins. 63 + \item Trick: points collected in one round 64 + \item Suit: spades, hearts, diamonds, clubs 65 + \item Rank: 1-7, jack, queen, king 66 + \item Briscola (Brisca): a particular suit 67 + \item Non-player charcacter: An agent not playing the actual game. (Not to be confused with non-playable character) 68 + \end{itemize} 69 + } 70 + 71 + \frame{ 72 + \frametitle{Briscola Chiamata} 73 + 74 + In short: An italian card game of 5 players, 8 cards each ( no cards undealt). Players look at cards and start bidding to be attempt to be the winner of the round. Highest bidder then names a card (which he usually doesnt have) and the owner of that card becomes part of his team (only he knows... for now). So 2 teams. The person to reach a certain amount of points wins the game. 75 + 76 + \vskip 2.0ex 77 + 78 + Game in two-phases: 79 + \begin{itemize} 80 + \item Bidding phase 81 + \item Playing phase 82 + \end{itemize} 83 + } 84 + 85 + 86 + \frame{ 87 + \frametitle{Why is suitable for multi-agents system?} 88 + 89 + \begin{itemize} 90 + \item Uncertainity (nobody knows who is actually its partner) 91 + \item Sociality (needed in order to discover team settings) 92 + \begin{itemize} 93 + \item Cooperation (inside the team once partners are discovered) 94 + \item Competition (between opponent's teams) 95 + \end{itemize} 96 + \item Trust/Reputation models needed 97 + \end{itemize} 98 + 99 + \vskip 2.0ex 100 + 101 + \begin{itemize} 102 + \item Main agent properties are satisfied 103 + \begin{itemize} 104 + \item Autonomy (players can be autonomous agents) 105 + \item Flexibility 106 + \begin{itemize} 107 + \item Reactivity (players have to play when its their turn) 108 + \item Proactivity (players can exchange information at any moment) 109 + \item Social (players have to interact for discovering team settings) 110 + \end{itemize} 111 + \end{itemize} 112 + \end{itemize} 113 + } 114 + 115 + \part{System Specification} 116 + \frame{\partpage} 117 + 118 + \frame{ 119 + \frametitle{System Specification} 120 + 121 + \begin{itemize} 122 + \item Analysis overview diagram: the interactions between the system and the environment 123 + \item Scenarios diagram: the dynamics of the game 124 + \item Goals overview diagram: how goals can be decomposed into subgoals 125 + \item System roles diagram: group different goals, percepts and actions under roles 126 + \end{itemize} 127 + } 128 + 129 + \frame[shrink,squeeze]{ 130 + \frametitle{Analysis Overview Diagram} 131 + 132 + \begin{center} 133 + \includegraphics[keepaspectratio,scale=0.3]{pdt/images/system_specification/analysis_overview.png} 134 + \end{center} 135 + } 136 + 137 + \frame{ 138 + \frametitle{Scenarios Diagram} 139 + 140 + \begin{center} 141 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/system_specification/scenarios.png} 142 + \end{center} 143 + } 144 + 145 + \frame{ 146 + \frametitle{Goals Overview Diagram} 147 + 148 + \begin{center} 149 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/system_specification/goal_overview.png} 150 + \end{center} 151 + } 152 + 153 + \frame[allowframebreaks]{ 154 + \frametitle{System Roles Diagram} 155 + 156 + \begin{center} 157 + \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_1.png} 158 + \end{center} 159 + 160 + \break 161 + 162 + \begin{center} 163 + \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_2.png} 164 + \end{center} 165 + 166 + \break 167 + 168 + \begin{center} 169 + \includegraphics[keepaspectratio,scale=0.3]{fig/system_roles_3.png} 170 + \end{center} 171 + } 172 + 173 + \part{High-level/Architectural Design} 174 + \frame{\partpage} 175 + 176 + \frame{ 177 + \frametitle{High-level/Architectural Specification} 178 + 179 + \begin{itemize} 180 + \item Data coupling diagram: links roles to data 181 + \item Agent-role grouping diagram: group the roles into agent types 182 + \item Agent acquaintance diagram: how agents interact with each's other 183 + \item System overview diagram: all agents in the system, along with their interface and interaction 184 + \end{itemize} 185 + } 186 + 187 + \frame{ 188 + \frametitle{Data Coupling Diagram} 189 + 190 + \begin{center} 191 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/data_coupling.png} 192 + \end{center} 193 + } 194 + 195 + \frame{ 196 + \frametitle{Agent-Role Grouping Diagram} 197 + 198 + \begin{center} 199 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/architectural_design/aget-role_grouping.png} 200 + \end{center} 201 + } 202 + 203 + \frame{ 204 + \frametitle{Agent Acquaintance Diagram} 205 + 206 + \begin{center} 207 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/architectural_design/agent_acquaintance.png} 208 + \end{center} 209 + } 210 + 211 + \frame{ 212 + \frametitle{System Overview Diagram} 213 + 214 + \begin{center} 215 + \includegraphics[keepaspectratio,scale=0.3]{pdt/images/architectural_design/system_overview.png} 216 + \end{center} 217 + } 218 + 219 + \frame[allowframebreaks]{ 220 + \frametitle{Protocols} 221 + 222 + \begin{center} 223 + \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Bidding_protocol.png} 224 + \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Game_protocol.png}\\ 225 + \includegraphics[keepaspectratio,scale=0.3]{pdt/images/protocols/Dealing_protocol.png}\\ 226 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/First_bid_protocol.png} 227 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Wake_up_dealer_protocol.png}\\ 228 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Communication_protocol.png} 229 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/protocols/Join_game_protocol.png}\\ 230 + \end{center} 231 + 232 + } 233 + 234 + \part{Detailed Design} 235 + \frame{\partpage} 236 + 237 + \frame{ 238 + \frametitle{Detailed Design} 239 + 240 + \begin{itemize} 241 + \item Agent overview diagrams: internals of agents 242 + \item Capability overview diagrams: internals of a capability in terms of plans or sub-capabilities and messages 243 + \end{itemize} 244 + } 245 + 246 + \frame{ 247 + \frametitle{Agent Overview Diagram: gatekeeper agent} 248 + 249 + \begin{center} 250 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/gatekeeper_overview_diagram.png} 251 + \end{center} 252 + } 253 + 254 + \frame{ 255 + \frametitle{Capability Overview Diagram: gatekeeper agent} 256 + \begin{center} 257 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/release_player_capability_overview_diagram.png} 258 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_players_capability_overview_diagram.png} 259 + \end{center} 260 + } 261 + 262 + \frame{ 263 + \frametitle{Agent Overview Diagram: notary agent} 264 + 265 + \begin{center} 266 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/notary_overview_diagram.png} 267 + \end{center} 268 + } 269 + 270 + \frame[allowframebreaks]{ 271 + \frametitle{Capability Overview Diagram: notary agent} 272 + 273 + \begin{center} 274 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/turn_selection_capability_overview_diagram.png} 275 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/end_the_game_capability_overview_diagram.png}\\ 276 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/start_dealing_capability_overview_diagram.png} 277 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/control_bidding_capability_overview_diagram.png}\\ 278 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/count_points_capability_overview_diagram.png} 279 + \end{center} 280 + } 281 + 282 + \frame{ 283 + \frametitle{Agent Overview Diagram: dealer agent} 284 + 285 + \begin{center} 286 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealer_overview_diagram.png} 287 + \end{center} 288 + } 289 + 290 + \frame{ 291 + \frametitle{Capability Overview Diagram: dealer agent} 292 + 293 + \begin{center} 294 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/dealing_capability_overview_diagram.png} 295 + \end{center} 296 + } 297 + 298 + \frame{ 299 + \frametitle{Agent Overview Diagram: non-player-character agent} 300 + 301 + \begin{center} 302 + \includegraphics[keepaspectratio,scale=0.35]{pdt/images/detailed_design/non-player_character_overview_diagram.png} 303 + \end{center} 304 + } 305 + 306 + \frame[allowframebreaks]{ 307 + \frametitle{Capability Overview Diagram: non-player-character agent} 308 + 309 + \begin{center} 310 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/receive_a_hand_capability_overview_diagram.png} 311 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/bidding_capability_overview_diagram.png}\\ 312 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/playing_capability_overview_diagram.png}\\ 313 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/declare_briscola_capability_overview_diagram.png} 314 + \includegraphics[keepaspectratio,scale=0.4]{pdt/images/detailed_design/join_to_game_capability_overview_diagram.png} 315 + \end{center} 316 + } 317 + 318 + \part{Prototype} 319 + \frame{\partpage} 320 + 321 + \frame{ 322 + \frametitle{Prototype} 323 + \begin{itemize} 324 + \item The prototype was built in two languages : 325 + \begin{itemize} 326 + \item The environment was coded in java as an extension of a 2APL java class. 327 + \item The Agents were coded in prolog. 328 + \end{itemize} 329 + 330 + \item 2APL has very little information on building environments so code inspection of an example was performed. 331 + \item The GUI was designed apart and then inserted into the environment. 332 + 333 + \end{itemize} 334 + } 335 + 336 + 337 + \frame{ 338 + \frametitle{Prototype : The concept} 339 + \begin{itemize} 340 + \item The idea of the prototype was for it to simply allow the designer of the game agents to view live how the agents play 341 + \item By showing the game steps at human eye sight speed, one could see the game in action instead of staring at a console. 342 + \item Fancy graphics were never intended, it is marely a visual aid, not an actual game to be played. 343 + 344 + \end{itemize} 345 + } 346 + 347 + \frame{ 348 + \frametitle{Prototype : The future} 349 + \begin{itemize} 350 + \item Since the GUI can be easely extended, it could be possible to allow human players to join. 351 + \item Or even more interesting, by adding the required libraries, one could potentially play on a server and have agents designed by different people play each other. 352 + \item Due to lack of community this feature is unlikely to be added. 353 + 354 + \end{itemize} 355 + } 356 + 357 + \part{Demo} 358 + \frame{\partpage} 359 + 360 + \part{Conclusions} 361 + \frame{\partpage} 362 + 363 + \frame{ 364 + \frametitle{Conclusion: the good and the bad} 365 + 366 + \begin{columns} 367 + \begin{column}{0.5\textwidth} 368 + Good: 369 + \begin{itemize} 370 + \item Powerful mix of declarative (Prolog) and imperative programming style (Java) 371 + \item JADE platform compatibility. 372 + \item 2APL tools helpful during development. 373 + \end{itemize} 374 + \end{column} 375 + \begin{column}{0.5\textwidth} 376 + Bad: 377 + \begin{itemize} 378 + \item Lack of library to support agent side development 379 + \item Lack of a manual and examples 380 + \item Platform not at industry level 381 + \end{itemize} 382 + \end{column} 383 + \end{columns} 384 + } 385 + 386 + 387 + \begin{frame}{Bibliography} 388 + \nocite{*} 389 + \bibliographystyle{plain} 390 + \bibliography{bc-pres} 391 + \end{frame} 392 + 393 + \end{document}