¿Cuál es la forma más eficiente de encontrar un artículo en mi hogar?

Podemos emplear programación dinámica y usar concurrencia para acelerar el proceso. Para resolver este problema, asumiremos que el artículo está definitivamente dentro de la casa y que el artículo permanece en una posición mientras lo buscamos. También asumiremos que el artículo no tiene ninguna propiedad especial, como un teléfono al que podamos llamar para localizarlo o un pin de metal que se pueda atraer con un imán. La suposición final que haremos es que cada habitación requiere la misma cantidad de tiempo para que una persona busque.

  1. Programación dinámica: debido a que tenemos que atravesar todo el espacio de búsqueda de una casa, la complejidad temporal será [matemática] O [/ matemática] [matemática] (NM) [/ matemática], donde [matemática] N [/ matemática] es la cantidad de habitaciones y [matemáticas] M [/ matemáticas] es la cantidad de tiempo que se tarda en buscar en una habitación. Sin embargo, no queremos volver a revisar una habitación. Para asegurarnos de que no verifiquemos la misma habitación dos veces (ya que sería una pérdida de tiempo), podemos hacer una indicación en la puerta de una habitación de que se ha buscado esta habitación y no se ha encontrado el artículo al grabar un pedazo de papel en la puerta. Alternativamente, podemos cerrar la puerta una vez que se ha buscado en una habitación, pero no queremos pasar por el proceso de desbloquear cada puerta de nuestra casa después de haber encontrado el artículo. Tampoco queremos verificar si un artículo dado es el artículo que estamos buscando dos veces, por lo que debemos volver a colocar el artículo en su posición original después de la verificación.
  2. Concurrencia: debido a que nuestro objetivo es encontrar un objeto estacionario en una habitación, el orden en que miramos a través de las habitaciones no importa. Como tal, podemos usar amigos para ayudarnos. Al asignar salas específicas a ciertas personas, la complejidad del tiempo se reduce a [matemáticas] O (MN / P) [/ matemáticas], donde P es el número de personas que nos ayudan a buscar en las salas.

Tenemos la opción de utilizar la función de luz incorporada de la sala, que se ejecuta en tiempo [matemático] O (1) [/ matemático]. Si sabemos de antemano que las habitaciones contienen muchas áreas oscuras / oscuras, es posible que tengamos que obtener una linterna. La complejidad temporal del uso de una linterna también es [matemática] O (1) [/ matemática], pero en la práctica será más que [matemática] O (1) [/ matemática] porque tomará tiempo para que la linterna sea adquirido.

Si [matemáticas] P> N [/ matemáticas], podemos dividir y conquistar una habitación dada porque hay más de un ayudante. Podemos dividir la habitación en secciones usando cada esquina como su propia zona. Si [matemática] P> 4 [/ matemática], los ayudantes adicionales probablemente se interpongan entre sí en lugar de acelerar el proceso.

[matemáticas] M [/ matemáticas] es difícil de calcular. En cualquier habitación, puede haber posibles escondites (por ejemplo, el artículo puede estar escondido debajo de una alfombra) y objetos que sirven como obstrucciones (por ejemplo, sofás, lámparas, escritorios) en nuestro objetivo de encontrar un artículo. También hay varios factores que debemos considerar, incluido el caso de que el artículo esté atascado dentro de objetos como un libro, un cajón o cojines intermedios. Se necesita más investigación sobre el cálculo preciso de [matemáticas] M [/ matemáticas].

Por lo tanto, la forma más eficiente de encontrar un elemento no especial en su hogar es recorrer todo el espacio de búsqueda, delegar la tarea entre nuestros amigos, registrar qué habitaciones ya se han buscado para que no busquemos la misma habitación dos veces, usar función de luz incorporada de la habitación, y obtenga / use una linterna si es necesario.