GotAI.NET

Форум: Проблемы искусственного интеллекта

 

Регистрация | Вход

 Все темы | Новая тема Стр.12 (37)<< < Пред. | След. > >>   Поиск:  
 Автор Тема: На: Конкурс по написанию эволюционной программы.
Андрей
Сообщений: 3943
На: Конкурс по написанию эволюционной программы.
Добавлено: 09 апр 13 9:16
Задачу ставит Хозяин )
Вообще у каждого интеллекта есть всего 3 источника его специфической активности:
Создатель, Учитель и Хозяин.
Создатель ограничивает физические параметры.
Учитель ограничивает "жизненные ценности" - представления о том, что есть "правильно".
Хозяин ставит тактическую задачу.

На этом форуме участники, похоже, постепенно смирились с необходимостью третьей составляющей - Хозяина - того кто ставит задачи. Роль первого пока играет эволюция, а второго - самообучение. И играют они эти роли с каждым днём всё менее убедительно.
[Ответ][Цитата]
covax
Сообщений: 1609
На: Конкурс по написанию эволюционной программы.
Добавлено: 09 апр 13 11:12
Цитата:
Автор: Андрей

Задачу ставит Хозяин )
Вообще у каждого интеллекта есть всего 3 источника его специфической активности:
Создатель, Учитель и Хозяин.


А как бедное устройство будет отличать этих господ друг от друга? Учитель научит отличать? Кстати, а кто создал Учителя, Хозяина, ну и самого Создателя? А кто научил Создателя создавать, Хозяина хозяйничать, Учителя учить? А тактическую задачу "создавать" Создателю ставит Хозяин?
[Ответ][Цитата]
Luarvik.
Сообщений: 17287
На: Конкурс по написанию эволюционной программы.
Добавлено: 09 апр 13 11:33
Цитата:
Автор: Андрей
... в первом варианте очень плохой учитель, который говорит как "правильно", только если ты случайно угадаешь. Но зато "говорит" предельно точно. Учителем здесь выступает мир, эксперимент, прибор.
Во втором случае учителем выступает человек и он сразу говорит как правильно. Избавляя ученика от мучительного поиска.

Эти варианты нельзя сравнивать - разные "весовые категории".
Цитата:
Автор: Андрей
Это не значит что поиска не было вообще. Он был в поиске учебного заведения, поиске нужного кабинета, поиске глазами и ушами места, откуда вещает учитель. Но этот поиск был сравнительно проще.

А это - вообще не поиск решения, который бывает и "мучительным". А иногда другим быть ине может - только на пределе, и даже за пределом.
Цитата:
Автор: Андрей
Ученик никогда САМ ничему не учится...

Если не захочет - не научится, даже если будут учить и в хвост и в гриву.
Захочет - научится САМ, даже если учить не будут - на своих ошибках.
[Ответ][Цитата]
Андрей
Сообщений: 3943
На: Конкурс по написанию эволюционной программы.
Добавлено: 09 апр 13 11:49
Цитата:
Автор: covax
А как бедное устройство будет отличать этих господ друг от друга?
Хозяин имеет власть и если задачи, поступающие от него не выполнять, количество задач, которые придётся выполнить "бедному устройству", станет больше.
Учитель является источником "правильностей", которые приводят к ускорению решения задач.
А Создатель незримо присутствует в самой конструкции "бедного устройства". Отличать его нет никакой необходимости, ибо с ним можно ни разу и не встретиться.
Я уверен, Вы в своей жизненной практике найдёте яркие примеры как Учителей так и Хозяев. Причём это не обязательно люди.

Цитата:
Автор: covax
кто создал Учителя, Хозяина, ну и самого Создателя?
Раз Вы говорите "создал", значит "Создатель". По определению. Хотя могут быть и другие варианты. Например, Создателя никто не создавал - он был всегда.

Цитата:
Автор: covax
А кто научил Создателя создавать, Хозяина хозяйничать, Учителя учить?
Раз Вы говорите "научил", значит "Учитель". По определению. Хотя могут быть и другие варианты. Например, создатель создал:
создателя, сразу умеющего создавать,
хозяина, сразу умеющего хозяйничать,
учителя, сразу умеющего учить.
Примером последнего может быть банальный учебник - он был создан создателем, его никто не учил, при этом сам он может быть учителем.

Цитата:
Автор: covax
А тактическую задачу "создавать" Создателю ставит Хозяин?
Я нигде не писал, что Создатель, Учитель или Хозяин обладают интеллектом. Интеллектом обладает "бедное существо", живущее среди этих 3-х извергов.
[Ответ][Цитата]
rrr3
Сообщений: 11857
На: Конкурс по написанию эволюционной программы.
Добавлено: 09 апр 13 21:23
Цитата:
Автор: Андрей
Интеллектом обладает "бедное существо", живущее среди этих 3-х извергов.

