The N-Letter Word Game

In this game, you think of a word, and I (the computer) try to guess it. For each of my guesses, you will tell me: A given letter is counted only once. For example, if your word is 'abyss' and I guess 'tapas', you would respond '1, 1'.

What word length should we use?
4
5
6
7

My algorithm has two variants:

Minimize worst case
Minimize average

My source code (C++) is here