2014 dxdy logo

Научный форум dxdy

Математика, Физика, Computer Science, Machine Learning, LaTeX, Механика и Техника, Химия,
Биология и Медицина, Экономика и Финансовая Математика, Гуманитарные науки




Начать новую тему Ответить на тему На страницу Пред.  1, 2
 
 Re: Разумность программ
Сообщение25.08.2014, 18:54 
Заслуженный участник


20/07/09
4026
МФТИ ФУПМ
Alexandre Lois в сообщении #899722 писал(а):
программа делает весьма случайные ходы. Вопрос такой- как сделать так, чтобы программа сделала целесообразный ход?
Мартин Гарднер "Математические досуги"
Глава 14: Самодельная самообучающаяся машина из спичечных коробков
http://golovolomka.hobby.ru/books/gardn ... v/14.shtml
Цитата:
В статье “Метод проб и ошибок” (Penguin Science Survey, 2, 1961) Мичи описывает самообучающуюся машину для игры в крестики и нолики, которую можно собрать из трехсот спичечных коробков. Называется эта машина MENACE (Mathbox Educable Naughts and Crosses Engine — машина из спичечных коробков, умеющая играть в крестики и нолики; menace (англ.) — угроза, опасность.))
MENACE работает очень просто. На каждом коробке нарисована какая-нибудь позиция, встречающаяся при игре в крестики и нолики. Первый ход (а следовательно, и все нечетные) всегда делает машина, поэтому на коробках достаточно написать лишь те позиции, которые возникают перед нечетными ходами. Внутри каждого коробка лежат разноцветные стеклянные бусинки небольшого диаметра (каждый цвет соответствует одному из возможных ходов машины).
Внутрь каждого коробка вклеен картонный уголок. При встряхивании и переворачивании коробка бусинки закатываются в картонный “загон”. Цвет бусинки, попавшей в вершину уголка, случаен. В коробках, относящихся к первому ходу, лежит по четыре бусинки каждого цвета, в коробках третьего хода — по три, в коробках пятого хода — по две бусинки каждого цвета и, наконец, в коробках седьмого хода каждый цвет представлен лишь одной бусинкой.
Чтобы узнать очередной ход машины, надо встряхнуть и перевернуть коробок, затем открыть его и посмотреть, какого цвета “вершинная” бусинка, то есть бусинка, закатившаяся в вершину картонного уголка коробка; “принявшие участие” в игре коробки остаются открытыми до конца партии. Если машина выигрывает, ее поощряют, добавляя в каждый открытый коробок по три бусинки того же цвета, что и “вершинная” бусинка. Если игра заканчивается вничью, в каждый коробок добавляют только по одной бусинке (того же цвета, что и “вершинная”). Если же машина проигрывает, ее “наказывают”, вынимая из каждого коробка бусинку, закатившуюся в вершину уголка. Такой метод кнута и пряника находит весьма близкие параллели в обучении животных и даже людей. Чем больше партий в крестики и нолики играет машина Мичи, тем лучше она “запоминает” выигрышные ходы и тем упорнее стремится избегать проигрышных. Это и означает, что она представляет собой хотя и очень простое, но все же самообучающееся устройство. Правда, в отличие от IBM 704, работающей по шахматной программе Сэмюела, наша “спичечная” машина не умеет анализировать сыгранные партии и разрабатывать новые “стратегические замыслы” в соответствии с накопленным опытом.

 Профиль  
                  
 
 Re: Разумность программ
Сообщение25.08.2014, 18:57 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Помню такую ;-) Сам, правда, не делал. Но в контексте шахмат это выглядит несколько издевательски.

(Оффтоп)

Впрочем, не сомневаюсь, что вы, Nemiroff, и без моих замечаний об этом знаете ;-)

 Профиль  
                  
 
 Re: Разумность программ
Сообщение25.08.2014, 19:48 
Аватара пользователя


29/05/13

255
Aritaborian в сообщении #899863 писал(а):
А если мы можем изменять программу, тогда моя исходная посылка оказывается неверной.


программу нельзя менять. Она такая как есть. В принципе Вы в общем ответили на вопрос, только надо решить, что это за ситуация.

 Профиль  
                  
 
 Re: Разумность программ
Сообщение26.08.2014, 01:22 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
Alexandre Lois в сообщении #899893 писал(а):
программу нельзя менять. Она такая как есть.
Тогда заменим слово «программа» словом «противник» и поймём, что задача не имеет никакого отношения к программированию...
Alexandre Lois в сообщении #899893 писал(а):
надо решить, что это за ситуация.
...а имеет отношение лишь к шахматной теории.

 Профиль  
                  
 
 Re: Разумность программ
