Общая философия говорит, что если в задаче есть натуральный параметр, значит надо ее решать (как правило) сначала для небольших значений этого параметра.
Если

, то ответ тривиален (любое линейное отображение подходит). Если

, то, очевидно,

должно (и может) иметь вид

, где

--- любое отображение множества

в себя,
а

обозначает базисный вектор-столбец.
Теперь уместно рассмотреть

. Заметим, что

--- это не что иное, как множество неупорядоченных пар

. На этом множестве можно рассмотреть граф:

, если

и

, как пары, имеют один общий
элемент. Это отношение может быть охарактеризовано в терминах сложения по модулю 2:

, если

. Если

--- отображение с нужными свойствами, и

, то

, для некоторого

, откуда

, откуда

. Значит,

индуцирует отображение множества вершин графа в себя, которое переводит каждое ребро в ребро. Поэтому оно переводит клику в клику. Это можно использовать.
Если

, то, как легко видеть, клики максимального размера в

имеют вид

, где

. Поэтому

индуцирует некоторое отображение множества

в себя. Ну и можно подумать о том, не получается ли

как раз из этого отображения.
А при

будут, явно, и другие отображения. Например, пусть

--- любая линейная функция, и пусть

. Тогда отображение по правилу

сохраняет

, как легко видеть. Некоторые из таких отображений индуцированы элементами из

, а другие нет. Кажется, полная группа обратимых

имеет порядок

. Подробности предлагается разобрать самостоятельно.
Что до

, то тут, наверное, надо действовать примерно так же. Для пар элементов из

есть

возможных типов взаимного расположения, с точностью до действия группы

. Надо пары каждого (или хотя бы одного, скажем когда пересечение максимально) типа как-то охарактеризовать в "линейных" терминах, и потом это использовать.
В общем, как-то так.