Establecer notación de construcción para pares de elementos coincidentes

tengo un juego de pares S = { a , b 1 , a , b 2 , . . . , a , b norte } dónde a no es único entre los pares.

Si quiero expresar la extracción de todas las instancias de b para una instancia particular de a , como una función, digamos gramo r o tu pag PAG a i r s ( ) . ¿Es correcto lo siguiente?

gramo r o tu pag PAG a i r s ( a ) = { b | a , b S }

¿Qué pasaría si los pares reales no fueran únicos y S es una lista en lugar de un conjunto? ¿Cómo expresaría la misma función (dándome así una lista no única de instancias de b )?

No estoy familiarizado con la notación de creación de conjuntos, pero tal vez podría escribir (torpemente) { ( b , norte ) | ( a , b ) S , norte = | { b | ( a , b ) S } | } . Esta no es una lista, pero el segundo elemento da el número de veces que aparece el primer elemento.
Tenga en cuenta que la pertenencia a un conjunto implica que los elementos aparecen como máximo una vez, por lo que en el presente contexto los pares ordenados ( a , b ) no se repetirá (incluso si la primera coordenada a sucede que se repite). Para obtener repeticiones de los pares ordenados, necesita lo que se llama un conjunto múltiple o (en muchos contextos de programación) una bolsa .
@hardmath Sí. por eso dije S se convierte en una lista y no en un conjunto, puedes verlo como una secuencia. Pero no sé si hay alguna notación matemática elegante para iterar y extraer la lista (o bolsa o lo que sea) de b elementos.
@copper.hat No quiero contar la cantidad de veces. Quiero una lista de los elementos reales. Imagina que es un par de 'apellido' y 'nombre' y estamos extrayendo la lista de 'nombres' con el mismo 'apellido'.
De acuerdo, la lista permite repeticiones, pero también organiza un orden de elementos (secuencia) que parece no querer (aunque no haría una diferencia si todos los elementos fueran iguales).
¿Estás coleccionando los pares o la parte 'b'? Si es lo último, entonces no hay diferencia entre los últimos elementos de (joe, murphy) y (tony, murphy).
@hardmath Bueno, en mi caso particular, el orden no importa (aunque también sería útil aprender a hacerlo con una secuencia, supongo :)). Entonces, sí, la definición correcta es una bolsa o un juego múltiple.
@copper.hat En mi caso particular estoy recopilando la parte 'b'. (En realidad son números que tendré que sumar con pero como tal no está relacionado con este problema). Para usar el ejemplo de apellido y nombre, los pares son ('murphy', 'joe') y ('murphy', 'tony') y quiero ('joe', ' toni'). En el caso S no es un conjunto sino una bolsa, si hay ('murphy', 'joe'),('murphy', 'joe'),('murphy', 'tony') quiero ('joe',' joe', 'tony').
Entonces esto es esencialmente lo mismo que recuperar (('joe',2), ('tony,1)), que es lo que tengo en mi primer comentario. Quiero decir, no hay distinción entre 'joe' y 'joe'.
@copper.hat Lo entiendo ahora... pero si S no es un conjunto, supongo que la notación del generador de conjuntos no es aplicable. ¿Qué usarías en su lugar, si S era un conjunto múltiple?
Piense en un conjunto múltiple como una función del conjunto (o algún conjunto universal adecuado) a los enteros no negativos. (Un conjunto ordinario se puede considerar como una función para { 0 , 1 } .) Entonces, lo que escribí anteriormente es esencialmente un conjunto múltiple. La notación del generador de conjuntos es adecuada, pero un poco engorrosa. Al igual que definir pares ordenados es engorroso.
@copper.hat Gracias. ¿Hay alguna otra notación (menos engorrosa) que pueda usar?
No que yo pueda pensar.

Respuestas (1)

La notación de creación de conjuntos a menudo significa evitar cualquier enumeración explícita de los elementos (hasta la repetición, de alguna manera, en el caso de conjuntos múltiples) dando un predicado que caracteriza los elementos que pertenecen. Estrictamente hablando, esto no puede funcionar para conjuntos múltiples, ya que un predicado se satisface o no (verdadero o falso) al aplicarlo a un elemento.

Lo que se necesitaría es una función, tal como propuso @copper.hat, que asigne un recuento a cada miembro del conjunto subyacente. Una vez que uno se ha arriesgado, también puede dejar que la función misma sea la representación del conjunto múltiple.

Hay una forma de hacer que la enumeración explícita de elementos en una lista sea una representación fiel de un conjunto múltiple, es decir, que no permite la disposición variable de los elementos. Esto es simplemente insistir en una lista ordenada . Esto requiere que el conjunto subyacente (dominio) tenga un criterio de ordenación que sea canónico o, al menos, comprensible por el contexto. Para los apellidos, uno podría hacer la elección obvia del orden lexicográfico .

Al final, lo que hace la mejor elección de representación depende del uso que se le dé a la notación. Un autor necesita que sus lectores puedan analizar la notación con la mínima confusión.

Gracias por tu respuesta. ¿Crees que el símbolo de unión multiset es lo suficientemente claro y popular como para usarlo solo? O necesitaría escribir una oración o incluso definirla (que suma la suma).
Creo que cualquier elección de notación para conjuntos múltiples necesitará una definición en su redacción; no hay opciones que se acepten por consenso, de forma análoga a los corchetes { } o unión para conjuntos. Pero las definiciones son buenas: ¡les dan a los lectores la oportunidad de darse cuenta de que ya no están en Kansas!