martes, 30 de junio de 2009

foro #3 MULTICONJUNTOS

En matemáticas un multiconjunto (también llamado bolsa o bag, en el original) difiere de un conjunto en que cada miembro del mismo tiene asociada una multiplicidad (un número natural), indicando cuántas veces el elemento es miembro del conjunto, Por ejemplo, en el multiconjunto { a, a, b, b, b, c }, las multiplicidades de los miembros a, b, y c son 2, 3, y 1, respectivamente.
Definición formal
En teoría de conjuntos, un multiconjunto se define como el par (A, m) donde A es un conjunto y m : A → N es una aplicación de A a N (números naturales positivos). A se conoce como el conjunto subyacente de elementos. Para cada a de A, la multiplicidad de a es el número m(a).
Es común escribir la función m como un conjunto de pares ordenados {(a, m(a)) : a ∈ A}. Siendo esta, sin duda, la definición (utilizando teoría de conjuntos) de la función m. Por ejemplo:
• El multiconjunto escrito como {a, b, b} se define como {(a, 1), (b, 2)},
• El siguiente {a, a, b}, por su parte, se define como {(a, 2), (b, 1)}, y
• Finalmente, el multiconjunto {a, b} se define como {(a, 1), (b, 1)}.
Si el conjunto A es finito, el tamaño o longitud del multiconjunto (A, m) es la suma de todas las multiplicidades para cada elemento de A:

Un submulticonjunto (B, n) del multiconjunto (A, m) es un subconjunto B ⊆ A y una aplicación n : B → N tal que n(a) ≤ m(a).


1. Ejemplo especifico de cómo se aplica un multiconjunto en estructura de datos
2. ¿En que lenguajes cree usted que se pueda dar un multiconjunto?

16 comentarios:

Luis Dominguez dijo...

Un multiconjunto en estructura de dato seria la utilización de bases de datos en donde la misma esta integrada por varias tablas y estas a su ves por varios registros relacionadas entre si. Ejemplo en una compañía eléctrica existes muchos usuarios en este sistema de información, obligatoriamente tendría que existir un multiconjunto de bases de datos ya que en esta estaría sus datos personales, dirección, consumo de energía, entre otros.

Algunos manejadores de base de datos serian Access, MySQL, SQL Server, ahora uno de los mas comercial es el Oracle, su forma de trabajar es cliente servidor para la gestión de base de datos, para ello se necesita instalar una herramienta servidor de Oracle y luego se puede acceder a las bases de datos con herramientas de desarrollo, uno de ellos seria Oracle Designers

Stevens dijo...
Este comentario ha sido eliminado por el autor.
Unknown dijo...
Este comentario ha sido eliminado por el autor.
Daniel Marchena dijo...

Una variación del conjunto es el multiconjunto o bolsa, que es lo mismo que una estructura de datos de conjunto, pero que admite valores repetidos. Formalmente, un multiconjunto se puede considerar como una serie asociativa que mapea elementos únicos en enteros positivos, indicando la multiplicidad del elemento, aunque la implementación propiamente dicha pueda variar. En C++, la biblioteca de templates estándar (Standard Template Library) ofrece la clase "multiset" para los multiconjuntos ordenados, y la STL de SGI ofrece la clase "hash_multiset", que implementa conjuntos usando una tabla hash. Las colecciones de Apache Commons ofrecen la interfaz Bag y SortedBag para Java; además de implementar clases como HashBag y TreeBag, que son semejantes a otras implementaciones de conjuntos con nombres similares.

Un ejemplo en otro lenguaje como pascal seria:
TYPE
Dias = (Lunes, Martes, Miercoles, Jueves, Viernes, Sabado, Domingo);
Puntos = 1..20;
Conjunto1 = SET OF Dias;
Conjunto2 = SET OF Puntos;
Conjunto3 = SET OF BYTE;
VAR
A : Conjunto1;
B : Conjunto2;
C : Conjunto3;

A := [Lunes, Jueves, Sabado];
B := [5, 9, 12, 16, 18];
C := [0..9, 15, 25, 44, 80..99];

