Нужен ли универсальный ИИ конкретно мне.
-
- Сообщения: 4598
- Зарегистрирован: 17 май 2015, 23:27
- Откуда: Беларусь
- Благодарил (а): 170 раз
- Поблагодарили: 572 раза
Нужен ли универсальный ИИ конкретно мне.
Данная тема не совсем про конкретно мои нужды. Скажем так - нужен ли универсальный ИИ бизнесу?
-
- Сообщения: 4598
- Зарегистрирован: 17 май 2015, 23:27
- Откуда: Беларусь
- Благодарил (а): 170 раз
- Поблагодарили: 572 раза
Re: Нужен ли универсальный ИИ конкретно мне.
Я понял в чём ошибся.
Программирование - это не задача ИИ. Это более простая задача.
Когда мы пишем компьютерную программу мы не ищем модель яаления. На самом деле прежде чем мы пишем программу модель явления уже есть у нас в голове. Она может быть не в совсем осознаваемой форме но она есть. И когда мы пишем программу мы просто делаем перевод модели которая есть у нас в голове в формат компьютерной программы. И когда мы делаем этот перевод мы можем разбить большую сложную модель на части и переводить в компьютер ее по частям. Части могут быть настолько небольшими что перевести каждую часть в компьютерный код становится довольно тривиальной задачей - грубо говоря вплоть до того что тупо перебрать все варианты комбинаций букв и найти такие которые порождают поведение программы схожее с тем что мы хотим получить. Ну это грубо говоря, но смысл примерно такой. То есть мы разбиваем задачу на части и эти части настолько малы что перевод их на компьютерный язык программирования становится достаточно тривиальным. При этом мы переводим последовательно часть за частью и каждая независимо от другой - это очень тривиальный процесс. Это не задача ИИ.
Задачей ИИ является собственно построение модели когда её еще нет.
Но, собственно, мне для моих нужд и не нужен полноценный ИИ. Мне интересна автоматизация программирования и повышение эффективности вот этого вот процесса перевода моделей из внутреннего понимания человека в компьютерную модель. Это не задача полноценного ИИ. Но это именно то что мне нужно
Мне нужна технология которая угадывает модель которая есть в голове человека, при том что сам человек может не уметь до конца формализовать свою модель. То есть технология должна расследовать, исследовать человека в процессе какого-то общения с ним, чтобы построить формализованную модель в компьютере.
Это более простая задача чем универсальный ИИ но гораздо более интересная для меня.
Мне нужен инструмент ускоряющий материализацию мысли. Программирование - это материализация мысли. Я занимаюсь этим давно, но меня не устраивает скорость этого процесса.
Скорость с которой я могу создавать модели в уме очень большая а скорость с которой я могу переводить модели в компьютер в тысячи раз меньше.
Мне нужен инструмент который сокращает этот разрыв скоростей. В идеале чтобы перевод модели из ума в компьютер был сравним или превышал скорость с которой я создаю модель в уме.
И мне видится нужно оперировать понятиями которые позволяют более эффективно описать это.
Так например очевидно что программирование дается тем сложнее чем язык более низкоуровневый.
Есть понятие уровня языка программирования.
Чем выше этот уровень тем проще дается создание программ на нём.
Видится что повышение уровня языка - это постепенное повышение степени "одушевленности" инструмента разработки.
То есть да, не так - не повышение уровня языка а повышение уровня инструмента разработки программ.
Инструмент разработки должен становиться более "одушевленным" - то есть приобретать свойства живого существа имеющего собственную активность, уходя от свойств пассивного неодушевленного предмета над которым мы проводим манипуляции.
И видится что инструмент должен учиться угадывать наши намерения чтобы сокращать время перевода наших намерений в формальное описание.
Для этого не нужен универсальный ИИ. Для этого нужен инструмент скорей обладающий свойствами собаки
ну грубо говоря - собака не умна так же как человек, но собака умеет понимать хозяина с полуслова и помогать ему на охоте.
А это в корне меняет задачу.
Мне нужно исследовать не паучков которые исследуют внешний мир - мне нужно исследовать паучков которые исследуют МЕНЯ.
А это проще поскольку я иду навстречу.
То есть у такой системы есть возможность вести диалог со мной и просить меня упростить задачу там где она не справляется, но в то же время не требовать от меня предельной формализации всегда, там где система вполне может справиться сама.
То есть это должна быть система которая адаптируется под меня. А я под неё. И эта сцепка вместе становится очень эффективной по производительности.
Программирование - это не задача ИИ. Это более простая задача.
Когда мы пишем компьютерную программу мы не ищем модель яаления. На самом деле прежде чем мы пишем программу модель явления уже есть у нас в голове. Она может быть не в совсем осознаваемой форме но она есть. И когда мы пишем программу мы просто делаем перевод модели которая есть у нас в голове в формат компьютерной программы. И когда мы делаем этот перевод мы можем разбить большую сложную модель на части и переводить в компьютер ее по частям. Части могут быть настолько небольшими что перевести каждую часть в компьютерный код становится довольно тривиальной задачей - грубо говоря вплоть до того что тупо перебрать все варианты комбинаций букв и найти такие которые порождают поведение программы схожее с тем что мы хотим получить. Ну это грубо говоря, но смысл примерно такой. То есть мы разбиваем задачу на части и эти части настолько малы что перевод их на компьютерный язык программирования становится достаточно тривиальным. При этом мы переводим последовательно часть за частью и каждая независимо от другой - это очень тривиальный процесс. Это не задача ИИ.
Задачей ИИ является собственно построение модели когда её еще нет.
Но, собственно, мне для моих нужд и не нужен полноценный ИИ. Мне интересна автоматизация программирования и повышение эффективности вот этого вот процесса перевода моделей из внутреннего понимания человека в компьютерную модель. Это не задача полноценного ИИ. Но это именно то что мне нужно
Мне нужна технология которая угадывает модель которая есть в голове человека, при том что сам человек может не уметь до конца формализовать свою модель. То есть технология должна расследовать, исследовать человека в процессе какого-то общения с ним, чтобы построить формализованную модель в компьютере.
Это более простая задача чем универсальный ИИ но гораздо более интересная для меня.
Мне нужен инструмент ускоряющий материализацию мысли. Программирование - это материализация мысли. Я занимаюсь этим давно, но меня не устраивает скорость этого процесса.
Скорость с которой я могу создавать модели в уме очень большая а скорость с которой я могу переводить модели в компьютер в тысячи раз меньше.
Мне нужен инструмент который сокращает этот разрыв скоростей. В идеале чтобы перевод модели из ума в компьютер был сравним или превышал скорость с которой я создаю модель в уме.
И мне видится нужно оперировать понятиями которые позволяют более эффективно описать это.
Так например очевидно что программирование дается тем сложнее чем язык более низкоуровневый.
Есть понятие уровня языка программирования.
Чем выше этот уровень тем проще дается создание программ на нём.
Видится что повышение уровня языка - это постепенное повышение степени "одушевленности" инструмента разработки.
То есть да, не так - не повышение уровня языка а повышение уровня инструмента разработки программ.
Инструмент разработки должен становиться более "одушевленным" - то есть приобретать свойства живого существа имеющего собственную активность, уходя от свойств пассивного неодушевленного предмета над которым мы проводим манипуляции.
И видится что инструмент должен учиться угадывать наши намерения чтобы сокращать время перевода наших намерений в формальное описание.
Для этого не нужен универсальный ИИ. Для этого нужен инструмент скорей обладающий свойствами собаки
ну грубо говоря - собака не умна так же как человек, но собака умеет понимать хозяина с полуслова и помогать ему на охоте.
А это в корне меняет задачу.
Мне нужно исследовать не паучков которые исследуют внешний мир - мне нужно исследовать паучков которые исследуют МЕНЯ.
А это проще поскольку я иду навстречу.
То есть у такой системы есть возможность вести диалог со мной и просить меня упростить задачу там где она не справляется, но в то же время не требовать от меня предельной формализации всегда, там где система вполне может справиться сама.
То есть это должна быть система которая адаптируется под меня. А я под неё. И эта сцепка вместе становится очень эффективной по производительности.
-
- Сообщения: 4598
- Зарегистрирован: 17 май 2015, 23:27
- Откуда: Беларусь
- Благодарил (а): 170 раз
- Поблагодарили: 572 раза
Re: Нужен ли универсальный ИИ конкретно мне.
Итак. Конкретно мой бизнес - разработка ПО. И конкретно для моего бизнеса мне нужно не строить какие-то модели каких-то разных явлений а нужен инструмент ускоряющий разработку ПО.
То есть в моём случае целевым моделируемым явлением является сама разработка ПО.
Программный код который я пишу - он моделирует какие-то явления внешнего мира но мне не нужен ИИ для этого - эту модель придумываю я сам (это компьютерные игры - я не хочу чтобы ИИ за меня придумывал какой долна быть игра - это делаю я сам). А вот для чего мне нужен ИИ это для того чтобы ускорить разработку программного кода.
То есть мне нужен ИИ который работает с закономерностями самого процесса разработки программ и позволяет автоматизировать какие-то части этого процесса. То есть еще раз - мне нужен не ИИ который за меня решит какую программу написать, а нужен ИИ который позволяет мне быстрей написать такую программу которая нужна мне.
нужна генерация кода. Но использование простых шаблонов не позволяет добиться нужной эффективности кода. Нужен ИИ который выявит такие закономерности в уже написанном программном коде которые позволили бы описать этот код более компактно и сгенерировать его из более компактной модели. Программист затем должен изучить эти закномерности выявленные искусственным интеллектом и научиться писать в этих более компактных понятиях из которых затем будет автоматически генерироваться подробный код.
Примерно это делают языковые модели. Но проблема в том что они выучивают те понятия которыми уже пользуются люди, а мне нужно найти наиболее эффективную систему понятий, такую которая возможно еще не использовалась людьми и не является известной.
GPT-3.5-Turbo:
То есть в моём случае целевым моделируемым явлением является сама разработка ПО.
Программный код который я пишу - он моделирует какие-то явления внешнего мира но мне не нужен ИИ для этого - эту модель придумываю я сам (это компьютерные игры - я не хочу чтобы ИИ за меня придумывал какой долна быть игра - это делаю я сам). А вот для чего мне нужен ИИ это для того чтобы ускорить разработку программного кода.
То есть мне нужен ИИ который работает с закономерностями самого процесса разработки программ и позволяет автоматизировать какие-то части этого процесса. То есть еще раз - мне нужен не ИИ который за меня решит какую программу написать, а нужен ИИ который позволяет мне быстрей написать такую программу которая нужна мне.
нужна генерация кода. Но использование простых шаблонов не позволяет добиться нужной эффективности кода. Нужен ИИ который выявит такие закономерности в уже написанном программном коде которые позволили бы описать этот код более компактно и сгенерировать его из более компактной модели. Программист затем должен изучить эти закномерности выявленные искусственным интеллектом и научиться писать в этих более компактных понятиях из которых затем будет автоматически генерироваться подробный код.
Примерно это делают языковые модели. Но проблема в том что они выучивают те понятия которыми уже пользуются люди, а мне нужно найти наиболее эффективную систему понятий, такую которая возможно еще не использовалась людьми и не является известной.
GPT-3.5-Turbo:
Poe
Понимаю вашу задачу. Действительно, существующие языковые модели обычно обучаются на основе существующих данных, и их способность создавать новые, ранее не использованные понятия ограничена данными, на которых они обучались. Однако, существуют подходы, которые могут помочь в создании новых, эффективных систем понятий:
Генеративные модели: Использование генеративных моделей, таких как вариационные автокодировщики (VAE) или генеративные противоборствующие сети (GAN), которые позволяют создавать новые, непредставленные в обучающих данных, понятия.
Обучение с подкреплением: Применение методов обучения с подкреплением для создания системы понятий, которая максимизирует заданный критерий эффективности или минимизирует объем необходимых ресурсов.
Эволюционные алгоритмы: Использование эволюционных алгоритмов для эволюции новых систем понятий на основе определенных критериев эффективности.
Инновационный подход к данным: Использование нестандартных источников данных или предобработка данных для выявления скрытых закономерностей и создания новых понятий.
Метамоделирование: Создание моделей, которые исследуют и описывают структуру и взаимодействие различных понятий, что может привести к созданию новых систем понятий.
Коллаборативное обучение: Работа над проектами с другими специалистами из различных областей для внедрения новых и нестандартных понятий в систему.
Эти подходы могут помочь в создании новых систем понятий, которые могут быть более эффективными и инновационными, чем существующие. Однако следует учитывать, что создание таких систем требует глубоких знаний в области искусственного интеллекта, обработки данных и творческого мышления.
-
- Архитектор
- Сообщения: 7931
- Зарегистрирован: 06 май 2015, 14:10
- Откуда: Чехов, МО
- Благодарил (а): 742 раза
- Поблагодарили: 497 раз
Re: Нужен ли универсальный ИИ конкретно мне.
ИИ не продемонстрировал способность находить самостоятельно сложные математические решения:
https://naukatv.ru/news/luchshij_ii_sov ... n_proigral
https://naukatv.ru/news/luchshij_ii_sov ... n_proigral
-
- Сообщения: 4598
- Зарегистрирован: 17 май 2015, 23:27
- Откуда: Беларусь
- Благодарил (а): 170 раз
- Поблагодарили: 572 раза
Re: Нужен ли универсальный ИИ конкретно мне.
Честно говоря я опять начинаю посматривать в сторону генетических алгоритмов. Но теперь с такими уточнениями:
1. ГА имеют мало смысла для слишком специальных задач и поиска простых систем - их потенциал раскрывается именно в задачах построения очень сложных систем из огромного количества элементарных кирпичиков которые могут выстраиваться в системы с очень сложным поведением (как пример - компьютерные программы)
2. Эволюция сама по себе штука крайне медленная, поэтому применять ее имеет смысл только если её направлять - применяя промежуточные цели и привнося готовые решения не ожидая пока они найдутся эволюционно.
3. Нейросети тоже должны быть применены. Но не как фундамент а как именно одно из привнесённых готовых решений. А фундаментом должен остаться ГА.
4. Системы должны выстраиваться из генокода максимально подобно тому как это происходит в естественной природе - то есть мы не можем просто внести допустим какой-то готовый алгоритм как привнесенное решение в виде программного кода - мы должны сформировать генокод таким образом чтобы из него разворачивался этот алгоритм. Сделать это просто если использовать привносимый алгоритм как цель - к таким конкретным целям эволюция приходит очень быстро. Это можно использовать как метод внесения готовых решений без непосредственно правки генокода.
1. ГА имеют мало смысла для слишком специальных задач и поиска простых систем - их потенциал раскрывается именно в задачах построения очень сложных систем из огромного количества элементарных кирпичиков которые могут выстраиваться в системы с очень сложным поведением (как пример - компьютерные программы)
2. Эволюция сама по себе штука крайне медленная, поэтому применять ее имеет смысл только если её направлять - применяя промежуточные цели и привнося готовые решения не ожидая пока они найдутся эволюционно.
3. Нейросети тоже должны быть применены. Но не как фундамент а как именно одно из привнесённых готовых решений. А фундаментом должен остаться ГА.
4. Системы должны выстраиваться из генокода максимально подобно тому как это происходит в естественной природе - то есть мы не можем просто внести допустим какой-то готовый алгоритм как привнесенное решение в виде программного кода - мы должны сформировать генокод таким образом чтобы из него разворачивался этот алгоритм. Сделать это просто если использовать привносимый алгоритм как цель - к таким конкретным целям эволюция приходит очень быстро. Это можно использовать как метод внесения готовых решений без непосредственно правки генокода.
-
- Сообщения: 4598
- Зарегистрирован: 17 май 2015, 23:27
- Откуда: Беларусь
- Благодарил (а): 170 раз
- Поблагодарили: 572 раза
Re: Нужен ли универсальный ИИ конкретно мне.
Начать думаю так - уже существующие свои программные проекты применить как начальную цель - из компактного генокода должен разворачиваться программный код этих проектов. А дальше пробовать применять к этому другие цели.
Идея вот в чем - изначально образуется организм который научится структурировать программный код очень подобно мне. А потом применять это к решению задач.
Идея вот в чем - изначально образуется организм который научится структурировать программный код очень подобно мне. А потом применять это к решению задач.
-
- Сообщения: 4598
- Зарегистрирован: 17 май 2015, 23:27
- Откуда: Беларусь
- Благодарил (а): 170 раз
- Поблагодарили: 572 раза
Re: Нужен ли универсальный ИИ конкретно мне.
Раньше я экспериментировал с генетическими алгоритмами (ГА) где генокод был одновременно и телом. Но в таком виде ГА не показывает всех своих преимуществ. В природе тело разворачивается из более компактного генокода. Сейчас я хочу попробовать экспериментировать с подобным.
Генокодом будет текстовая строка ограниченного размера. Эта строка будет компилироваться и запускаться на выполнение как программа на C#. В свою очередь работа этой программы будет модифицировать данные в другой текстовой строке которая тоже будет компилироваться и запускаться на выполнение. Она в свою очередь может аналогично модифицировать данные в третьей строке и так далее - таких каскадов можно сделать несколько. Последняя строка будет телом.
Суть тут в чем - генокод маленький, тело большое. Описание тела в таком случае вынуждено будет становиться очень структурированным, где изменение одной буквы в генокоде будет порождать большие изменения в теле. Скорей всего всё это будет вынуждать структурироваться генокод таким образом что какие-то буквы будут кодировать очень фундаментальные свойства тела, другие более второстепенные свойства - значимость букв генокода выстроится иерархически. И если мутации будут происходить равномерно то с равной вероятностью могут происходить мутации которые вносят мелкие изменения и мутации которые могут перестроить организм очень сильно.
Короче говоря поиск будет идти не путем только мелких изменений а изменений на всех структурных уровнях организма. Что должно давать максимальную скорость эволюции.
Ну и конечно же даже в этом случае не стоит рассчитывать что эволюция способна искать решение слишком сложной задачи где связь между мутациями и значением поощрения/наказания исчезающе слабая. Поэтому конечно нужно ставить более простые промежуточные задачи. То есть по сути это не стихийная эволюция а автоматизированный эволюцией процесс программирования.
Только вместо того чтобы изменять генокод вручную мы предъявляем эволюции достаточно простую очередную цель и эволюция сама меняет генокод так чтобы эта цель была достигнута. Это может оказаться продуктивней обычного программирования.
Вернее не так - не достаточно простую очередную цель а цель сложность которой ненамного выше предыдущей. Но последовательно конечно можно дойти до очень сложных решений.
GPT-3.5-Turbo:
Генокодом будет текстовая строка ограниченного размера. Эта строка будет компилироваться и запускаться на выполнение как программа на C#. В свою очередь работа этой программы будет модифицировать данные в другой текстовой строке которая тоже будет компилироваться и запускаться на выполнение. Она в свою очередь может аналогично модифицировать данные в третьей строке и так далее - таких каскадов можно сделать несколько. Последняя строка будет телом.
Суть тут в чем - генокод маленький, тело большое. Описание тела в таком случае вынуждено будет становиться очень структурированным, где изменение одной буквы в генокоде будет порождать большие изменения в теле. Скорей всего всё это будет вынуждать структурироваться генокод таким образом что какие-то буквы будут кодировать очень фундаментальные свойства тела, другие более второстепенные свойства - значимость букв генокода выстроится иерархически. И если мутации будут происходить равномерно то с равной вероятностью могут происходить мутации которые вносят мелкие изменения и мутации которые могут перестроить организм очень сильно.
Короче говоря поиск будет идти не путем только мелких изменений а изменений на всех структурных уровнях организма. Что должно давать максимальную скорость эволюции.
Ну и конечно же даже в этом случае не стоит рассчитывать что эволюция способна искать решение слишком сложной задачи где связь между мутациями и значением поощрения/наказания исчезающе слабая. Поэтому конечно нужно ставить более простые промежуточные задачи. То есть по сути это не стихийная эволюция а автоматизированный эволюцией процесс программирования.
Только вместо того чтобы изменять генокод вручную мы предъявляем эволюции достаточно простую очередную цель и эволюция сама меняет генокод так чтобы эта цель была достигнута. Это может оказаться продуктивней обычного программирования.
Вернее не так - не достаточно простую очередную цель а цель сложность которой ненамного выше предыдущей. Но последовательно конечно можно дойти до очень сложных решений.
GPT-3.5-Turbo:
Poe
Предложенный вами подход к использованию генетических алгоритмов в программировании представляет интересное экспериментальное направление. Использование генокода для создания и изменения текстовых программ, которые в свою очередь могут взаимодействовать и изменять друг друга, может привести к разработке интересных методов эволюционного программирования.
Этот метод позволяет создавать структурно сложные программы, эффективно изменяя их с помощью относительно компактного генокода. Иерархическая организация генокода, где определенные элементы кода кодируют фундаментальные свойства, а другие - более второстепенные, может способствовать генерации разнообразных изменений на различных уровнях структуры программы.
Однако, важно учитывать ограничения и сложности данного подхода. Необходимо грамотно выбирать цели эволюции, чтобы обеспечить продолжение процесса и избежать "застывания" в нерешаемых проблемах. Также важно контролировать процесс эволюции, чтобы избежать слишком больших изменений, которые могут сильно изменить структуру программы и привести к нежелательным результатам.
Если у вас есть вопросы или нужно больше информации на эту тему, не стесняйтесь задавать их.
-
- Сообщения: 4598
- Зарегистрирован: 17 май 2015, 23:27
- Откуда: Беларусь
- Благодарил (а): 170 раз
- Поблагодарили: 572 раза
Re: Нужен ли универсальный ИИ конкретно мне.
Первый тест будет такой - в системе из нескольких каскадов должен сформироваться в принципе компилирующийся и выполняющийся без ошибок программный код на последнем каскаде.
-
- Сообщения: 4598
- Зарегистрирован: 17 май 2015, 23:27
- Откуда: Беларусь
- Благодарил (а): 170 раз
- Поблагодарили: 572 раза
Re: Нужен ли универсальный ИИ конкретно мне.
Запустил процесс. Наблюдать за ним прикольно. И первый вывод - ну стоит помочь эволюции ускориться. То есть в приниципе видно почему она долго топчется не там и не попадает в правильные мутации - там есть место и специальным закономерностям и возможно довольно универсальным. В любом случае есть смысл пробовать всякие - а эволюция сама отберет лучшее.
Например очевидно что мутации в один символ непродуктивны. Было бы разумно вставлять сразу целые слова.
Ведь вариантов слов в программном коде намного меньше чем вариантов возможных комбинаций символов
Но это только из самого простого. А вообще идей много.
И зачем ждать пока их найдет эволюция - надо ей активно подсказывать.
Главное что не нужно заботиться о том как встроить это и отладить чтобы работало - просто закинул идею а эволюция сама ее переварит как надо. Если же не переварит - будет видно почему и это породит новые идеи. В любом случае это процесс с обратной связью - это не что-то такое что ты генерируешь исключительно в уме - есть возможность мгновенно проверить.
практикой
Еще наблюдение - поскольку в нашем случае генокод - это код на C# то простая замена символов в каком-то месте текста маловероятно может породить что-то полезное, в текст продуктивней вставлять что-то раздвигая остальные символы или удалять что-то стягивая строку. В природе это решается за счет объемной структуры белков - замена химического компонента порождает другие структуры в пространстве где нибудь в сторону но не нарушая последовательности. Текст же штука одномерная и замена одной команды на другую должна раздвигать текст или уменьшать его длину - по сути упаковывая ветвящуюся структуру в одномерную последовательность.
И наверное стоит сделать чтобы многомерность была в более явной форме, чтобы не усложнять эволюции задачу пытаясь заставить ее решить еще и задачу упаковки ветвящихся структур в одномерную последовательность
Для этого конечно не нужно отходить от простоты первоначальной концепции - это нужно реализовать опять же в виде подсказки.
Ух - вся эта затея пока видится удачной!
Похоже я придумал себе крайне интересную игрушку!
Например очевидно что мутации в один символ непродуктивны. Было бы разумно вставлять сразу целые слова.
Ведь вариантов слов в программном коде намного меньше чем вариантов возможных комбинаций символов
Но это только из самого простого. А вообще идей много.
И зачем ждать пока их найдет эволюция - надо ей активно подсказывать.
Главное что не нужно заботиться о том как встроить это и отладить чтобы работало - просто закинул идею а эволюция сама ее переварит как надо. Если же не переварит - будет видно почему и это породит новые идеи. В любом случае это процесс с обратной связью - это не что-то такое что ты генерируешь исключительно в уме - есть возможность мгновенно проверить.
практикой
Еще наблюдение - поскольку в нашем случае генокод - это код на C# то простая замена символов в каком-то месте текста маловероятно может породить что-то полезное, в текст продуктивней вставлять что-то раздвигая остальные символы или удалять что-то стягивая строку. В природе это решается за счет объемной структуры белков - замена химического компонента порождает другие структуры в пространстве где нибудь в сторону но не нарушая последовательности. Текст же штука одномерная и замена одной команды на другую должна раздвигать текст или уменьшать его длину - по сути упаковывая ветвящуюся структуру в одномерную последовательность.
И наверное стоит сделать чтобы многомерность была в более явной форме, чтобы не усложнять эволюции задачу пытаясь заставить ее решить еще и задачу упаковки ветвящихся структур в одномерную последовательность
Для этого конечно не нужно отходить от простоты первоначальной концепции - это нужно реализовать опять же в виде подсказки.
Ух - вся эта затея пока видится удачной!
Похоже я придумал себе крайне интересную игрушку!
-
- Сообщения: 4598
- Зарегистрирован: 17 май 2015, 23:27
- Откуда: Беларусь
- Благодарил (а): 170 раз
- Поблагодарили: 572 раза
Re: Нужен ли универсальный ИИ конкретно мне.
О - придумал крайне простой способ как добавить многомерность в одномерную строку - благо код на C# позволяет вставлять неограниченное количество пробелов между словами - собственно стоит навставлять сразу много пробелов между словами - это и будет пространство для дополнительных измерений. И тогда можно заменять одни команды на другие разной длины при том что весь остальной текст будет оставаться на местах - это полезно для генокода. Дело в том что вставлять раздвигая текст или удалять стягивая его - плохо вот почему - при скрещивании разных генокодов лучше бы чтобы они были очень похожи поэлементно. Если же мы сдвигаем внутри текст - то сразу все символы теряют свои места и генокод становится отличающимся от остальных в популяции - это сильно снижает эффективность скрещивания.