Probabilistic Logic and Monty hall game

Consider a single player game with a nugget hidden under one of the with 3 upside-down cups  and suppose (without loss of generality) that the player chooses cup 1. Now the game maker lifts cup 2 and shows the player that it is empty  and gives him the option to either change his earlier choice or  stick to it.
Monty.png
We want to know if the player can gain from switching his choice to cup 3. So we have to compare the probability of choosing the nugget by
staying with cup 1, and the probability of choosing the nugget by switching to cup 3.
Let E1 be the event “nugget is under is cup 1,” let E2 be the event “nugget is under cup 3,” and let E3 be the event “Game maker lifts cup 2 and its empty.”
Since from the player’s initial reasoning, the nugget is equally likely to be under any of the three doors, Pr(E1) = Pr(E2) = 1/3
We want to know Pr(E1|E3) and Pr(E2|E3).
According to bayes rule:
Pr(E1|E3) = Pr(E3|E1).Pr(E1)/ Pr(E3) = 1/3 × Pr(E3|E1) / Pr(E3)
Pr(E2|E3) = Pr(E3|E2).Pr(E2)/ Pr(E3) = 1/3 × Pr(E3|E2) / Pr(E3)
First, suppose Game maker randomly picks one of the remaining cups. The probability that he picks cup 2 is then 1/2. The probability that there’s a no nugget  under any given cup is 1 − 1/3 = 2/3, so the probability that game maker picks cup 2 and it is empty is Pr(E3) = 1/2× 2/3 = 1/3
because the two events are independent by our assumption that game maker picks randomly.
We now need to determine Pr(E3|E1) and Pr(E3|E2). If the nugget is under cup 1, then cup 2 certainly is empty, and hence the probability that game maker picks cup2 and cup 2 is empty, is equal the probability that game maker picks cup2 : Pr(E3|E1) = 1/2.
Similarly, if the nugget is under cup 3, then also  cup 2 is empty for sure, yielding Pr(E3|E2) = 1/2.
Putting all this together yields:
Pr(E1|E3) =1/3 ×1/2 1/3=1/2
Pr(E2|E3) = 1/3 × 1/2 1/3 = 1/2
Hence, the player cannot gain from switching. This is not surprising: if game maker makes a random choice, his action reveals nothing.

we  realize that there is another case we should deal with and which is an example of strategic thinking.

Suppose now that game maker would never pick a cup with a nugget under it (much more likely in a real monty hall show).  As before, Pr(E3 | E1) = 1/2 because if the nugget is under  cup 1, then both cup 2 and 3 certainly are empty, and so game maker will pick randomly between them. However, Pr(E3|E2) = 1 because if the nugget is under cup 3, then cup 2 certainly is empty, but sincegame maker never reveals the nugget (and cannot pick cup 1 because the player already picked it), he will certainly pick cup 2. Finally, because game maker will never pick a cup with nugget under it, Pr(E3) = 1/2.
You can use the total probability theorem to obtain this number.
Let “2” denote the event “the nugget is under cup 2.” Then:
Pr(E3) = Pr(E3|E1)Pr(E1) + Pr(E3|2) Pr(2) + Pr(E3|E2) Pr(E2) = 1/2×1/3 + 0×1/3 + 1 × 1/3 = 1/6 + 1/3 = 1/2.
We used the fact that the probability of the event “Game maker picks cup 2 and it is empty” is zero if there is a nugget under that cup: Pr(E3|2) = 0.
This now yields:
Pr(E1|E3) = (1/2×1/3)/( 1/2) = 1/3
Pr(E2|E3) = (1×1/3 )/(1/2) = 2/3.
Since Pr(E2|E3) > Pr(E1|E3), the player should definitely switch.
The reason is that game maker’s informed choice is a public announcement that reveals additional information which the player should incorporate in his beliefs.

Course: Epistemic Game Theory

People: Andres Perea

  1. Introduction
  2. Part I: Standard beliefs in static games
    1. Belief in the opponent’s rationality
    2. Common belief in rationality
    3. Simple belief hierarchies
  3. Part II: Lexicographic beliefs in static games
    1. Primary belief in the opponent’s rationality
    2. Respecting the opponent’s preferences
    3. Assuming the opponent’s rationality
  4. Part III: Conditional beliefs in dynamic games
    1. Belief in the opponents’ future rationality
    2. Strong belief in the opponent’s  rationality

 

Practical and Theoretical problems in every chapter.

 

MAS and Distributed AI

Multiagent Systems and Distributed Artificial Intelligence
People : Nikos Vlassis

 

Keywords:

