Ho il seguente problema:
Given
n
chips [note: these are VLSI chips] out of which majority of chips are good, we need to find one good chip. The only test that we can apply is on a pair of chips that answers if both chips are good or both are bad. The second part is to find a good chip if some tests might produce a wrong result. Also, the results are systematic meaning that if a pair gives wrong result, it will always give the wrong result.
Ho risolto il primo problema usando l'approccio divide and conquer dove riduco il problema ad almeno la metà di ogni volta. Questo può essere fatto semplicemente eseguendo test su n / 2 coppie distinte ogni volta e mantenendo quelle coppie che rispondono a SÌ (vale a dire sia buono che cattivo). Non riesco a risolvere la seconda parte del problema.
Un risultato sbagliato significa che anche se due chip sono buoni o cattivi, il test potrebbe rispondere a un NO. Si noti inoltre che la percentuale di test errati è molto bassa.
Come posso risolvere questo problema?