miércoles, 10 de abril de 2024

METODOS DE BUSQUEDA

 

 

 

 

  INSTITUTO TECNOLÓGICO DE COMITÁN

 

NOMBRE DEL ALUMNO:

Gadiela Diaz Diaz

 

NUMERO DE CONTROL:

20700214

 

SEMESTRE:

8 º (Octavo)

 

CARRERA:

Ingeniería en Sistemas Computacionales

 

 

Comitán de Domínguez Chiapas a 10 de marzo del 2024

 

  

METODOS DE BUSQUEDA

Los métodos de búsqueda son algoritmos utilizados para encontrar soluciones a problemas dentro de un espacio de búsqueda. Estos métodos son fundamentales en la informática, la inteligencia artificial, la optimización y muchas otras áreas. Aquí hay una descripción de algunos métodos de búsqueda comunes:

Búsqueda en Anchura (BFS):

En la búsqueda en anchura, también conocida como BFS (del inglés Breadth-First Search), se explora un grafo o árbol nivel por nivel. Es decir, se comienza por el nodo inicial y luego se exploran todos los nodos vecinos de ese nodo, luego se exploran los nodos vecinos de esos nodos, y así sucesivamente.

  • Proceso:

    1. Se comienza en el nodo inicial y se lo marca como visitado.
    2. Se agregan todos los nodos vecinos del nodo inicial a una cola.
    3. Se saca un nodo de la cola y se marca como visitado.
    4. Se agregan todos los nodos vecinos de ese nodo a la cola (si no han sido visitados previamente).
    5. Se repiten los pasos 3 y 4 hasta que se visiten todos los nodos o hasta encontrar el objetivo.
  • Características:

    • Garantiza que la solución encontrada sea la más cercana al nodo inicial.
    • Requiere una cantidad significativa de memoria, ya que se deben almacenar todos los nodos a visitar en la cola.
    • Es útil cuando se necesita encontrar la solución más cercana a un nodo inicial, como en problemas de búsqueda de rutas.

Búsqueda en Profundidad (DFS):

En la búsqueda en profundidad, también conocida como DFS (del inglés Depth-First Search), se explora un grafo o árbol descendiendo por un camino concreto tanto como sea posible antes de retroceder. Es decir, se sigue un camino hasta llegar al final y luego se retrocede para explorar otro camino.

  • Proceso:

    1. Se comienza en el nodo inicial y se marca como visitado.
    2. Se elige un nodo vecino no visitado y se explora recursivamente desde ese nodo.
    3. Se repite el proceso hasta que no haya nodos vecinos no visitados, entonces se retrocede al nodo anterior y se continúa explorando otros caminos.
  • Características:

    • Puede encontrar soluciones que estén más profundamente anidadas en el grafo que las encontradas por BFS.
    • Utiliza menos memoria que BFS, ya que no es necesario mantener una cola de nodos por visitar.
    • Puede entrar en bucles infinitos si no se manejan adecuadamente los ciclos o si el grafo no es acíclico.

Comparación:

  • Memoria:

    • BFS generalmente requiere más memoria debido a la cola de nodos por visitar.
    • DFS requiere menos memoria ya que no mantiene una cola, sino que utiliza la pila de llamadas de la recursión.
  • Velocidad:

    • BFS tiende a ser más lenta que DFS en grafos densos debido a la necesidad de mantener la cola.
    • DFS puede ser más rápido en grafos densos debido a su uso de la recursión y a la exploración más profunda de un camino antes de retroceder.

La elección entre BFS y DFS depende de las características del problema específico y de las estructuras de datos utilizadas.

  1. Búsqueda Lineal (Sequential Search):

    • Este es el método más básico donde los elementos se buscan uno por uno en una secuencia hasta que se encuentra el elemento deseado o se llega al final.
    • Es simple pero puede ser ineficiente para grandes conjuntos de datos.

  2. Búsqueda Binaria (Binary Search):

    • Es un método eficiente para buscar en listas ordenadas.
    • La lista se divide en mitades y se descarta la mitad en la que no puede estar el elemento buscado.
    • Requiere que la lista esté ordenada previamente.

  3. Búsqueda en Profundidad (Depth-First Search, DFS):

    • Se utiliza principalmente para recorrer o buscar en estructuras de datos como árboles o grafos.
    • Explora tanto como sea posible a lo largo de un camino antes de retroceder.
    • Puede entrar en bucles infinitos si no se manejan adecuadamente los ciclos.

  4. Búsqueda en Anchura (Breadth-First Search, BFS):

    • Otra técnica para recorrer o buscar en estructuras de datos como árboles o grafos.
    • Explora todos los nodos vecinos al mismo nivel antes de pasar al siguiente nivel.
    • Generalmente requiere más memoria que la búsqueda en profundidad.

  5. Búsqueda Heurística (Heuristic Search):

    • Utiliza heurísticas o reglas generales para buscar soluciones en espacios de búsqueda grandes o complejos.
    • Ejemplos incluyen la búsqueda A* y la búsqueda Greedy.
    • Son especialmente útiles cuando no es posible examinar todas las soluciones posibles.

  6. *Búsqueda A (A-star Search)**:

    • Un algoritmo de búsqueda informada que utiliza una función de costo heurística para encontrar el camino más corto entre un nodo inicial y un nodo objetivo.
    • Combina la información de costo y una estimación heurística para guiar la búsqueda hacia la solución óptima.
    • Es ampliamente utilizado en problemas de búsqueda de caminos en grafos y en inteligencia artificial.

  7. Algoritmos Genéticos (Genetic Algorithms):

    • Inspirados en la teoría de la evolución natural, estos algoritmos se utilizan para encontrar soluciones aproximadas a problemas de optimización y búsqueda.
    • Utilizan conceptos como selección, cruce y mutación para evolucionar una población de posibles soluciones hacia una solución óptima o cercana a la óptima.

