That theory is even worse than the inclusive fitness one because you offer no mechanism whatsoever to offset the huge fitness penalty.
Sexual imprinting is a highly successful evolved mechanism critical to reproductive fitness which does in fact succeed in the overwhelming majority of cases; in many ways, it is more important than trivial details like 'eating food' because at least an offspring which immediately starves to death doesn't drain parental resources and compete with siblings and the parents can try again! There should be a very good reason why such an important thing, found throughout the animal kingdom in far stupider & less sexually-dimorphic organisms, goes wrong in such a consistent way when other complex behaviors work at a higher rate and fail much more bluntly & chaotically. 'Random imprinting' is too weak a mechanism to thwart such a critical device, and doesn't explain why the errors do not rapidly disappear with general or sex-linked adaptations. (Even as a 5% liability-threshold binary trait, a reproductive fitness penalty of 50%, to be generous to a trait which involves active aversion to procreative sex, would imply it should be far lower now than when it first arose*.)
Further, such a random nonshared environment theory doesn't explain why dizygotic and monozygotic same-sex twins differ in concordance. (They don't differ in language, so your example is evidence against your imprinting theory.)
* https://www.researchgate.net/profile/J_Bailey2/publication/21311211_A_genetic_study_of_male_sexual_orientation/links/02e7e53c1a72a8a596000000.pdf gives a low end heritability estimate of 0.31; population prevalence among males is usually estimated ~5% giving a liability threshold of ~-1.64; homosexuality is amply documented for the past 2500 years or so, at least back to the ancient Greeks, which at a generation time of ~25 years, means 100 generations. So assuming a fitness penalty of 'just' half and that selection started only 100 generations ago (rather than much further back), we would expect the rate of homosexuality to be less than 1/5th what it is.
threshold_select <- function(fraction_0, heritability, selection_intensity) {
library(VGAM) ## for 'probit'
fraction_probit_0 = probit(fraction_0)
## threshold for not manifesting trait:
s_0 = dnorm(fraction_probit_0) / fraction_0
## new rate after one selection:
fraction_1 = pnorm(fraction_probit_0 + heritability * s_0 * selection_intensity)
return(fraction_1)
}
threshold_select(0.95, 0.31, 0.5)
# [1] 0.9517116257
fractions <- 0.95
for (i in 2:100) { fractions[i] <- threshold_select(fractions[(i-1)], 0.31, 0.5); }
round(fractions, digits=3)
# [1] 0.950 0.952 0.953 0.955 0.956 0.958 0.959 0.960 0.961 0.963
# [11] 0.964 0.965 0.966 0.966 0.967 0.968 0.969 0.970 0.971 0.971
# [21] 0.972 0.973 0.973 0.974 0.974 0.975 0.975 0.976 0.977 0.977
# [31] 0.977 0.978 0.978 0.979 0.979 0.980 0.980 0.980 0.981 0.981
# [41] 0.981 0.982 0.982 0.982 0.983 0.983 0.983 0.983 0.984 0.984
# [51] 0.984 0.984 0.985 0.985 0.985 0.985 0.986 0.986 0.986 0.986
# [61] 0.986 0.987 0.987 0.987 0.987 0.987 0.987 0.988 0.988 0.988
# [71] 0.988 0.988 0.988 0.989 0.989 0.989 0.989 0.989 0.989 0.989
# [81] 0.989 0.990 0.990 0.990 0.990 0.990 0.990 0.990 0.990 0.990
# [91] 0.991 0.991 0.991 0.991 0.991 0.991 0.991 0.991 0.991 0.99
My guess is that it's somehow a spandrel of intelligence.
Notes for future OT posters:
1. Please add the 'open_thread' tag.
2. Check if there is an active Open Thread before posting a new one. (Immediately before; refresh the list-of-threads page before posting.)
3. Open Threads should start on Monday, and end on Sunday.
4. Unflag the two options "Notify me of new top level comments on this article" and "