ИИ на паскале


#1

Продолжительное время занимаясь изучением цитоскелета нейрона создавая модели цитоскелета и т.д. (не хочу углубляться в молекулярную биологию) родилась у меня идея программы ИИ.

Помогите правильно её написать, мой ардуиновский уровень очень хромает. Понял это увидев код Сергея с форума и других.

суть программы (простейший базовый вариант): имеем окно ввода чисел,

  • программа должна вести логи изменений в окне мы вводим числа, например 1 + 4 = в другом окне вводим 5
  • после получения правильного ответа, программа перебирает числа из логов подставляя под несколько шаблонов правил - > сложение, вычитание, деление, … если находиться правильное правило. то (тут я еще не придумал как правильно, у меня отдаленно похожая программа пишет что-то вроде кодов (аля ассемблер по работе с окнами и логами) но возможно лучше будет дописать в программу код, или делать как-то перезаписываемую программу дочку, которая просто добавит код ответ = лог1 + лог2

потом усложняем, программа должна будет научиться различать + и -

  • этот блок будет добавлять в нашу “дочку” условия если лог3+ то ответ=лог1+лог2 если лог3- то ответ =лог1-лог2

… хотя бы так, как сделать лучше?


#2

По моему ваша проблема не в уровне программирования, а в непродуманности идеи. Может вы и долго над этим думали, но пока у вас только отдельные осколки а не цельная идея. А без цельной идеи - вам сложно помочь, я вот не представляю как это реализовывать.


#3

1 - блок записи логов при изменение символов в окне ввода - идет запись например в массив Record1 [1…4] (1.+,3,=)

2 - когда будет введен ответ

  • идет перебор записанного в Record1 2мя циклами каждый элемент сочитается с другим правилами

например правилом сложения if (Record1[a]+Record1[b]=ответ) - запоминаем правило.

3- когда будут созданы правила нужно создать среду для их работы (нечто подобное я использовал, для моделирования работы клеточных программ)

у меня правила это упрощенные коды, как ассемблер который напрямую работает с окнами ввода -вывода

программа пробегается по этим правилам и выдает ответ.

(дальше будет больше, но пока такое хотелось бы правильно реализовать именно сделанное под компьютерный ИИ, а не нейронку) и потихоньку потом двигаться дальше.


#4

Я пока не хочу грузить фрактальным блоком где правила будут работать друга над другом (на порядки увеличивая простыми программками общие возможности).


#5

Ну хорошо, допустим я не прав и вы знаете что делаете. Но правильно заданный вопрос это больше половины ответа, что именно вам не понятно во второй половине ответа - реализации?

И - я могу лишь подсказать моменты на которых вы окончательно застопорились, но чтоб выработать нужный для программирования образ мышления - надо решать проблемы, как и в любом другом деле.


#6

да, правильной реализации, поясню: Так то с виду программка не такая и сложная. В “Ардуино” стиле написать её для меня дело пару часов (чтоб могла делать простые ±/* действия). но потом…

вот проблемы которые я вижу: Логи при развитии программы должны будут записывать и время изменения (т.е. будет еще и работа со временем) (задача минимум)

вводные данные (сенсоры) не должны ограничиваться числами в окне ввода, это должны быть и цифровые файлы, звук, изображения, видео… (т.е. должен быть хороший такой задел на перспективу)


#7

Это в System.DateTime. Такое надо просто гуглить - “работа со временем .Net”.

Всё для работы с файлами (текстовыми и бинарными) находится в System.IO. А чтоб загружать звук и видео - ищите соответствующие библиотеки для C#.


#8

Как думаете? может лучше сразу на си делать?


#9

Хотите - делайте на C#. На паскале программы обычно выглядят проще, а все возможности (или почти) из C# есть и в паскале.


#10

ИМО, в зависимости от конечной цели/видения, проще уж как экспертную систему или парсер, чем модный deep-learn