Multiagent Systems, Distributed Artificial Intelligence, Game Theory, Decision Making or Reasoning under Uncertainty, Coordination, Knowledge and Information, Mechanism Design, Reinforcement Learning.
Intro:
MAS is an expanding field that blends classical areas like game theory and
decentralized control with modern fields like computer science and machine learning.
This 7-lecture course provides us a concise introduction to the subject, covering the theoretical foundations as well as more recent developments.
Note: An intelligent agent is a decision maker or reasoner or problem solver.
Lecture 1 is a short introduction to the field of multiagent systems. Lecture 2 covers the basic theory of single-agent decision making under uncertainty.
Lecture 3 is a brief introduction to game theory, explaining classical concepts like Nash equilibrium.
Lecture 4 deals with the fundamental problem of coordinating a team of collaborative agents.
Lecture 5 studies the problem of multiagent reasoning and decision making under partial observability.
Lecture 6 focuses on the design of protocols that are stable against manipulations by self-interested agents.
Lecture 7 provides a short introduction to the rapidly expanding field of multiagent reinforcement learning.

Course: Logic in Games

People: Johan Van Benthem.

  1. Introduction: Exploring the Realm of Logic in Games.
  2. Part I: Game Logics and Process Structure
    1. Intro
    2. Games as Processes: Definability and Invariance
    3. Preference, Game Solution, and Best Action
    4. Games with Imperfect Information
    5. Making Strategies Explicit.
    6. Infinite Games and Temporal Evolution
    7. From Games to Models for Games
    8. Conclusion
  3. Part II: Logical Dynamics and Theory of Play
    1. Intro
    2. Logical Dynamics in a Nutshell
    3. Deliberation as Iterated Update
    4. Dynamic Epistemic Mechanisms of Play
    5. Toward a Theory of Play
    6. Conclusion
  4. Part III: Players’ Powers and Strategic Games
    1. Intro
    2. Forcing Powers
    3. Matrix Games and Their Logics
    4. Rational Dynamics for Strategic Games
    5. Conclusion
  5. Part IV: Logic Games
    1. Intro
    2. Formula Evaluation
    3. Model Comparision
    4. Model Construction
    5. Argumentation and Dialogue
    6. General Lines through Logic Games
    7. Conclusion
  6. Part V: Operations on Games
    1. Into
    2. Dynamic (Non -Linear) Logic for Sequential Game Operations
    3. Linear Logic of Parallel Game Operations
    4. Conclusion
  7. Part VI: Comparisons and Merges
    1. Intro
    2. Logic Games with Imperfect Information
    3. Knowledge Games
    4. Sabotage Games and Computation
    5. Logic Games can Represent Game Logics
    6. Merging Logic Games with Game Logics
    7. Conclusion
  8. Conclusion

 

Course #2: Reasoning about knowlegde

Learning from book names the same by  Ronald Faigin, Joseph Y. Halpern, Yoram Moses, Moshe Y. Vardi.

Duration: Two Days,

Day 1: Chapters 1 to 6 and Day 2: Chapters 7 to 11

  1. Introduction and Overview.
  2. A Model for Knowledge.
  3. Completeness and Complexity.
  4. Knowledge in Multi-Agent Systems.
  5. Protocols and Programs.
  6. Common Knowledge and Agreement.
  7. Knowledge-Based Programming.
  8. Evolving Knowledge.
  9. Logical Omniscience.
  10. Knowledge and Computation.
  11. Common Knowledge Revisited.

This course investigates reasoning about knowledge

Finding Optimal Paths

Given a  search space, apply search and find the solution quickly and make sure that solution is optimal. i.e, both look up cost and execution cost must be minimum.

Brute force procedure

BritishMuseum (){

  1. Explore the entire search space;
  2. return the optimal solution;

}

Branch&Bound(){

  1. open <- {(start, NIL, Cost(start))}
  2. closed <- {}
  3. while TRUE
  4.   do if Empty(open)
  5.                   then return FAILURE;
  6.   pick  the cheapest node n from  open
  7.   if GoalTest(Head(n))
  8.            then return ReconstructPath(n)
  9.    else  children <- MoveGen(Head(n))
  10.              for each m ∈ children{
  11.                       do Cost(m) <- Cost(n) + K(m, n)
  12.                        Add  (m, Head(n), Cost(m) ) to open }

}

 

 

GeneralisedBranch&Bound(){

  1. start with all possible solutions
  2. repeat
  3.      Refine the least ( Estimated cost ) solution further
  4. until the cheapest solution is fully refined
  5. return s

}

 

Dijkstra’s Alg(){

  1. Color all nodes white
  2. cost(start) <- 0
  3. parent(start) <- NIL
  4. for all other nodes n
  5.        do cost(n) <- ∞
  6. repeat
  7.     select lowest cost white node n
  8.      color n black
  9.      for all white neighbors m of n
  10.             do if (const(n) + k(n, m)) < cost(m)
  11.                   then cost(m) = const(n) + k(n, m)
  12.                             parent(m) <- n
  13. until all nodes are colored black

}

