Game playing has been an important area of AI research as games allow experiments with adversarial situations in a constrained environment. Minimax search and alpha-beta pruning are commonly used techniques for two-player zero-sum games, evaluating the game tree to varying depths depending on the time available and using a static board evaluator to estimate leaf node values. While early AI programs solved simple games like tic-tac-toe perfectly, scaling search to capture the complexity of chess required innovations like progressive deepening, quiescence search, and evaluation function learning from self-play. Modern AI programs now surpass top human players in many games including checkers, Scrabble, Othello, and backgammon.
This includes the architecture, design philosophy and the internal structure of the IBM chess grandmaster chips, Intelligent chess machine which was capable of defeating the world chess champion Garry Kasparov in 1997
My attempt to build a chess engine. This is exploratory project I continue to develop in my free time. I have collected information from various sources books, blogs and YouTube courses which are cross referenced in the presentation.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
This includes the architecture, design philosophy and the internal structure of the IBM chess grandmaster chips, Intelligent chess machine which was capable of defeating the world chess champion Garry Kasparov in 1997
My attempt to build a chess engine. This is exploratory project I continue to develop in my free time. I have collected information from various sources books, blogs and YouTube courses which are cross referenced in the presentation.
GDG Cloud Southlake #33: Boule & Rebala: Effective AppSec in SDLC using Deplo...James Anderson
Effective Application Security in Software Delivery lifecycle using Deployment Firewall and DBOM
The modern software delivery process (or the CI/CD process) includes many tools, distributed teams, open-source code, and cloud platforms. Constant focus on speed to release software to market, along with the traditional slow and manual security checks has caused gaps in continuous security as an important piece in the software supply chain. Today organizations feel more susceptible to external and internal cyber threats due to the vast attack surface in their applications supply chain and the lack of end-to-end governance and risk management.
The software team must secure its software delivery process to avoid vulnerability and security breaches. This needs to be achieved with existing tool chains and without extensive rework of the delivery processes. This talk will present strategies and techniques for providing visibility into the true risk of the existing vulnerabilities, preventing the introduction of security issues in the software, resolving vulnerabilities in production environments quickly, and capturing the deployment bill of materials (DBOM).
Speakers:
Bob Boule
Robert Boule is a technology enthusiast with PASSION for technology and making things work along with a knack for helping others understand how things work. He comes with around 20 years of solution engineering experience in application security, software continuous delivery, and SaaS platforms. He is known for his dynamic presentations in CI/CD and application security integrated in software delivery lifecycle.
Gopinath Rebala
Gopinath Rebala is the CTO of OpsMx, where he has overall responsibility for the machine learning and data processing architectures for Secure Software Delivery. Gopi also has a strong connection with our customers, leading design and architecture for strategic implementations. Gopi is a frequent speaker and well-known leader in continuous delivery and integrating security into software delivery.
DevOps and Testing slides at DASA ConnectKari Kakkonen
My and Rik Marselis slides at 30.5.2024 DASA Connect conference. We discuss about what is testing, then what is agile testing and finally what is Testing in DevOps. Finally we had lovely workshop with the participants trying to find out different ways to think about quality and testing in different parts of the DevOps infinity loop.
Encryption in Microsoft 365 - ExpertsLive Netherlands 2024Albert Hoitingh
In this session I delve into the encryption technology used in Microsoft 365 and Microsoft Purview. Including the concepts of Customer Key and Double Key Encryption.
JMeter webinar - integration with InfluxDB and GrafanaRTTS
Watch this recorded webinar about real-time monitoring of application performance. See how to integrate Apache JMeter, the open-source leader in performance testing, with InfluxDB, the open-source time-series database, and Grafana, the open-source analytics and visualization application.
In this webinar, we will review the benefits of leveraging InfluxDB and Grafana when executing load tests and demonstrate how these tools are used to visualize performance metrics.
Length: 30 minutes
Session Overview
-------------------------------------------
During this webinar, we will cover the following topics while demonstrating the integrations of JMeter, InfluxDB and Grafana:
- What out-of-the-box solutions are available for real-time monitoring JMeter tests?
- What are the benefits of integrating InfluxDB and Grafana into the load testing stack?
- Which features are provided by Grafana?
- Demonstration of InfluxDB and Grafana using a practice web application
To view the webinar recording, go to:
https://www.rttsweb.com/jmeter-integration-webinar
Elevating Tactical DDD Patterns Through Object CalisthenicsDorra BARTAGUIZ
After immersing yourself in the blue book and its red counterpart, attending DDD-focused conferences, and applying tactical patterns, you're left with a crucial question: How do I ensure my design is effective? Tactical patterns within Domain-Driven Design (DDD) serve as guiding principles for creating clear and manageable domain models. However, achieving success with these patterns requires additional guidance. Interestingly, we've observed that a set of constraints initially designed for training purposes remarkably aligns with effective pattern implementation, offering a more ‘mechanical’ approach. Let's explore together how Object Calisthenics can elevate the design of your tactical DDD patterns, offering concrete help for those venturing into DDD for the first time!
Key Trends Shaping the Future of Infrastructure.pdfCheryl Hung
Keynote at DIGIT West Expo, Glasgow on 29 May 2024.
Cheryl Hung, ochery.com
Sr Director, Infrastructure Ecosystem, Arm.
The key trends across hardware, cloud and open-source; exploring how these areas are likely to mature and develop over the short and long-term, and then considering how organisations can position themselves to adapt and thrive.
Connector Corner: Automate dynamic content and events by pushing a buttonDianaGray10
Here is something new! In our next Connector Corner webinar, we will demonstrate how you can use a single workflow to:
Create a campaign using Mailchimp with merge tags/fields
Send an interactive Slack channel message (using buttons)
Have the message received by managers and peers along with a test email for review
But there’s more:
In a second workflow supporting the same use case, you’ll see:
Your campaign sent to target colleagues for approval
If the “Approve” button is clicked, a Jira/Zendesk ticket is created for the marketing design team
But—if the “Reject” button is pushed, colleagues will be alerted via Slack message
Join us to learn more about this new, human-in-the-loop capability, brought to you by Integration Service connectors.
And...
Speakers:
Akshay Agnihotri, Product Manager
Charlie Greenberg, Host
Neuro-symbolic is not enough, we need neuro-*semantic*Frank van Harmelen
Neuro-symbolic (NeSy) AI is on the rise. However, simply machine learning on just any symbolic structure is not sufficient to really harvest the gains of NeSy. These will only be gained when the symbolic structures have an actual semantics. I give an operational definition of semantics as “predictable inference”.
All of this illustrated with link prediction over knowledge graphs, but the argument is general.
State of ICS and IoT Cyber Threat Landscape Report 2024 previewPrayukth K V
The IoT and OT threat landscape report has been prepared by the Threat Research Team at Sectrio using data from Sectrio, cyber threat intelligence farming facilities spread across over 85 cities around the world. In addition, Sectrio also runs AI-based advanced threat and payload engagement facilities that serve as sinks to attract and engage sophisticated threat actors, and newer malware including new variants and latent threats that are at an earlier stage of development.
The latest edition of the OT/ICS and IoT security Threat Landscape Report 2024 also covers:
State of global ICS asset and network exposure
Sectoral targets and attacks as well as the cost of ransom
Global APT activity, AI usage, actor and tactic profiles, and implications
Rise in volumes of AI-powered cyberattacks
Major cyber events in 2024
Malware and malicious payload trends
Cyberattack types and targets
Vulnerability exploit attempts on CVEs
Attacks on counties – USA
Expansion of bot farms – how, where, and why
In-depth analysis of the cyber threat landscape across North America, South America, Europe, APAC, and the Middle East
Why are attacks on smart factories rising?
Cyber risk predictions
Axis of attacks – Europe
Systemic attacks in the Middle East
Download the full report from here:
https://sectrio.com/resources/ot-threat-landscape-reports/sectrio-releases-ot-ics-and-iot-security-threat-landscape-report-2024/
Generating a custom Ruby SDK for your web service or Rails API using Smithyg2nightmarescribd
Have you ever wanted a Ruby client API to communicate with your web service? Smithy is a protocol-agnostic language for defining services and SDKs. Smithy Ruby is an implementation of Smithy that generates a Ruby SDK using a Smithy model. In this talk, we will explore Smithy and Smithy Ruby to learn how to generate custom feature-rich SDKs that can communicate with any web service, such as a Rails JSON API.
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...UiPathCommunity
💥 Speed, accuracy, and scaling – discover the superpowers of GenAI in action with UiPath Document Understanding and Communications Mining™:
See how to accelerate model training and optimize model performance with active learning
Learn about the latest enhancements to out-of-the-box document processing – with little to no training required
Get an exclusive demo of the new family of UiPath LLMs – GenAI models specialized for processing different types of documents and messages
This is a hands-on session specifically designed for automation developers and AI enthusiasts seeking to enhance their knowledge in leveraging the latest intelligent document processing capabilities offered by UiPath.
Speakers:
👨🏫 Andras Palfi, Senior Product Manager, UiPath
👩🏫 Lenka Dulovicova, Product Program Manager, UiPath
Slack (or Teams) Automation for Bonterra Impact Management (fka Social Soluti...Jeffrey Haguewood
Sidekick Solutions uses Bonterra Impact Management (fka Social Solutions Apricot) and automation solutions to integrate data for business workflows.
We believe integration and automation are essential to user experience and the promise of efficient work through technology. Automation is the critical ingredient to realizing that full vision. We develop integration products and services for Bonterra Case Management software to support the deployment of automations for a variety of use cases.
This video focuses on the notifications, alerts, and approval requests using Slack for Bonterra Impact Management. The solutions covered in this webinar can also be deployed for Microsoft Teams.
Interested in deploying notification automations for Bonterra Impact Management? Contact us at sales@sidekicksolutionsllc.com to discuss next steps.
3. Why Study Game Playing?
• Games allow us to experiment with easier versions of real-world situations
• Hostile agents act against our goals
• Games have a finite set of moves
• Games are fairly easy to represent
• Good idea to decide about what to think
• Perfection is unrealistic, must settle for good
• One of the earliest areas of AI
– Claude Shannon and Alan Turing wrote chess programs in 1950s
• The opponent introduces uncertainty
• The environment may contain uncertainty (backgammon)
• Search space too hard to consider exhaustively
– Chess has about 1040 legal positions
– Efficient and effective search strategies even more critical
• Games are fun to target!
4. Assumptions
• Static or dynamic?
• Fully or partially observable?
• Discrete or continuous?
• Deterministic or stochastic?
• Episodic or sequential?
• Single agent or multiple agent?
5. Zero-Sum Games
• Focus primarily on “adversarial games”
• Two-player, zero-sum games
As Player 1 gains strength
Player 2 loses strength
and vice versa
The sum of the two strengths is always 0.
6. Search Applied to Adversarial Games
• Initial state
– Current board position (description of current game state)
• Operators
– Legal moves a player can make
• Terminal nodes
– Leaf nodes in the tree
– Indicate the game is over
• Utility function
– Payoff function
– Value of the outcome of a game
– Example: tic tac toe, utility is -1, 0, or 1
7. Using Search
• Search could be used to find a perfect sequence
of moves except the following problems arise:
– There exists an adversary who is trying to minimize
your chance of winning every other move
• You cannot control his/her move
– Search trees can be very large, but you have finite
time to move
• Chess has 1040 nodes in search space
• With single-agent search, can afford to wait
• Some two-player games have time limits
• Solution?
– Search to n levels in the tree (n ply)
– Evaluate the nodes at the nth level
– Head for the best looking node
8. Game Trees
• Tic tac toe
• Two players, MAX and MIN
• Moves (and levels) alternate between two players
9. Minimax Algorithm
• Search the tree to the end
• Assign utility values to terminal nodes
• Find the best move for MAX (on MAX’s turn), assuming:
– MAX will make the move that maximizes MAX’s utility
– MIN will make the move that minimizes MAX’s utility
• Here, MAX should make the leftmost move
• Minimax applet
10. Minimax Properties
• Complete if tree is finite
• Optimal if play against opponent with same strategy (utility
function)
• Time complexity is O(bm)
• Space complexity is O(bm) (depth-first exploration)
• If we have 100 seconds to make a move
– Can explore 104 nodes/second
– Can consider 106 nodes / move
• Standard approach is
– Apply a cutoff test (depth limit, quiescence)
– Evaluate nodes at cutoff (evaluation function estimates
desirability of position)
11. Static Board Evaluator
• We cannot look all the way to the end of the game
– Look ahead ply moves
– Evaluate nodes there using SBE
• Tic Tac Toe example
– #unblocked lines with Xs - #unblocked lines with Os
• Tradeoff
– Stupid, fast SBE: Massive search
• These are “Type A” systems
– Smart, slow SBE: Very little search
• These are “Type B” systems
– Humans are Type B systems
– Computer chess systems have been more successful using
Type A
– They get better by searching more ply
12. Comparison
0
2
4
6
8
10
12
14
16
18
20
1.4 1.6 1.8 2 2.2 2.4 2.6 2.8
ply
U.S. Chess Federation Rating x 103
40
…
Belle
Belle
Belle
Belle
Bobby
Fischer
Deep
Thought
Deep
Blue
Anatoly
Karpov
Gary
Kasparov
Hitech
13. Example
• Chess, SBE is typically linear weighted sum of features
– SBE(s) = w1f1(s) + w2f2(s) + … + wnfn(s)
– E.g., w1 = 9
• F1(s) = #white queens - #black queens
• For chess:
– 4 ply is human novice
– 8 ply is typical PC or human master
– 12 ply is grand master
15. Alpha-Beta Pruning
• Typically can only look 3-4 ply in allowable chess time
• Alpha-beta pruning simplifies search space without eliminating
optimality
– By applying common sense
– If one route allows queen to be captured and a better move is available
– Then don’t search further down bad path
– If one route would be bad for opponent, ignore that route also
Maintain [alpha, beta] window at each node during depth-first search
alpha = lower bound, change at max levels
beta = upper bound, change at min levels
2 7 1 No need to
look here!
Max
55. Bad and Good Cases for Alpha-Beta Pruning
• Bad: Worst moves encountered first
• Good: Good moves ordered first
• If we can order moves, we can get more benefit from alpha-beta pruning
4 MAX
+----------------+----------------+
2 3 4 MIN
+----+----+ +----+----+ +----+----+
6 4 2 7 5 3 8 6 4 MAX
+--+ +--+ +--+ +-+-+ +--+ +--+ +--+ +--+ +--+--+
6 5 4 3 2 1 1 3 7 4 5 2 3 8 2 1 6 1 2 4
4 MAX
+----------------+----------------+
4 3 2 MIN
+----+----+ +----+----+ +----+----+
4 6 8 3 x x 2 x x MAX
+--+ +--+ +--+ +--+ +-+-+
4 2 6 x 8 x 3 2 1 2 1
56. Alpha Beta Properties
• Pruning does not affect final result
• Good move ordering improves effectiveness of
pruning
• With perfect ordering, time complexity is
O(bm/2)
57. Problems with a fixed ply: The Horizon Effect
• Inevitable losses are postponed
• Unachievable goals appear achievable
• Short-term gains mask unavoidable
consequences (traps)
Lose queen Lose pawn
Lose queen!!!
The “look ahead horizon”
58. Solutions
• How to counter the horizon effect
– Feedover
• Do not cut off search at non-quiescent board positions
(dynamic positions)
• Example, king in danger
• Keep searching down that path until reach quiescent (stable)
nodes
– Secondary Search
• Search further down selected path to ensure this is the best
move
– Progressive Deepening
• Search one ply, then two ply, etc., until run out of time
• Similar to IDS
59. Variations on 2-Player Games
Multiplayer Games
• Each player maximizes utility
• Each node stores a vector of utilities
• Entire vector is backed up the tree
• 3-player example: If in leftmost state, should player 3 choose first
move because higher utility values?
• Result will be terminal state with utility values (v1=1, v2=2, v3=3)
• This vector is backed up to the parent node
• Need to consider cooperation among players
to move
1 (1 2 3)
+------------------+ +---------------------+
2 (1 2 3) (-1 5 2)
+--------+ +-----+ +--------+ +-------+
3 (1 2 3) (6 1 2) (-1 5 2) (5 4 5)
/ / / /
1 (1 2 3) (4 2 1) (6 1 2) (7 4 -1) (5 -1 -1) (-1 5 2) (7 7 -1) (5 4 5)
62. Nondeterministic Game Algorithm
• Just like Minimax except also handle chance nodes
• Compute ExpectMinimaxValue of successors
– If n is terminal node, then ExpectMinimaxValue(n) =
Utility(n)
– If n is a Max node, then
ExpectMinimaxValue(n) = maxsSuccessors(n) ExpectMinimaxValue(s)
– If n is a Min node, then
ExpectMinimaxValue(n) = minsSuccessors(n) ExpectMinimaxValue(s)
– If n is a chance node, then
ExpectMinimaxValue(n) =
sSuccessors(n) P(s) * ExpectMinimaxValue(s)
63. Status of AI Game Players
• Tic Tac Toe
– Tied for best player in world
• Othello
– Computer better than any human
– Human champions now refuse to play
computer
• Scrabble
– Maven beat world champions Joel
Sherman and Matt Graham
• Backgammon
– 1992, Tesauro combines 3-ply search &
neural networks (with 160 hidden units)
yielding top-3 player
• Bridge
– Gib ranked among top players in the
world
• Poker
– Pokie plays at strong intermediate level
• Checkers
– 1994, Chinook ended 40-year reign of
human champion Marion Tinsley
• Chess
– 1997, Deep Blue beat human champion
Gary Kasparov in six-game match
– Deep Blue searches 200M
positions/second, up to 40 ply
– Now looking at other applications
(molecular dynamics, drug synthesis)
• Go
– 2008, MoGo running on 25 nodes (800
cores) beat Myungwan Kim
– $2M prize available for first computer
program to defeat a top player