AI 지뢰찾기 - Cursor와 Windsurf를 활용한 100x100 지뢰찾기 AI

지뢰찾기 프로그램을 파이썬 기반으로 만들었는데 뭔가 밋밋한거 같아
요즘 뜨고있는 AI를 활용해서 자동으로 풀어주는 프로그램을 만들어봤습니다.
 
추론이 불가능한 구간을 보완하고 성능을 극대화하기 위해 Cursor AI와 Windsurf 최적화 기법을 결합해
100x100 지뢰찾기를 단 1초만에 풀 수 있는 자동화 프로그램을 만들었습니다.

목차


지뢰찾기를 하다 보면 명확한 정답이 존재하지 않는 '추론 불가능 구간'에 자주 부딪힙니다.
특히 100x100 같은 대형 보드에서는 사람이 계산하기엔 너무 복잡하고, 시야도 좁아 실수 확률이 높아집니다.
이런 문제를 해결하고자 저는 직접 AI가 스스로 지뢰를 피해 셀을 여는 프로그램을 만들기로 했습니다.

1.  구현 과정

처음엔 단순한 추론 기반의 Cursor AI로 시작했습니다. 숫자 정보만을 바탕으로 가능한 셀을 열고,
추론이 막히면 가장 확률이 낮은 셀을 열도록 구성했죠.
어느 정도까지는 잘 작동했지만, 100x100 같은 고난이도 지뢰찾기를 해결하는 데 30초 이상이 걸리는 경우가 잦았습니다.

CursorAI-활용-알고리즘
CursorAI-활용-알고리즘
지뢰찾기-자동풀이-화면
지뢰찾기 성공 화면 대략 30~40초 소요

 
이 문제를 해결하기 위해 cursor ai 말고 windsurf ai도 사용해봤습니다.

windsurfAI-chat
windsurf ai 채팅

 
탐색 경계선 관리, 검사 범위 최소화, 메모리 최적화, 불필요한 계산 제거 등을 통해
한 번 푸는 데 1초도 걸리지 않는 수준으로 성능을 끌어올릴 수 있었습니다.

지뢰찾기 성공 화면
지뢰찾기 1초도 안걸림

 
고급 추론을 강화하기 위해 다음과 같은 기술들을 결합했습니다:

  • 패턴 인식 (1-1, 1-2 구조 등)
  • 확률 기반 추론과 실패율 보정
  • 가장자리 우선순위
  • 히스토리 기반 학습 (성공/실패 패턴 저장)

3. 단계별 구조와 핵심 기능

① 게임 보드 UI (Tkinter)

Python의 Tkinter로 Windows 지뢰찾기와 유사한 인터페이스를 구현했습니다. 셀 크기를 줄여 100x100 보드를 자연스럽게 보여주며, 사용자가 직접 셀을 클릭하거나 AI가 자동으로 해제합니다.
 

② AI 자동풀기 버튼

‘AI 자동풀기’ 버튼을 누르면 프로그램이 추론과 확률 계산을 반복하며 스스로 셀을 열어갑니다. AI는 중앙 셀부터 시작해 안전 셀을 찾고, 지뢰로 판단되면 깃발을 꽂습니다.
 

③ 추론 알고리즘 구조

  • 논리 기반 추론: 주변 숫자와 깃발 수로 확정 판단
  • 3중 집합 추론: S1 ⊂ S2 구조를 이용한 지뢰/안전 판단
  • 확률 기반 선택: 확정이 불가능한 경우 가장 안전해 보이는 셀 클릭
  • 히스토리 가중치: 이전에 실패/성공한 패턴의 확률 반영

4. 확장 아이디어

  • 패턴 학습 데이터를 더 쌓으면 AI가 더 똑똑해집니다.
  • 현재는 2D 보드이지만, 향후 3D 지뢰찾기나 웹 기반 지뢰찾기로 확장도 가능합니다.
  • GUI를 넘어서 진짜 Windows 지뢰찾기 게임을 자동으로 푸는 것도 가능합니다 (PyAutoGUI 등 활용).

지뢰찾기 AI 자동 풀이에 대해 어떻게 생각하시나요?
혹시 추가되었으면 하는 기능이나 아이디어가 있다면 댓글로 자유롭게 공유해 주세요!