EDIT (22 de agosto de 2011):
Estou simplificando ainda mais a questão e colocando uma recompensa nela. Talvez esta pergunta mais simples tenha uma resposta fácil. Também vou rascunhar todas as partes da pergunta original que não são mais relevantes. (Obrigado a Stasys Jukna e Ryan O'Donnell por responderem parcialmente à pergunta original!)
Fundo:
Dado um circuito CA 0 com profundidade k e tamanho S, existe outro circuito CA 0 que calcula a mesma função com profundidade ke tamanho modo que o novo circuito tenha fanout = 1 para todos os portões. Em outras palavras, o circuito se parece com uma árvore (exceto nas entradas, pois as entradas podem se espalhar para mais de um portão). Uma maneira de fazer isso é duplicar todos os portões que possuem fanout> 1 até que todos os portões tenham fanout = 1.
Mas esta é a maneira mais eficiente para converter AC 0 circuitos de AC 0 circuitos com fanout 1? Li o seguinte na Aula 14 das notas do curso de Ryan O'Donnell :
Suponha que C seja qualquer circuito de profundidade k do tamanho S que calcule Paridade. É um exercício para mostrar que C pode ser convertido em um circuito nivelado de profundidade k, onde os níveis alternam as portas AND e OR, os fios de entrada são os 2n literais e cada porta possui uma saída 1 (ou seja, é uma árvore ) - e o tamanho aumenta para no máximo .
Nota de rodapé: Na verdade, este é um exercício um pouco complicado. É mais fácil se você precisar obter o tamanho , que é quase o mesmo para nossos propósitos, se você pensar em k como uma "constante".
Isso significa que existe uma maneira de obter qualquer circuito de profundidade k CA 0 do tamanho S e convertê-lo em um circuito CA 0 com fanout 1, profundidade k e tamanho ? Se sim, como isso é feito e este é o método mais conhecido?
Pergunta original:
Dado um circuito CA 0 com profundidade k e tamanho S, qual é o método mais conhecido (em termos de minimizar o tamanho do circuito resultante) para convertê-lo em um circuito CA 0 de profundidade k e fanout 1 do portão? Existem limites inferiores conhecidos por isso?
Pergunta mais recente e mais simples:
Esta questão é um relaxamento da original, onde não insisto que o circuito resultante seja de profundidade constante. Como explicado acima, existe uma maneira de converter um circuito CA 0 com profundidade k, tamanho S, em um circuito com tamanho modo que o novo circuito tenha fanout = 1 para todos os portões. Existe uma construção melhor?
Dado um circuito AC 0 com profundidade k e tamanho S, qual é o método mais conhecido (em termos de minimizar o tamanho do circuito resultante) para convertê-lo em um circuito de qualquer profundidade com a saída 1 da porta?