Сообщение26.08.2014, 13:38 
Аватара пользователя


29/05/13

255
Aritaborian в сообщении #900031 писал(а):
...а имеет отношение лишь к шахматной теории.


неправильно. Это имеет отношение именно к данной программе!

 Профиль  
                  
 
 Re: Разумность программ
Сообщение26.08.2014, 13:47 
Аватара пользователя


11/06/12
10390
стихия.вздох.мюсли
И какое же?

 Профиль  
                  
 
 Re: Разумность программ
Сообщение26.08.2014, 17:39 
Аватара пользователя


11/08/11
1135
Alexandre Lois
Выведите ферзя с начальной позиции с самых первых ходов и подставьте его прямо под бой вражеской пешки. Повторите опыт несколько раз. Если программа всегда будет рубить ферзя, значит она нифига не рЕндомная. Если иногда рубит, иногда не рубит, то программа истинно рЕндомная, хотя и туповатая, если не совершает заведомо выигрышных ходов.

Самый простой способ. Можно еще специально подставляться под вражеский мат. И смотреть, будет ли программа матовать всегда или нет. Но это уже надо довольно хорошо в шахматы играть, чтобы нарочно устраивать само-матовые ситуации.

 Профиль  
                  
 
 Re: Разумность программ
Сообщение26.08.2014, 17:42 
Аватара пользователя


29/05/13

255
INGELRII в сообщении #900332 писал(а):
Самый простой способ. Можно еще специально подставляться под вражеский мат. И смотреть, будет ли программа матовать всегда или нет. Но это уже надо довольно хорошо в шахматы играть, чтобы нарочно устраивать само-матовые ситуации.


в принципе Вы верно решили задачу. Судя по всему у Вас весьма высокий уровень развития. Вы готовы решить более сложную задачу ? ( пришлю в приват).
Также предлагаю Вам принять участие в моём проекте.

(Оффтоп)

В общем идея вот какая
Речь идёт об эволюционирующем мире. Сначала на экране хаос. Человек вводит словесные команды и постепенно видит, как мир эволюционирует под воздействием его команд. Принцип очень не сложен и связан с простейшей иллюзией. Думаю, это может быть супер интересная игра.
Вообще-то изначально я хотел, чтобы команды были речевые. Сделать это также не сложно через сервис в гугле, но не знаю реально ли такое сделать в юнити. Здесь надо напрячь интеллект, чтобы создать сильный принцип.

 Профиль  
                  
 
 Re: Разумность программ
Сообщение27.08.2014, 16:58 
Аватара пользователя


11/08/11
1135
Канеш благодарю и все такое, но у меня своих проектов куча. Хоть бы один успеть завершить, пока таймер до конца не дотикал.

 Профиль  
                  
 
 Re: Разумность программ
Сообщение30.08.2014, 06:56 
Аватара пользователя


27/12/12

689
INGELRII
:D

вы б поинтересовались скока тс лет :mrgreen:

 Профиль  
                  
 
 Re: Разумность программ
Сообщение30.08.2014, 14:01 
Аватара пользователя


11/08/11
1135
itmanager85
По моим впечатлениям, всего на полгода больше, чем вам :wink:

 Профиль  
                  
 
 Re: Разумность программ
Сообщение31.08.2014, 05:05 
Аватара пользователя


27/12/12

689
INGELRII

(Оффтоп)

а, ну тогда продолжайте :lol:

 Профиль  
                  
 
 Re: Разумность программ
Сообщение30.09.2014, 15:50 
Аватара пользователя


19/12/13
208
А как вообще реализуется "случайность" в программах? Насколько мне известно, тот же "корейский рандом", по которому "рассчитывается" вероятность заточки предметов в ладве, это банальная последовательность
Код:
+++--+---+----+-+--+
ну и так далее, в зависимости от хроник. Обходилось как-то так: берем три вещи с параметром заточки "+3", точим две на +1 (они ломаются), точим третью на +1 (она точится) - ну и в таком духе, никакой "случайности" там не было, обычный алгоритм.
В шахматной программе, наверное, тем же способом варьируется "случайность": if(пешка) напротив ферзя, последний ее жрет, однако правило не работает, if(слон) нацелен на (пешку) :mrgreen: Нет?

 Профиль  
                  
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 28 ]  На страницу Пред.  1, 2

Модератор: Модераторы



Кто сейчас на конференции

Сейчас этот форум просматривают: Dicson


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group