Articles of permutación

matriz numpy a matriz de permutación

np.array([1,2,3]) Tengo una matriz de números. Me gustaría convertirlo en una matriz numpy con tuplas de cada permutación 1: 1. Me gusta esto: np.array([ [(1,1),(1,2),(1,3)], [(2,1),(2,2),(2,3)], [(3,1),(3,2),(3,3)], ]) ¿Alguna idea sobre cómo hacer esto de manera eficiente? Necesito hacer esta operación unos cuantos millones de veces.

Algoritmo para encontrar permutación multiset dada el índice lexicográfico

Estoy tratando de encontrar un algoritmo eficiente para encontrar la permutación de un multiset, dado un índice. Ej: dado {1, 3, 3} . Todas las permutaciones en un orden lexicográfico ascendente son {133, 313, 331} . Estos elementos se indexan como {0, 1, 2} . Dado el index=2 , el resultado es 331. Encontré un […]

Todas las formas posibles de intercalar dos cadenas

Estoy tratando de generar todas las formas posibles de intercalar dos cadenas arbitrarias en Python. Por ejemplo: si las dos cadenas son ‘ab’ y ‘cd’ , la salida que deseo obtener es: [‘abcd’, ‘acbd’, ‘acdb’, ‘cabd’, ‘cadb’, ‘cdab’] Ver a es siempre antes de b (y c antes de d ). Estoy luchando para encontrar […]

Generando una lista de repeticiones sin importar el orden.

Quiero generar combinaciones que asocien índices en una lista con “slots”. Por ejemplo, (0, 0, 1) significa que 0 y 1 pertenecen a la misma ranura, mientras que 2 pertenece a otra. (0, 1, 1, 1) significa que 1, 2, 3 pertenecen a la misma ranura, mientras que 0 es solo. En este ejemplo, 0 […]

itertools: producto cartesiano de permutaciones.

Usando pythons itertools , me gustaría crear un iterador sobre el producto externo de todas las permutaciones de un grupo de listas. Un ejemplo explícito: import itertools A = [1,2,3] B = [4,5] C = [6,7] for x in itertools.product(itertools.permutations(A),itertools.permutations(B),itertools.permutations(C)): print x Mientras esto funciona, me gustaría generalizarlo a una lista arbitraria de listas. Lo […]

Permutaciones de Python con restricciones.

Estoy usando python 3 y estoy tratando de encontrar una manera de obtener todas las permutaciones de una lista al tiempo que aplico algunas restricciones. Por ejemplo, tengo una lista L=[1, 2, 3, 4, 5, 6, 7] Quiero encontrar todas las permutaciones. Sin embargo, mis restricciones son: 1 siempre debe venir antes de 2. 3 […]

Generando todas las 5 cartas de manos de poker.

Este problema parece simple a primera vista, pero resulta ser mucho más complicado de lo que parece. Me ha dejado perplejo por el momento. Hay 52c5 = 2,598,960 formas de elegir 5 cartas de un mazo de 52 cartas. Sin embargo, dado que los juegos son intercambiables en el póquer, muchos de ellos son equivalentes […]

Python itertools permutaciones cómo incluir caracteres repetidos

Posible duplicado: Conjunto de potencia y producto cartesiano de un conjunto python. Con Python Itertools.permutations () me gustaría recibir y generar permutaciones con caracteres que se repiten. Por ejemplo, esta es mi función a continuación y su salida actual. def perm(n,i): b = 0 while b < n: n= n -1 from itertools import permutations […]

Python Itertools permutaciones sólo letras y números

Necesito obtener solo las permutaciones que tienen letras y números (La permutación no puede ser. “A, B, C, D” Lo necesito así: “A, B, C, 1”) En resumen, las permutaciones no pueden contener solo letras, no solo números. Debe ser una combinación de ambos. Mi código: import itertools print list(itertools.combinations([0,1,2,3,4,’a’,’b’,’c’,’d’], 4)) Entonces me sale: [(0, […]

Contando combinaciones y permutaciones eficientemente.

Tengo un código para contar permutaciones y combinaciones, y estoy tratando de hacer que funcione mejor para grandes números. He encontrado un mejor algoritmo para permutaciones que evita grandes resultados intermedios, pero aún creo que puedo hacerlo mejor para las combinaciones. Hasta ahora, he puesto un caso especial para reflejar la simetría de nCr, pero […]