А иногда и богатое существо, а иногда и без интеллекта....
[Ответ][Цитата]
Анатоль
Сообщений: 1964
На: Конкурс по написанию эволюционной программы.
Добавлено: 09 апр 13 21:29
Цели ясны, задачи определены, пути намечены - за работу, товарищи!

(Пойду и я попробую что-то написать. А то уже два года компутера не включал. Забыл, наверно, и как массив задать...)
[Ответ][Цитата]
Анатоль
Сообщений: 1964
На: Конкурс по написанию эволюционной программы.
Добавлено: 10 апр 13 0:33
Ну вот, написал. Можно играть, тренироваться (чтоб бумагу не переводить).
Поле 20*20. Для начала игры (или новой игры) нажать кнопку "Start".
Левой кнопкой мыши ставятся крестики, правой нолики.
Экзешник в архиве.
(Версия застарела, ссылки убрал).

P.S.
Специально для rrr3 (как ценителя открытых кодов) там же исходник "Cod.txt".
Но если ему лень скачивать даю исходник тут:

var n:integer=20;
a:integer=20;
i,j:integer;


procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
begin
with Canvas do begin
Rectangle(0,0,n*a,n*a);
for i:=1 to n do begin moveto(0, i*a); lineto(n*a, i*a); moveto(i*a,0); lineto(i*a, n*a); end;
end;
end;

