Cómo resolver el buscaminas

Cómo resolver el buscaminas

¿Cómo resolver el buscaminas? El juego original emplea un mecanismo automático: cuando revelas un cuadrado que tiene cero minas adyacentes, el motor del juego revela todos los cuadrados adyacentes. Esto trivialmente no tiene riesgo, por lo que es seguro dejar que la computadora lo haga, y es trivialmente obvio para el jugador que este es el caso, por lo que no debería arruinar ninguna diversión hacerlo.Este razonamiento es completamente local: la información de un solo cuadrado se utiliza para determinar qué acción tomar a continuación.

Es difícil argumentar que el juego sería mejor sin esta ayuda automática. Prueba el siguiente juego para tener una idea de cómo actúa cuando no hay revelación automática:

Razonamiento para resolver el buscaminas

Un jugador nuevo no debería tardar mucho en darse cuenta de que cuando el número de minas adyacentes, es decir, el número que se muestra en el cuadrado, es el mismo que el número de cuadrados adyacentes no revelados, todos esos cuadrados deben ser minas, por lo que Se pueden marcar como tales.

Del mismo modo, cuando el número de minas adyacentes es igual al número de banderas adyacentes, los cuadrados adyacentes no revelados restantes deben ser seguros.

Estas reglas tienen en cuenta un cuadro y si los cuadros adyacentes se revelan o se marcan o no.

Realizar estas reglas manualmente puede ser entretenido. En combinación con un temporizador, entrenas para poder ejecutar estas reglas de forma rápida y precisa. Esto convierte a Buscaminas en un juego de contracciones . Entonces, ¿qué sucede si automatizamos estas reglas.

Un efecto secundario interesante de hacer esto automático es que colocar una bandera en el lugar equivocado ahora puede ser un error fatal inmediato.

Para el resto del juego, nos quedan situaciones que se dividen en tres categorías:

  1. Juegos completamente resueltos por las reglas automáticas.
  2. Elaborar situaciones que requieren razonamiento que implique más cuadrados
  3. El juego afirma que no tiene un camino lógico hacia adelante: el jugador no tiene otro recurso que no sea adivinar al azar, tal vez ponderado por la probabilidad

Si bien la situación 1 anterior es bastante clara, no es muy satisfactorio jugar muchos de estos juegos. ¿Habrían sido mejores esos juegos sin la resolución automática? Tal vez no; tales juegos son muy sencillos incluso cuando los resuelves manualmente, y no es muy satisfactorio ganar en juegos en los que no te has sentido desafiado. Por supuesto, para un juego de contracción siempre hay algún desafío en actuar más rápido.

La situación 2 me parece muy satisfactoria. Nos enfocamos más en resolver requisitos lógicos y menos en apuntar con precisión y hacer clic en los botones correctos. Esto hace que Buscaminas sea más un juego de rompecabezas .

La situación 3, sin embargo, arruina completamente la diversión. Aunque he oído hablar de personas a las que les gusta jugar juegos de azar .

¿Podemos eliminar la situación 3?

Cómo resolver el buscaminas

Solución completa: razonamiento global

Para descubrir algorítmicamente todas las necesidades lógicas del estado del juego, tenemos que recurrir a la búsqueda exhaustiva de todos los estados del juego. En realidad, se ha comprobado que el Buscaminas es NP-completo.

El siguiente es un ejemplo pequeño, pero interesante e ilustrativo de un estado del juego que solo tiene una solución lógica, pero debe tener en cuenta todo el estado del juego para encontrarlo:

El ingenuo algoritmo

El objetivo del algoritmo es encontrar todas las necesidades lógicas de un estado de placa dado. Es difícil razonar sobre esto de una manera inteligente; la computadora es mejor para hacer muchas cosas estúpidas rápidamente.

Lo que podemos hacer estúpidamente es generar todas las permutaciones posibles de las posiciones de las minas para todas las minas restantes. Si tal permutación encaja con todos los números revelados, podría ser la solución correcta para el juego. Cuando exploramos todas las permutaciones posibles, encontramos todas las soluciones posibles, pero aún no sabemos cuál es la correcta.

