Я новичок в области искусственного интеллекта и пытаюсь изучить и решить следующую проблему, используя его.Я уже решил проблему, используя традиционный код C #, используя проверку состояния, и теперь я пытаюсь использовать AI.
Будет 2 вида команд,
1. AT (A Team) - 5 AT Teams with 4 members each
2. BT (B Team) - 5 BT Teams with 2 members each
Total 10 teams and 30 members
Будет 4 вида членов,
1. SH - Software Head (Above 35 years old)
2. SE - Senior Engineer (30-34 years old)
3. E - Engineer (20-29 years old)
4. DH - Design Head (Above 30 years old)
5. D - Designer (20-29 years old)
В каждой команде достаточно участников, и я хочу распределить членов по командам в зависимости от возраста, чтобы
AT (A Team) = 1 SH + 1 SE + 2 E
BT (B Team) = 1 DH + 1 D
После долгих исследований, я думаю, что GeneticАлгоритм - моя лучшая ставка (Пожалуйста, исправьте меня, если доступно другое решение).
Я наткнулся на следующие ссылки для распределения расписания и хорошей библиотеки C # Genetic Sharp.
https://github.com/pranavkhurana/Time-table-scheduler
https://github.com/Altav1sta/TimetableGenerator
https://github.com/giacomelli/GeneticSharp
ВремяРаспределение таблиц - это распределение учителей по классным комнатам.Но в моем случае есть разные типы команд и разные члены.
Моя проблема в том,
- Я не могу понять, как представлять гены в моем случае в виде строк.или массивы.Также я не могу полностью понять, как представлен ген в задаче расписания.
- Какой метод выбора использовать, Элита, Колесо рулетки, Стохастическая универсальная выборка, Турнир
Может кто-нибудьпомогите понять это, так как я совершенно новичок в этом деле.