yatsury dijo...

Los multiconjuntos son colecciones donde se permite la aparición repetida de los elementos. De forma similar a los conjuntos, un multiconjunto se define y se denota de la siguiente manera general:

A: 1,2,3
B: 1,2,3

Por supuesto, también permitimos representar multiconjuntos de forma explícita , que representa el multiconjunto que tiene dos apariciones de 1, una del 2, tres del 3 y una del 4.

Las operaciones básicas sobre multiconjuntos son extensiones de las correspondientes para conjuntos.

Darwin dijo...

Un multiconjunto, es unas agrupaciones o colecciones donde es permitido la aparición repetida de los elementos, de forma equivalente a los conjuntos, también se pueden representar de forma explicita

Ejemplo especifico de cómo se aplica un multiconjunto en estructura de datos

Multiconjunto para las
operaciones básicas de: crear, agregar, eliminar y pertenece.
proc crear (in m : int; out c : Multiconjunto)
{pre m > 0}
{post c.MAX=m∧c.S=∅ }
proc agregar (in out c : Multiconjunto; in e : T)
{pre # c.S∪{e }c.MAX }
{post c.S=c '.S∪〚e〛}
proc eliminar (in out c : Multiconjunto; in e : T}
{pre e∈c.S }
{post c.S = c'.S - 〚e〛}
fun pertenece (in c : Multiconjunto; in e : T)  boolean
{pre true}
{post pertenece≡e∈c.S }

2. ¿En que lenguajes cree usted que se pueda dar un multiconjunto?
Se pueden emplear en las siguientes actividades C++, la biblioteca de templates estándar (Standard Template Library) ofrece la clase "multiset" para los multiconjuntos ordenados, y la STL de SGI ofrece la clase "hash_multiset", que implementa conjuntos usando una tabla hash. Las colecciones de Apache Commons ofrecen la interfaz Bag y SortedBag para Java; además de implementar clases como HashBag y TreeBag, que son semejantes a otras implementaciones de conjuntos con nombres similares.

Norama dijo...

Teniendo en claro la definición de multiconjunto en la matemática, en estructura de datos, se pude decir, que un multiconjunto se aplica cuando se habla de Multiset (bolsa), siendo su definición, que es una colección de elementos homogéneos sin orden, que permite elementos repetidos, y que es parecida al tipo existente ARRAY. Es importante resaltar que lo Multiset, son tipos de datos abstractos TAD, que entra en la categoría de conectores asociativos y que tienen como objetivo principal proporcionar búsqueda y recuperación de información eficiente, pudiendo no mover otros elementos alrededor cuando se elimina uno determinado. Estos son aplicados en el lenguaje C++ .

Dolymar dijo...

MULTICONJUNTO

Una bolsa o multiconjunto (bag) es un tipo abstracto de datos que especifica una colección de elementos en la que, a diferencia del Conjunto, pueden existir ocurrencias repetidas de los mismos. Por ejemplo, la bolsa {1, 3, 3, 4} no es la misma bolsa que {1, 3, 4}. Las operaciones del TAD Bolsa (de naturales) son las siguientes: Ø Vacia, retorna una bolsa vacía, Ø Insertar, dados dos naturales x y n, y una bolsa b, inserta n ocurrencias del elemento x en la bolsa b, Ø MinElem, dada una bolsa b retorna el mínimo elemento de la misma (b no es vacía), Ø Borrar, dados dos naturales x y n, y una bolsa b, borra n ocurrencias del elemento x en la bolsa b. Si hay menos de n ocurrencias de x en b, las borra todas, Ø Contar, dado un natural x y una bolsa b retorna el número de ocurrencias de x en b. Se puedes realizar operaciones básicas como: crear, agregar, eliminar y pertenece. ¿En que lenguajes cree usted que se pueda dar un multiconjunto? En java, c-c++, pascal.

PROCEDURE Vacia():BNat;
(* Crea una bolsa vacia *)
VAR res:BNat;
BEGIN
NEW (res);
res^.sig:=NIL;
RETURN res;
END Vacia;

Maryuri N. D'lucas B. dijo...

Multiconjunto
Una variación del conjunto es el multiconjunto o bolsa, que es lo mismo que una estructura de datos de conjunto, pero que admite valores repetidos. Formalmente, un multiconjunto se puede considerar como una serie asociativa que mapea elementos únicos en enteros positivos, indicando la multiplicidad del elemento, aunque la implementación propiamente dicha pueda variar. En C++, la biblioteca de templates estándar (Standard Template Library) ofrece la clase "multiset" para los multiconjuntos ordenados, y la STL de SGI ofrece la clase "hash_multiset", que implementa conjuntos usando una tabla hash. Las colecciones de Apache Commons ofrecen la interfaz Bag y SortedBag para Java; además de implementar clases como HashBag y TreeBag, que son semejantes a otras implementaciones de conjuntos con nombres similares.
Las siguientes operaciones: Nuevo, Inserta, borra.

TYPE
NodoPtr = POINTER TO NodoBolsa;
NodoBolsa = RECORD
elem : CARDINAL;
cantidad:CARDINAL;
sig : NodoPtr
END;
BNat = NodoPtr;

Zenaida Gonzalez dijo...
Este comentario ha sido eliminado por el autor.
Zenaida Gonzalez dijo...

Con la utilización de los multiconjuntos nos permite usar uno a mas números al momento por ejemplo 110, mientras que con los conjuntos esto es imposible

lenyns ortega dijo...

gracias a los multiconjuntos es posible llevar una base de datos tal como lo menciono luis digamos q de una compañia electrica, gracias a las propiedaddes de los multiconjuntos en los cuales se pueden repetir varias veces uno o varios de los ele mentos q lo componen (a,a,b,b,b,c,c,d) lo hacen idoneo a la hora de almacenar una cierta variedad de informacion de un mismo usuario...

Unknown dijo...

un multiconjunto en una estructura de dato se puede decir que es una red de cantv ya que la base de dato necesita que se coloquen en un edificio 20 lineas telefonicas se puede decir que lo unico que cambia seria los numeros de apartamentos, el titular y los numeros telefónicos, ya que lo demas datos queda de la misma forma.

cabe mencionar que el munticonjunto trabaja con todo los programas conocidos..

Stevens dijo...

Podemos decir que un multiconjunto, es unas agrupaciones o colecciones donde es permitido la aparición repetida de los elementos, de forma equivalente a los conjuntos, también se se pueden representar de forma explicita. Se puede decir que el conjunto a= { a, a, b, b, b, c }, contiene dos copias de a , tres copias de b y c elemento único. Los multiconjuntos típicos son sobre N, o sea sobre los naturales positivos, pero eso no impide declarar números sobre R, seria asi como el conjunto a contiene A={14.3x, 1.39y, y 8.9z. un ejemplo de multiconjunto lo podemos apreciar en los celulares, en una central telefonica de un edificio,en un pc y y en muchas cosas mas donde los elementos de dicho conjunto se repitan sin ninguna interrupcion; tambien cabe destacar que los multiconjuntos se pueden apreciar en casi todos los lenguajes.

Lisbeth dijo...

Los multiconjuntos son colecciones donde se permite la aparición repetida de los elementos.Este también difiere de un conjunto en que cada miembro del mismo tiene asociada una multiplicidad (un número natural), indicando cuántas veces el elemento es miembro del conjunto, Por ejemplo, en el multiconjunto { a, a, b, b, b, c }, las multiplicidades de los miembros a, b, y c son 2, 3, y 1, respectivamente. Este tipo de conjunto lo podemos utilizar en cualquier lenguaje, y como ejemplo podemos decir que en una empresa lo podemos conseguir ya en los computadores regularmente están conectadas en redes esto a su vez se unen en un mismo lugar.

Yusleidy dijo...

Los multiconjuntos son colecciones donde se permite la aparición repetida de los elementos. De forma similar a los conjuntos.
Las operaciones básicas sobre multiconjuntos son extensiones de las correspondientes para conjuntos.