Estos son solo algunos ejemplos de métodos de búsqueda. La elección del método adecuado depende del problema específico que estés tratando de resolver, así como de las características del espacio de búsqueda y los recursos disponibles.

jueves, 21 de marzo de 2024

Avance del proyecto

 GADIELA DIAZ DIAZ 20700214

WENDY NAYELI MORALES GONZALES


3 ESTRUCTURA DE LA MEMORIA TÉCNICA

1.   Resumen:

Una cámara de reconocimiento facial en inteligencia artificial es un dispositivo que utiliza algoritmos y tecnologías de visión por computadora para identificar y autenticar a personas mediante el análisis de características faciales únicas. Estas cámaras pueden ser parte de sistemas de seguridad, control de accesos, sistemas de vigilancia, entre otros.

2.   Introducción:

En la era digital actual, la convergencia entre la inteligencia artificial y la visión por computadora ha dado lugar a avances significativos en la forma en que percibimos y comprendemos nuestro entorno. Uno de los desarrollos más destacados en este campo es la cámara de reconocimiento en inteligencia artificial, un dispositivo que no solo captura imágenes, sino que también tiene la capacidad de comprender y procesar la información visual de manera similar, e incluso en algunos casos superior, a la capacidad humana.

Estas cámaras están equipadas con algoritmos sofisticados que les permiten identificar y clasificar objetos, personas y patrones en tiempo real, abriendo una amplia gama de aplicaciones en diversas industrias, desde la seguridad y vigilancia hasta la salud y la automoción. Al aprovechar el poder del aprendizaje automático y las redes neuronales, estas cámaras pueden tomar decisiones autónomas, mejorar la eficiencia operativa y proporcionar análisis de datos visuales con una precisión y velocidad sin precedentes.

Sin embargo, junto con el potencial transformador de estas tecnologías emergentes, también surgen interrogantes éticas y de privacidad. El uso generalizado de cámaras de reconocimiento en inteligencia artificial plantea cuestiones sobre la recopilación, almacenamiento y uso de datos personales, así como preocupaciones sobre el sesgo algorítmico y la equidad en su aplicación.

En esta introducción, exploraremos en detalle el funcionamiento, las aplicaciones y las implicaciones éticas de las cámaras de reconocimiento en inteligencia artificial, así como los desafíos y oportunidades que presentan en nuestro mundo cada vez más interconectado y digitalizado.

Introduction:

In today's digital age, the convergence between artificial intelligence and computer vision has led to significant advances in the way we perceive and understand our environment. One of the most notable developments in this field is the recognition camera in artificial intelligence, a device that not only captures images, but also has the ability to understand and process visual information in a similar way, and even in some cases superior, to human capacity.

These cameras are equipped with desirable algorithms that allow them to identify and classify objects, people and patterns in real time, opening up a wide range of applications in various industries, from security and surveillance to healthcare and automotive. By harnessing the power of machine learning and neural networks, these cameras can make autonomous decisions, improve operational efficiency, and provide visual data analysis with unprecedented accuracy and speed.

However, along with the transformative potential of these emerging technologies, ethical and privacy questions also arise. The widespread use of recognition cameras in artificial intelligence raises questions about the collection, storage and use of personal data, as well as concerns about the algorithmic system and the fairness in its application.

In this introduction, we will explore in detail the operation, applications and ethical implications of recognition cameras in artificial intelligence, as well as the challenges and opportunities presented in our increasingly interconnected and digitalized world.

3.   Objetivos:

*      Mejorar la seguridad y la vigilancia: Uno de los principales objetivos de utilizar una cámara de reconocimiento en inteligencia artificial es fortalecer la seguridad y la vigilancia en diversos entornos, como edificios, espacios públicos o áreas de alta seguridad. Esto implica la detección y reconocimiento de personas sospechosas, objetos prohibidos o comportamientos anómalos en tiempo real para prevenir incidentes y responder de manera efectiva en caso de emergencia.