Si hay algo en común, ya sea cuadrados abiertos o cuadrados marcados como minas, entre todas las soluciones posibles, sabemos que esto debe ser parte de la solución correcta para el tablero actual. De hecho, es imposible crear una solución sólida que no tenga esto en común, de lo contrario lo habríamos descubierto.

De esta manera, podemos encontrar todas las necesidades lógicas del estado actual de la placa.

Cuadrados restringidos y no restringidos

El problema inmediato con el algoritmo anterior es la cantidad de estados que tiene que explorar, como se calculó anteriormente. Pero no todos los cuadrados son iguales. Los cuadrados no revelados que son adyacentes a un número obviamente están restringidos por este número. Llamaremos a estos cuadrados los cuadrados restringidos. Llamaremos a los cuadrados restantes los cuadrados no restringidos.

Si implementamos el algoritmo anterior pero solo buscamos el espacio de estado de los cuadrados restringidos, y nos aseguramos de dar marcha atrás tan pronto como violemos una restricción, podemos resolver todos los requisitos lógicos en un tiempo razonable para muchos juegos.

No restringidos

Para los cuadrados sin restricciones no tenemos forma de saber a dónde van las minas, y lo sabemos lógicamente por adelantado. Esto significa que podemos eliminarlos del cálculo y solo considerar la colocación de minas adyacentes a los números revelados.

Sin embargo, sabemos que una cierta cantidad de minas puede entrar en el conjunto de cuadrados sin restricciones; Si hay 6 minas y 4 cuadrados restringidos, como máximo 4 minas van en los cuadrados restringidos, por lo tanto, al menos 2 minas van en los cuadrados sin restricciones. Por una lógica similar, a veces podemos determinar que todos los cuadrados sin restricciones deben estar vacíos o que todos tienen minas.

Para el siguiente caso, conocemos la posición de todas las minas, por lo que la IA debería ser capaz de darse cuenta de que los cuadrados restantes están desocupados:

Para el siguiente caso, no sabemos la posición de todas las minas, pero podemos decir que necesitamos colocar la mina restante en uno de los dos cuadrados superiores izquierdos. Esto significa que el cuadrado restante en la esquina inferior derecha es libre:

La versión casual

Si ejecutamos automáticamente el solucionador global, tenemos la versión optimizada de buscaminas podemos dividir los juegos de esta versión en tres categorías:

  1. Juegos en los que tomas decisiones arbitrarias y ganas
  2. Juegos en los que tomas decisiones arbitrarias y pierdes
  3. Juegos en los que la IA tarda mucho en ejecutarse, y en realidad puedes razonar

Esto es claramente un juego de azar. ¿Cuál es el atractivo de tales juegos? En un sentido lógico, el juego anterior es similar al siguiente:

¿Pero cuál es el mejor juego de azar? Parece que otros juegos de azar hacen un punto de tener una conexión elaborada entre tus acciones y si ganas o no. Los dibujos de números de lotería utilizan máquinas complicadas que deliberadamente toman tiempo para seleccionar un número y mostrar qué número se elige.

Tal vez el tablero grande que se resuelve automáticamente es un juego de azar bastante bueno, dado el espectáculo de ver todos los cuadros ser revelados.

¿Podemos hacer otro tipo de juego?

La versión determinista.

Ahora tenemos una IA que puede determinar cuáles son todos los pasos lógicos de un estado de juego dado. A veces no encontrará pasos lógicos. Estas son las situaciones en las que el jugador tiene que adivinar y puede perder el juego debido a la mala suerte.

¿Qué pasa si agregamos una nueva regla? Cuando el juego no tiene un camino lógico, puedes pedir ayuda. Si la IA acepta que no hay nada que puedas hacer, obtienes ayuda. De lo contrario, inmediatamente pierdes el juego. Esto puede ser interesante. ¿Cuál debería ser la ayuda? Tal vez puedas revelar un cuadrado sin importar si tiene o no una mina:

