Está en la página 1de 9

UNSAAC

Ingeniería Eléctrica, Electrónica,


Informática y Mecánica
Ingeniería Informática y de Sistemas
Matemáticas Discretas
Aplicación de teoría de conjuntos a la
escuela profesional
Estudiante: Yuca Lima Karla Urbelinda
(182941)
Docente: Camilo Quispe Phocco
Cusco-Perú
Introducción

Para comenzar necesitamos tener un concepto claro


sobre teoría de conjuntos. La teoría de conjuntos es la
rama de la matemática que estudia conjuntos
matemáticos, los cuales son colecciones de objetos, tales
como {azul, blanco, rojo} o el conjunto infinito de todos
los números primos. Conjuntos parcialmente ordenados
y conjuntos con otras relaciones tienen aplicación en
muchas áreas. (Smg, 2014)

La teoría de conjunto está construida sobre la base de


conceptos, los cuales por ser intuitivos y comprensibles
no es necesario definirlos formalmente sabemos que en
realidad existen cosas, objetos entes, elementos que
constituyen unidades completamente identificables que
pueden ser tangibles o no. Sin embargo, la teoría de los
conjuntos es lo suficientemente rica como para construir
el resto de los objetos y estructuras de interés en
matemáticas: números, funciones, figuras geométricas y
junto con la lógica permite estudiar los fundamentos de
esta en relación con la informática. (--, 2017)
Tema central
Es una ciencia cuyas bases están establecidas básicamente en principios matemáticos y
conjunta varias ramas de las matemáticas. las bases lógicas para la geometría, el cálculo y la
topología, hasta crear álgebra en torno a campos, anillos y grupos, las aplicaciones de la
teoría de conjuntos son comúnmente utilizadas en campos de las ciencias y las matemáticas
como biología, química y física, como así también en ingeniería eléctrica y computación.
El cálculo integral y diferencial son componentes principales del análisis. La
continuidad de una función y los límites de esta derivan de la teoría de conjuntos. Estas
operaciones conducen al álgebra de Boole, que es útil para la producción de computadoras y
calculadoras.
En la informática se encuentra la teoría de algoritmos para problemas matemáticos.
La computación estudia lo que puede ser computado y tiene lazos fuertes con la lógica,
mientras que la complejidad estudia el tiempo que se demora en hacer computaciones. La
teoría de autómatas y los lenguajes formales se relacionan de manera cercana con la
computación. Las redes de Petri y álgebra de procesos se usan para modelar sistemas
computacionales, y métodos de la matemática discreta se usan para analizar.
La geometría computacional aplica algoritmos a problemas geométricos, mientras
que el análisis digital de imágenes los aplica a representaciones de imágenes.
Su uso es fundamental a varios niveles: en los circuitos computacionales, en la
programación lógica y en el análisis y optimización (de recursos temporales y espaciales) de
algoritmos. Todo sistema computacional, por muy complejo que sea, no está compuesto por
más que circuitos electrónicos que únicamente entienden un lenguaje binario. La lógica
computacional se encarga de modelar y optimizar tales sistemas a este nivel.
La computación orientada a la matemática suele alinearse del lado de la computación
científica y las aplicaciones de cálculo numérico. La computación, designa a todas aquellas
prácticas destinadas a modelar, plantear experimentos y validar teorías científicas sirviéndose
de medios computacionales. En estos casos la computación es una mera herramienta y el
esfuerzo se dirige a avanzar en los campos objetivo (física, biología, mecánica de fluidos,
radiotransmisión,), más que en la propia ciencia de la computación. (Gomez, 2013)
La teoría de conjunto se relaciona con la informática a la hora de programar Uno de
los primeros lenguajes que soportaban conjuntos fue Pascal; muchos lenguajes lo incluyen
ahora, ya sea en el núcleo del lenguaje o en una librería estándar. El Lenguaje de
programación Java ofrece la interfaz Set para el soporte de conjuntos (donde lo implementa
la clase HashSet usando una tabla hash), y la sub-interfaz SortedSet para dar soporte a
conjuntos ordenados (implementado por la clase TreeSet por medio de un árbol de búsqueda
binario). En C++, STL ofrece la clase "conjunto" para templates, que implementa a un
conjunto ordenado usando un árbol de búsqueda binario; el STL de SGI ofrece la clase
"hash_set", implementando conjuntos con una tabla de hash. Python tiene un tipo de conjunto
incorporado, pero no un conjunto en sí. (--, 2017)
Como se mencionó anteriormente el fundamento de la carrera de Ingeniería informática y de
sistemas es la programación, al estar comenzando aun en el proceso de aprendizaje el mas
usado para esto es Python, un objeto set es una colección sin orden de objetos. El set puede
contener objetos de todos los tipos inmutables de Python, pero no los contenedores mutables
como las listas. También puede contener objetos de clases definidas por el usuario. Los
conjuntos se pueden crear, por ejemplo, a partir de una lista. Como en Python todo es un
objeto, los conjuntos no son la excepción. A través de ciertas funciones, podremos operar
entre conjuntos. Un ejemplo de la aplicación de teoría de conjuntos en este lenguaje de
programación es el siguiente:
En Python, cualquier objeto iterable lo podemos "transformar" en un conjunto.

>>> A = (1,2,3,4,5,5)
>>> conjA = set(A) #Con set() definimos el conjunto
>>> conjA
set([1, 2, 3, 4, 5])

>>> B = [1,2,3,4,5,5]
>>> conjB = set(B)
>>> conjB
set([1, 2, 3, 4, 5])

>>> C = 'Hola Mundo'


>>> conjC = set(C)
>>> conjC
set(['a', ' ', 'd', 'H', 'M', 'l', 'o', 'n', 'u'])

