4. Вот в рамках этой "интерактивной" схемы и работают многие современные приложения в очень разных областях, которые по своей природе "открытые", "длящиеся" (по-английски - on-going), где все время поступает извне и обрабатывается информация, где человек со своим "мозгом" не стоит в стороне, дожидаясь от компьютера результата работы ранее написанной им программы, а сам вовлечен непосредственно в вычислительный процесс: сетевые, агентские, системы проектирования, виртуальная реальность, вообще системы с интерактивными графическими пользовательскими интерфейсами - можно перечислять и дальше... Компьютерные игры - наиболее наглядное такое приложение. А сейчас появляются такие игры, где могут случаться (как ответ на действия играющего) такие события, которые разработчики в "явном виде" в игру не закладывали. Есть и такие проекты: когда играющий по-существу на лету создает ("программирует") для себя свою собственную игру...
5. Появились и специальные среды, позволяющие, как я упомянул в своем исходном комменте, модифицировать программы в процессе их исполнения. Это не традиционная "параметризация", когда вы можете менять значение некоторых параметров; здесь вы можете менять функциональность, скажем, формулу для вычисления некоторой переменной, и при этом зависимые от этой переменной формулы сами подстроятся под это изменение - опять же, "on the fly" - скажем, в системе проектирования можно поменять не просто радиус какой-нибудь сферы, но заменить сферу на, скажем, цилиндр (и это изменение заранее не было заложено), и при этом вся конструкция автоматически перестроится и сохранит свою семантически значимую в терминах реальных геометрических форм корректность.
6. Такая методология позволяет подойти по-новому и к "моделированию". Традиционно ведь как: создается человеком (в уме, на бумаге...) в неком виде некая модель, затем реализуется в виде программы, которая затем запускается для "счета". Что-то не так - весь цикл повторяется. Это приемлемо, когда есть практически полное понимание моделируемого феномена. А можно и по-другому: когда понятия "модель" и "программа" - совмещаются: программа создается при очень даже предварительном понимании моделируемого феномена, а само это понимание прогрессирует в процессе моделирования, при наблюдении за поведением заведомо "неправильной" компьютерной модели, экспериментировании с ней, изменении ее - и все это в непрерывном процессе моделирования, которое одновременно является и "программированием". В том числе и с использованием методов специфического ИИ, но на базе не логики, а "эмпирики". Скажем, мне известна компьютерная модель поведения муравьев, реализованная таким образом... Это и есть "выращивание" программы-модели, и процесс этого выращивания как и его результат, заранее предсказать было нельзя...
5. Появились и специальные среды, позволяющие, как я упомянул в своем исходном комменте, модифицировать программы в процессе их исполнения. Это не традиционная "параметризация", когда вы можете менять значение некоторых параметров; здесь вы можете менять функциональность, скажем, формулу для вычисления некоторой переменной, и при этом зависимые от этой переменной формулы сами подстроятся под это изменение - опять же, "on the fly" - скажем, в системе проектирования можно поменять не просто радиус какой-нибудь сферы, но заменить сферу на, скажем, цилиндр (и это изменение заранее не было заложено), и при этом вся конструкция автоматически перестроится и сохранит свою семантически значимую в терминах реальных геометрических форм корректность.
6. Такая методология позволяет подойти по-новому и к "моделированию". Традиционно ведь как: создается человеком (в уме, на бумаге...) в неком виде некая модель, затем реализуется в виде программы, которая затем запускается для "счета". Что-то не так - весь цикл повторяется. Это приемлемо, когда есть практически полное понимание моделируемого феномена. А можно и по-другому: когда понятия "модель" и "программа" - совмещаются: программа создается при очень даже предварительном понимании моделируемого феномена, а само это понимание прогрессирует в процессе моделирования, при наблюдении за поведением заведомо "неправильной" компьютерной модели, экспериментировании с ней, изменении ее - и все это в непрерывном процессе моделирования, которое одновременно является и "программированием". В том числе и с использованием методов специфического ИИ, но на базе не логики, а "эмпирики". Скажем, мне известна компьютерная модель поведения муравьев, реализованная таким образом... Это и есть "выращивание" программы-модели, и процесс этого выращивания как и его результат, заранее предсказать было нельзя...
Пожалуй, на этом я закончу.
Reply
Leave a comment