*      Optimizar el control de accesos: Otra meta clave es mejorar la gestión de accesos y la autenticación de identidades. Las cámaras de reconocimiento facial, por ejemplo, pueden utilizarse para permitir el acceso autorizado a áreas restringidas o para identificar a individuos en entornos donde se requiere una verificación de identidad segura y eficiente.

 

*      Facilitar la automatización y la eficiencia operativa: El objetivo de aumentar la eficiencia operativa es fundamental en muchos contextos empresariales y de producción. Las cámaras de reconocimiento en inteligencia artificial pueden integrarse en sistemas automatizados para realizar tareas como el seguimiento de inventario, el control de calidad en la producción, la monitorización de procesos industriales, entre otros, contribuyendo así a optimizar los flujos de trabajo y reducir los errores humanos.

 

 

4.   Metodología:

ü  Definición del problema: El primer paso es definir claramente el problema que se quiere abordar con la cámara de reconocimiento facial. Por ejemplo, puede ser mejorar la seguridad en un edificio, autenticar usuarios en un sistema de control de acceso, o identificar clientes para ofrecerles servicios personalizados en un entorno comercial.

ü  Recopilación de datos: Se recopilan conjuntos de datos de imágenes faciales para entrenar el algoritmo de reconocimiento facial. Estos conjuntos de datos deben ser representativos de las condiciones reales en las que se utilizará la cámara, incluyendo variaciones en la iluminación, expresiones faciales, ángulos de visión, etc.

ü  Preprocesamiento de datos: Antes de entrenar el modelo, es necesario preprocesar los datos para mejorar su calidad y facilitar el aprendizaje del algoritmo. Esto puede incluir tareas como el ajuste del contraste, la normalización de las imágenes, la detección y recorte de rostros, entre otros.

ü  Entrenamiento del modelo: Se utiliza un algoritmo de aprendizaje automático, como una red neuronal convolucional (CNN), para entrenar el modelo de reconocimiento facial con los datos recopilados. Durante el entrenamiento, el modelo aprende a identificar características distintivas de los rostros y a asociarlas con identidades específicas.

 

ü  Validación del modelo: Una vez entrenado, el modelo se valida utilizando un conjunto de datos separado que no se utilizó durante el entrenamiento. Esto ayuda a verificar la precisión y la eficacia del modelo para reconocer rostros en situaciones nuevas.

ü  Ajuste del modelo: Si es necesario, se ajusta el modelo para mejorar su rendimiento, ya sea modificando los parámetros del algoritmo, recopilando más datos de entrenamiento o realizando otras técnicas de optimización.

5.   Otras secciones:

Se aprendió a programar un 30% de Python, así  como para el código del arduino

6. Resultado(s):

1. se elaboró y estructuro el código desde visual studio para poder ejecutar la cámara y realizar la detección de rostro.

 

2. se estructuro el código en Arduino para poder tener la funcionalidad del servomotor junto con la cámara

 

3. se ejecutaron los códigos y se realizo la prueba para valorar que funciona

Al finalizar esta práctica, hemos logrado implementar un sistema funcional de detección de rostros que es capaz de identificar y delinear las caras presentes en el flujo de vídeo de la cámara web en tiempo real. Sin embargo, es importante tener en cuenta que este sistema puede no ser perfecto y puede haber casos en los que no detecte correctamente los rostros debido a variaciones en la iluminación, el ángulo de visión, la oclusión parcial del rostro, entre otros factores.

 

7. Conclusiones:

En conclusión, una cámara de reconocimiento facial en inteligencia artificial representa una herramienta poderosa con un potencial significativo en una variedad de aplicaciones. A lo largo de este análisis, hemos explorado cómo estas cámaras pueden mejorar la seguridad, optimizar los procesos de identificación y proporcionar experiencias personalizadas en entornos comerciales y de servicios. Sin embargo, también hemos destacado las preocupaciones éticas y de privacidad asociadas con su implementación. Esta práctica nos ha proporcionado una introducción valiosa al emocionante campo de la visión por computadora y la detección de rostros, y nos ha brindado una base sólida para explorar y desarrollar aplicaciones más avanzadas en el futuro.

Conclusions:

In conclusion, a facial recognition camera in artificial intelligence represents a powerful tool with significant potential in a variety of applications. Throughout this analysis, we have explored how these cameras can improve security, optimize identification processes, and provide personalized experiences in commercial and service environments. However, we have also highlighted the ethical and privacy concerns associated with its implementation. This practice has provided us with a valuable introduction to the exciting field of computer vision and face detection, and has given us a solid foundation to explore and develop more advanced applications in the future.

8. Bibliografía:

EFFECTS, A. A. (2023). Efecto de rastreador de cámara 3D. Obtenido de https://helpx.adobe.com/mx/after-effects/using/tracking-3d-camera-movement.html

 

 


METODOS DE BUSQUEDA

          INSTITUTO TECNOLÓGICO DE COMITÁN   NOMBRE DEL ALUMNO: Gadiela Di...