遇到一个算法问题,一直不得求解,恳请大神指点!
现有数据:
<code><?php $data = array( array('e', 'l'), array('a', 'e', 'g', 'k', 'o', 'v', 'y'), array('d', 'g', 'l', 'v', 's', 'j', 'r', 'z', 'y', 'e', 'p', 't', 'w', 'q', 'x', 'i', 'f', 'c'), array('c', 'd', 'g', 'i', 'n', 's', 'u'), array('b', 'l', 'q', 'n', 't', 'm', 'p', 'x', 'e', 'k', 'd', 'h', 's', 'f', 'g', 'v', 'z', 'o', 'r', 'j'), array('l', 't', 'u', 'w'), array('c', 'f', 'g', 'h', 'i', 'l', 'n', 'o', 'p', 'q', 'u', 'w', 'y'), array('b', 'd', 'e', 'f', 'g', 'i', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'y'), array('g', 'a', 's', 'z', 'd', 'w', 'k', 'n', 'h', 'b', 'r'), array('j', 'g', 'c', 'u', 'h', 'o', 'w', 'z', 's', 'f', 'e', 'x', 'i', 'k', 'r', 'a', 'y', 't', 'l', 'p', 'q', 'v', 'n', 'b'), array('a', 'b', 'g', 'h', 'j', 'k', 'l', 'o', 'p', 'v', 'w', 'x'), array('m', 'q', 't', 'e', 'w', 'n', 'l', 'j', 'v', 'x', 'h', 'p', 'b', 'a', 'g', 'f', 'z', 'c', 'd', 'k', 'u', 'o', 's', 'r', 'y', 'i'), array('k', 'n', 'p', 'r'), array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'n', 'o', 'p', 'q', 'r', 'v', 'x', 'y'), array('j', 'k', 'p', 'z', 'g', 'c'), array('j', 'c', 'q', 'x', 'z', 'u', 'r', 't', 'm', 'l', 'f', 'n', 'h', 'y', 'w', 'p', 'd', 'k', 'b', 'i', 'a', 'o', 'e'), array('a', 'b', 'c', 'd', 'e', 'h', 'j', 'n', 'p', 'q'), array('a', 'c', 'd', 'e', 'h', 'i', 'j', 'p', 'q', 'r', 'y'), array('m', 'a', 'c', 'p', 't', 'z', 'd', 'u', 'l', 'f'), array('b', 'q', 't', 'u', 'w'), array('f', 'k', 'o', 'r'), array('y', 'n', 'l', 't', 'b', 'j', 'f', 'i', 'k', 'd', 'r', 'o', 'g', 'v', 'c', 'a', 'm', 'w', 'z'), array('q', 'u', 's', 'p', 'o', 'g', 'h', 'l', 'j', 'y', 'z', 'b'), array('c', 'y', 'j', 'v', 'a', 'g', 'f', 'l', 'm', 'z', 'o', 'e', 'u', 'q', 'k', 'n'), array('e', 'y', 'i', 'z', 'g', 'x', 'd', 's', 'h', 'w', 'j', 'b', 'm', 'v', 'u', 'a', 'k', 'n', 'r', 'q', 'p', 'f', 'o', 't', 'c'), array('a', 'c', 'd', 'e', 'f', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 'u', 'v', 'w', 'x', 'y'), array('b', 'g', 'h', 'i', 'j', 'l', 'm', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y'), array('n', 'b', 'c', 'i', 'o', 'k', 'g', 's', 'e', 't', 'w', 'z', 'a', 'l', 'j', 'u', 'h'), array('a', 'd', 'i', 'k', 'r', 'y'), array('e', 'f', 'g', 'j', 'l', 'n', 'o', 'r', 't', 'u', 'w', 'x'), array('t', 's', 'n', 'f', 'w', 'm', 'u', 'l', 'o', 'z', 'g', 'y', 'a', 'j', 'q', 'v', 'h', 'k', 'c', 'd'), array('q', 'g', 'b', 'p', 'z', 'i', 's', 'm', 'k', 'c', 'y', 'w', 'e', 'h'), array('h', 'x', 'r', 'e', 'f', 'b', 'd', 'n', 's', 'j', 'k', 'a', 'p', 'z', 'm', 'o', 'y', 'v', 'c', 'w', 't', 'g', 'u'), array('d', 'e', 'h', 'm', 'p'), array('u', 'm', 'd', 'k', 't', 'l', 'y', 'o', 'e', 'x', 'z', 'w', 'g', 'h', 'i', 'v', 'j', 'f', 'p', 'a', 'q', 'c', 'b', 'n', 's', 'r'), array('g', 'l', 's', 'y'), array('w', 'j', 'u', 's', 'h', 'i', 'z', 'o', 'm', 'r', 'v'), array('f', 'o', 'q', 'h', 'x', 's', 'w', 'g', 'p', 'd', 'l', 'j', 'k', 'c', 'n', 'e', 'i', 'z', 't', 'y', 'b', 'm'), array('n', 't', 'h', 'v', 'i', 'j', 'g', 'u', 'x', 'z', 'c', 'k'), array('h', 'e', 'r', 'z', 'w', 's', 'b'), array('k', 'i', 'w', 'm', 'g', 'a', 'r', 'n', 'y', 'x', 't', 'v', 'h', 'b', 'e', 'd', 'j', 'f', 'u', 'q', 's', 'p', 'c', 'z', 'o', 'l'), array('a', 'c', 'd', 'h', 'i', 'k', 'p', 'r', 'v', 'w', 'y'), array('m', 'a', 'n', 't', 'i', 'u', 'h', 'd', 'b', 'v', 'x', 'z', 'w', 'g', 's', 'y', 'j', 'l', 'e', 'o', 'c'), array('y', 't', 'r', 'w', 'n', 'u', 'z'), array('z', 'b', 'q', 'i', 'm', 'v', 't', 'h', 'a', 'k', 'e', 'o', 'w', 'f', 's', 'g', 'l', 'd', 'y', 'n', 'c', 'x', 'r', 'p', 'u', 'j'), array('b', 'c', 'e', 'h', 'k', 'l', 'n', 'o', 'p', 'q', 'v'), array('a', 'e', 'h', 'k', 'n', 'p', 'q', 'r', 't', 'x', 'y'), array('j', 'u', 'v', 'm', 'g', 'l', 'f', 'z', 'a', 'd', 'n', 'b', 'h', 'q', 'c', 'y', 'w'), array('g', 'j', 'r', 'u'), array('c', 'd', 'e', 'h', 'i', 'k', 'l', 'o', 'p', 'q', 'r', 'u', 'v', 'y'), array('y', 't', 'u', 'n', 'f', 'z', 'r', 'c', 'i', 'v', 'o', 'j', 'g', 'p', 'b', 'h', 'w', 'm', 'e', 'k', 'l', 's', 'd', 'q'), array('d', 'f', 'g', 'i', 'j', 'o', 'q', 'u', 'x'), array('a', 'b', 'c', 'e', 'f', 'g', 'h', 'i', 'k', 'l', 'p', 'q', 't', 'u', 'x'), array('p', 'u', 'r', 'y', 'v', 'l', 'b', 'n', 'z', 'k', 'q', 'm', 'a', 't', 'e', 'c'), array('k', 'j', 'x', 'v', 'p', 'd', 't', 'f', 'l', 's', 'c', 'z', 'b'), array('j', 'm', 't', 'e', 'v', 'u', 'k', 'w', 'c', 'b', 'q', 'y', 'o', 'i', 'p', 'h', 'g', 'z', 'd', 's', 'f', 'l', 'r', 'n'), array('a', 'r', 's'), array('n', 'd', 'e', 'g', 'r', 's', 'o', 'm', 'j', 'v', 't', 'x', 'z', 'a', 'i', 'y', 'f', 'k', 'h'), array('b', 'x', 'k', 'j', 'o', 'g', 'm', 'c', 'i', 'q', 'r', 'h', 'e', 'p', 'w', 'a', 'd', 'v', 'z'), array('x', 'o', 'l', 'z', 'j', 'h', 'y', 'g', 'k', 'u', 'p', 's', 'v', 'q', 'm', 'a', 'n', 'i', 't', 'b', 'e', 'd', 'c', 'f', 'r'), array('h', 'i', 'm', 'o', 'x', 'y'), array('m', 'y', 'n', 'p', 'l', 'e', 'o', 't', 'r', 'q', 'v', 'd', 'z'), array('a', 'c', 'd', 'f', 'g', 'h', 'i', 'j', 'k', 'o', 'p', 'q', 's', 'u', 'w', 'x'), array('a', 'd', 'h', 'i', 'j', 'l', 'm', 'n', 'o', 'r', 's', 'w', 'x', 'y'), array('f', 'k', 'l', 'y', 'p', 'e', 'n', 'j', 'v', 's', 't', 'm', 'd', 'x', 'z', 'r', 'i'), array('e', 'y', 'v', 't', 'x', 'r', 'k', 'n', 'p', 'm', 'i', 'z', 'j', 'l', 'c', 'g'), array('x', 'z', 'r', 'c', 'n', 'q', 'h', 'j', 'a', 'l'), array('p', 'z', 'x', 'm', 'r'), array('s', 'r', 'x', 'l', 'b', 'e', 't', 'g', 'y', 'w', 'm', 'z', 'o', 'a', 'v', 'i', 'q', 'd', 'p', 'c'), array('s', 'g', 'u', 'd', 'n', 'm', 't', 'a', 'y', 'x', 'w', 'v', 'r', 'l', 'f', 'z', 'q', 'j', 'k', 'e', 'p', 'h', 'b'), array('h', 'y', 'j', 'o', 'k', 'z', 'e', 'a', 'r', 'f', 'c'), array('z', 'm', 's'), array('c', 'd', 'e', 'f', 'g', 'j', 'l', 'm', 'o', 'q', 'r', 's', 't', 'u', 'v'), array('w', 'c', 'q', 'j', 'i', 'b', 'v', 'a', 'k', 'z', 'm', 'g', 'n', 'l', 's', 'd', 'u', 't', 'e', 'f', 'r', 'x'), array('a', 'o', 'k', 'd', 'm', 'q', 'p', 'e', 'r', 's', 'z', 'y'), array('a', 'c', 'f', 'g', 'h', 'j', 'n', 'q', 'r', 'u', 'x'), array('x', 'z', 'd', 's', 'f', 'i', 'e', 'h', 'c', 'j'), array('h', 'i', 'y'), array('z', 's', 'm', 'i', 'o', 'c', 'd', 'j', 'f', 't', 'p', 'h', 'q', 'x', 'r', 'e', 'k'), array('t', 'b', 'f', 'q', 'c', 'i', 'd', 'v', 'm', 'k', 'n', 's', 'e', 'p', 'x', 'h', 'z', 'y', 'r'), array('c', 'j', 'l', 'o', 'r'), array('z', 'd'), array('z', 'o', 'e', 'y', 'b', 'd', 'l', 'w', 'v'), array('k', 'd', 'z', 'o', 'm', 'c', 'i', 'n', 'p', 'x', 'e', 'y', 'w', 'b', 'f', 'h', 'r', 'g', 'q', 's', 'v'), array('k', 's'), array('o', 'g', 'z', 'b', 'm', 'n', 'u', 'w', 'q', 's', 't', 'i', 'c', 'h', 'd', 'x', 'f', 'y', 'a', 'k'), array('a', 'b', 'c', 'd', 'e', 'f', 'h', 'i', 'j', 'k', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x'), array('a', 'x', 't', 'm', 'l', 'i', 'v', 'd', 'y', 'n', 'q', 'o', 'h', 's', 'c', 'b', 'g', 'u', 'z', 'e', 'k', 'j', 'p'), array('j', 'k', 'p', 'z', 'u', 'q', 'n', 't', 'm', 'f', 'i', 'h', 'l', 'c', 'x', 'a', 'e', 'v', 'b', 's', 'r', 'y', 'w', 'd', 'g', 'o'), array('l', 'm', 'v', 'y'), array('c', 'f', 'h', 'i', 'j', 'n', 'p', 'q', 's', 't', 'w', 'x'), array('d', 'm', 's'), array('h', 'w', 'x', 'u', 'e', 'r', 'd', 'i', 'k', 'j', 'a', 'l', 'g', 'y', 'b', 'f', 't', 'n', 'o', 's', 'q', 'z', 'm', 'v'), array('f', 'y'), array('d', 'f', 'i', 'p', 'u'), array('a', 'b', 'j', 'm', 'r'), array('n', 'h', 'd', 'z', 'e', 'v', 'x', 'j', 'f', 'b', 'q', 'r', 'y', 'c', 'w', 'k', 'm'), array('x', 'y', 'q', 'h', 'w', 'r', 's', 'g', 'j', 'z', 'e', 'v', 'u', 'p'), array('h', 'w', 'm', 'l', 'f', 'p', 'a', 'v', 'b', 'q', 'g', 'y', 'c', 'u', 'r', 't', 'j', 'o', 'k', 'z', 'x', 'n', 'e', 'i', 's'), array('i', 'u'), ); $times = array( 'a' => 29, 'b' => 11, 'c' => 33, 'd' => 84, 'e' => 46, 'f' => 67, 'g' => 19, 'h' => 18, 'i' => 88, 'j' => 8, 'k' => 54, 'l' => 86, 'm' => 88, 'n' => 29, 'o' => 96, 'p' => 1, 'q' => 4, 'r' => 100, 's' => 89, 't' => 44, 'u' => 53, 'v' => 68, 'w' => 12, 'x' => 54, 'y' => 23, 'z' => 78, ); ?></code>
其中$data包含100组数据,每组数据由字母组成,数量和内容都是随机的。
其中$times是每个字母出现的次数。
现在需要从$data中取20组数据,使这20组数据排重过滤后组成的新数据中,所有字母出现次数总和最小(相比于其他的可能的组合)。
穷举法比较的路子走不通,因为从100组数据中取所有20组数据可能的组合,这个数据量太大。
请问,应该如何获取?
回复内容:
遇到一个算法问题,一直不得求解,恳请大神指点!
现有数据:
<code><?php $data = array( array('e', 'l'), array('a', 'e', 'g', 'k', 'o', 'v', 'y'), array('d', 'g', 'l', 'v', 's', 'j', 'r', 'z', 'y', 'e', 'p', 't', 'w', 'q', 'x', 'i', 'f', 'c'), array('c', 'd', 'g', 'i', 'n', 's', 'u'), array('b', 'l', 'q', 'n', 't', 'm', 'p', 'x', 'e', 'k', 'd', 'h', 's', 'f', 'g', 'v', 'z', 'o', 'r', 'j'), array('l', 't', 'u', 'w'), array('c', 'f', 'g', 'h', 'i', 'l', 'n', 'o', 'p', 'q', 'u', 'w', 'y'), array('b', 'd', 'e', 'f', 'g', 'i', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'y'), array('g', 'a', 's', 'z', 'd', 'w', 'k', 'n', 'h', 'b', 'r'), array('j', 'g', 'c', 'u', 'h', 'o', 'w', 'z', 's', 'f', 'e', 'x', 'i', 'k', 'r', 'a', 'y', 't', 'l', 'p', 'q', 'v', 'n', 'b'), array('a', 'b', 'g', 'h', 'j', 'k', 'l', 'o', 'p', 'v', 'w', 'x'), array('m', 'q', 't', 'e', 'w', 'n', 'l', 'j', 'v', 'x', 'h', 'p', 'b', 'a', 'g', 'f', 'z', 'c', 'd', 'k', 'u', 'o', 's', 'r', 'y', 'i'), array('k', 'n', 'p', 'r'), array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'n', 'o', 'p', 'q', 'r', 'v', 'x', 'y'), array('j', 'k', 'p', 'z', 'g', 'c'), array('j', 'c', 'q', 'x', 'z', 'u', 'r', 't', 'm', 'l', 'f', 'n', 'h', 'y', 'w', 'p', 'd', 'k', 'b', 'i', 'a', 'o', 'e'), array('a', 'b', 'c', 'd', 'e', 'h', 'j', 'n', 'p', 'q'), array('a', 'c', 'd', 'e', 'h', 'i', 'j', 'p', 'q', 'r', 'y'), array('m', 'a', 'c', 'p', 't', 'z', 'd', 'u', 'l', 'f'), array('b', 'q', 't', 'u', 'w'), array('f', 'k', 'o', 'r'), array('y', 'n', 'l', 't', 'b', 'j', 'f', 'i', 'k', 'd', 'r', 'o', 'g', 'v', 'c', 'a', 'm', 'w', 'z'), array('q', 'u', 's', 'p', 'o', 'g', 'h', 'l', 'j', 'y', 'z', 'b'), array('c', 'y', 'j', 'v', 'a', 'g', 'f', 'l', 'm', 'z', 'o', 'e', 'u', 'q', 'k', 'n'), array('e', 'y', 'i', 'z', 'g', 'x', 'd', 's', 'h', 'w', 'j', 'b', 'm', 'v', 'u', 'a', 'k', 'n', 'r', 'q', 'p', 'f', 'o', 't', 'c'), array('a', 'c', 'd', 'e', 'f', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 'u', 'v', 'w', 'x', 'y'), array('b', 'g', 'h', 'i', 'j', 'l', 'm', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y'), array('n', 'b', 'c', 'i', 'o', 'k', 'g', 's', 'e', 't', 'w', 'z', 'a', 'l', 'j', 'u', 'h'), array('a', 'd', 'i', 'k', 'r', 'y'), array('e', 'f', 'g', 'j', 'l', 'n', 'o', 'r', 't', 'u', 'w', 'x'), array('t', 's', 'n', 'f', 'w', 'm', 'u', 'l', 'o', 'z', 'g', 'y', 'a', 'j', 'q', 'v', 'h', 'k', 'c', 'd'), array('q', 'g', 'b', 'p', 'z', 'i', 's', 'm', 'k', 'c', 'y', 'w', 'e', 'h'), array('h', 'x', 'r', 'e', 'f', 'b', 'd', 'n', 's', 'j', 'k', 'a', 'p', 'z', 'm', 'o', 'y', 'v', 'c', 'w', 't', 'g', 'u'), array('d', 'e', 'h', 'm', 'p'), array('u', 'm', 'd', 'k', 't', 'l', 'y', 'o', 'e', 'x', 'z', 'w', 'g', 'h', 'i', 'v', 'j', 'f', 'p', 'a', 'q', 'c', 'b', 'n', 's', 'r'), array('g', 'l', 's', 'y'), array('w', 'j', 'u', 's', 'h', 'i', 'z', 'o', 'm', 'r', 'v'), array('f', 'o', 'q', 'h', 'x', 's', 'w', 'g', 'p', 'd', 'l', 'j', 'k', 'c', 'n', 'e', 'i', 'z', 't', 'y', 'b', 'm'), array('n', 't', 'h', 'v', 'i', 'j', 'g', 'u', 'x', 'z', 'c', 'k'), array('h', 'e', 'r', 'z', 'w', 's', 'b'), array('k', 'i', 'w', 'm', 'g', 'a', 'r', 'n', 'y', 'x', 't', 'v', 'h', 'b', 'e', 'd', 'j', 'f', 'u', 'q', 's', 'p', 'c', 'z', 'o', 'l'), array('a', 'c', 'd', 'h', 'i', 'k', 'p', 'r', 'v', 'w', 'y'), array('m', 'a', 'n', 't', 'i', 'u', 'h', 'd', 'b', 'v', 'x', 'z', 'w', 'g', 's', 'y', 'j', 'l', 'e', 'o', 'c'), array('y', 't', 'r', 'w', 'n', 'u', 'z'), array('z', 'b', 'q', 'i', 'm', 'v', 't', 'h', 'a', 'k', 'e', 'o', 'w', 'f', 's', 'g', 'l', 'd', 'y', 'n', 'c', 'x', 'r', 'p', 'u', 'j'), array('b', 'c', 'e', 'h', 'k', 'l', 'n', 'o', 'p', 'q', 'v'), array('a', 'e', 'h', 'k', 'n', 'p', 'q', 'r', 't', 'x', 'y'), array('j', 'u', 'v', 'm', 'g', 'l', 'f', 'z', 'a', 'd', 'n', 'b', 'h', 'q', 'c', 'y', 'w'), array('g', 'j', 'r', 'u'), array('c', 'd', 'e', 'h', 'i', 'k', 'l', 'o', 'p', 'q', 'r', 'u', 'v', 'y'), array('y', 't', 'u', 'n', 'f', 'z', 'r', 'c', 'i', 'v', 'o', 'j', 'g', 'p', 'b', 'h', 'w', 'm', 'e', 'k', 'l', 's', 'd', 'q'), array('d', 'f', 'g', 'i', 'j', 'o', 'q', 'u', 'x'), array('a', 'b', 'c', 'e', 'f', 'g', 'h', 'i', 'k', 'l', 'p', 'q', 't', 'u', 'x'), array('p', 'u', 'r', 'y', 'v', 'l', 'b', 'n', 'z', 'k', 'q', 'm', 'a', 't', 'e', 'c'), array('k', 'j', 'x', 'v', 'p', 'd', 't', 'f', 'l', 's', 'c', 'z', 'b'), array('j', 'm', 't', 'e', 'v', 'u', 'k', 'w', 'c', 'b', 'q', 'y', 'o', 'i', 'p', 'h', 'g', 'z', 'd', 's', 'f', 'l', 'r', 'n'), array('a', 'r', 's'), array('n', 'd', 'e', 'g', 'r', 's', 'o', 'm', 'j', 'v', 't', 'x', 'z', 'a', 'i', 'y', 'f', 'k', 'h'), array('b', 'x', 'k', 'j', 'o', 'g', 'm', 'c', 'i', 'q', 'r', 'h', 'e', 'p', 'w', 'a', 'd', 'v', 'z'), array('x', 'o', 'l', 'z', 'j', 'h', 'y', 'g', 'k', 'u', 'p', 's', 'v', 'q', 'm', 'a', 'n', 'i', 't', 'b', 'e', 'd', 'c', 'f', 'r'), array('h', 'i', 'm', 'o', 'x', 'y'), array('m', 'y', 'n', 'p', 'l', 'e', 'o', 't', 'r', 'q', 'v', 'd', 'z'), array('a', 'c', 'd', 'f', 'g', 'h', 'i', 'j', 'k', 'o', 'p', 'q', 's', 'u', 'w', 'x'), array('a', 'd', 'h', 'i', 'j', 'l', 'm', 'n', 'o', 'r', 's', 'w', 'x', 'y'), array('f', 'k', 'l', 'y', 'p', 'e', 'n', 'j', 'v', 's', 't', 'm', 'd', 'x', 'z', 'r', 'i'), array('e', 'y', 'v', 't', 'x', 'r', 'k', 'n', 'p', 'm', 'i', 'z', 'j', 'l', 'c', 'g'), array('x', 'z', 'r', 'c', 'n', 'q', 'h', 'j', 'a', 'l'), array('p', 'z', 'x', 'm', 'r'), array('s', 'r', 'x', 'l', 'b', 'e', 't', 'g', 'y', 'w', 'm', 'z', 'o', 'a', 'v', 'i', 'q', 'd', 'p', 'c'), array('s', 'g', 'u', 'd', 'n', 'm', 't', 'a', 'y', 'x', 'w', 'v', 'r', 'l', 'f', 'z', 'q', 'j', 'k', 'e', 'p', 'h', 'b'), array('h', 'y', 'j', 'o', 'k', 'z', 'e', 'a', 'r', 'f', 'c'), array('z', 'm', 's'), array('c', 'd', 'e', 'f', 'g', 'j', 'l', 'm', 'o', 'q', 'r', 's', 't', 'u', 'v'), array('w', 'c', 'q', 'j', 'i', 'b', 'v', 'a', 'k', 'z', 'm', 'g', 'n', 'l', 's', 'd', 'u', 't', 'e', 'f', 'r', 'x'), array('a', 'o', 'k', 'd', 'm', 'q', 'p', 'e', 'r', 's', 'z', 'y'), array('a', 'c', 'f', 'g', 'h', 'j', 'n', 'q', 'r', 'u', 'x'), array('x', 'z', 'd', 's', 'f', 'i', 'e', 'h', 'c', 'j'), array('h', 'i', 'y'), array('z', 's', 'm', 'i', 'o', 'c', 'd', 'j', 'f', 't', 'p', 'h', 'q', 'x', 'r', 'e', 'k'), array('t', 'b', 'f', 'q', 'c', 'i', 'd', 'v', 'm', 'k', 'n', 's', 'e', 'p', 'x', 'h', 'z', 'y', 'r'), array('c', 'j', 'l', 'o', 'r'), array('z', 'd'), array('z', 'o', 'e', 'y', 'b', 'd', 'l', 'w', 'v'), array('k', 'd', 'z', 'o', 'm', 'c', 'i', 'n', 'p', 'x', 'e', 'y', 'w', 'b', 'f', 'h', 'r', 'g', 'q', 's', 'v'), array('k', 's'), array('o', 'g', 'z', 'b', 'm', 'n', 'u', 'w', 'q', 's', 't', 'i', 'c', 'h', 'd', 'x', 'f', 'y', 'a', 'k'), array('a', 'b', 'c', 'd', 'e', 'f', 'h', 'i', 'j', 'k', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x'), array('a', 'x', 't', 'm', 'l', 'i', 'v', 'd', 'y', 'n', 'q', 'o', 'h', 's', 'c', 'b', 'g', 'u', 'z', 'e', 'k', 'j', 'p'), array('j', 'k', 'p', 'z', 'u', 'q', 'n', 't', 'm', 'f', 'i', 'h', 'l', 'c', 'x', 'a', 'e', 'v', 'b', 's', 'r', 'y', 'w', 'd', 'g', 'o'), array('l', 'm', 'v', 'y'), array('c', 'f', 'h', 'i', 'j', 'n', 'p', 'q', 's', 't', 'w', 'x'), array('d', 'm', 's'), array('h', 'w', 'x', 'u', 'e', 'r', 'd', 'i', 'k', 'j', 'a', 'l', 'g', 'y', 'b', 'f', 't', 'n', 'o', 's', 'q', 'z', 'm', 'v'), array('f', 'y'), array('d', 'f', 'i', 'p', 'u'), array('a', 'b', 'j', 'm', 'r'), array('n', 'h', 'd', 'z', 'e', 'v', 'x', 'j', 'f', 'b', 'q', 'r', 'y', 'c', 'w', 'k', 'm'), array('x', 'y', 'q', 'h', 'w', 'r', 's', 'g', 'j', 'z', 'e', 'v', 'u', 'p'), array('h', 'w', 'm', 'l', 'f', 'p', 'a', 'v', 'b', 'q', 'g', 'y', 'c', 'u', 'r', 't', 'j', 'o', 'k', 'z', 'x', 'n', 'e', 'i', 's'), array('i', 'u'), ); $times = array( 'a' => 29, 'b' => 11, 'c' => 33, 'd' => 84, 'e' => 46, 'f' => 67, 'g' => 19, 'h' => 18, 'i' => 88, 'j' => 8, 'k' => 54, 'l' => 86, 'm' => 88, 'n' => 29, 'o' => 96, 'p' => 1, 'q' => 4, 'r' => 100, 's' => 89, 't' => 44, 'u' => 53, 'v' => 68, 'w' => 12, 'x' => 54, 'y' => 23, 'z' => 78, ); ?></code>
其中$data包含100组数据,每组数据由字母组成,数量和内容都是随机的。
其中$times是每个字母出现的次数。
现在需要从$data中取20组数据,使这20组数据排重过滤后组成的新数据中,所有字母出现次数总和最小(相比于其他的可能的组合)。
穷举法比较的路子走不通,因为从100组数据中取所有20组数据可能的组合,这个数据量太大。
请问,应该如何获取?
<code><?php $startMemoryUsage = memory_get_usage(); $startTimeStamp = microtime(true); $data = array( array('e', 'l'), array('a', 'e', 'g', 'k', 'o', 'v', 'y'), array('d', 'g', 'l', 'v', 's', 'j', 'r', 'z', 'y', 'e', 'p', 't', 'w', 'q', 'x', 'i', 'f', 'c'), array('c', 'd', 'g', 'i', 'n', 's', 'u'), array('b', 'l', 'q', 'n', 't', 'm', 'p', 'x', 'e', 'k', 'd', 'h', 's', 'f', 'g', 'v', 'z', 'o', 'r', 'j'), array('l', 't', 'u', 'w'), array('c', 'f', 'g', 'h', 'i', 'l', 'n', 'o', 'p', 'q', 'u', 'w', 'y'), array('b', 'd', 'e', 'f', 'g', 'i', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'y'), array('g', 'a', 's', 'z', 'd', 'w', 'k', 'n', 'h', 'b', 'r'), array('j', 'g', 'c', 'u', 'h', 'o', 'w', 'z', 's', 'f', 'e', 'x', 'i', 'k', 'r', 'a', 'y', 't', 'l', 'p', 'q', 'v', 'n', 'b'), array('a', 'b', 'g', 'h', 'j', 'k', 'l', 'o', 'p', 'v', 'w', 'x'), array('m', 'q', 't', 'e', 'w', 'n', 'l', 'j', 'v', 'x', 'h', 'p', 'b', 'a', 'g', 'f', 'z', 'c', 'd', 'k', 'u', 'o', 's', 'r', 'y', 'i'), array('k', 'n', 'p', 'r'), array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'n', 'o', 'p', 'q', 'r', 'v', 'x', 'y'), array('j', 'k', 'p', 'z', 'g', 'c'), array('j', 'c', 'q', 'x', 'z', 'u', 'r', 't', 'm', 'l', 'f', 'n', 'h', 'y', 'w', 'p', 'd', 'k', 'b', 'i', 'a', 'o', 'e'), array('a', 'b', 'c', 'd', 'e', 'h', 'j', 'n', 'p', 'q'), array('a', 'c', 'd', 'e', 'h', 'i', 'j', 'p', 'q', 'r', 'y'), array('m', 'a', 'c', 'p', 't', 'z', 'd', 'u', 'l', 'f'), array('b', 'q', 't', 'u', 'w'), array('f', 'k', 'o', 'r'), array('y', 'n', 'l', 't', 'b', 'j', 'f', 'i', 'k', 'd', 'r', 'o', 'g', 'v', 'c', 'a', 'm', 'w', 'z'), array('q', 'u', 's', 'p', 'o', 'g', 'h', 'l', 'j', 'y', 'z', 'b'), array('c', 'y', 'j', 'v', 'a', 'g', 'f', 'l', 'm', 'z', 'o', 'e', 'u', 'q', 'k', 'n'), array('e', 'y', 'i', 'z', 'g', 'x', 'd', 's', 'h', 'w', 'j', 'b', 'm', 'v', 'u', 'a', 'k', 'n', 'r', 'q', 'p', 'f', 'o', 't', 'c'), array('a', 'c', 'd', 'e', 'f', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', 'r', 's', 'u', 'v', 'w', 'x', 'y'), array('b', 'g', 'h', 'i', 'j', 'l', 'm', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y'), array('n', 'b', 'c', 'i', 'o', 'k', 'g', 's', 'e', 't', 'w', 'z', 'a', 'l', 'j', 'u', 'h'), array('a', 'd', 'i', 'k', 'r', 'y'), array('e', 'f', 'g', 'j', 'l', 'n', 'o', 'r', 't', 'u', 'w', 'x'), array('t', 's', 'n', 'f', 'w', 'm', 'u', 'l', 'o', 'z', 'g', 'y', 'a', 'j', 'q', 'v', 'h', 'k', 'c', 'd'), array('q', 'g', 'b', 'p', 'z', 'i', 's', 'm', 'k', 'c', 'y', 'w', 'e', 'h'), array('h', 'x', 'r', 'e', 'f', 'b', 'd', 'n', 's', 'j', 'k', 'a', 'p', 'z', 'm', 'o', 'y', 'v', 'c', 'w', 't', 'g', 'u'), array('d', 'e', 'h', 'm', 'p'), array('u', 'm', 'd', 'k', 't', 'l', 'y', 'o', 'e', 'x', 'z', 'w', 'g', 'h', 'i', 'v', 'j', 'f', 'p', 'a', 'q', 'c', 'b', 'n', 's', 'r'), array('g', 'l', 's', 'y'), array('w', 'j', 'u', 's', 'h', 'i', 'z', 'o', 'm', 'r', 'v'), array('f', 'o', 'q', 'h', 'x', 's', 'w', 'g', 'p', 'd', 'l', 'j', 'k', 'c', 'n', 'e', 'i', 'z', 't', 'y', 'b', 'm'), array('n', 't', 'h', 'v', 'i', 'j', 'g', 'u', 'x', 'z', 'c', 'k'), array('h', 'e', 'r', 'z', 'w', 's', 'b'), array('k', 'i', 'w', 'm', 'g', 'a', 'r', 'n', 'y', 'x', 't', 'v', 'h', 'b', 'e', 'd', 'j', 'f', 'u', 'q', 's', 'p', 'c', 'z', 'o', 'l'), array('a', 'c', 'd', 'h', 'i', 'k', 'p', 'r', 'v', 'w', 'y'), array('m', 'a', 'n', 't', 'i', 'u', 'h', 'd', 'b', 'v', 'x', 'z', 'w', 'g', 's', 'y', 'j', 'l', 'e', 'o', 'c'), array('y', 't', 'r', 'w', 'n', 'u', 'z'), array('z', 'b', 'q', 'i', 'm', 'v', 't', 'h', 'a', 'k', 'e', 'o', 'w', 'f', 's', 'g', 'l', 'd', 'y', 'n', 'c', 'x', 'r', 'p', 'u', 'j'), array('b', 'c', 'e', 'h', 'k', 'l', 'n', 'o', 'p', 'q', 'v'), array('a', 'e', 'h', 'k', 'n', 'p', 'q', 'r', 't', 'x', 'y'), array('j', 'u', 'v', 'm', 'g', 'l', 'f', 'z', 'a', 'd', 'n', 'b', 'h', 'q', 'c', 'y', 'w'), array('g', 'j', 'r', 'u'), array('c', 'd', 'e', 'h', 'i', 'k', 'l', 'o', 'p', 'q', 'r', 'u', 'v', 'y'), array('y', 't', 'u', 'n', 'f', 'z', 'r', 'c', 'i', 'v', 'o', 'j', 'g', 'p', 'b', 'h', 'w', 'm', 'e', 'k', 'l', 's', 'd', 'q'), array('d', 'f', 'g', 'i', 'j', 'o', 'q', 'u', 'x'), array('a', 'b', 'c', 'e', 'f', 'g', 'h', 'i', 'k', 'l', 'p', 'q', 't', 'u', 'x'), array('p', 'u', 'r', 'y', 'v', 'l', 'b', 'n', 'z', 'k', 'q', 'm', 'a', 't', 'e', 'c'), array('k', 'j', 'x', 'v', 'p', 'd', 't', 'f', 'l', 's', 'c', 'z', 'b'), array('j', 'm', 't', 'e', 'v', 'u', 'k', 'w', 'c', 'b', 'q', 'y', 'o', 'i', 'p', 'h', 'g', 'z', 'd', 's', 'f', 'l', 'r', 'n'), array('a', 'r', 's'), array('n', 'd', 'e', 'g', 'r', 's', 'o', 'm', 'j', 'v', 't', 'x', 'z', 'a', 'i', 'y', 'f', 'k', 'h'), array('b', 'x', 'k', 'j', 'o', 'g', 'm', 'c', 'i', 'q', 'r', 'h', 'e', 'p', 'w', 'a', 'd', 'v', 'z'), array('x', 'o', 'l', 'z', 'j', 'h', 'y', 'g', 'k', 'u', 'p', 's', 'v', 'q', 'm', 'a', 'n', 'i', 't', 'b', 'e', 'd', 'c', 'f', 'r'), array('h', 'i', 'm', 'o', 'x', 'y'), array('m', 'y', 'n', 'p', 'l', 'e', 'o', 't', 'r', 'q', 'v', 'd', 'z'), array('a', 'c', 'd', 'f', 'g', 'h', 'i', 'j', 'k', 'o', 'p', 'q', 's', 'u', 'w', 'x'), array('a', 'd', 'h', 'i', 'j', 'l', 'm', 'n', 'o', 'r', 's', 'w', 'x', 'y'), array('f', 'k', 'l', 'y', 'p', 'e', 'n', 'j', 'v', 's', 't', 'm', 'd', 'x', 'z', 'r', 'i'), array('e', 'y', 'v', 't', 'x', 'r', 'k', 'n', 'p', 'm', 'i', 'z', 'j', 'l', 'c', 'g'), array('x', 'z', 'r', 'c', 'n', 'q', 'h', 'j', 'a', 'l'), array('p', 'z', 'x', 'm', 'r'), array('s', 'r', 'x', 'l', 'b', 'e', 't', 'g', 'y', 'w', 'm', 'z', 'o', 'a', 'v', 'i', 'q', 'd', 'p', 'c'), array('s', 'g', 'u', 'd', 'n', 'm', 't', 'a', 'y', 'x', 'w', 'v', 'r', 'l', 'f', 'z', 'q', 'j', 'k', 'e', 'p', 'h', 'b'), array('h', 'y', 'j', 'o', 'k', 'z', 'e', 'a', 'r', 'f', 'c'), array('z', 'm', 's'), array('c', 'd', 'e', 'f', 'g', 'j', 'l', 'm', 'o', 'q', 'r', 's', 't', 'u', 'v'), array('w', 'c', 'q', 'j', 'i', 'b', 'v', 'a', 'k', 'z', 'm', 'g', 'n', 'l', 's', 'd', 'u', 't', 'e', 'f', 'r', 'x'), array('a', 'o', 'k', 'd', 'm', 'q', 'p', 'e', 'r', 's', 'z', 'y'), array('a', 'c', 'f', 'g', 'h', 'j', 'n', 'q', 'r', 'u', 'x'), array('x', 'z', 'd', 's', 'f', 'i', 'e', 'h', 'c', 'j'), array('h', 'i', 'y'), array('z', 's', 'm', 'i', 'o', 'c', 'd', 'j', 'f', 't', 'p', 'h', 'q', 'x', 'r', 'e', 'k'), array('t', 'b', 'f', 'q', 'c', 'i', 'd', 'v', 'm', 'k', 'n', 's', 'e', 'p', 'x', 'h', 'z', 'y', 'r'), array('c', 'j', 'l', 'o', 'r'), array('z', 'd'), array('z', 'o', 'e', 'y', 'b', 'd', 'l', 'w', 'v'), array('k', 'd', 'z', 'o', 'm', 'c', 'i', 'n', 'p', 'x', 'e', 'y', 'w', 'b', 'f', 'h', 'r', 'g', 'q', 's', 'v'), array('k', 's'), array('o', 'g', 'z', 'b', 'm', 'n', 'u', 'w', 'q', 's', 't', 'i', 'c', 'h', 'd', 'x', 'f', 'y', 'a', 'k'), array('a', 'b', 'c', 'd', 'e', 'f', 'h', 'i', 'j', 'k', 'm', 'n', 'o', 'p', 'q', 'r', 's', 't', 'u', 'v', 'w', 'x'), array('a', 'x', 't', 'm', 'l', 'i', 'v', 'd', 'y', 'n', 'q', 'o', 'h', 's', 'c', 'b', 'g', 'u', 'z', 'e', 'k', 'j', 'p'), array('j', 'k', 'p', 'z', 'u', 'q', 'n', 't', 'm', 'f', 'i', 'h', 'l', 'c', 'x', 'a', 'e', 'v', 'b', 's', 'r', 'y', 'w', 'd', 'g', 'o'), array('l', 'm', 'v', 'y'), array('c', 'f', 'h', 'i', 'j', 'n', 'p', 'q', 's', 't', 'w', 'x'), array('d', 'm', 's'), array('h', 'w', 'x', 'u', 'e', 'r', 'd', 'i', 'k', 'j', 'a', 'l', 'g', 'y', 'b', 'f', 't', 'n', 'o', 's', 'q', 'z', 'm', 'v'), array('f', 'y'), array('d', 'f', 'i', 'p', 'u'), array('a', 'b', 'j', 'm', 'r'), array('n', 'h', 'd', 'z', 'e', 'v', 'x', 'j', 'f', 'b', 'q', 'r', 'y', 'c', 'w', 'k', 'm'), array('x', 'y', 'q', 'h', 'w', 'r', 's', 'g', 'j', 'z', 'e', 'v', 'u', 'p'), array('h', 'w', 'm', 'l', 'f', 'p', 'a', 'v', 'b', 'q', 'g', 'y', 'c', 'u', 'r', 't', 'j', 'o', 'k', 'z', 'x', 'n', 'e', 'i', 's'), array('i', 'u'), ); $times = array( 'a' => 29, 'b' => 11, 'c' => 33, 'd' => 84, 'e' => 46, 'f' => 67, 'g' => 19, 'h' => 18, 'i' => 88, 'j' => 8, 'k' => 54, 'l' => 86, 'm' => 88, 'n' => 29, 'o' => 96, 'p' => 1, 'q' => 4, 'r' => 100, 's' => 89, 't' => 44, 'u' => 53, 'v' => 68, 'w' => 12, 'x' => 54, 'y' => 23, 'z' => 78, );</code>
<code>/** * 算法思路: * 1.先排重 * 2.排重之后的操作见注释 */ $newData = array(); foreach ($data as $oldKey => $item){ //去重后 $removeDuplicatedItem = array_unique($item,SORT_NATURAL); $newData[$oldKey] = $removeDuplicatedItem; } uasort($newData,function($a,$b){ $countForA = count($a); $countForB = count($b); if ($countForA == $countForB){ return 0; } return ($countForA > $countForB ? 1 : -1); }); $counter = 0; $targetData = array(); foreach ($newData as $targetKey =>$newItem){ $targetData[$targetKey] = $newItem; $counter++; if($counter == 20){ break; } } $endMemoryUsage = memory_get_usage(); $endTimeStamp = microtime(true); $totalMemoryUsage = $endMemoryUsage - $startMemoryUsage; $totalTimeStamp = $endTimeStamp - $startTimeStamp; print_r($totalMemoryUsage); echo "\n"; print_r($totalTimeStamp); echo "\n"; print_r($targetData);</code>

特斯拉是一个典型的AI公司,过去一年训练了75000个神经网络,意味着每8分钟就要出一个新的模型,共有281个模型用到了特斯拉的车上。接下来我们分几个方面来解读特斯拉FSD的算法和模型进展。01 感知 Occupancy Network特斯拉今年在感知方面的一个重点技术是Occupancy Network (占据网络)。研究机器人技术的同学肯定对occupancy grid不会陌生,occupancy表示空间中每个3D体素(voxel)是否被占据,可以是0/1二元表示,也可以是[0, 1]之间的

译者 | 朱先忠审校 | 孙淑娟在我之前的博客中,我们已经了解了如何使用因果树来评估政策的异质处理效应。如果你还没有阅读过,我建议你在阅读本文前先读一遍,因为我们在本文中认为你已经了解了此文中的部分与本文相关的内容。为什么是异质处理效应(HTE:heterogenous treatment effects)呢?首先,对异质处理效应的估计允许我们根据它们的预期结果(疾病、公司收入、客户满意度等)选择提供处理(药物、广告、产品等)的用户(患者、用户、客户等)。换句话说,估计HTE有助于我

译者 | 朱先忠审校 | 孙淑娟引言模型超参数(或模型设置)的优化可能是训练机器学习算法中最重要的一步,因为它可以找到最小化模型损失函数的最佳参数。这一步对于构建不易过拟合的泛化模型也是必不可少的。优化模型超参数的最著名技术是穷举网格搜索和随机网格搜索。在第一种方法中,搜索空间被定义为跨越每个模型超参数的域的网格。通过在网格的每个点上训练模型来获得最优超参数。尽管网格搜索非常容易实现,但它在计算上变得昂贵,尤其是当要优化的变量数量很大时。另一方面,随机网格搜索是一种更快的优化方法,可以提供更好的

导读:因果推断是数据科学的一个重要分支,在互联网和工业界的产品迭代、算法和激励策略的评估中都扮演者重要的角色,结合数据、实验或者统计计量模型来计算新的改变带来的收益,是决策制定的基础。然而,因果推断并不是一件简单的事情。首先,在日常生活中,人们常常把相关和因果混为一谈。相关往往代表着两个变量具有同时增长或者降低的趋势,但是因果意味着我们想要知道对一个变量施加改变的时候会发生什么样的结果,或者说我们期望得到反事实的结果,如果过去做了不一样的动作,未来是否会发生改变?然而难点在于,反事实的数据往往是

SimCLR(Simple Framework for Contrastive Learning of Representations)是一种学习图像表示的自监督技术。 与传统的监督学习方法不同,SimCLR 不依赖标记数据来学习有用的表示。 它利用对比学习框架来学习一组有用的特征,这些特征可以从未标记的图像中捕获高级语义信息。SimCLR 已被证明在各种图像分类基准上优于最先进的无监督学习方法。 并且它学习到的表示可以很容易地转移到下游任务,例如对象检测、语义分割和小样本学习,只需在较小的标记

一、盒马供应链介绍1、盒马商业模式盒马是一个技术创新的公司,更是一个消费驱动的公司,回归消费者价值:买的到、买的好、买的方便、买的放心、买的开心。盒马包含盒马鲜生、X 会员店、盒马超云、盒马邻里等多种业务模式,其中最核心的商业模式是线上线下一体化,最快 30 分钟到家的 O2O(即盒马鲜生)模式。2、盒马经营品类介绍盒马精选全球品质商品,追求极致新鲜;结合品类特点和消费者购物体验预期,为不同品类选择最为高效的经营模式。盒马生鲜的销售占比达 60%~70%,是最核心的品类,该品类的特点是用户预期时

译者 | 李睿 审校 | 孙淑娟随着机器学习成为人们每天都在使用的很多应用程序的一部分,人们越来越关注如何识别和解决机器学习模型的安全和隐私方面的威胁。 然而,不同机器学习范式面临的安全威胁各不相同,机器学习安全的某些领域仍未得到充分研究。尤其是强化学习算法的安全性近年来并未受到太多关注。 加拿大的麦吉尔大学、机器学习实验室(MILA)和滑铁卢大学的研究人员开展了一项新研究,主要侧重于深度强化学习算法的隐私威胁。研究人员提出了一个框架,用于测试强化学习模型对成员推理攻击的脆弱性。 研究

1.线性回归线性回归(Linear Regression)可能是最流行的机器学习算法。线性回归就是要找一条直线,并且让这条直线尽可能地拟合散点图中的数据点。它试图通过将直线方程与该数据拟合来表示自变量(x 值)和数值结果(y 值)。然后就可以用这条线来预测未来的值!这种算法最常用的技术是最小二乘法(Least of squares)。这个方法计算出最佳拟合线,以使得与直线上每个数据点的垂直距离最小。总距离是所有数据点的垂直距离(绿线)的平方和。其思想是通过最小化这个平方误差或距离来拟合模型。例如


핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

SublimeText3 영어 버전
권장 사항: Win 버전, 코드 프롬프트 지원!

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

Atom Editor Mac 버전 다운로드
가장 인기 있는 오픈 소스 편집기

MinGW - Windows용 미니멀리스트 GNU
이 프로젝트는 osdn.net/projects/mingw로 마이그레이션되는 중입니다. 계속해서 그곳에서 우리를 팔로우할 수 있습니다. MinGW: GCC(GNU Compiler Collection)의 기본 Windows 포트로, 기본 Windows 애플리케이션을 구축하기 위한 무료 배포 가능 가져오기 라이브러리 및 헤더 파일로 C99 기능을 지원하는 MSVC 런타임에 대한 확장이 포함되어 있습니다. 모든 MinGW 소프트웨어는 64비트 Windows 플랫폼에서 실행될 수 있습니다.

Dreamweaver Mac版
시각적 웹 개발 도구