Por definición de la teoría de conjuntos los elementos perteneciente a un conjunto no se


repiten, en los dos primeros casos en A y B se repite el 5 y en conjA y conjB, solo hay un 5.
Lo mismo pasa en el tercer ejemplo.
Otras formas de uso de este lenguaje para teoría de conjuntos:
Constructores
Agregar un elemento al conjunto
>>> A = set([1,2,3,4,5])
>>> A.add(0)
>>> A
set([0, 1, 2, 3, 4, 5])

Quitar un elemento al conjunto


>>> A = set([0,1,2,3,4,5])
>>> A.discard(2)
>>> A
set([0, 1, 3, 4, 5])

Quitar todos los elementos de un conjunto


>>> A = set([0,1,2,3,4,5])
>>> A.clear()
>>> A
set([])

Copiar un conjunto
>>> B = A #acá decimos que B es igual a A, por lo que cualquier cambio en A tambien se
producirá en B y viceversa
>>> B
set([1, 2, 3, 4, 5])
>>> A
set([1, 2, 3, 4, 5])
>>> B.add(987)
>>> B
set([1, 2, 3, 4, 5, 987])
>>> A
set([1, 2, 3, 4, 5, 987])

A veces no queremos que pase eso, que cambie el conjunto A y el B, para eso existe el método
.copy
>>> A = set([1,2,3,4,5])
>>> B=A.copy()
>>> B
set([1, 2, 3, 4, 5])
>>> A
set([1, 2, 3, 4, 5])
>>> B.add(987)
>>> B
set([1, 2, 3, 4, 5, 987])
>>> A
set([1, 2, 3, 4, 5])

.update
A.intersection_update(B) equivale a hacer A = A & B o A &= B
A.defference_update(B) equivale a hacer A = A -B o A -= B
A.symmetric_difference_update(B) equivale a hacer A = A ^B o A^=B
A.update(B) equivale a hacer A = A | B o A |= B

Operaciones-entre-Conjuntos
Unión
Dado un conjuto A y un conjuto B cualquiera. La unión de conjuntos A y B (se denota
A∪B)consiste en un nuevo conjunto el cual contiene todos los elementos A y B.
>>> A = set([1,2,3,4,5])
>>> B = set([3,4,5,6,7])
>>> A|B
set([1, 2, 3, 4, 5, 6, 7])
También podría haberse hecho: A.union(B)

Intersección
Dado un conjuto A y un conjuto B cualquiera. La intersección de conjuntos A y B (se denota
A ∩ B) consiste en un nuevo conjunto el cual contiene todos los elementos que tengan en
común A y B.
>>> A = set([1,2,3,4,5])
>>> B = set([3,4,5,6,7])
>>> A&B
set([3, 4, 5])
Tambien podría haberse hecho: A.intersection(B)

Diferencia
Dado un conjuto A y un conjuto B cualquiera. La diferencia entre un conjuntos A y B (se
denota A-B) consiste en un nuevo conjunto el cual contiene todos los elementos de A y que
no pertenezcan a B.
>>> A = set([1,2,3,4,5])
>>> B = set([3,4,5,6,7])
>>> A-B
set([1, 2])
Tambien podría haberse hecho: A.difference(B)

Diferencia-Simétrica
Dado un conjuto A y un conjuto B cualquiera. La diferencia simétrica de conjuntos A y B
(se denota A Δ B) consiste en un nuevo conjunto el cual contiene todos los elementos de A
y B que no tengan en comun.
>>> A = set([1,2,3,4,5])
>>> B = set([3,4,5,6,7])
>>> A^B
set([1, 2, 6, 7, 8])
Tambien podría haberse hecho: A.symmetric_difference(B)

¿Subconjunto?
Un conjuto A es subconjunto de B cuando todos los elementos de A tambien pertenecen a
B.
>>> B = set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> A = set([1,2,3,4,5])
>>> A.issubset(B)
True
>>> B.issubset(A)
False
¿Superconjunto?
Un conjunto B es superconjunto de A si y solo si A es subconjunto de B
>>> B = set([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
>>> A = set([1,2,3,4,5])
>>> B.issuperset(A)
True
>>> A.issuperset(B)
False

Pertenencia
>>> A = set([1,2,3,4,5])
>>> 1 in A
True
>>> 1 not in A
False
>>> 10 in A
False
>>> 10 not in A
True
(ejemplo, 2012)
Conclusión
Al realizar este trabajo pude darme cuenta de que el tema de teoría de conjunto se relaciona
principalmente cuando comenzamos a programar, par poder aplicarlo en la vida diaria con
ayuda de una aplicación o programa ya que al final de una u otra manera está presente la
teoría de conjuntos en nuestra vida diaria, ya sea para tomar una decisión o para tener posibles
combinaciones de resultados, esta implícito de una manera u otra alguna unión o intersección
de procesos o tareas o elecciones.
Bibliografía
--. (16 de Enero de 2017). wikimedia . Obtenido de Teoría de Conjuntos en la Informática:
https://upload.wikimedia.org/wikipedia/commons/a/ab/Teor%C3%ADa_de_Conjun
tos_en_la_Inform%C3%A1tica.pdf
ejemplo. (8 de Febreo de 2012). fig . Obtenido de conjuntos :
https://www.fing.edu.uy/inco/cursos/fpr/wiki/index.php/Conjuntos
Gomez, V. (2013). APLICACIÓN DE LA TEORÍA DE CONJUNTO EN DIVERSAS
ÁREAS DE LA COMPUTACIÓN. computer-works and information , 6-8.
Smg, T. (10 de Octubre de 2014). prezi . Obtenido de Aplicaciones de conjuntos dentro de
la computacion : https://prezi.com/os9epgbqqmb6/aplicaciones-de-conjuntos-
dentro-de-la-computacion/