Продолжительное время занимаясь изучением цитоскелета нейрона создавая модели цитоскелета и т.д. (не хочу углубляться в молекулярную биологию) родилась у меня идея программы ИИ.
Помогите правильно её написать, мой ардуиновский уровень очень хромает. Понял это увидев код Сергея с форума и других.
суть программы (простейший базовый вариант):
имеем окно ввода чисел,
программа должна вести логи изменений в окне
мы вводим числа, например 1 + 4 = в другом окне вводим 5
после получения правильного ответа, программа перебирает числа из логов подставляя под несколько шаблонов правил - > сложение, вычитание, деление, … если находиться правильное правило. то (тут я еще не придумал как правильно, у меня отдаленно похожая программа пишет что-то вроде кодов (аля ассемблер по работе с окнами и логами) но возможно лучше будет дописать в программу код, или делать как-то перезаписываемую программу дочку, которая просто добавит код
ответ = лог1 + лог2
потом усложняем,
программа должна будет научиться различать + и -
этот блок будет добавлять в нашу “дочку” условия
если лог3+ то ответ=лог1+лог2
если лог3- то ответ =лог1-лог2
По моему ваша проблема не в уровне программирования, а в непродуманности идеи. Может вы и долго над этим думали, но пока у вас только отдельные осколки а не цельная идея. А без цельной идеи - вам сложно помочь, я вот не представляю как это реализовывать.
1 - блок записи логов
при изменение символов в окне ввода - идет запись например в массив Record1 [1…4] (1.+,3,=)
2 - когда будет введен ответ
идет перебор записанного в Record1
2мя циклами каждый элемент сочитается с другим правилами
например правилом сложения if (Record1[a]+Record1[b]=ответ) - запоминаем правило.
3- когда будут созданы правила нужно создать среду для их работы (нечто подобное я использовал, для моделирования работы клеточных программ)
у меня правила это упрощенные коды, как ассемблер который напрямую работает с окнами ввода -вывода
программа пробегается по этим правилам и выдает ответ.
(дальше будет больше, но пока такое хотелось бы правильно реализовать именно сделанное под компьютерный ИИ, а не нейронку) и потихоньку потом двигаться дальше.
Ну хорошо, допустим я не прав и вы знаете что делаете. Но правильно заданный вопрос это больше половины ответа, что именно вам не понятно во второй половине ответа - реализации?
И - я могу лишь подсказать моменты на которых вы окончательно застопорились, но чтоб выработать нужный для программирования образ мышления - надо решать проблемы, как и в любом другом деле.
да, правильной реализации,
поясню:
Так то с виду программка не такая и сложная. В “Ардуино” стиле написать её для меня дело пару часов (чтоб могла делать простые ±/* действия). но потом…
вот проблемы которые я вижу:
Логи при развитии программы должны будут записывать и время изменения (т.е. будет еще и работа со временем) (задача минимум)
вводные данные (сенсоры) не должны ограничиваться числами в окне ввода, это должны быть и цифровые файлы, звук, изображения, видео… (т.е. должен быть хороший такой задел на перспективу)