En este punto, realmente nos hemos librado del juego forzándote a situaciones en las que puedes perder por casualidad.

Solo hay una excepción a esto, a saber, que todavía es posible entrar en situaciones degeneradas para las cuales el solucionador global no terminará de evaluar en un período de tiempo razonable. Desafortunadamente, este es un resultado inevitable de que el problema sea NP-completo, como se señaló anteriormente.

¿Cómo afecta el botón «Solicitar ayuda» al juego? Es un juego enfocado lógicamente. Esta es la última variante de juego de rompecabezas de Buscaminas. Uno podría pensar que el juego sería más fácil, pero en cambio se vuelve más difícil. Ya no tienes ninguna excusa para cometer errores, y el botón seguramente te llamará por cualquier cosa que te hayas perdido.

Sin el botón, es fácil llegar a la conclusión de que ha agotado todas las posibilidades lógicas y que el único curso de acción es adivinar al azar. Con el botón, debe ser correcto en esta evaluación.

También te puede interesar:
Buscaminas
Parada Creativa
IK4
Descubrir Online
Seguidores Online
Tramitalo Facil
Minimanual
Un Como Hacer
TipoRelax
LavaMagazine
Cómo ver las últimas personas seguidas en Instagram.
Cómo ver quién vio un video en Facebook.
Cómo buscar grupos en Telegram.
Cómo eliminar una cuenta de Facebook sin contraseña y correo electrónico.
Cómo conseguir monedas gratis en Dream League Soccer.
Cómo saber cuanto tiempo juego a LoL.
Cómo recuperar los mensajes bloqueados en WhatsApp.
Cómo saber si un número bloqueado te llamo.
Cómo escribir letras en el teclado del teléfono.
Cómo ver Disney Plus en TV.
Cómo recuperar cuenta de Instagram.
Cómo copiar contactos de iPhone a SIM.
Cómo averiguar la contraseña de Facebook sin cambiarla.
Cómo transferir archivos desde Mac a un disco duro externo.
Cómo buscar una persona en Facebook a través de fotos.
Descargar Play Store.
Cómo abrir archivos APK en la PC.
Cómo reiniciar la PC desde el teclado.
Cómo subir un número en la calculadora.
Cómo jugar en linea entre PS4 y Xbox One.
Descargar juegos gratis.
Cómo ver las respuestas en formularios de Google.
Cómo convertir una foto en PDF desde tu móvil.
Cómo poner varios videos juntos en las historias de Instagram.
Cómo poner un video como fondo de pantalla de iPhone.
Cómo poner el icono de Google en el escritorio.
Cómo restaurar aplicaciones eliminadas.
Cómo quitar la publicidad en WhatsApp Plus.
Cómo transferir Stickers de Telegram a WhatsApp.
Cómo ver vistas previas de las historias de Instagram.
Cómo enviar SMS a un número que me ha bloqueado.
Cómo activar el teclado retroiluminado de Lenovo.
Cómo saber quién tiene mi número en la guía telefónica.
Cómo poner el temporizador en Instagram.
Cómo ocultar a quién sigo en Instagram.
Cómo saber quién cancelo el mensaje en Instagram.
Cómo aclarar video.
Cómo saber si los SMS han sido bloqueados.
Cómo poner el icono de Google en el escritorio.
Cómo recuperar cuentas de Clash Royale.
Cómo recuperar una cuenta de Telegram eliminada.
Cómo leer mensajes de Instagram sin verlos.
Cómo deshabilitar VoLTE.
Cómo ver cuantos mensajes hay en un chat.
Cómo jugar para dos con Nintendo Switch.
Cómo desbloquearse en Telegram.
Cómo eliminar elementos guardados en Instagram.
Cómo saber quién ve historias de forma anónima en Facebook.
Cómo ver las últimas personas seguidas en Instagram.
Cómo saber quién esta detrás de un perfil de Instagram.
Cómo volver a escuchar una llamada.
Cómo conectarse a WiFi sin saber la contraseña.
Cómo desbloquear el teléfono bloqueado por el operador.
Cómo instalar WhatsApp en Smartwatch.
Cómo desinstalar Family Link.
Cómo vaciar un CD.
Cómo saber si alguien ignora los mensajes en Messenger.
Cómo ver las horas de juego en PS4.
Cómo saber si una persona esta online en WhatsApp.
Cómo hacer que una publicación en Facebook se pueda compartir.
Cómo saber si dos personas estan chateando en Facebook.
Cómo recuperar fotos de Snapchat.
Cómo ver en vivo en Instagram sin ser visto.
Last Day on Earth Hack compras gratis.
Cómo jugar online 2vs2 FIFA.
Cómo saber si se ha leido un SMS con Android.
Cómo eliminar una foto de una publicación múltiple en Instagram.
Cómo subir un número en la calculadora.
Cómo aumentar el volumen de los auriculares Bluetooth.
Cómo conectar el mouse y el teclado a PS4.
Cómo ver los amigos agregados recientemente de un amigo.
Cómo cambiar cuentas en Fortnite
Cómo jugar FIFA para dos en PS4.
Cómo puedo llamar a un número que me ha bloqueado.
Cómo unirse a un grupo de WhatsApp sin permiso.
Cómo obtener V-Bucks gratis en Nintendo Switch.
Cómo obtener Robux gratis.
Cómo ingresar a los servidores privados de Fortnite.
Cómo saber si un número bloqueado te llamó.
Aplicación para cambiar la voz durante la llamada.
Video chat gratis sin registro con cámara.
Cómo convertir una foto en PDF desde tu móvil.
Cómo quitar el modo auricular.
Cómo borrar el historial de video en Watch.
Cómo activar NFC en iPhone.
Mejor DNS de PS4.
Cómo descargar Minecraft Pocket Edition gratis.
Cómo realizar encuestas en WhatsApp.
Cómo hacerse invisible en Telegram.
Cómo abrir archivos xml.
Cómo descargar juegos gratis de Nintendo Switch.
Cómo reenviar un correo electrónico en WhatsApp.
Cómo imprimir desde su teléfono móvil a la impresora HP.
Cómo descargar TikTok.
Cómo copiar el enlace de Instagram.
Cómo recuperar contrasena de Roblox.
Cómo conseguir ropa gratis en Roblox.
Cómo saber el numero de teléfono de una SIM.
Cómo eliminar el boton compartir en Facebook.
Cómo leer mensajes de Telegram sin ser visto.
Cómo obtener máscaras gratis en Fortnite Nintendo Switch.
Cómo leer el código QR con Huawei.
Cómo deshabilitar Google News.
Cómo cambiar nombres en Fortnite Nintendo Switch.
Cómo poner música en Facebook.
Cómo actualizar TikTok.
Aplicación para hacer videos con fotos y música.
Cómo ver la batería de Airpods en Android.
Tecla insertar.
Cómo recuperar una cuenta de TikTok.
Cómo vaciar la basura de tu teléfono celular.
Cómo minimizar un juego.
Cómo cambiar la cuenta de Netflix en Smart TV.
Cómo deshabilitar Smart Lock.
Cómo ver cumpleaños en Facebook.
Cómo desbloquear Trevor en GTA 5.
Parada Creativa
como desbloquear canales de iphone telegram
como desbloquear canales de iphone telegram
trucos coin master
como desbloquear canales de iphone telegram
como activar nfc en iphone
como saber si un numero bloqueado te llamo
como eliminar una cuenta de facebook sin contrasena y correo electronico
como quitar la marca de agua de tik tok
como saber si se ha leido un sms con android
como saber si los sms han sido bloqueados
como enviar sms a un numero que me ha bloqueado
como saber si un numero bloqueado te llamo
como actualizar instagram
como poner el temporizador en instagram
como saber quien tiene mi numero en la guia telefonica
como leer mensajes de instagram sin verlos
como enviar sms a un numero que me ha bloqueado
como activar nfc en iphone
como guardar historias de instagram con musica
como ocultar a quien sigo en instagram
заманауи технологиялар
como cambiar el correo electronico de id de supercell
como transferir archivos desde mac a un disco duro externo
como recuperar cuenta de instagram
como activar nfc en iphone
como desbloquear canales de iphone telegram
como desbloquear canales de iphone telegram
como ver quien vio un video en facebook
como saber cuanto tiempo juego a lol
como desbloquear canales de iphone telegram
como recuperar una cuenta de telegram eliminada
como ver clips en twitch
como averiguar la contrasena de facebook sin cambiarla
как обновить андроид
cara mengaktifkan nfc di iphone
como actualizar instagram
como ver las visitas en instagram
como saber quien esta detras de un perfil de instagram
por que mi cuenta esta en revision en tinder
como buscar una persona en facebook a traves de fotos
como descargar minecraft gratis en iphone
como ver los amigos agregados recientemente de un amigo
como cambiar el correo electronico de id de supercell
como desactivar el sensor de proximidad de xiaomi
como saber quien cancelo el mensaje en instagram
como ver en vivo en instagram sin ser visto
como buscar grupos en telegram
como recuperar cuenta de instagram
cum să actualizați Android
como desbloquear el telefono bloqueado por el operador
como jugar fifa para dos en ps4
como fotografiar la luna con el iphone
como hacer una plantilla en capcut
como averiguar la contrasena de facebook sin cambiarla
como buscar una persona en facebook a traves de fotos
como se hace el corazon con el teclado del telefono celular
como casarse en los sims mobile
como puedo saber si ha eliminado mi numero
como saber si un numero bloqueado te llamo
como pagar en shein
como ver cuantos mensajes hay en un chat
como descargar disney plus en smart tv
como conseguir pintura en merge mansion
como escribir letras en el teclado del telefono
como cambiar el correo electronico en shein
如何將whatsapp放在Apple Watch上
como ver el ultimo acceso en whatsapp incluso si esta oculto
como hacer cuerdas en minecraft
como dar dinero en gta online
como saber quien cancelo el mensaje en instagram
como volver a poner la musica en instagram
como cambiar el idioma en soundcloud
como desbloquear canales de iphone telegram
como saber quien cancelo el mensaje en instagram
como recuperar los mensajes bloqueados en whatsapp
como saber si dos personas estan chateando en facebook
como buscar grupos en telegram
como aclarar video
como subir un numero en la calculadora
android nasıl güncellenir
como encontrar la direccion ip de una persona
como actualizar clash royale
como enviar sms a un numero que me ha bloqueado
como saber si un numero bloqueado te llamo
como buscar una persona en facebook a traves de fotos
como ver quien toma capturas de pantalla en instagram
כיצד-לעדכן-את
como eliminar una cuenta de facebook sin contrasena y correo electronico
como cambiar el correo electronico de id de supercell
como cambiar el correo electronico de id de supercell
kako pretraživati ​​grupe u telegramu
como ver la foto de perfil oculta de whatsapp
como transferir stickers de telegram a whatsapp
como pagar en shein
como saber si alguien ignora los mensajes en messenger
como poner el icono de google en el escritorio
como fusionar dos videos en tiktok
como saber quien esta detras de un perfil de instagram
como puedo saber si ha eliminado mi numero
iphone nfc nasıl etkinleştirilir
как разблокировать каналы iphone telegram
cara mengaktifkan nfc di iphone
como se hace el corazon con el teclado del telefono celular
como desbloquear canales de iphone telegram
how to create a supercell id
como subir un numero en la calculadora
oszukuje mistrza monet
como quitar el modo auricular
how to connect to wifi without knowing the password
как скачать Minecraft бесплатно на iphone
วิธีลบลายน้ำออกจาก tik tok
how to change supercell id email
how to change accounts in fortnite
por que mi cuenta esta en revision en tinder
tik tok'tan filigran nasıl kaldırılır
como reiniciar la pc desde el teclado
как скрыть кто я подписан на инстаграм
como activar el teclado retroiluminado de lenovo
how to know if someone ignores messages in messenger
how to play online between ps4 and xbox one
how to track the date of purchase of a mobile phone
how to remove the restricted account on facebook
how to know if two people are chatting on facebook
So deinstallieren Sie Family Link
müzikle instagram hikayeleri nasıl kaydedilir
smart tv'de disney plus nasıl indirilir
как восстановить удаленную учетную запись Telegram
como saber si un numero bloqueado te llamo
how to unlock iphone telegram channels
how to see the hidden profile picture of whatsapp
beni bloke eden bir numaraya nasıl sms gönderilir
how to know if a blocked number called you
comment débloquer les canaux de télégramme iphone
how to improve quality in cap cut
como aumentar el volumen de los auriculares bluetooth
como hacer una plantilla en capcut
como encontrar la direccion ip de una persona
Як відновити чат телеграми
how to know who is behind an instagram profile
how to hack a discord server
snapchat ni qanday yuklab olish mumkin
как стать невидимым в телеграмме
как оплатить в шеине
como desbloquear el telefono bloqueado por el operador
как делать анонимные чаты на телеграмме
aile bağlantısı nasıl kaldırılır
วิธีปิดใช้งาน vo lte
làm thế nào để làm rõ video
cara menyembunyikan siapa yang saya ikuti di Instagram
how to change the name in subway surfers
วิธีลงชื่อเข้าใช้ Facebook ด้วยบัญชีอื่น
engellenen bir numaranın sizi çağırıp çağırmadığı
how to recover a deleted telegram account
como escribir letras en el teclado del telefono
كيفية استعادة التطبيقات المحذوفة
comment savoir si quelqu'un ignore les messages dans Messenger
как увидеть последних подписчиков в instagram
how to forward an email on whatsapp
Wie kann ich wissen, ob Sie meine Nummer gelöscht haben?
как узнать, у кого есть мой номер в телефонной книге
como usar plantillas en capcut
capcut'ta şablon nasıl yapılır
كيفية التجسس على الواتس اب بمعرفة رقم الهاتف فقط
instagram'da takip edilen son kişileri nasıl görebilirim
نحوه بدست آوردن سکه رایگان در فوتبال لیگ رویایی
como saber si un telefono esta bloqueado por un operador
cách khôi phục mật khẩu roblox
como saber el numero de telefono de una sim
how to write letters on the phone keyboard
как получить бесплатную одежду на роблокс
Wie man die letzten Leute sieht, die auf Instagram folgen
วิธีลบแชทของ Messenger ทั้งหมด
bir kişinin whatsapp'ta çevrimiçi olup olmadığını nasıl anlarım
comment écrire des lettres sur le clavier du téléphone
tiktokアカウントを復元する方法
как заработать деньги с мобильного с помощью свиткоина
o'chirilgan telegramma hisobini qanday tiklash kerak
comment supprimer un compte facebook sans mot de passe ni email
comment rendre une publication Facebook partageable
วิธีการกู้คืนรหัสผ่าน roblox
como imprimir varias imagenes en la misma hoja
how to read telegram messages without being seen
как конвертировать фотографию в PDF с вашего мобильного телефона
Beni bloke eden bir numarayı nasıl arayabilirim
cum să căutați grupuri în telegramă
wie man Fotos mit Bluetooth vom iPhone an Android sendet
Cách kích hoạt nfc trên iphone
วิธีค้นหาบุคคลบน Facebook ผ่านรูปถ่าย
cum să plătească în shein
jak przywrócić ikony na urządzeniach mobilnych
iphone telgraf kanallarının kilidini açma
instagram'da engellenen kişileri nasıl görebilirim
como jugar fifa para dos en ps4
sheinでメールを変更する方法
cara melihat orang terakhir yang diikuti di instagram
how to download free games from nintendo switch
как узнать, звонил ли вам заблокированный номер
วิธีการมี 2 บัญชีใน tiktok
wie man eine SMS an eine Nummer sendet, die mich blockiert hat