Lomelind писал(а):Stac, так как раз конкретные правила (и как их вкормить в комп) - самое ж интересное.
Да подбор правил под себя и их балансировка на реальном списке задач это интересно, этим я занимаюсь. У меня уже где-то 12 правил. Очевидно в будущем будет и количество правил расти и их сложность.
Lomelind писал(а):
В частности, я слабо представляю, как вкормить компу, что последствия откладывания вот этой задачи на ещё пару дней не проблема, но на ещё три дня проблема - потому что через три дня приезжает гость и задачу нужно выполнить до его приезда, а о дате приезда гостя я узнала уже после того, как задача была создана и всунута в программу.
Изначально у задач есть свойства - дата постановки, контекст, проект. Может быть задан срок и признак "горящая". Соответственно можно что-то предполагать о задаче по ее этим свойствам. Когда недостаточно этого, то можно обратиться к свойствам проекта.
Ко мне гости не приезжают. Но за какие-то проекты мне могут платить разные деньги - это свойство проекта и оно учитывается в одном из правил. Свои проекты, уборка, стирка денег не приносят, значит их когда-то можно и отложить.
Другое правило учитывает дату постановки задачи. Наиболее откладываемые в какой-то момент будут "промоутироваться".
Вообще, мы же говорим о планировании и перепланировании без затраты ресурса. Именно эту задачу я решаю, а не создание виртуального ассистента с искусственным интеллектом.
Жмешь кнопку и получаешь через несколько секунд план. Его можно менять - откладывать задачи или редактировать их.
Когда много задач в общем списке (у меня пока 400+), программа (а) на ближайшие день-два отбирает 5-10 , в идеале так, чтобы все проекты двигались, а выгодные двигались быстрее; (б) может распланировать весь список полностью (для прикола) или чтобы прикинуть когда что можно сделать и какую-дату кому сообщить. Поддержки "выгорания работ" нет, потом можно и добавить.
Lomelind писал(а):
Или откуда программе знать как обрабатывать событие "у меня болит голова".
А это (в) третий кит, на котором все стоит
Все просто - программе не нужно знать, что у кого болело, когда известны текущая дата и время. Если программа видит, что есть запланированные, но не выполненные задачи на прошлое -- очевидно, они почему-то не были выполнены. И независимо от причин тупо запускается перепланирование с учетом текущих реалий (новых задач, календаря, .. ) .. как автомобильный навигатор перепрокладывает маршрут, если от него отклониться.