procedure TForm1.FormMouseDown(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var c:char;
begin
if (x<n*a)and(y<n*a) then begin
i:=x div a; j:=y div a;
if ssLeft in Shift then c:='O';
if ssRight in Shift then c:='X';
canvas.TextOut(i*a+8,j*a+4,c);
end;
end;

end.
[Ответ][Цитата]
rrr3
Сообщений: 11857
На: Конкурс по написанию эволюционной программы.
Добавлено: 10 апр 13 21:57
Цитата:
Автор: Анатоль
Специально для rrr3 (как ценителя открытых кодов) там же исходник "Cod.txt".
Но если ему лень скачивать даю исходник тут:


Вы переоцениваете мои возможности. Я просто болтун и писать (разбираться на уровне кодов) коды уже не могу. Да и раньше почти не мог. Дбейс 3 плюс вроде называлось СУБД (потом вроде был Фаерфокс, не помню, может путаю), когда я что-то пытался ради баловства но это было так давно, что уже и не правда. Еще капельку писал автоматы для себя (форекс), когда фирмочки были не опытны и можно было капельку зарабатывать на краткосрочных арбитражах котировок из разных источников. Но и это было уже давно и забыто.
А по образованию когда-то давно я был биологом...
Так, что извините, что ввел в заблуждение...
[Ответ][Цитата]
Андрей
Сообщений: 3943
На: Конкурс по написанию эволюционной программы.
Добавлено: 11 апр 13 2:56
Цитата:
Автор: Анатоль
Программа изначально умеет совершать ходы по правилам игры (Первый постулат ИИ).
Программа изначально стремиться достичь цели, выиграть, не проиграть. (Второй постулат ИИ).
Задачей ПРОГРАММЫ является научиться эффективно достигать цели (выигрывать).
Вот как она должна этому научиться (сама), какие для этого у неё должны быть инструменты, методы - в этом и есть суть.
На этот счёт у меня есть следующие соображения.
Когда мы говорим "правила игры", то тем самым подразумеваем, что есть некие "правильности", которым необходимо безусловно следовать, чтобы выиграть. Вместе с тем, программе необходимо выработать путём обучения новые правила своего поведения, которые позволят ей выигрывать часто или всегда. Это наблюдение позволяет упростить всю систему.

Поясню на примере.
В шахматах ладья ходит только по прямым линиям. Почему так? Никто не знает. Просто так установлено. Почему в случае мата происходит проигрыш? Тоже никто не знает - таковы правила. Исходя из этого обобщающего наблюдения мы можем упростить систему игры и считать, что ладья изначально может ходить куда угодно и как угодно (как Вы и хотели - хаотично), однако если она походит неправильно, то сразу наступает проигрыш.
Таким образом мы получаем важные и удобные упрощения:
1. Не нужно как-то ухищряться программисту и вручную задавать через "чёрный ход" все правила игры. Достаточно ввести учителя-супервайзера, который будет, грубо говоря, поднимать флажки "проигрыш"/"выигрыш" не только в случае наступления типичной ситуации "проигрыша"/"выигрыша" (например, мат в шахматах), но и в случае если фигуры ходят неправильно (например, если ладья ходит по диагонали). Кроме того, именно так учится человек, никто через "чёрный ход" ему правила игры не зашивает.
2. Таким образом, новые правильности, найденные программой, помимо тех правильностей которые вшиты в автоматический супервайзер, станут по праву новыми правилами игры(!), что философски очень правильно. Т.е. задача программы ИИ - дополнить начальные правила игры дополнительными правилами, которые позволят ей выигрывать.

Исходя из вышесказанного, постулаты я бы изложил так.
Постулат 1. Программа изначально знает только одно: "выигрывать - это правильно". Это то, что закладывает программист.
Постулат 2. Начальные правила игры знает автоматический учитель-супервайзер, который интеллектом не обладает, ничему не учится, а только автоматически сообщает ИИ проиграл он или выиграл после каждого хода.
Постулат 3. ИИ должен перебором вариантов, возможно с применением всяких эвристик (например, аналогий на базе абстракций), научиться сначала базовым правилам игры, а затем и расширить их, для того, чтобы выигрывать всегда или часто.
[Ответ][Цитата]
Luarvik.
Сообщений: 17287
На: Конкурс по написанию эволюционной программы.
Добавлено: 11 апр 13 3:32
Цитата:
Автор: Андрей
Таким образом мы получаем важные и удобные упрощения:
1. Не нужно как-то ухищряться программисту и вручную задавать через "чёрный ход" все правила игры. Достаточно ввести учителя-супервайзера, который будет, грубо говоря, поднимать флажки "проигрыш"/"выигрыш" не только в случае наступления типичной ситуации "проигрыша"/"выигрыша" (например, мат в шахматах), но и в случае если фигуры ходят неправильно (например, если ладья ходит по диагонали). Кроме того, именно так учится человек, никто через "чёрный ход" ему правила игры не зашивает.
2. Таким образом, новые правильности, найденные программой, помимо тех правильностей которые вшиты в автоматический супервайзер, станут по праву новыми правилами игры(!), что философски очень правильно. Т.е. задача программы ИИ - дополнить начальные правила игры дополнительными правилами, которые позволят ей выигрывать.

1. Этот "супервизор" считается частью обучающейся программы, или внешним "учителем" ?
2. Если он - часть, то программа уже "знает" правила, в экзотической форме супервизора, и только учится ими пользоваться.
3. Если он - внешний, то тогда она действительно сама будет вырабатывать правила, и Вы приходите к варианту с "хорошим" учителем.
4. Если не задавать "все правила игры", то какие останутся ? Все - это: как ходят фигуры, как друг друга едят, и какие ситуации считать "победой/поражением".
[Ответ][Цитата]
Slava
Сообщений: 3070
На: Конкурс по написанию эволюционной программы.
Добавлено: 11 апр 13 8:44
Цитата:
Автор: Андрей
Исходя из вышесказанного, постулаты я бы изложил так...


С удовольствием наблюдаю за вами...
А знакомы ли вы с работами Вайнцвайга?
[Ответ][Цитата]
Анатоль
Сообщений: 1964
На: Конкурс по написанию эволюционной программы.
Добавлено: 11 апр 13 9:40
Программа эволюционирует понемножку.
Уже знает правила игры.
Неправильных ходов (не в пустую клетку, не по очереди) не допустит.
Также знает цель игры и определяет когда она достигнута (выделяет красным).
Экзешник в архиве KrestNol2.zip по ссылке http://qclk.ru/k2/PY7B

Сообщите скачивается ли? (просто интересно для дальнейшего).
[Ответ][Цитата]
kondrat
Сообщений: 4026
На: Конкурс по написанию эволюционной программы.
Добавлено: 11 апр 13 9:47
А куда девать уже обученные проги? Простенький открытый код с неизвестно как полученными данными?
[Ответ][Цитата]
Анатоль
Сообщений: 1964
На: Конкурс по написанию эволюционной программы.
Добавлено: 11 апр 13 9:47
Цитата:
Автор: Андрей
На этот счёт у меня есть следующие соображения.

Обучать программу правилам игры с помощью учителя вполне возможно, но вот проще ли это?
Думаю что нет.
Ведь обучающую процедуру всё равно нужно написать.
А коль она есть, то отбирать допустимые правилами ходы с её помощью можно и до совершения хода, а не после хода указывать по правилам он или нет.
[Ответ][Цитата]
Анатоль
Сообщений: 1964
На: Конкурс по написанию эволюционной программы.
Добавлено: 11 апр 13 9:54
Цитата:
Автор: kondrat
А куда девать уже обученные проги? Простенький открытый код с неизвестно как полученными данными?


В проге должна быть возможность переключаться на необученный режим.
(Возможно с сохранением данных, определяющих обученность, в отдельном файле.
С возможностью его подключения в дальнейшем, для сравнения разных вариантов обученности).
[Ответ][Цитата]
 Стр.12 (37)1  ...  8  9  10  11  [12]  13  14  15  16  ...  37<< < Пред. | След. > >>