Uploaded by Eduardo Ventura Chancafe

Avance Mat Discreta.docx

advertisement
INFORME DEL AVANCE DEL PROYECTO
MATEMÁTICA DISCRETA - MA265
GRUPO: 8 “Los dinamitas de la UPC”
Tema: Matrices Booleanas (AVIANCA)
DOCENTE: Antonio Marcos Medina Martinez
SECCIÓN: SS38
INTEGRANTES:
●
●
●
●
Ventura Chancafe, Eduardo Renato (U202212645)
Huillca Mejía, Alex (U202120679)
Porras Delgadillo, Naomy Brisseth (U202217940)
Armestar Heredia, Matias Gabriel (U20221A553)
Lima - Perú
2023 – 1
1
ÍNDICE
1.
Introducción
2.
Objetivos
3.
Fundamento Teórico
4.
Anexo
5.
Bibliografía
2
1.
Introducción
El objetivo de este trabajo es desarrollar un programa que permita comprobar la
existencia de vuelos directos o con escala entre ciudades o países, utilizando matrices
booleanas. Esta herramienta se basa en la teoría de grafos, en la cual los nodos
representan las ciudades o países, y las aristas representan los vuelos entre ellos.
La utilización de matrices booleanas para representar grafos es una técnica ampliamente
utilizada en la programación, ya que permite representar de forma clara y sencilla las
relaciones entre los nodos. En este caso, cada elemento de la matriz representa una
posible conexión entre ciudades o países, y su valor booleano indica si existe o no un
vuelo directo o con escala entre ellas.
Para implementar este programa, se utilizará el lenguaje de programación Python, el
cual cuenta con librerías específicas para trabajar con matrices y grafos. Además, se
llevará a cabo una explicación detallada del fundamento teórico detrás de las matrices
booleanas y la teoría de grafos, con el objetivo de que el lector pueda comprender el
funcionamiento del programa de forma clara y concisa.
El informe del curso de matemática incluirá una descripción detallada del
funcionamiento del programa, así como ejercicios que permitirán al lector profundizar
en la teoría detrás de las matrices booleanas y la teoría de grafos. También se incluirán
imágenes del código para que el lector pueda visualizar de forma clara cómo se
implementa la técnica de las matrices booleanas en la programación del programa.
En resumen, este trabajo tiene como objetivo desarrollar un programa que permita
comprobar la existencia de vuelos directos o con escala entre ciudades o países
utilizando matrices booleanas, y su objetivo principal es brindar al lector una
comprensión clara y concisa del funcionamiento y la teoría detrás de esta técnica de
programación.
3
2.
Objetivo
En el presente proyecto se tiene como objetivo desarrollar un programa utilizando
relaciones para representar las conexiones entre los diferentes destinos que ofrece la
aerolínea Avianca.
Al momento de mostrar los diferentes posibles destinos de los vuelos entre Perú,
Colombia, Centroamérica y el Caribe de la compañía aérea Avianca se debe tener en
cuenta lo siguiente:
●
Si hay o no vuelo directo de una ciudad a otra.
●
Si hay o no conexión de una ciudad con otra, con una escala, mostrando cuál es
esta.
●
Si hay o no conexión de una ciudad con otra, con dos escalas, mostrando cuáles
son estas.
Las localidades las cuales abarca la compañía aérea Avianca, se considerarán a partir de
los siguientes gráficos:
4
3.Fundamento teórico
Las matemáticas son un elemento fundamental asociado a la programación porque nos
permite observar las relaciones entre distintos temas que se aplican al desarrollo de
código, dependiendo de la situación y el propósito.
Por un lado, el álgebra booleana, ciencia relevante para el desarrollo de nuestro
proyecto, se utiliza para representar dos estados o valores de (1) o (0), indicando si el
dispositivo está abierto o cerrado, si está abierto es porque conduce, de lo contrario
(cerrado) es porque no conduce.
Además, este sistema facilita el estudio sistemático del comportamiento de los
componentes lógicos. Las variables booleanas forman la base de la programación
mediante el uso de un sistema binario representado por los números 1 y 0.
¿Qué es una matriz booleana?
Según Spiegato, una matriz booleana en programación de computadoras es una
secuencia de valores que solo puede contener los valores de verdadero o falso. Por
definición, un booleano solo puede ser verdadero o falso y no puede contener ningún
otro valor intermedio. Una matriz es una secuencia de tipos de datos que ocupan
posiciones numéricas en un espacio de memoria lineal. Si bien la implementación real
de una matriz booleana a menudo se deja en manos del compilador o de las bibliotecas
de lenguaje de computadora, se realiza de manera más eficiente utilizando bits en lugar
de bytes o palabras completas. Hay varios usos para una matriz booleana, incluido el
seguimiento de los indicadores de propiedad y la alineación de configuraciones para
interfaces de hardware físico.
Por ello, es importante desarrollar la matriz de relaciones entre los requerimientos del
consumidor y las características de control del producto final, ya que existen diferentes
niveles de correlación entre los requerimientos del consumidor y las características del
producto, se utilizan un grupo de símbolos para identificar la significancia de estas
relaciones. El beneficio de llenar esta matriz de relaciones utilizando los símbolos
apropiados, es que rápidamente nos indica, si es que las características de control del
producto final cubren adecuadamente los requerimientos o expectativas del consumidor.
Por otro lado, tenemos la teoría de los grafos, es importante primero conocer estos
siguientes puntos:
Grafos:
Un grafo es un par A= (X,Y), donde:
-
X es el conjunto cualquiera que no está vacío, el cual es más conocido como
nodo o vértice.
5
-
Y es el conjunto que presenta otros elementos (a,b) ∈ Y. También es más
conocido por ser llamado arista o segmento.
Tipos de grafos
Existen dos tipos de grafos, los cuales son representados por conexiones y del mismo es
de donde llegan a tener el nombre.
Grafos simples/no conexos
Grafos conexos
Google (s.f)
Árboles dirigido:
Para Menendez, un árbol es un grafo conexo y sin ciclos; del mismo modo, él afirma
que si a dicho árbol, que es un grafo conexo sin ciclos, se le agrega una arista formando
un ciclo, dicho grafo deja de ser un árbol.
Árboles con raíz:
Según Menendez, un árbol con raíz es aquel árbol al cual se le designa un vértice
diferente(especial), el cual sirve como origen de coordenadas. Dicho de una forma más
fácil de entender es el inicio del árbol dirigido.
Habiendo descrito lo anterior tenemos lo siguiente,
Nivel 0 = {raíz}
Nivel 1 = {vecinos de la raíz}
Nivel 2 = {vecinos de los vértices del nivel 1} \ {raíz}
6
Nivel 3 = {vecinos de los vértices del nivel 2} \ {Nivel 1}
Nivel j = {vecinos de los vértices del nivel j − 1} \ {Nivel j − 2}
Mostrado de una manera gráfica es lo siguiente.
Google (s.f)
Donde tenemos:
Nivel 0= {2}
Nivel 1= {7;5}
Nivel 2= {2;6;9}
Nivel 3= {5;11;4}
Por otro lado, Menéndez nos dice que los árboles tienen altura, y dicha altura será el
nivel máximo no vacío, en el ejemplo anterior, nuestro árbol viene a ser de altura 3
Árbol binario:
Para Menéndez, un árbol binario es aquel árbol con raíz que tiene un grado máximo de
2, es decir que a lo mucho de ese árbol van a salir 2 otros nodos.
7
Google(s.f.)
4. ANEXO:
Ejercicio 1:
8
Ejercicio 2:
9
REFERENCIAS BIBLIOGRÁFICAS:
1.
Villagómez, D. (2019). Utilización de los mapas de Karnaugh como estrategia
didáctica para el aprendizaje de la simplificación de funciones booleanas con los
estudiantes de octavo semestre de la carrera de ciencias exactas periodo abril-agosto
2019:
http://dspace.unach.edu.ec/bitstream/51000/6228/1/UNACH-EC-FCEHT-TG-C.EXAC2019-000010.pdf.pdf
2.
Spiegato,
“s.f.”¿Qué
es
una
matriz
booleana?:
https://spiegato.com/es/que-es-una-matriz-booleana
10
3.
Menendez,
F.
(s.f.).
Lógica
y
Álgebra
Discreta.
Recuperado
de:
https://catedras.facet.unt.edu.ar/lad/wp-content/uploads/sites/93/2020/05/06_UT04_LA
D20.pdf
4.
Monografías.(s.f).
Árboles
y
grafos.
Monografías.com.
Recuperado
de:https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.monografias.com%2
Ftrabajos98%2Farboles-y-grafos%2Farboles-y-grafos&psig=AOvVaw2DdRR0RCy75g
hC6vfdg4pO&ust=1680988655932000&source=images&cd=vfe&ved=0CBEQjRxqFw
oTCIiB_fHYmP4CFQAAAAAdAAAAABAf
5.
Techie Delight. (2022, mayo 10). Boundary Traversal of a Binary tree. Techie
Delight.Recuperado
de:https://www.google.com/url?sa=i&url=https%3A%2F%2Fwww.techiedelight.com%
2Fes%2Fboundary-traversal-binary-tree%2F&psig=AOvVaw3cBPVe-Ai9e585YD619td
W&ust=1680990901416000&source=images&cd=vfe&ved=0CBEQjRxqFwoTCMCr8
qDhmP4CFQAAAAAdAAAAABAE
11
Download