SlideShare a Scribd company logo
2018/6/30
•
•
–
–
– Javadoc
–
• Player
–
( )
• Eclipse
• Java SDK
1.
HP
2.
3.
4. aiwolf-ver0.4.X
JavaDoc DL)
5. aiwolf-ver0.4.X
http://aiwolf.org
1.
HP
2.
3.
4. aiwolf-ver0.4.X
JavaDoc DL)
5. aiwolf-ver0.4.X
http://aiwolf.org
1.
HP
2.
3.
4. aiwolf-ver0.4.X
JavaDoc DL)
5. aiwolf-ver0.4.X.zip
AIWolf-ver0.4.X.zip
AIWolf-ver0.4.X
• JAR
aiwolf-client.jar , aiwolf-common.jar
• ( )
• ( )
• AutoStarter
(AutoStarter.ini, SampleSetting.cfg)
Eclipse
Eclise
Java
1.
2. ( +Agent)
DemoAgent Agent
3.
1. DemoAgent
2.
lib
lib jar
1. AIWolf-ver0.4.X.zip
– aiwolf-client.jar
– aiwolf-commn.jar
2. lib
3. JavaDoc
lib jar
JAR
• aiwolf-client.jar
• aiwolf-common.jar
(1)
( :DemoAgent)
2
JAR
1.
2. JAR
3
jar
1. lib jar
2. OK
JavaDoc
• JavaDoc API
• Eclipse
Javadoc (1)
1. aiwolf-client.jar
2. Javadoc
3.
Javadoc 2/3
1. Javadoc
2.
3. : DemoAgent/lib/docs.zip
4. : docs
5.
Javadoc 3/3
•
OK
• aiwolf-common.jar Javadoc
1. AbstractRoleAssignPlayer
2.
3. Player
4. RoleAssignPlayer Player
1. AbstractRoleAssignPlayer
2.
3. Player
4. RoleAssignPlayer Player
1/2
DemoAgent src
2/2
demo@aiwolf.org → org.aiwolf.demo
1. ( :org.aiwolf.demo)
2.
org.aiwolf.sample.lib AbstractRoleAssignPlayer
org.aiwolf.client.base.player
ARAP
: DemoRoleAssignPlayer
• 1
jar Java
jar
1. ( :DemoAgent)
2.
JAR
JAVA JAR
JAR
• AIWolf-ver0.4.X
–
• JAR demoAgent.jar
• AIWolf-ver0.4.X
AutoStarter.ini
• Sample1 Sample2
WEREWOLF SEER
• Sample5
#
•
lib=./
log=./log/
port=10000
game=10
view=true
setting=./SampleSetting.cfg
#agent=5
Sample1,org.aiwolf.sample.player.SampleRoleAssignPlayer
Sample2,org.aiwolf.sample.player.SampleRoleAssignPlayer
Sample3,org.aiwolf.sample.player.SampleRoleAssignPlayer
Sample4,org.aiwolf.sample.player.SampleRoleAssignPlayer
#Sample5,org.aiwolf.sample.player.SampleRoleAssignPlayer
Demo,org.aiwolf.demo.DemoRoleAssignPlayer
[ Demo ],[ ].[ ]
• AIWolf-ver0.4.X
– Windows :AutoStarter.bat
– Mac/Linux : AutoStarter.sh
•
% bash Autostarter.sh
Next:
Auto:
Ski ALL:
1. AbstractRoleAssignPlayer
2.
3. Player
4. RoleAssignPlayer Player
RoleAssignPlayer
DemoRole
AssignPlayer
1.
2.
DemoSeer
3.
4. AbstractSeer
OK
5.
1.
2.
DemoSeer
3.
4. AbstractSeer
OK
5.
RoleAssignPlayer
• RoleAssignPlayer
(DemoRoleAssignPlayer )
–
DemoSeer
–
public DemoRoleAssignPlayer(){
setSeerPlayer(new DemoSeer());
}
•
– setBodyguardPlayer(bodyGuardPlayer)
•
– setMediumPlayer(mediumPlayer)
•
– setPossessedPlayer(possesedPlayer)
•
– setVillagerPlayer(villagerPlayer)
•
– setWerewolfPlayer(werewolfPlayer)
• JAR AutoStarter
OK
• DemoSeer
GameInfo
(talk,vote )
GameInfo
(talk,vote )
CO
CO
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
/** */
Agent me;
/** */
GameInfo currentGameInfo;
/** */
Deque<Judge> myDivinationQueue = new LinkedList<>();
/** ( ) */
List<Agent> whiteList = new ArrayList<>();
/** ( ) */
List<Agent> blackList = new ArrayList<>();
/** */
List<Agent> grayList;
/** */
boolean saidCO = false;
/** */
int talkListHead;
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
public String getName() {
return "DemoSeer";
}
public void update(GameInfo gameInfo) {
// currentGameInfo
currentGameInfo = gameInfo;
}
Seer
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
public void initialize(GameInfo gameInfo,
GameSetting gameSetting) {
//
me = gameInfo.getAgent(); //GameInfo
grayList = new ArrayList<>(gameInfo.getAgentList());
grayList.remove(me);
whiteList.clear();
blackList.clear();
myDivinationQueue.clear();
}
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
(GameInfo)
public void dayStart() {
// GameInfo
Judge divination = currentGameInfo.getDivineResult();
if (divination != null) {
myDivinationQueue.offer(divination);
// ( )
Agent target = divination.getTarget();
Species result = divination.getResult();
//
grayList.remove(target);
if (result == Species.HUMAN) {
whiteList.add(target); // ( )
} else {
blackList.add(target); // ( )
}
}
//
talkListHead = 0;
}
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
1.
2.
/** */
boolean isAlive(Agent agent) {
return currentGameInfo.getAliveAgentList().contains(agent);
}
/** */
<T> T randomSelect(List<T> list) {
if (list.isEmpty()) {
return null;
} else {
return list.get((int) (Math.random() * list.size()));
}
}
(vote) (1/2)
public Agent vote() { //
//
List<Agent> candidates = new ArrayList<>();
//
for (Agent agent : blackList) {
if (isAlive(agent)) { //
candidates.add(agent); //
}
}
//
if (candidates.isEmpty()) {
for (Agent agent : grayList) {
if (isAlive(agent)) {
candidates.add(agent);
}
}
}
(vote) (2/2)
// null
if (candidates.isEmpty()) {
return null;
}
//
return randomSelect(candidates);
}
vote()
public Agent vote() {
//
List<Agent> candidates = new ArrayList<>();
//
for (Agent agent : blackList) {
if (isAlive(agent)) {
candidates.add(agent);
}
}
//
if (candidates.isEmpty()) {
for (Agent agent : grayList) {
if (isAlive(agent)) {
candidates.add(agent);
}
}
}
// null
if (candidates.isEmpty()) {
return null;
}
//
return randomSelect(candidates);
}
divine()
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
public Agent divine() {
//
List<Agent> candidates = new ArrayList<>();
//
for (Agent agent : grayList) {
if (isAlive(agent)) {
candidates.add(agent);
}
}
//
if (candidates.isEmpty()) {
return null;
}
//
return randomSelect(candidates);
}
1.
2. getName, update
3. initialize
4. dayStart
5. vote
6. divine
7. talk
//
Judge judge = getLatestDayGameInfo().getDivineResult();
//
ContentBuilder builder = new
DivinedResultContentBuilder(judge.getTarget(), judge.getResult();
String talk = new Content(builder).getText();
ContentBuilder
DivinedResultContentBuilder
(talk())
1.
2.
NO
YES
CO
CO
NO
YES
talk() CO
public String talk() {
//
if (!saidCO) { // CO
//
if (!myDivinationQueue.isEmpty() &&
myDivinationQueue.peekLast().getResult() == Species.WEREWOLF) {
saidCO = true;
ContentBuilder builder = new ComingoutContentBuilder(me,
Role.SEER);
return new Content(builder).getText();
}
}
CO
talk()
//
else {
if (!myDivinationQueue.isEmpty()) {
Judge divination = myDivinationQueue.poll();
ContentBuilder builder = new
DivinedResultContentBuilder(divination.getTarget(),
divination.getResult());
return new Content(builder).getText();
} //
}
return Content.OVER.getText();
}
talk()
public String talk() {
//
if (!saidCO) {
if (!myDivinationQueue.isEmpty() && myDivinationQueue.peekLast().getResult() == Species.WEREWOLF) {
saidCO = true;
ContentBuilder builder = new ComingoutContentBuilder(me, Role.SEER);
return new Content(builder).getText();
}
} else {//
if (!myDivinationQueue.isEmpty()) {
Judge divination = myDivinationQueue.poll();
ContentBuilder builder = new DivinedResultContentBuilder(divination.getTarget(), divination.getResult());
return new Content(builder).getText();
}
}
return Content.OVER.getText(); //
}
• GameInfo
– GameInfo.getTalkList() List<Talk>
• Talk
– getAgent() Agent ID
– getText() String
•
– “DIVINED Agent[04] HUMAN” (Agent[04] )
– getDay() int
– getIdx() int
– getTurn()
int
Talk.getText()
“DIVINED Agent[04] HUMAN”
Content
(parse)
//Content (String)
parse
Talk talk = currentGameInfo.getTalkList().get(i);
Content content = new Content(talk.getText());
update() (1)
/** update
*/
public void update(GameInfo gameInfo) {
currentGameInfo = gameInfo;
// GameInfo.talkList
for (int i = talkListHead;
i < currentGameInfo.getTalkList().size(); i++) {
Talk talk = currentGameInfo.getTalkList().get(i);
Agent talker = talk.getAgent();
if (talker == me) { //
continue;
}
Content content = new Content(talk.getText()); // parse
update() (2)
switch (content.getTopic()) {
case COMINGOUT:
//
break;
case DIVINED:
//
break;
case IDENTIFIED:
//
break;
default:
break;
}
}
talkListHead = currentGameInfo.getTalkList().size();
}
update() ( )
public void update(GameInfo gameInfo) {
currentGameInfo = gameInfo;
// GameInfo.talkList
for (int i = talkListHead; i < currentGameInfo.getTalkList().size(); i++) {
Talk talk = currentGameInfo.getTalkList().get(i);
Agent talker = talk.getAgent();
if (talker == me) {
continue;
}
Content content = new Content(talk.getText()); // parse
switch (content.getTopic()) {
case COMINGOUT: //
break;
case DIVINED: //
break;
case IDENTIFIED: //
break;
default:
break;
}
}
talkListHead = currentGameInfo.getTalkList().size();
}
Content
String getText()
Operator getOperator() null
Agent getSubject()
Topic getTopic() COMINGOUT DIVINED
Agent getTarget() ”DIVINED Agent[01]
HUMAN” → Agent[01]
Role getRole() ”COMINGOUT Agent[02] SEER”
→ SEER
Species getResult() ( ) ”IDENTIFIED Agent[03] WEREWOLF”
→ WEREWOLF
TalkType getTalkType() Topic AGREE/DISAGREE TALK/WHISPER
int getTalkDay() Topic AGREE/DISAGREE
int getTalkID() Topic AGREE/DISAGREE ID
List<Content> getContentList()
/** */
Map<Agent, Role> comingoutMap = new HashMap<>(); // initialize() comingoutMap.clear();
public void update(GameInfo gameInfo) {
currentGameInfo = gameInfo;
// GameInfo.talkList
for (int i = talkListHead; i < currentGameInfo.getTalkList().size(); i++) {
Talk talk = currentGameInfo.getTalkList().get(i);
Agent talker = talk.getAgent();
if (talker == me) {
continue;
}
Content content = new Content(talk.getText()); // parse
switch (content.getTopic()) {
case COMINGOUT:
//
comingoutMap.put(talker, content.getRole());
break;
case DIVINED: //
break;
case IDENTIFIED: //
break;
default:
break;
}
}
talkListHead = currentGameInfo.getTalkList().size();
}
Map
•
–
–
initialize
divine
whisper
guard
attack
talk
vote
finish
1
dayStart
whisper
divine
YES
NO
NO
YES
vote
Player
Player
•
• update getName, initialize
n initialize(GameInfo, GameSetting)
n update(GameInfo) n getName()
n dayStart() n talk()
n whisper() n vote()
n attack() n divine()
n guard() n finish()
Player
• initialize(GameInfo)
–
–
GameInfo
• update(GameInfo)
–
–
GameInfo
• dayStart()
–
• finish()
–
Player
• vote()
–
• attack()
–
–
• divine()
–
–
• guard()
–
–
1
Agent
Player
• talk()
–
–
• whisper()
–
–
String
• void
• String
• Agent
ninitialize(GameInfo, GameSetting)
nupdate(GameInfo)
ndayStart()
nfinish()
nvote() nattack() ndivine() nguard()
ngetName() ntalk() nwhisper()
GameInfo
Agent getAgent()
List<Agent> getAgentList()
List<Agent> getAliveAgentList()
int getDay()
Agent getExecutedAgent()
List<Role> getExistingRoles()
List<Agent> getLastDeadAgentList()
Agent getLatestExecutedAgent() ( )
List<Vote> getLatestVoteList()
Role getRole()
Map<Agent, Status> getStatusMap()
List<Talk> getTalkList()
List<Vote> getVoteList()
Agent getAttackedAgent()
List<Vote> getAttackedVote()
List<Vote> getLatestAttackedVote()
Map<Agent,Role> getRoleMap()
List<Talk> getWhisperList()
null
List<Agent> getDivineResult()
List<Agent> getGuardedAgent()
List<Agent> getMediumResult()
null
null
null
talk, whisper
org.aiwolf.client.lib.Content
org.aiwolf.client.lib.ContentBuilder
text
ContentBuilder builder = ContentBuilder;
Content content = new Content(builder);
String text = content.getText();
ContentBuilder (1)
1. EstimateContentBuilder(target, role): target role
2. ComingoutContentBuilder (target, role) : target role
3. DivinationContentBuilder(target) : target
4. DivinedResultContentBuilder(target, result) : target result
5. IdentContentBuilder(target, result) : target result
6. GuardCandidateContentBuilder(target) : target
7. GuardedAgentContentBuilder(target) : target
8. VoteContentBuilder(target) : target
9. AttackContentBuilder(target) : target
10. AgreeContentBuilder(talkType, talkDay, talkID) : talkDay
talkType talkID
ContentBuilder (2)
11. DisagreeContentBuilder(talkType, talkDay, talkID) : talkDay
talkType talkID
12. RequestContentBuilder(agent, content) : agent content
13. OverContentBuilder() :
Content.OVER
OVER = new Content(new OverContentBuilder());
14. SkipContentBuilder() :
Content.SKIP
SKIP = new Content(new SkipContentBuilder());
aiwolf-ver0.4.4.zip 1
0.4.4 2 .pdf
•
–
•
•
–
• 9
•
(Villager)
•
–
•
–
–
•
– Map
–
•
– Map
–
:
import
// Java
import java.util.ArrayList;
import java.util.Deque;
import java.util.HashMap;
import java.util.LinedList;
import java.util.List; // ArrayList
import java.util.Map;
//
import org.aiwolf.client.lib.*; // “*”
import org.aiwolf.common.data.*; //
import org.aiwolf.common.net.*;
//
List<Judge> divitionList = new ArrayList<>();
public void update(GameInfo gameInfo) {
.....( ).....
for(int i = talkListHead; i < gameInfo.getTalkList().size(); i++){
Talk talk = gameInfo.getTalkList().get(i);
Agent talker = talk.getAgent();
.....( ).....
Content content = new Content(talk.getText());
switch(content.getTopic()) {
case DIVINED:
Judge j = new Judge(day,talker,content.getTarget(),content.getResult())
divinationList.add(j);
break;
.....( ).....
}
.....( ).....
}
.....( ).....
}
(Werewolf)
•
–
• CO
– CO
• CO
:
//
public void update() {
.....( ).....
for(Judge j : divitionList){ // for
Agent agent = j.getAgent();
Agent target = j.getTarget();
//
if (!werewolves.contains(agent) &&
((humans.contains(target) && j.getResult() == Species.WEREWOLF) ||
(werewolves.contains(target) && j.getResult() == Species.HUMAN))) {
if(!possessedList.contains(agent)) { //
possessedList.add(agent);
whisperQueue.offer(new Content(new EstimateContantBuilder(agent,
Role.POSSESSED))); //
}
}
}
.....( ).....
}
(Possessed)
• CO
–
• CO
– CO
– or
•
•
•
int numWolves = gameSetting.getRoleNumMap().get(Role.WEREWOLF);
:
CO
//
Role fakeRole = null;
int comingOutDay = -1;
int comingOutTurn = -1;
public void initialize(GameInfo gameInfo, GameSetting gameSetting) {
.....( ).....
List<Role> roles = new ArrayList<>(); // CO
for(Role r : Array.asList(Role.VILLAGER, Role.SEER, Role.MEDIUM)){
if(gameInfo.getExistingRoles().contains(r)){ //
roles.add(r);
}
}
fakeRole = randomSelect(roles) // ( )
comingOutDay = (int)(Math.random()*2+1); // 1 2 CO
comingOutTurn = (int)(Math.random()*5); // CO
.....( ).....
}
(Seer)
• CO
– CO
• CO
– CO CO
– CO
:
(Bodyguard)
•
•
–
•
•
–
•
–
–
:
(Medium)
•
•
–
:
//
protected <T> randomSelect(List<T> list) {
if (list.isEmpty()) {
return null;
} else {
return list.get((int)(Math.random() * list.size());
}
}
//
protected boolean isAlive(Agent agent){
return currentGameInfo.getStatusMap.get(agent) == Status.ALIVE;
}
• 20170624 :
– 0527 @
–
–
– Java
• 20170406 :
(C)Ghost inTheShell President Jomeson
Java
•
class
l
l
l
n
n
class
l
l
l
n
n
( )
•
–
•
•
–
»
»
–
»
–
•
•
•
–
–
•
•
•
–
•
–
–
•
GUI
GUI
•
– Windows : StartServer.bat
– Mac/Linux : StartSerber.sh
• Num of players 5
• Connect
(1/3)
•
– Windows :StartGuiClient.bat
– Mac/Linux : StartGuiClient.sh
(2/3)
• jar aiwolf-client.jar JarFiles
(3/3)
• Jar
• Connect Agent
• Role
• 1
SampleRoleAssignPlayer 4 Connect
• Server Starter Start Game
ServerStarter
•
(Villager)
(Reinforcement Learning)
•
•
http://spider.art.coocan.jp/biology2/behavior2012.htm
(1/2)
• s a
– π
a Q
(2/2)
• (s, a)
t + 1 st+1
r (s, a) r
– Q(s,a) ← Q(s,a) + α[r + γ max Q(st+1,p)- Q(s,a)] α
– π(s,a): , ε- , soft max,
•
– MDP:
– POMDP:
…
• S
–
– CO
–
– ( )
• A
–
–
–
• R
–
–
–
BBS
JAVA
•
–
–
–
•
package org.aiwolf.common.util;
(org/aiwolf/common/util/)
•
import org.aiwolf.common.util.*;
import org.aiwolf.common.util.Sorter.java;
*
•
– public:
– protected:
– :
– private:
– {}
• static
–
• AiWolfCommon/src/org/aiwolf/common/util/
– Counter.java
– Sorter.java
– BidiMap.java
• Java
–
–
– ( )
•
public class ArrayList<E> extends AbstractLink<E> … {
…
public <T> T[] toArray(T[] a) { … }
….
}
• List<Object>
• ArrayList<Object>
• LinkedList<Object>: FIFO
• Map<Key, Value>
• LinkedHashMap<Key, Value>
• TreeMap<Key, Value>
• BidiMap<Key, Value>: Key Value
Map
• Counter<V> : V
for
List<Objet> list;
• :
for(int i = 0; i < MAX; i++) {
Object obj = list[i]; // list.get(i);
System.out.println(obj);
}
• :
for(Iterator<Object> it = list.iterator(); it.hasNext(); ){
Object obj = it.next();
System.out.println();
}
• for (for-each ):
For(Object obj: list) {
System.out.println(obj);
}
•
– Object obj = new Object();
• :String
– Object obj = (Object)Class.forName(
:String).newInstance();
JavaDoc
@Override
–
@Deprecated
–
@SuppressWarning
–
----------------------------------------------------------------------
public class FileCopy(){
private String f1;
private String f2;
public void main( String[] args ) throws Exception{
FileCopy a = new FileCopy();
a.f1 = new File( args[0] );
a.f2 = new File( args[1] );
a.run( 1024 );}
private void run( int i ) throws Exception{
FileInputStream s1 = new FileInputStream( f1 );
FileOutputStream s2 = new FileOutputStream( f2 );
byte[] b = new byte[i];
Int j;
while( (j=s1.read(b))>0) s2.write( b,0,j);
s1.close();
s2.close();
}}
•
–
–
•
–
• static s_*, m_*, a_*
–
•
java.io.*;
•
–
class Sample {}
–
•
–
–
int getParameter() {}
void setParameter(int value) {}
–
– Boolean True/False
boolean isSampleClass() {} Boolean hasStock() {}
–
Int num= 0;
void setParameter(int num){
this.num= num;
}
•
– boolen true/false
boolean hasTree;
boolean isMan;
– static final
static final int NUM_TRIAL;
–
–

More Related Content

What's hot

CrowdCasts Monthly: You Have an Adversary Problem
CrowdCasts Monthly: You Have an Adversary ProblemCrowdCasts Monthly: You Have an Adversary Problem
CrowdCasts Monthly: You Have an Adversary Problem
CrowdStrike
 
The History Of Mobile Gaming
The History Of Mobile Gaming The History Of Mobile Gaming
The History Of Mobile Gaming
aihendo
 
Tracking Noisy Behavior and Risk-Based Alerting with ATT&CK
Tracking Noisy Behavior and Risk-Based Alerting with ATT&CKTracking Noisy Behavior and Risk-Based Alerting with ATT&CK
Tracking Noisy Behavior and Risk-Based Alerting with ATT&CK
MITRE ATT&CK
 
Enterprise Digital Forensics and Secuiryt with Open Source tools: Automate Au...
Enterprise Digital Forensics and Secuiryt with Open Source tools: Automate Au...Enterprise Digital Forensics and Secuiryt with Open Source tools: Automate Au...
Enterprise Digital Forensics and Secuiryt with Open Source tools: Automate Au...
Studio Fiorenzi Security & Forensics
 
The Six Stages of Incident Response
The Six Stages of Incident Response The Six Stages of Incident Response
The Six Stages of Incident Response
Darren Pauli
 
Introducing PlayFab -- Effective LiveOps
Introducing PlayFab -- Effective LiveOpsIntroducing PlayFab -- Effective LiveOps
Introducing PlayFab -- Effective LiveOps
James Gwertzman
 
Data Driven Game Design
Data Driven Game DesignData Driven Game Design
Data Driven Game Design
Pier Luca Lanzi
 
Threat Hunting Report
Threat Hunting Report Threat Hunting Report
Threat Hunting Report
Morane Decriem
 
IGC 스타신디 : 인디 개발에서 로그라이크 장점 가져오기
IGC 스타신디 : 인디 개발에서 로그라이크 장점 가져오기IGC 스타신디 : 인디 개발에서 로그라이크 장점 가져오기
IGC 스타신디 : 인디 개발에서 로그라이크 장점 가져오기
선호 김
 
ReCheck Docs Sales Deck
ReCheck Docs Sales DeckReCheck Docs Sales Deck
ReCheck Docs Sales Deck
recheck
 
Tech, Polyphony & Power - Ella Fitzsimmons [Camp Digital 2018]
Tech, Polyphony & Power - Ella Fitzsimmons [Camp Digital 2018]Tech, Polyphony & Power - Ella Fitzsimmons [Camp Digital 2018]
Tech, Polyphony & Power - Ella Fitzsimmons [Camp Digital 2018]
Nexer Digital
 
ProdPad Sales Deck - Software for Highly Effective Product Managers
ProdPad Sales Deck - Software for Highly Effective Product Managers ProdPad Sales Deck - Software for Highly Effective Product Managers
ProdPad Sales Deck - Software for Highly Effective Product Managers
ProdPad
 
Deploying Privileged Access Workstations (PAWs)
Deploying Privileged Access Workstations (PAWs)Deploying Privileged Access Workstations (PAWs)
Deploying Privileged Access Workstations (PAWs)
Blue Teamer
 
Penetration Testing Project Game of Thrones CTF: 1
Penetration Testing Project Game of Thrones CTF: 1Penetration Testing Project Game of Thrones CTF: 1
Penetration Testing Project Game of Thrones CTF: 1
Florin D. Tanasache
 
Windows Incident Response is hard, but doesn't have to be
Windows Incident Response is hard, but doesn't have to beWindows Incident Response is hard, but doesn't have to be
Windows Incident Response is hard, but doesn't have to be
Michael Gough
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with Splunk
Splunk
 
Security Automation & Orchestration
Security Automation & OrchestrationSecurity Automation & Orchestration
Security Automation & Orchestration
Splunk
 
Cyber Threat Intelligence
Cyber Threat IntelligenceCyber Threat Intelligence
Cyber Threat Intelligence
mohamed nasri
 
Threat Exposure Management - Reduce your Risk of a Breach
Threat Exposure Management - Reduce your Risk of a BreachThreat Exposure Management - Reduce your Risk of a Breach
Threat Exposure Management - Reduce your Risk of a Breach
Rahul Neel Mani
 
LiveOps as a Service | Scott Humphries
LiveOps as a Service | Scott HumphriesLiveOps as a Service | Scott Humphries
LiveOps as a Service | Scott Humphries
Jessica Tams
 

What's hot (20)

CrowdCasts Monthly: You Have an Adversary Problem
CrowdCasts Monthly: You Have an Adversary ProblemCrowdCasts Monthly: You Have an Adversary Problem
CrowdCasts Monthly: You Have an Adversary Problem
 
The History Of Mobile Gaming
The History Of Mobile Gaming The History Of Mobile Gaming
The History Of Mobile Gaming
 
Tracking Noisy Behavior and Risk-Based Alerting with ATT&CK
Tracking Noisy Behavior and Risk-Based Alerting with ATT&CKTracking Noisy Behavior and Risk-Based Alerting with ATT&CK
Tracking Noisy Behavior and Risk-Based Alerting with ATT&CK
 
Enterprise Digital Forensics and Secuiryt with Open Source tools: Automate Au...
Enterprise Digital Forensics and Secuiryt with Open Source tools: Automate Au...Enterprise Digital Forensics and Secuiryt with Open Source tools: Automate Au...
Enterprise Digital Forensics and Secuiryt with Open Source tools: Automate Au...
 
The Six Stages of Incident Response
The Six Stages of Incident Response The Six Stages of Incident Response
The Six Stages of Incident Response
 
Introducing PlayFab -- Effective LiveOps
Introducing PlayFab -- Effective LiveOpsIntroducing PlayFab -- Effective LiveOps
Introducing PlayFab -- Effective LiveOps
 
Data Driven Game Design
Data Driven Game DesignData Driven Game Design
Data Driven Game Design
 
Threat Hunting Report
Threat Hunting Report Threat Hunting Report
Threat Hunting Report
 
IGC 스타신디 : 인디 개발에서 로그라이크 장점 가져오기
IGC 스타신디 : 인디 개발에서 로그라이크 장점 가져오기IGC 스타신디 : 인디 개발에서 로그라이크 장점 가져오기
IGC 스타신디 : 인디 개발에서 로그라이크 장점 가져오기
 
ReCheck Docs Sales Deck
ReCheck Docs Sales DeckReCheck Docs Sales Deck
ReCheck Docs Sales Deck
 
Tech, Polyphony & Power - Ella Fitzsimmons [Camp Digital 2018]
Tech, Polyphony & Power - Ella Fitzsimmons [Camp Digital 2018]Tech, Polyphony & Power - Ella Fitzsimmons [Camp Digital 2018]
Tech, Polyphony & Power - Ella Fitzsimmons [Camp Digital 2018]
 
ProdPad Sales Deck - Software for Highly Effective Product Managers
ProdPad Sales Deck - Software for Highly Effective Product Managers ProdPad Sales Deck - Software for Highly Effective Product Managers
ProdPad Sales Deck - Software for Highly Effective Product Managers
 
Deploying Privileged Access Workstations (PAWs)
Deploying Privileged Access Workstations (PAWs)Deploying Privileged Access Workstations (PAWs)
Deploying Privileged Access Workstations (PAWs)
 
Penetration Testing Project Game of Thrones CTF: 1
Penetration Testing Project Game of Thrones CTF: 1Penetration Testing Project Game of Thrones CTF: 1
Penetration Testing Project Game of Thrones CTF: 1
 
Windows Incident Response is hard, but doesn't have to be
Windows Incident Response is hard, but doesn't have to beWindows Incident Response is hard, but doesn't have to be
Windows Incident Response is hard, but doesn't have to be
 
Threat Hunting with Splunk
Threat Hunting with SplunkThreat Hunting with Splunk
Threat Hunting with Splunk
 
Security Automation & Orchestration
Security Automation & OrchestrationSecurity Automation & Orchestration
Security Automation & Orchestration
 
Cyber Threat Intelligence
Cyber Threat IntelligenceCyber Threat Intelligence
Cyber Threat Intelligence
 
Threat Exposure Management - Reduce your Risk of a Breach
Threat Exposure Management - Reduce your Risk of a BreachThreat Exposure Management - Reduce your Risk of a Breach
Threat Exposure Management - Reduce your Risk of a Breach
 
LiveOps as a Service | Scott Humphries
LiveOps as a Service | Scott HumphriesLiveOps as a Service | Scott Humphries
LiveOps as a Service | Scott Humphries
 

Similar to Aiwolf seminar20180630

AIWolf programming guide
AIWolf programming guideAIWolf programming guide
AIWolf programming guide
Hirotaka Osawa
 
I am sorry but my major does not cover programming in depth (ICT) an.pdf
I am sorry but my major does not cover programming in depth (ICT) an.pdfI am sorry but my major does not cover programming in depth (ICT) an.pdf
I am sorry but my major does not cover programming in depth (ICT) an.pdf
seamusschwaabl99557
 
Geeks Anonymes - Le langage Go
Geeks Anonymes - Le langage GoGeeks Anonymes - Le langage Go
Geeks Anonymes - Le langage Go
Geeks Anonymes
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensions
erwanl
 
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Tsuyoshi Yamamoto
 
Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察Tsuyoshi Yamamoto
 
Basic java, java collection Framework and Date Time API
Basic java, java collection Framework and Date Time APIBasic java, java collection Framework and Date Time API
Basic java, java collection Framework and Date Time API
jagriti srivastava
 
Softshake - Offline applications
Softshake - Offline applicationsSoftshake - Offline applications
Softshake - Offline applications
jeromevdl
 
Pick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruitPick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruit
Vaclav Pech
 
Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1
Robert Stern
 
C Programming Project
C Programming ProjectC Programming Project
C Programming Project
Vijayananda Mohire
 
Codestrong 2012 breakout session hacking titanium
Codestrong 2012 breakout session   hacking titaniumCodestrong 2012 breakout session   hacking titanium
Codestrong 2012 breakout session hacking titaniumAxway Appcelerator
 
GPars For Beginners
GPars For BeginnersGPars For Beginners
GPars For Beginners
Matt Passell
 
appengine java night #1
appengine java night #1appengine java night #1
appengine java night #1Shinichi Ogawa
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?
Ben Hall
 
こわくないよ❤️ Playframeworkソースコードリーディング入門
こわくないよ❤️ Playframeworkソースコードリーディング入門こわくないよ❤️ Playframeworkソースコードリーディング入門
こわくないよ❤️ Playframeworkソースコードリーディング入門
tanacasino
 
Working With JQuery Part1
Working With JQuery Part1Working With JQuery Part1
Working With JQuery Part1saydin_soft
 
Python-GTK
Python-GTKPython-GTK
Python-GTKYuren Ju
 

Similar to Aiwolf seminar20180630 (20)

AIWolf programming guide
AIWolf programming guideAIWolf programming guide
AIWolf programming guide
 
I am sorry but my major does not cover programming in depth (ICT) an.pdf
I am sorry but my major does not cover programming in depth (ICT) an.pdfI am sorry but my major does not cover programming in depth (ICT) an.pdf
I am sorry but my major does not cover programming in depth (ICT) an.pdf
 
Geeks Anonymes - Le langage Go
Geeks Anonymes - Le langage GoGeeks Anonymes - Le langage Go
Geeks Anonymes - Le langage Go
 
Paris js extensions
Paris js extensionsParis js extensions
Paris js extensions
 
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
Grails 1.2 探検隊 -新たな聖杯をもとめて・・・-
 
Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察Jggug 2010 330 Grails 1.3 観察
Jggug 2010 330 Grails 1.3 観察
 
Basic java, java collection Framework and Date Time API
Basic java, java collection Framework and Date Time APIBasic java, java collection Framework and Date Time API
Basic java, java collection Framework and Date Time API
 
Softshake - Offline applications
Softshake - Offline applicationsSoftshake - Offline applications
Softshake - Offline applications
 
Pick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruitPick up the low-hanging concurrency fruit
Pick up the low-hanging concurrency fruit
 
Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1Golang basics for Java developers - Part 1
Golang basics for Java developers - Part 1
 
C Programming Project
C Programming ProjectC Programming Project
C Programming Project
 
Codestrong 2012 breakout session hacking titanium
Codestrong 2012 breakout session   hacking titaniumCodestrong 2012 breakout session   hacking titanium
Codestrong 2012 breakout session hacking titanium
 
GPars For Beginners
GPars For BeginnersGPars For Beginners
GPars For Beginners
 
appengine java night #1
appengine java night #1appengine java night #1
appengine java night #1
 
Sbaw091006
Sbaw091006Sbaw091006
Sbaw091006
 
How Secure Are Docker Containers?
How Secure Are Docker Containers?How Secure Are Docker Containers?
How Secure Are Docker Containers?
 
Dartprogramming
DartprogrammingDartprogramming
Dartprogramming
 
こわくないよ❤️ Playframeworkソースコードリーディング入門
こわくないよ❤️ Playframeworkソースコードリーディング入門こわくないよ❤️ Playframeworkソースコードリーディング入門
こわくないよ❤️ Playframeworkソースコードリーディング入門
 
Working With JQuery Part1
Working With JQuery Part1Working With JQuery Part1
Working With JQuery Part1
 
Python-GTK
Python-GTKPython-GTK
Python-GTK
 

Recently uploaded

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
Neo4j
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
SOFTTECHHUB
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
James Anderson
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
sonjaschweigert1
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
James Anderson
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Albert Hoitingh
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
DanBrown980551
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
Zilliz
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
Kari Kakkonen
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
Pixlogix Infotech
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
Safe Software
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
SOFTTECHHUB
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
DianaGray10
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Nexer Digital
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
Alex Pruden
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
Matthew Sinclair
 

Recently uploaded (20)

GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
GraphSummit Singapore | Enhancing Changi Airport Group's Passenger Experience...
 
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
Why You Should Replace Windows 11 with Nitrux Linux 3.5.0 for enhanced perfor...
 
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
Alt. GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using ...
 
A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...A tale of scale & speed: How the US Navy is enabling software delivery from l...
A tale of scale & speed: How the US Navy is enabling software delivery from l...
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...
 
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024
 
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
LF Energy Webinar: Electrical Grid Modelling and Simulation Through PowSyBl -...
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
Full-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalizationFull-RAG: A modern architecture for hyper-personalization
Full-RAG: A modern architecture for hyper-personalization
 
DevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA ConnectDevOps and Testing slides at DASA Connect
DevOps and Testing slides at DASA Connect
 
20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website20 Comprehensive Checklist of Designing and Developing a Website
20 Comprehensive Checklist of Designing and Developing a Website
 
Essentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FMEEssentials of Automations: The Art of Triggers and Actions in FME
Essentials of Automations: The Art of Triggers and Actions in FME
 
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
Goodbye Windows 11: Make Way for Nitrux Linux 3.5.0!
 
Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1Communications Mining Series - Zero to Hero - Session 1
Communications Mining Series - Zero to Hero - Session 1
 
Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?Elizabeth Buie - Older adults: Are we really designing for our future selves?
Elizabeth Buie - Older adults: Are we really designing for our future selves?
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex ProofszkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
zkStudyClub - Reef: Fast Succinct Non-Interactive Zero-Knowledge Regex Proofs
 
20240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 202420240605 QFM017 Machine Intelligence Reading List May 2024
20240605 QFM017 Machine Intelligence Reading List May 2024
 

Aiwolf seminar20180630