Pull to refresh

Comments 22

почему не реализовано для ящерицы и спока?)
Код весьма универсальный, вы можете легко его дополнить до этой версии. Возможно Джон Маклун также не хотел объяснять свой дочке в добавок ко всему, еще и кто такой Спок, скачем)
Если вы напишете как выигрывать в рулетку, то будет совсем смешно.
Ну что вам сказать, так как всегда работаю в пререлизе для отлова багов, то недоглядел немного. В целом это ни на что не повлияет, в 9-й версии файл откроется без каких-либо проблем, ни одна функция 10-й версии Джоном не была использована в его коде и из документа Mathematica созданного в более новой версии вы не узнаете ничего «шпионского» кроме того, что она в этой версии сделана.
В свое время схожий алгоритм (для игры {чет, нечет}) был описан в книжке Л. М. Финк «Папа, Мама, Я и микрокалькулятор» для ПМК БЗ-34. Хардкорное программирование перфокарт калькулятора в машинном коде)
padaread.com/?book=46679&pg=225
Это довольно популярная тема, есть даже специализированные сайты для соревнований ботов. Вот, например: www.rpscontest.com/

Не пробовали участвовать? :)
Пока что нет, хотя почему бы и нет. Вы можете также взять этот код и попробовать это сами.
Но самое забавное, как я понимаю, что стратегия работает только на большом числе игр.
А в реальной жизни никто не играет в эту игру более 1-3 подряд раз.
Давным давно писал подобную программу на базе цепей Маркова. При длине цепи в районе 4-5 предсказания весьма точные.
Отлично. Можно ознакомиться с вашей работой?
По поводу цепей Маркова, некоторое время назад разработчик специальных функций ядра Mathematica, Олександр Павлык, писал о генерации текстов на их основе, подробнее см. Centennial of Markov Chains
Не в порядке критики, а чтобы разобраться, — лично мне стилистика кода кажется плохо читаемой. Разве нельзя по отдельности задать объекты кнопок, диаграммы и т.п, а не лепить все в аргументы одной функции? Я не знаю, это общепринятая рекомендованная стилистика Wolfram?
В целом, это распространенная практика при программировании маленьких приложений, что называется, «на лету», непосредственно во фронт-энде. При разработке больших приложений рекомендуется, конечно, использовать гранулированность кода, отделение интерфейса от логики и пр. Об этом и других вопросах мы недавно говорили на второй российской конференции «Wolfram технологии».
В целом, если вы программируете в Mathematica, то такой код становится достаточно быстро и хорошо читаемым, хотя на первый взгляд может казаться иначе.
Mathematica и хорошо читаемо это две несовместимые вещи. Одно [[-n;;, col]] чего стоит, притом что ";" это ещё и разделитель комманд, а тут итератор по массиву, а "," ещё и разделитель аргументов функций и элементов списка, а тут условный оператор. И так во всём.
а что эта команда делает?
Выцепление элементов массива от n-го с конца до последнего и из каждого из них (каждый является списком) берется элемент стоящий на позиции col с начала.
Чтобы побеждать человека компьютеру нужно просто высокоскоростное распознававние жестов и мимики. Пока человек, например, только ещё начал складывать пальцы в «камень», компьютер преспокойно выбирает вариант «бумага» и ещё целую тучу милисекунд сидит и скучает, ожидая окончания движений человека, чтобы в подходящий момент («одновременно» с человеком) отобразить и свой вариант. :)
Sign up to leave a comment.