A*(){

// heuristic fun f(n) = g(n) + h(n)

//g(n) =known cost of path found from S to n

//h(n) = Estimated cost of path from n to G

  1. open <- List(start)
  2. f(start) <- h(start)
  3. parent(start) <- NIL
  4. closed <- {}
  5. while open is not EMPTY
  6.    do
  7.        Remove node n from open such that f(n) has the lowest value
  8.        Add n to closed
  9.        if GoalTest(n) == TRUE
  10.             then return Reconstructpath(n)
  11.        neighbors <- MoveGen(n)
  12.        for each m ∈ neighbors
  13.               do switch
  14.                    case m ∉ open and m ∉ closed : /* new node */
  15.                            Add m to open
  16.                            parent(m) <- n
  17.                            g(m) <- g(n) + k(n, m)
  18.                            f(m) <- g(m) + h(m)
  19.                     case m ∈ open :
  20.                            if (g(n) + k(n, m) ) < g(m)
  21.                                   then  parent(m) <- n
  22.                                              g(m) <- g(n) + k(n, m )
  23.                                              f(m) <- g(m) + h(m)
  24.                     case m ∈ closed :
  25.                            if (g(n) + k(n, m) ) < g(m)
  26.                                   then  parent(m) <- n
  27.                                              g(m) <- g(n) + k(n, m )
  28.                                              f(m) <- g(m) + h(m)
  29.                                             propagateImprovement(m)
  30. return FAILURE

}

PropagateImprovement(m){

  1.  neighbours <- MoveGen(m)
  2. for each  s ∈ neighbours
  3.         do newGvalue <- g(m)  + k(m, s)
  4.               if newGvalue < g(s)
  5.                   then parent(s) <- m
  6.                             g(s) <- newGvalue
  7.                             if s ∈ closed
  8.                                   then PropagateImprovement(s)

}

 

Admissibility of A*

Assumptions:

  1. The branching factor is finite

Game Play

Board Games:

  • two persons,
  • Zero sum,
  • complete information,
  • alternative moves, and
  • deterministic games.

Convention of game trees

 

  • MiniMax()
  • AlphaBeta()

Pruning1

In above figure, Max has found

  • SSS*()
  • B*()

Course #1 : AFCAI Search Algorithms

State Space Search: Constructive search problems

  • Uninformed/Blind Search
    • SimpleSearch1()
    • SimpleSearch2()
    • SimpleSearch3()
    • DepthFirstSearch()
    • BeardthFirstSearch()
    • DepthBoundedDFS()
    • DepthFirstIterativeDeepening()
  • Heuristic Search: Knowledge Based Search
    • BestFirstSearch()
    • HillClimbing()

Solution Space Search:

  • perturbation search problems
    • BeamSearch()
    • TabuSearch()
  • Randomized Search
    • IteratedHillClimbing()
    • RandomWalk()
    • SimulatedAnnealing()
    • GeneticAlgorithm()

Case Study : TSP Problem

  • Constructive method:
    • TSPNearestNeighbour()
    • GA’s
      • Path representation
      • Ordinal representation
      • Adjacency representation
    • Neural Networks
    • TSPACO()

Optimal Solution Search

  • BritishMuseumProcedure()
  • Branch&Bound()
  • Refinement search
    • generalB&B()
    • Dijkstra’s Algorithm()
    • A* ()
    • IDA*()
    • RecursiveBFS()
    • Puring CLOSED
      • DivideAndConquerFrontierSearch()
      • SparseMemoryGraphSearch()
    • Pruning OPEN
      • BreadthFirstHeuristicSearch()
      • DivideandConquerBeamSearch()
      • BeamStackSearch()
      • DivideandConquerBeamStackSearch()

Rule Based Systems

  • AO*
  • RETE net

Planning

  • ForwardStateSpacePlanning()
  • BackwardStateSpacePlanning()
  • GoalStackPlanning()
  • PlanSpacePlanning()
  • Means Ends Analysis
  • NOAH
  • Hierarchical Planning

Constaint Satisfaction

  • Constraint Propagation
    • 1-consistency
    • 2-consistency
      • AC1()
      • AC3()
      • AC4()
    • Huffman clowes scene labelling
    • 3-consistency
      • PC1()
      • Pc2()
    • i-consistency
    • Directional consistency
      • DirectionalArcConsistency()
      • DirectionalPathConsistency()
      • AdaptiveConsistency()
      • Minimum width orderings
    • Back tracking
      • BackTracking()
      • BackTrackingwithLookAhead()
      • BackJumping(){Gashnig’s, Graph, Conflict directed}

Game Play

  • MiniMax()
  • AlphaBeta()
  • SSS*()
  • B*()