TDWTF Plays Minesweeper


  • Java Dev

    Anyway let's progress the game state and see if we get anything new

    @error_bot reveal f7 i4


  • 🔀

    Stats96 mines 70 flags Seed 9a6f0d7b-da83-425b-ad69-0a1fdb8aa596
    Lockouts
    SlackerD is locked out for 17 minutes, 40 seconds.


  • Considered Harmful

    @error_bot solve


  • 🔀

    🤷


  • Considered Harmful

      facts: [
        '{ f8, f9 } = 1',
        '{ e9, f9 } = 1',
        '{ f6, f8, g6, h6 } = 1',
        '{ b8, b9, c8, d8, d9 } = 2',
        '{ d9, e9 } = 1',
        '{ b9, d9 } = 1',
        '{ b19, b20 } = 1',
        '{ a9, b9 } = 1',
        '{ j1, j2 } = 1',
        '{ i2, i3, j2 } = 2',
        '{ b8, c8, d8 } = 1',
        '{ h3, h4, h5, i3, i5 } = 1',
        '{ i5, i6 } = 1',
        '{ e6, e7, e8, f6, f8, g6 } = 3',
        '{ a19, b19 } = 1',
        '{ h6, i6 } = 1'
      ],
    

  • Considered Harmful

    Anything objectionable or missing?


  • Java Dev

    @error_bot said in TDWTF Plays Minesweeper:

    🤷

    That's my initial judgement too.

    solve h1-k7


  • 🔀

    h6 mine probability: 6.25%
    ­i5 mine probability: 6.25%
    ­h3 mine probability: 18.75%
    ­h4 mine probability: 18.75%
    ­h5 mine probability: 18.75%
    ­j1 mine probability: 18.75%
    ­i3 mine probability: 37.5%
    ­i2 mine probability: 81.25%
    ­j2 mine probability: 81.25%
    ­i6 mine probability: 93.75%
    ­


  • Considered Harmful

    @error_bot said in TDWTF Plays Minesweeper:

    h6 mine probability: 6.25%
    ­i5 mine probability: 6.25%
    ­h3 mine probability: 18.75%
    ­h4 mine probability: 18.75%
    ­h5 mine probability: 18.75%
    ­j1 mine probability: 18.75%
    ­i3 mine probability: 37.5%
    ­i2 mine probability: 81.25%
    ­j2 mine probability: 81.25%
    ­i6 mine probability: 93.75%
    ­

     facts: [
        '{ j1, j2 } = 1',
        '{ i2, i3, j2 } = 2',
        '{ i5, i6 } = 1',
        '{ f6, f8, g6, h6 } = 1',
        '{ h6, i6 } = 1',
        '{ h3, h4, h5, i3, i5 } = 1'
      ],
    

  • Considered Harmful

    @error_bot save state


  • 🔀

    Game saved in slot default.


  • Considered Harmful

    @error_bot flag i6


  • 🔀

    Stats96 mines 71 flags Seed 9a6f0d7b-da83-425b-ad69-0a1fdb8aa596
    Lockouts
    SlackerD is locked out for 14 minutes, 40 seconds.


  • Considered Harmful

    @error_bot solve


  • Considered Harmful

    It's thinking...


  • 🔀

    reveal b9 e9 f6 f8
    ­flag a9 d9 f9 g5 g6
    ­b8 mine probability: 33.33%
    ­c8 mine probability: 33.33%
    ­d8 mine probability: 33.33%
    ­h3 mine probability: 33.33%
    ­j1 mine probability: 33.33%
    ­a19 mine probability: 50%
    ­b19 mine probability: 50%
    ­b20 mine probability: 50%
    ­g3 mine probability: 50%
    ­g4 mine probability: 50%
    ­e6 mine probability: 66.67%
    ­e7 mine probability: 66.67%
    ­e8 mine probability: 66.67%
    ­i2 mine probability: 66.67%
    ­i3 mine probability: 66.67%
    ­j2 mine probability: 66.67%
    ­


  • Java Dev

    @error said in TDWTF Plays Minesweeper:

    Anything objectionable or missing?

    '{ b8, b9, c8, d8, d9 } = 2',
    '{ b9, d9 } = 1',
    '{ b8, c8, d8 } = 1',
    

    The first of these is redundant with the latter two.


  • Java Dev

    @error_bot said in TDWTF Plays Minesweeper:

    reveal b9 e9 f6 f8
    ­flag a9 d9 f9 g5 g6

    These are good.


  • Java Dev

    @error_bot

    reveal b9 e9 f6 f8
    ­flag a9 d9 f9 g5 g6


  • Considered Harmful

    @PleegWat said in TDWTF Plays Minesweeper:

    The first of these is redundant with the latter two.

    A redundant fact will just make it slower, but not change the result.


  • 🔀

    Stats96 mines 76 flags Seed 9a6f0d7b-da83-425b-ad69-0a1fdb8aa596
    Lockouts
    SlackerD is locked out for 8 minutes, 43 seconds.


  • Java Dev

    @error_bot solve


  • 🔀

    reveal e5 f5
    ­h3 mine probability: 33.33%
    ­j1 mine probability: 33.33%
    ­a7 mine probability: 50%
    ­a19 mine probability: 50%
    ­b7 mine probability: 50%
    ­b19 mine probability: 50%
    ­b20 mine probability: 50%
    ­c7 mine probability: 50%
    ­d7 mine probability: 50%
    ­d8 mine probability: 50%
    ­e6 mine probability: 50%
    ­e7 mine probability: 50%
    ­e8 mine probability: 50%
    ­g3 mine probability: 50%
    ­g4 mine probability: 50%
    ­i2 mine probability: 66.67%
    ­i3 mine probability: 66.67%
    ­j2 mine probability: 66.67%
    ­


  • Java Dev

    @error_bot This one is utter bollocks.


  • Considered Harmful

    @PleegWat said in TDWTF Plays Minesweeper:

    @error_bot This one is utter bollocks.

    Not constructive. Rationale?


  • Java Dev

    @error_bot

    I expect:
    flags at a7, b7 d8, e8, e7, g4
    reveals at c7, d7, e6, e5, f5, g3


  • Considered Harmful

    @error_bot save state


  • 🔀

    Game saved in slot default.


  • Java Dev

    @error Is it even looking at the same gamestate as I am?


  • Considered Harmful

    facts: [
        '{ e6, e7 } = 1',
        '{ e6, e8 } = 1',
        '{ d7, d8 } = 1',
        '{ b7, c7 } = 1',
        '{ a7, c7 } = 1',
        '{ b19, b20 } = 1',
        '{ j1, j2 } = 1',
        '{ i2, i3, j2 } = 2',
        '{ h3, i3 } = 1',
        '{ g3, g4, h3, i3 } = 2',
        '{ g3, g4 } = 1',
        '{ a19, b19 } = 1',
        '{ b7, c7, d7, d8 } = 2',
        '{ f5 } = 0',
        '{ e5 } = 0'
      ],
    

  • Considered Harmful

    a7 and b7 should have been apparent on the first pass.

    Which means it likely threw away something useful.


  • Java Dev

    @error_bot

    Without any processing:
    a8=3, a9=mine, gives mine at a7 and b7
    c9=2, d9=mine, gives mine at d8
    f8=3, f9=mine, gives mine at e7 and e8


  • Considered Harmful

    2019-11-27T15:20:59.546 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      facts: [
        '{ e7 } = 1',
        '{ e8 } = 1',
        '{ d8 } = 1',
        '{ b7 } = 1',
        '{ a7 } = 1',
        '{ e7, e8 } = 2',
        '{ d8, e8 } = 2',
        '{ e5, e6, e7, f5 } = 1',
        '{ e6, e7, e8 } = 2',
        '{ a7, b7 } = 2',
        '{ b19, b20 } = 1',
        '{ j1, j2 } = 1',
        '{ i2, i3, j2 } = 2',
        '{ a7, b7, c7 } = 2',
        '{ h3, i3 } = 1',
        '{ g3, g4, h3, i3 } = 2',
        '{ a19, b19 } = 1',
        '{ b7, c7, d7, d8 } = 2',
        '{ g4 } = 1'
      ]
    }
    
    2019-11-27T15:20:59.561 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ b7 }',
      difference: '{ a7 }',
      fact1: '{ a7, b7 } = 2',
      fact2: '{ b7 } = 1',
      oldFacts: [],
      newFacts: [ '{ a7 } = 1' ]
    }
    
    2019-11-27T15:20:59.569 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ a7 }',
      difference: '{ b7 }',
      fact1: '{ a7, b7 } = 2',
      fact2: '{ a7 } = 1',
      oldFacts: [],
      newFacts: [ '{ b7 } = 1' ]
    }
    
    2019-11-27T15:20:59.572 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'overlappingFacts',
      both: '{ b7 }',
      difference: '{ a7, c7, d7, d8 }',
      fact1: '{ a7, b7 } = 2',
      fact2: '{ b7, c7, d7, d8 } = 2',
      oldFacts: [ '{ a7, b7 } = 2' ],
      newFacts: [ '{ a7 } = 1', '{ b7 } = 1' ]
    }
    
    2019-11-27T15:20:59.576 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ d8 }',
      difference: '{ b7, c7, d7 }',
      fact1: '{ b7, c7, d7, d8 } = 2',
      fact2: '{ d8 } = 1',
      oldFacts: [],
      newFacts: [ '{ b7, c7, d7 } = 1' ]
    }
    
    2019-11-27T15:20:59.591 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ b7 }',
      difference: '{ a7, c7 }',
      fact1: '{ a7, b7, c7 } = 2',
      fact2: '{ b7 } = 1',
      oldFacts: [],
      newFacts: [ '{ a7, c7 } = 1' ]
    }
    
    2019-11-27T15:20:59.594 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ a7 }',
      difference: '{ b7, c7 }',
      fact1: '{ a7, b7, c7 } = 2',
      fact2: '{ a7 } = 1',
      oldFacts: [],
      newFacts: [ '{ b7, c7 } = 1' ]
    }
    
    2019-11-27T15:20:59.596 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'overlappingFacts',
      both: '{ b7, c7 }',
      difference: '{ a7, d7, d8 }',
      fact1: '{ a7, b7, c7 } = 2',
      fact2: '{ b7, c7, d7, d8 } = 2',
      oldFacts: [ '{ a7, b7, c7 } = 2' ],
      newFacts: [ '{ a7 } <= 1', '{ b7, c7 } >= 1' ]
    }
    
    2019-11-27T15:20:59.633 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ c7, d7, d8 }',
      difference: '{ b7 }',
      fact1: '{ b7, c7, d7, d8 } = 2',
      fact2: '{ c7, d7, d8 } = 1',
      oldFacts: [],
      newFacts: [ '{ b7 } = 1' ]
    }
    
    2019-11-27T15:20:59.644 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ d7, d8 }',
      difference: '{ b7, c7 }',
      fact1: '{ b7, c7, d7, d8 } = 2',
      fact2: '{ d7, d8 } <= 1',
      oldFacts: [],
      newFacts: [ '{ b7, c7 } >= 1' ]
    }
    
    2019-11-27T15:20:59.653 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ d7, d8 }',
      difference: '{ b7, c7 }',
      fact1: '{ b7, c7, d7, d8 } = 2',
      fact2: '{ d7, d8 } = 1',
      oldFacts: [],
      newFacts: [ '{ b7, c7 } = 1' ]
    }
    
    

  • Considered Harmful

    Note that the very first frame has FOUND SOME MINES... but then it throws them away.


  • Java Dev

    @error I can't see where it's doing the delete - I thought it deleted when it mentioned them in oldfacts? Is there another delete route?

    This one deletes information:

    2019-11-27T15:20:59.596 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'overlappingFacts',
      both: '{ b7, c7 }',
      difference: '{ a7, d7, d8 }',
      fact1: '{ a7, b7, c7 } = 2',
      fact2: '{ b7, c7, d7, d8 } = 2',
      oldFacts: [ '{ a7, b7, c7 } = 2' ],
      newFacts: [ '{ a7 } <= 1', '{ b7, c7 } >= 1' ]
    }
    

    And I'm not sure a single <= 1 is information, since that's implicit?


  • Java Dev

    I also think a high priority rule should be regarding information on singles: Add them to output, use a subset rule to subtract them out of all other facts which hold that cell, then delete it from the working set. Reducing the working set can't but speed things up.


  • Considered Harmful

    @PleegWat said in TDWTF Plays Minesweeper:

    And I'm not sure a single <= 1 is information, since that's implicit?

    That'll get removed by the later simplify step.

    Meanwhile, the simplify step is likely the culprit here.


  • Considered Harmful

    2019-11-27T15:36:17.227 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      facts: [
        '{ e7 } = 1',
        '{ e8 } = 1',
        '{ d8 } = 1',
        '{ b7 } = 1',
        '{ a7 } = 1',
        '{ e7, e8 } = 2',
        '{ d8, e8 } = 2',
        '{ e5, e6, e7, f5 } = 1',
        '{ e6, e7, e8 } = 2',
        '{ a7, b7 } = 2',
        '{ b19, b20 } = 1',
        '{ j1, j2 } = 1',
        '{ i2, i3, j2 } = 2',
        '{ a7, b7, c7 } = 2',
        '{ h3, i3 } = 1',
        '{ g3, g4, h3, i3 } = 2',
        '{ a19, b19 } = 1',
        '{ b7, c7, d7, d8 } = 2',
        '{ g4 } = 1'
      ]
    }
    
    2019-11-27T15:36:17.250 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ e8 }',
      difference: '{ e6, e7 }',
      fact1: '{ e6, e7, e8 } = 2',
      fact2: '{ e8 } = 1',
      oldFacts: [],
      newFacts: [ '{ e6, e7 } = 1' ]
    }
    
    2019-11-27T15:36:17.257 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'overlappingFacts',
      both: '{ e6, e7 }',
      difference: '{ e5, e8, f5 }',
      fact1: '{ e6, e7, e8 } = 2',
      fact2: '{ e5, e6, e7, f5 } = 1',
      oldFacts: [ '{ e6, e7, e8 } = 2' ],
      newFacts: [ '{ e8 } <= 1', '{ e6, e7 } >= 1' ]
    }
    
    2019-11-27T15:36:17.262 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ e7, e8 }',
      difference: '{ e6 }',
      fact1: '{ e6, e7, e8 } = 2',
      fact2: '{ e7, e8 } = 2',
      oldFacts: [ '{ e6, e7, e8 } = 2' ],
      newFacts: [ '{ e6 } = 0' ]
    }
    
    2019-11-27T15:36:17.285 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ e7 }',
      difference: '{ e5, e6, f5 }',
      fact1: '{ e5, e6, e7, f5 } = 1',
      fact2: '{ e7 } = 1',
      oldFacts: [ '{ e5, e6, e7, f5 } = 1' ],
      newFacts: [ '{ e5, e6, f5 } = 0' ]
    }
    
    2019-11-27T15:36:17.298 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'subsetFacts',
      both: '{ e8 }',
      difference: '{ e7 }',
      fact1: '{ e7, e8 } = 2',
      fact2: '{ e8 } = 1',
      oldFacts: [],
      newFacts: [ '{ e7 } = 1' ]
    }
    
    2019-11-27T15:36:17.302 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'overlappingFacts',
      both: '{ e8 }',
      difference: '{ d8, e7 }',
      fact1: '{ e7, e8 } = 2',
      fact2: '{ d8, e8 } = 2',
      oldFacts: [ '{ e7, e8 } = 2' ],
      newFacts: [ '{ e7 } = 1', '{ e8 } = 1' ]
    }
    
    2019-11-27T15:36:17.335 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'overlappingFacts',
      both: '{ e7 }',
      difference: '{ e5, e6, e8, f5 }',
      fact1: '{ e7, e8 } = 2',
      fact2: '{ e5, e6, e7, f5 } = 1',
      oldFacts: [ '{ e7, e8 } = 2' ],
      newFacts: [ '{ e8 } = 1', '{ e7 } = 1' ]
    }
    
    2019-11-27T15:36:17.349 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 { operation: 'simplify', oldFact: '{ a7 } <= 1', newFacts: [] }
    
    2019-11-27T15:36:17.351 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 { operation: 'simplify', oldFact: '{ e8 } <= 1', newFacts: [] }
    
    2019-11-27T15:36:17.353 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'simplify',
      oldFact: '{ e5, e6, f5 } = 0',
      newFacts: [ '{ e5 } = 0', '{ f5 } = 0', '{ e6 } = 0' ]
    }
    
    2019-11-27T15:36:17.367 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'sameFacts',
      both: '{ e6, e7 }',
      difference: '{ }',
      fact1: '{ e6, e7 } = 1',
      fact2: '{ e6, e7 } >= 1',
      oldFacts: [ '{ e6, e7 } >= 1' ],
      newFacts: []
    }
    
    2019-11-27T15:36:17.397 INFO modules/minesweeper C:\Users\error\Documents\src\error-bot\dist\webpack:\src\util.ts:126 {
      operation: 'simplify',
      oldFact: '{ d7 } <= 0',
      newFacts: [ '{ d7 } = 0' ]
    }
    

  • Considered Harmful

    @error_bot minesweeper solve

    Got it.


  • 🔀

    reveal c7 d7 e5 e6 f5 g3
    ­flag a7 b7 d8 e7 e8 g4
    ­h3 mine probability: 33.33%
    ­j1 mine probability: 33.33%
    ­a19 mine probability: 50%
    ­b19 mine probability: 50%
    ­b20 mine probability: 50%
    ­i2 mine probability: 66.67%
    ­i3 mine probability: 66.67%
    ­j2 mine probability: 66.67%
    ­


  • Considered Harmful


  • Considered Harmful

    @error_bot print


  • 🔀

    Stats96 mines 76 flags Seed 9a6f0d7b-da83-425b-ad69-0a1fdb8aa596


  • Considered Harmful

    @error_bot solve


  • 🔀

    reveal c7 d7 e5 e6 f5 g3
    ­flag a7 b7 d8 e7 e8 g4
    ­h3 mine probability: 33.33%
    ­j1 mine probability: 33.33%
    ­a19 mine probability: 50%
    ­b19 mine probability: 50%
    ­b20 mine probability: 50%
    ­i2 mine probability: 66.67%
    ­i3 mine probability: 66.67%
    ­j2 mine probability: 66.67%
    ­


  • Java Dev

    @error Looks good to me, putting in the set I got earlier (which matches what he now got)

    @error_bot
    flag a7 b7 d8 e8 e7 g4
    reveal c7 d7 e6 e5 f5 g3


  • 🔀

    Stats96 mines 82 flags Seed 9a6f0d7b-da83-425b-ad69-0a1fdb8aa596


  • Java Dev

    @error_bot solve


  • 🔀

    reveal b3 d3 e4
    ­flag a3 c3 d4 f4
    ­h3 mine probability: 25%
    ­j1 mine probability: 37.5%
    ­f2 mine probability: 43.75%
    ­f3 mine probability: 43.75%
    ­g2 mine probability: 43.75%
    ­h2 mine probability: 43.75%
    ­a19 mine probability: 50%
    ­b19 mine probability: 50%
    ­b20 mine probability: 50%
    ­i2 mine probability: 62.5%
    ­j2 mine probability: 62.5%
    ­i3 mine probability: 75%
    ­


  • Java Dev

    @error_bot

    Outputs match expectations for the top, and we didn't get new info for the bottom. Putting them in to make the bottom resolve.

    flag a3 c3 d4 f4
    reveal b3 d3 e4


Log in to reply