Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Вниз

Предложите задачу   Найти похожие ветки 

 
xayam ©   (2010-03-31 20:57) [0]

Короче заняться нечем. Есть у кого интересные задачи на примете. Не слишком сложные, не слишком простые.

php, mysql


 
Правильный$Вася   (2010-03-31 20:59) [1]

число Пи вычисли


 
xayam ©   (2010-03-31 21:09) [2]

кстати а правда число пи в 12-ой системе - это число 3 ?


 
Jeer ©   (2010-03-31 21:09) [3]


> php, mysql


Так сильно ограничен кругозор ?

Не повезло Fort-у - хайям его игнорирует.


 
Jeer ©   (2010-03-31 21:11) [4]


> xayam ©   (31.03.10 21:09) [2]
>
> кстати а правда число пи в 12-ой системе - это число 3 ?
>


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


 
xayam ©   (2010-03-31 21:15) [5]


> Jeer ©   (31.03.10 21:09) [3]
> > php, mysql
> Так сильно ограничен кругозор ?

я бы это называл условиями текущей задачи/вопроса

> Не повезло Fort-у - хайям его игнорирует.

чфнфьукн повезло еще меньше :)


 
oxffff ©   (2010-03-31 21:33) [6]


> xayam ©   (31.03.10 20:57)  
> Короче заняться нечем


http://dic.academic.ru/dic.nsf/ruwiki/638606

:)


 
silver ©   (2010-03-31 22:48) [7]

http://icfpcontest.org/
задачи 2006 и 2007 года (там есть ссылки)


 
test ©   (2010-03-31 22:51) [8]

Есть! Есть такая задача, прикрутить карму к этому форуму. ))
Доказательство
http://delphimaster.net/view/15-1270055427/


 
Правильный$Вася   (2010-03-31 22:55) [9]


> число Пи вычисли

не, пожалуй это сложно
вычисли его половину ;)


 
xayam ©   (2010-03-31 23:21) [10]


> oxffff ©   (31.03.10 21:33) [6]
> > xayam ©   (31.03.10 20:57)  
> > Короче заняться нечем
> http://dic.academic.ru/dic.nsf/ruwiki/638606

бывают же люди с высоким обо мне мнении :)

> test ©   (31.03.10 22:51) [8]
> Есть! Есть такая задача, прикрутить карму к этому форуму.

решение можно разбить на две части:
1) взлом делфимастера.ру
2) внесение изменений в скрипты perl"а (еще учти что перл я не знаю)
И последнее что нужно учесть. От выполнения первой части на практике моя личная карма изменится явно не в лучшую сторону :)

> Правильный$Вася   (31.03.10 22:55) [9]
> > число Пи вычисли
> не, пожалуй это сложно
> вычисли его половину ;)

ты не понимаешь, настоящий математик всегда делит только на пи. Итого, пи/пи = 1. Задача решена.


 
test ©   (2010-03-31 23:26) [11]

xayam ©   (31.03.10 23:21) [10]
Мы тебя прикроем))
По поиску есть мысль, дернуть гугловский поиск, не напрямую сделать страницу с которой можно составить строку поиска для гугла, для форума в которой можно указать временной промежуток, рег выражения(помойму гугл их держит).


 
xayam ©   (2010-03-31 23:36) [12]


> test ©   (31.03.10 23:26) [11]
> xayam ©   (31.03.10 23:21) [10]
> Мы тебя прикроем))
> По поиску есть мысль, дернуть гугловский поиск, не напрямую
> сделать страницу с которой можно составить строку поиска
> для гугла, для форума в которой можно указать временной
> промежуток, рег выражения(помойму гугл их держит).

учитывая, что в гугле нет веток... далеко пойдете в прикрывании :)
PS Гугл последнее время мне не нравится. Почему он по карте сайта индексирует так медленно? Порядка 20 линков за месяц.
PPS Что такое "дернуть" ?


 
test ©   (2010-04-01 00:08) [13]

xayam ©   (31.03.10 23:36) [12]
>>учитывая, что в гугле нет веток... далеко пойдете в прикрывании :)
Это я про взлом пошутил

>>PPS Что такое "дернуть" ?
Страница у тебя с кнопочками и combobox"ами формирует строку для запроса в Гугл(яндекс или еще куда), после нажатия поиск страница строку отправляет поисковику, результат пользователю.

По аналогии с Королевством Дельфи.


 
xayam ©   (2010-04-01 00:28) [14]


> test ©   (01.04.10 00:08) [13]
> >>PPS Что такое "дернуть" ?
> Страница у тебя с кнопочками и combobox"ами формирует строку
> для запроса в Гугл(яндекс или еще куда), после нажатия поиск
> страница строку отправляет поисковику, результат пользователю.

гугл и яндекс как будто сговорились - не хотят индексировать сайт. Какой тут поиск через них? И зачем? Даже индексация в других поисковиках - это только постоянный приток посетителей, особо не связанных с делфимастером.


 
Медвежонок Пятачок ©   (2010-04-01 00:30) [15]

php, mysql

Не слишком простая и не сложная задача.

лежит на неком стороннем kmz для гуглоёфа.
задача: при поступлении запроса на "свой" хост стянуть текущий kmz с того ресурса (он там обновляется раз в минуту), распаковать его, достать координаты маркеров из kml и сгенерить html с использованием гугломапс апи.

иными словами сделать инфу, доступную только в гуглоёфе для браузеров.


 
test ©   (2010-04-01 00:36) [16]

xayam ©   (01.04.10 00:28) [14]
Странно через расширенный интерфейс ищет за последние сутки.


 
xayam ©   (2010-04-01 00:46) [17]


> Медвежонок Пятачок ©   (01.04.10 00:30) [15]

как выглядит поступающий запрос?
адрес где эти kmz лежат есть?
скачал
распаковал (инфо: формат zip)
достал маркеры из kml (вопрос: что такое маркер?)
сгенирировал html (пометка: узнать как использовать googlemaps api)


 
xayam ©   (2010-04-01 00:53) [18]


> test ©   (01.04.10 00:36) [16]
> xayam ©   (01.04.10 00:28) [14]
> Странно через расширенный интерфейс ищет за последние сутки.

ага, интересно почему же через строку не ищет. А в личном кабинете написано: проиндексировано 20 ссылок. Врут значит.


 
McSimm ©   (2010-04-01 01:11) [19]


> Предложите задачу
>
> xayam ©   (31.03.10 20:57)
>
> Короче заняться нечем. Есть у кого интересные задачи на
> примете. Не слишком сложные, не слишком простые.
>
> php

Pascal sandbox на PHP.


 
Медвежонок Пятачок ©   (2010-04-01 01:14) [20]

"суть такова"
некая транспортная контора реализовала сервис - геотреккинг пассажирского транспорта (своих городских автобусов)
сделала она это путем публикации на своем ресурсе kmz файла.
Юзер запускает гуглёф и открывает этот kmz
прога панорамирует юзера в город и на глобусе города юзер видит маркеры автобусов на текущий момент(это те маркеры и есть прокоторые речь выше)

неудобство в том, что юзеру нужен гуглоёф.

что предлагается сделать:
1. имеем свой хост (в нашем распоряжении php и mysql)
2. публикуем для всех желающих ссылку на этот хост.
3. по ссылке приходит простой гет из браузера (например http://somehost.dyndns.org/bus.php)
4. в своем коде (пхп) приняв этот гет, скачиваем kmz (он лежит на публично доступном ресурсе), распаковываем его (это pkzip), получаем kml.
5. внутри kml (это xml документ) лежит инфа о геокоординатах транспорта. достаем эти координаты и используя гуглмапсапи генерим html страницу, на которой отображаем те самые маркеры автобусов по извлеченным из kml координатам

тем самым даем доступ к данным о распределении транспорта по городу всем, а не только тем у кого установлен гуглоёф.


 
Игорь Шевченко ©   (2010-04-01 01:19) [21]

Медвежонок Пятачок ©   (01.04.10 01:14) [20]

"гуглоёф" - долго думал над загадочным термином.


 
test ©   (2010-04-01 01:21) [22]

Медвежонок Пятачок ©   (01.04.10 01:14) [20]
>что юзеру нужен гуглоёф
Насилие над гуглом или пользователем?  ))


 
xayam ©   (2010-04-01 01:21) [23]


> Медвежонок Пятачок ©   (01.04.10 01:14) [20]

примерно понятно. Только вопрос, что такое гуглоёф, с твоих слов?

> McSimm ©   (01.04.10 01:11) [19]
> Pascal sandbox на PHP.

подробнее, пожалуйста, я пока телепатор не очень развил. Что это? Зачем оно и кому надо?


 
McSimm ©   (2010-04-01 01:35) [24]


> xayam ©   (01.04.10 01:21) [23]

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

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

Варианты решения могут быть разными. Например написание транслятора и эмулятора, можно с привлечением какого-нибудь Yaac (синтаксического анализатора)

----
Зачем?
Задача из интересных, наверное. Потребует вникнуть в некоторые интересные области. Может быть использовано на этом сайте.


 
xayam ©   (2010-04-01 01:39) [25]


> McSimm ©   (01.04.10 01:35) [24]
> Может быть использовано на этом сайте.

Например, как?


 
McSimm ©   (2010-04-01 01:43) [26]


> Например, как?

Варианты можно придумать.
Веб-тест не с вариантами ответов, а с написанием фрагмента кода.
Соревнование алгоритмов.


 
Заняться_мне_нечем   (2010-04-01 01:54) [27]


> Под Pascal sandbox я имел в виду набор PHP скриптов, способных
> выполнять код на Pascal


Мх, если я правильно понял это нечто типа скриптовой машины, но в качестве скрипта идет код на паскале. Я прав?


 
xayam ©   (2010-04-01 01:56) [28]


> McSimm ©   (01.04.10 01:43) [26]

http://sourceforge.net/projects/pspe/  это не то?


 
xayam ©   (2010-04-01 02:00) [29]

хотя нет это не то


 
McSimm ©   (2010-04-01 10:03) [30]


> если я правильно понял это нечто типа скриптовой машины,
>  но в качестве скрипта идет код на паскале

Как вариант.

Но я бы делал прекомпиляцию в промежуточный код, который уже выполняется движком сандбокса.
Но мне точно есть чем заняться, потому вряд ли.


 
KSergey ©   (2010-04-01 10:09) [31]

эта, правда заняться нечем или шутка?
есть задачка простецкая, только у самого руки не доходят аккуратно ее сделать, как раз php+mysql
Есть HTML-текста кусок, надо подсветить в нем заданные ключевые слова, т.е. просто вокруг них вставить <span..></span>, но при этом не изменять тэги, если в них требуемый фрагмент вдруг встретится.
т.е. просто аккуратненько поработать со строчкой надо.

Есть желание? (нахаляву!)

ну и еще одна есть, тоже простенькая.


 
xayam ©   (2010-04-01 12:39) [32]


> McSimm ©   (01.04.10 10:03) [30]
> Но я бы делал прекомпиляцию в промежуточный код, который
> уже выполняется движком сандбокса.

так нужно вроде транслятор в php делать и выполнять с помощью eval. Не? Хотя промежуточное представление в любом случае будет.


 
xayam ©   (2010-04-01 12:44) [33]


> KSergey ©   (01.04.10 10:09) [31]

Вы издеваетесь? Такие задачи решаются при первом знакомстве с php. У меня есть представление о php, не говорю что полное... но достаточное чтобы решать средние задачи, а не это.


 
KSergey ©   (2010-04-01 12:47) [34]

> xayam ©   (01.04.10 12:44) [33]
> .. но достаточное чтобы решать средние задачи, а не это.

Т.е. это не под силу?
Ну есть чуть подлинее задачка, но там нет MySQL по задумке. Сложить страничку из кусочков шаблона, кусочки - в разных файлах (или в одном, по вкусу)


 
xayam ©   (2010-04-01 12:48) [35]

слушай хватит издеваться


 
ZeroDivide ©   (2010-04-01 12:55) [36]

Если интересует тема учета личных финансов, то:

Надо сделать Web-модуль для проекта www.ownmoney.org
Чтобы пользователи могли вводить данные о своих доходах и расходах на сайт, а потом выкачивать эту информацию в базу на своих компах.

Если согласитесь, можно обсудить эту задачу подробнее.


 
KSergey ©   (2010-04-01 13:06) [37]

> ZeroDivide ©   (01.04.10 12:55) [36]
> Чтобы пользователи могли вводить данные о своих доходах и расходах на сайт,

иоптить!
Налоговая, надеюсь, в доле? или это их заказ?


 
ZeroDivide ©   (2010-04-01 13:10) [38]


> иоптить!
> Налоговая, надеюсь, в доле? или это их заказ?


Советую разуть глаза, например у drebedengi.ru уже 27000 пользователей, у многих аналогичных онлайн ресурсов тоже широкая аудитория. В моем же случае, предполагается сделать анонимные транзакции, которые пользователь мог бы временно ввести на сайте и затем скачать в свою базу, чтобы в интернете ничего не хранилось.


 
xayam ©   (2010-04-01 13:22) [39]


> ZeroDivide ©   (01.04.10 12:55) [36]

не, что-то не понравилось, задачи какие-то стандартные. Что-нибудь необычное есть?


 
KSergey ©   (2010-04-01 13:24) [40]

надо ж какой аффтар эстет, работать он не хочет, короче. Я уже понял.

ф топку


 
ZeroDivide ©   (2010-04-01 13:29) [41]


> Что-нибудь необычное есть?


У меня других нет. Только эта насущная задача для вэб. В принципе, там есть над чем подумать, если рассмотреть ее внимательнее. Но, если не понравилось, то видимо не стоит начинать.


 
xayam ©   (2010-04-01 13:37) [42]


> KSergey ©   (01.04.10 13:24) [40]
> надо ж какой аффтар эстет, работать он не хочет, короче.
> Я уже понял.

эстет? меня как только не называли, но так в первый раз :) И это не для работы, а чтобы отдохнуть, что-нибудь для души приятное. Понятно? Пока у Максима интересная задача, хотя мне кажется что она уже решена, а дублировать не хотелось.

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


 
McSimm ©   (2010-04-01 13:53) [43]


> Пока у Максима интересная задача, хотя мне кажется что она
> уже решена

Нет, я не видел.


> нужно вроде транслятор в php делать и выполнять с помощью
> eval. Не?

Не.
Гораздо проще просто запустить внешний компилятор и выполнить исполняемый код.
eval это не sandbox, ему предоставлены реальные ресурсы. Соответственно подготовить вредоносный код не составляет труда


 
xayam ©   (2010-04-01 14:31) [44]

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


 
Заняться_мне_нечем   (2010-04-02 02:42) [45]


> xayam ©

мх. вопрос! а чем идея о паскаль сандбокс вам показалась тривиальной? Помоему очень даже ничего. Глядишь "любымый" язык программирования выйдет на новые уровни )) и подвинет питон ))


 
Заняться_мне_нечем   (2010-04-02 02:56) [46]


> любымый

= любимый сорри


 
Marser ©   (2010-04-02 20:44) [47]


> xayam ©   (31.03.10 21:09) [2]
>
> кстати а правда число пи в 12-ой системе - это число 3 ?
>

В десятьпичной (sic!) системе ;-)


 
Marser ©   (2010-04-02 20:44) [48]


>
> В десятьпичной (sic!) системе ;-)

Один :)


 
xayam ©   (2010-04-05 15:04) [49]


> McSimm

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


 
Копир ©   (2010-04-05 19:20) [50]

>xayam ©   (31.03.10 20:57)  :

>Короче заняться нечем. Есть у кого интересные задачи на примете?
>Не слишком сложные, не слишком простые.

Попробуйте создать программу, которая сможет создавать другия программы.
Но не копировать ся в новые и новые копии одного и того же вируса.

И цены Вам не будет!

И последователи Вашей этой программы, наконец, придумают ИИ.

Но специалисты говорят, что никакая программа не сумеет создать программу другую.
Из-за следствий теоремы Гёделя.

Якобы "вирус" - это предел человеческой способности к созданию
саморазвивающихся "автоматов".

Специалисты, конечно, врут. Вот и попробуйте! А то изнываете, там у себя
от безделья :_)


 
Pavia ©   (2010-04-05 19:36) [51]

Напиши программу которая ищет файлы в интернете и скачивает их.
Для этого надо написать программу регистрации на форумах распознавании капчи. При скачивании с файла обменников программа предварительна должна находить ключи для быстрого скачивания.


 
Anatoly Podgoretsky ©   (2010-04-05 19:42) [52]

> Копир  (05.04.2010 19:20:50)  [50]

Конечно врут, потому что сами не умеют.


 
Копир ©   (2010-04-05 19:53) [53]

Попробую пояснить, причём тут теорема Гёделя, которая в вульгарной трактовке
выглядит и так: "В каждом языке есть недоказуемое истинное суждение".

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

Мало, кто пишет такие программы в рамках языка высокого уровня.

Случайная инструкция ассемблера может привести к зависанию компа.
А уж насколько она истинна -- объясняйте потом :))

Тут нужен другой подход.
Нужна программа, которая по своим свойствам способна "отсеивать"
инструкции ненужные, порочные и бесполезные.

Такую программу сделать довольно легко.
На принципе выживаемости программы-результата.

Но, кроме того, нужна программа, которая оценивала бы и новизну, и
перспективу, и выживаемость новой программы.

Труднее, но сделать тоже можно.

Но труднее всего сделать программу, которая была бы инспектором "полезности"
новой программы.

Для кого? Для человека, который ея разработал, но который уже не является
заказчиком? Эта программа сама по себе (если засуществует) будет выдавать
генерации. По своим, ей только понятным критериям.

Программа, покрывающая, скажем, граф.экран, случайным набором цветных пикселей
640х480?

Будет живучей, корректной и, самое главное, другой!

Но даже этот саморазвивишийся ублюдок будет неизмеримо ценне самого пресамого
хитроумного вируса, придуманного человеком.

Потому, что придуман будет уже не человеком.
А компом.


 
Rouse_ ©   (2010-04-05 22:26) [54]


> Не слишком сложные, не слишком простые.
>
> php, mysql

Хм... Сделай онлайн вьювер РЕ файла по секциям, т.е. ресурсы отдельно, импорт отдельно - экспрт туда-же... В принципе задача как раз "не слишком простая и не слишком сложная" :)


 
Rouse_ ©   (2010-04-05 22:30) [55]


> Копир ©   (05.04.10 19:53) [53]
> Случайная инструкция ассемблера может привести к зависанию
> компа.

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


 
Inovet ©   (2010-04-05 22:43) [56]

> [55] Rouse_ ©   (05.04.10 22:30)
>
> > Копир ©   (05.04.10 19:53) [53]
> > Случайная инструкция ассемблера может привести к зависанию компа.
>
> Юр, чес слово - был более лучшего мнения о тебе.
> Пример случайной инструкции в студию плз.

Я это понял, как мутации в генах, зависла - нежизнеспособна, выбрасывается (ОС) и не размножеатся более. Наверно так.


 
Rouse_ ©   (2010-04-05 22:53) [57]


> Inovet ©   (05.04.10 22:43) [56]
> Я это понял, как мутации в генах, зависла - нежизнеспособна,
>  выбрасывается (ОС) и не размножеатся более. Наверно так.

Глубину мысли не понял - но стремление высказаться мне понятно.


 
test ©   (2010-04-06 00:18) [58]

Inovet ©   (05.04.10 22:43) [56]
Оно?

#define SIZE_MAX 50
...
int a[SIZE_MAX];
...
void foo(){
...
for (int i = 0;i < 100;i++)
  a = random(4);
...
}


 
Германн ©   (2010-04-06 02:08) [59]


> Rouse_ ©   (05.04.10 22:30) [55]
>
>
> > Копир ©   (05.04.10 19:53) [53]
> > Случайная инструкция ассемблера может привести к зависанию
> > компа.
>
>

@1   JMP @1
Это конечно не зависание компа, а только зависание программы.


 
Германн ©   (2010-04-06 02:16) [60]


> Rouse_ ©   (05.04.10 22:30) [55]

<offtop>
А вот реальный пример с зависанием компа из-за зависания программы готов привести. Причем это зависание невозможно устранить с помощью диспетчера задач. Помогает только эникей.
Но этот пример связан с внешним железом.
</offtop>


 
TUser ©   (2010-04-06 10:23) [61]

Автору:

Вот есть такой сайт http://www.braingames.ru, там требуются РНР-добровольцы для развития движка.


 
Inovet ©   (2010-04-06 18:01) [62]

> [58] test ©   (06.04.10 00:18)
> Inovet ©   (05.04.10 22:43) [56]
> Оно?

Типа того

> [59] Германн ©   (06.04.10 02:08)
> @1   JMP @1
> Это конечно не зависание компа, а только зависание программы.

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

@1
...
  JMP @1

и как отличить, висит или делает что-то. А, ну себя не воспроизводит, значит уже ветка тупиковая.:)


 
Копир ©   (2010-04-06 21:35) [63]

>Rouse_ ©   (05.04.10 22:30) [55] :

"Художника всякий обидеть может" (C:))

>Пример случайной инструкции в студию плз.

Cлучайный код. Не мнемоника, конечно, так знакомая программисту.


 
test ©   (2010-04-06 21:42) [64]

Inovet ©   (06.04.10 18:01) [62]
Ну так это не случайное поведение это логическая ошибка, от которых постоянно код вылизывают.

Копир ©   (06.04.10 21:35) [63]
Откуда берется случайная инструкция? Ну какие условия должны быть чтобы инструкция непонятно откуда выполнилась?


 
TUser ©   (2010-04-06 21:44) [65]


> Но специалисты говорят, что никакая программа не сумеет
> создать программу другую.
> Из-за следствий теоремы Гёделя.
>

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


 
Копир ©   (2010-04-06 22:03) [66]

Общеизвестно, что языковыя выражения - это и, одновременно перекодированные ассеммблером
наборы чисел. Процессор не воспринимает всякие, там mov a,b. Он "питается" числом,
инструкцией. Программа, которую пишет программист обладает не числовой, но символьной логикой.
Языком, который отображает коды, доступные машине, в набор текста, доступного
программисту.

Язык ассемблера - это переводчик мнемоник человека в числа, понятные процессору.
Ассемблер PDP-11, был настолько стройным, что там восьмеричное число так четко
передавало и сам оператор, что иной раз не требовалось и перевода.

Там (в PDP) мнемоника почти математически отображала функцию, которая для непосвященных
была узнаваема лишь в текстовом отображении оператора.

Но это так. Лирика.

Итак, отвечаю на Ваш вопрос,ув. господин Rouse_, -- случайная инструкция - это
случайное число, задуманное, например, программой, которая конструирует другия
программы.

Некоторое уродливое подобие случайной мутации, которую так воспевают
приверженцы теории эволюции.

Элемент случайности есть в любом развитии.
Но лишь элемент. Не главное.

Главное в том, что Создатель программы, которая умудрилась бы создавать
другие программы, должен задать ей, своему детищу, некий алгоритм для стохастического
(от греч. "стохастикос", умеющий угадывать) в том числе способа выживания этой программы.

До опытного ея испытания. На стенде, так сказать.

Последовательное и унылое перечисление всех доступных кодов возможных инструкций,
до замены первой "зависающей" новой, случаной -- это, конечно не выход.

Джамы в обход, тоже.

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

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

Так машина, наконец, создаст "другую" программу.

Возможно, что единственным оператом этой программы будет известный
в PDP нейтральный NOP (код 240) :))


 
Копир ©   (2010-04-06 22:12) [67]

>Поподробнее про следствия бы ... нельзя ли из этих следствий вывести также,
что программа не сможет играть в шахматы? Если нет, то в чем разница между
шахматами и программированием?

С точки зрения логики и программирование и игра в шахматы, и математика - это
совокупность разных, но творчески объединённых теоремой Г., языков.

В каждом из которых есть недоказуемое, но истинное суждение.
В таком, в легком приближении, в математике - это аксиомы.
В шахматах, наверное, в рамках жестких правил, есть свои аксиомы.

Например, что ход белых "e2-e4" ничем поначалу не грозит.
Это знал ещё Остап Бендер. Недоказуемо, но истинно :))


 
Игорь Шевченко ©   (2010-04-06 22:18) [68]

Копир ©   (06.04.10 22:03) [66]

Боян. Написание подобного рода игрушечных программ было актуально лет 25-30 назад. Сродни с Core Wars небезызвестного Дьюдни


 
Копир ©   (2010-04-06 22:25) [69]

Хорошим примером для создания таких программ является пример выживания (воспитания)
человеческого ребёнка. Не щенка, не птенца. Именно разумного и человеческого.

Маленький человечек, ещё не воспринимающий окружающий мир адекватно, чем-то похож
на ведомый опытным и заботливым родителем, комп.

Если щенок обожгётся огнём костра, если отравится болотной водой, если простудится, -
кому до него дело.

Заботливый родитель и вылечит, и объяснит, как повторно делать не следует.
Эта забота и есть создание подпрограмм. Способствует выживанию ребёнка (программы).
С обязательным восстановлением стека, т.е. способности к новым исследованиям
под чутким руководством родителя.

А щенок или птенец зачастую сразу дохнет.


 
Копир ©   (2010-04-06 22:29) [70]

>Игорь Шевченко ©   (06.04.10 22:18) [68] :

А причём тут какой-то Дьюдни?

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

Ну, как ему, примитивному станку, оснащенному компом -- две лапки,
одна с паяльником, другая с припоем, объяснить, что значит "паять"?

Кастрюлю залудить...


 
Игорь Шевченко ©   (2010-04-06 22:55) [71]

Копир ©   (06.04.10 22:29) [70]


> А причём тут какой-то Дьюдни?


какой-то Alexander Dewdney...

В частности, Scientic American, рубрика "Занимательный компьютер".


 
xayam ©   (2010-04-08 13:04) [72]


> McSimm ©   (01.04.10 13:53) [43]
> eval это не sandbox, ему предоставлены реальные ресурсы.
>  Соответственно подготовить вредоносный код не составляет
> труда

вот это мне не совсем понятно. В паскале же могут использоваться только объявленные переменные/функции/процедуры и за этим нужно следить при переконвертировании кода, тогда по-моему никакой опасности не будет при выполнении eval - там просто не будет функций, которым предоставляются ресурсы, потому что их нет в генераторе кода. Не?


 
xayam ©   (2010-04-08 13:29) [73]

а названия переменных/функций/процедур можно заменять до выполнения eval на другие, нечто вроде обфускации


 
TUser ©   (2010-04-08 13:35) [74]


> Копир ©   (06.04.10 22:12) [67]

Набор мыслимых партий в шахматы ограничен. Стало быть, есть оптимальная (по результатам перебора) стратегия для белых и для черных. Недоказано, что е2-е4 - это непроигрышная стратегия. :)

Тем не менее, несмотря даже на Геделя, шахматные программы существуют.


 
Копир ©   (2010-04-08 17:09) [75]

>TUser ©   (08.04.10 13:35) [74] :
>Набор мыслимых партий в шахматы ограничен.

Иди ты?!

Так со времён Капабланки, да с тепершним Интернетом значит ВСЕ партии
уже где-то и выложены? И чего тогда эту последнюю Блю надо было разворачивать,
раз известны a priori? Взять, и скачать все ограниченные и известные партии.
Вот это Блю (непечатные слова) и обыграл Каспарова, да?

Евгений, Вы не правы.
Шахматы - это настолько же непредсказуемая игра, насколько 64-х клеток хватит
для 2^64 комбинаций.

А Каспарова обыграл автомат.
Программа, которая учла статистику.
Но которая совершенно не способна на оригинальный ход.

Так, борьба статистического газа за выживание...

И Каспаров "не мальчик". Он, всё больше в политику лезет.

Интеллигент, когда уже достиг своего предела некомпетентности,
когда от него уже не ждут технического решения, всё чаще лезет в политику.


 
Копир ©   (2010-04-08 17:23) [76]

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

А что-то уже себе новенького? (как говорят в Одессе :)

Неужто (а я не шахматист) и человеки чемпионы уповают на статистически
оправданный удар, типа: так уже было в 1934 г. в матче Алёхина?

Тогда, точно, комп переборет человека.


 
Копир ©   (2010-04-08 17:40) [77]

ИИ отличается (или должен отличаться) от примитивной игровой стратегии
следующими свойствами:

1. Он должен преследовать не конкретную цель (выигрыш в игре, в количественном плане, как-то:
получение абстрактных денег или абстрактное же размножение чего-либо), но преимущество.
Свойство, присущее лишь ему. Интеллектуальному автомату. Например, вместо примитивного
и материального выигрыша -- обмен знаниями. Анкету в качестве компенсации проигравшему,
где победитель подпитывается опытом. Для создания будущих программ.

2. Он должен обладать некоторой "гибкостью" в выборе методов достижения.
Способность обыграть человека в преферанс, так уже не раз продемонстрированная
компьютером, вызовет стойкую враждебность и ксенофобию типа: Вот, обыграл, сцуко,
а воду в туалете контролировать не хочет! Это у Айзека Азимова есть. "Я робот".
ИИ должен вызывать не враждебность, но снисхождение, человеческое понимание,
отношение, как к монахам -- Вот, ходят, ходят, молятся, расспрашивают. А потом,
глядишь - и Орден Иезуитов!

3. Автоматически развивающийся автомат должен доказать на первых порах,
что его деятельность не повредит деятельности Господина и Человека.
Иначе ему (автомату) не выжить в самом начале. Программисты создатели "в сердцах" уничтожат!
Потом он может изменить свою демографическую политику.
И уже не считаться с человеческими детёнышами...


 
Игорь Шевченко ©   (2010-04-08 17:43) [78]

Копир ©   (08.04.10 17:40) [77]

Последний раз: следите за языком.


 
TUser ©   (2010-04-08 17:54) [79]

> значит ВСЕ партии уже где-то и выложены?

не значит

Вот другой пример: набор возможных картин 1000х1000 пикселей, очевидно, ограничен, но где вы видели сайт с такой галереей искусства?


 
Копир ©   (2010-04-08 18:01) [80]

>Игорь Шевченко ©   (08.04.10 17:43) [78] :

I will


 
Копир ©   (2010-04-08 18:10) [81]

>TUser ©   (08.04.10 17:54) [79] :

>Вот другой пример: набор возможных картин 1000х1000 пикселей, очевидно,
    ограничен, но где вы видели сайт с такой галереей искусства?

Не понятно, причём тут сайт?

Если победа Deep Blue покоилась на понимании, на запоминании, на контроле
всех известных шахматных партий - то это не победа над человеческим шахматистом.
Это победа отличника в школе, который не думает, а лишь зубрит.
Программисты запихнули архив в память, а глупый автомат выбирает.

Память книжного шкафа во много раз превосходит (в байтах) память его (шкафа)
владельца. Но ещё ни одному книжному шкафу не удалось придумать новую сказку.


 
TUser ©   (2010-04-08 18:14) [82]

Вы понимаете разницу между утверждениями:

некое множество конечно

и

указанное множество известно человечеству, вычислено его компьютерами и доступно в Интернете

?


 
Копир ©   (2010-04-08 18:18) [83]

>TUser ©   (08.04.10 18:14) [82] :

>Вы понимаете разницу между утверждениями:
некое множество конечно и указанное множество известно человечеству, вычислено его
компьютерами и доступно в Интернете


Нет.
Объясните разницу, пожалуйста?


 
Копир ©   (2010-04-08 18:31) [84]

Старый, старый анекдот времён Windows 3.11:

Программа обыграла юзера в шахматы.
Юзер: Опять Windows глючит :)


 
Наиль ©   (2010-04-09 20:44) [85]

> [73] xayam ©   (08.04.10 13:29)
> а названия переменных/функций/процедур можно заменять до
> выполнения eval на другие, нечто вроде обфускации

Направление мысли правильное, но правильное решение всё-таки:

> [43] McSimm ©   (01.04.10 13:53)
> Гораздо проще просто запустить внешний компилятор и выполнить
> исполняемый код.

Если подменить в системных библиотеках паскаля функции обращения к диску своими функциями, которые будут перенаправлять все операции в песочницу, то откомпилированная программа будет в полной уверености, что работает с реальной файловой системой.
Например, песочница - большой файл с информацией о каталогах, файлах и их содержимом. FindFirst, FindNext будут получать информацию о файлах из песочницы, а Read, Write считывать и записывать в файлы песочницы.
Но! Поддельные функции обращения к файлам будут использовать реальные функции которые нужны для работы с файлом песочницы. При некоторой сноровке можно узнать адрес реальных функций и вызывать их по адресу.
Поэтому нужно фильтровать исходный код пользователя на наличие @func выражений.
И всё равно злоумышленик может обратиться к реальному дисковому пространству.
Помешаем ему, удалением из его кода функций inline и ASM-вставок.
Попробуйте догадатся, как ещё он может подобраться к содержимому сервера?
Да легко, элементарным вызовом из своей программы внешних программ.
Поэтому, нужно подменить все функции которые могут вызвать постороние программы, так что бы они направлялись в песочницу.
Вся эта защита не спасает, всё равно у программы есть возможность выскочить из песочницы.
Чтобы избежать этого используем последний рубеж защиты.
Откомпилированная программа должна запускаться под специальным пользователем, которому доступен лишь один файл - файл песочницы. В этом случае все нехорошие действия программы будут натыкаться на сопротивление операционной системы.
Самое гланое, что для этого не нужен ни Yacc ни PHP, а лишь знание Паскаля и правильная настройка прав доступа.


 
Копир ©   (2010-04-09 20:56) [86]

>Наиль ©   (09.04.10 20:44) [85] :

>Помешаем ему, удалением из его кода функций inline и ASM-вставок.

А как помешать-то?
Способствовать хакерам?

Это их методы.

ASM - это добровольный способ от Борланда вставлять асс. коды.
Каждому по способностям.

Запрещать. Нам не дано. И слава Богу.

А то, тут всё запрещаем, запрещаем.
И никуда Россия не движется.
Запрещяя.


 
TUser ©   (2010-04-09 21:16) [87]


> Нет.
> Объясните разницу, пожалуйста?

Это может только педагог уровня макаренки - не я, короче.


 
Nickloa2   (2010-04-09 22:01) [88]

>xayam ©   (31.03.10 20:57)  
подумай длям начала, а почему ты сидишь без работы и тебе нечем заняться?
Могу пояснить ситуацию. С форумом и участниками данного ворума я знаком давно, но..., к сожалению на всех поинтовках мне с ними не о чем было разговаривать, потому что они все на голову, а то и на десяток выше меня. Но в этом форуме нужно задавать только адекватные вопросы, именно - каков вопрос, таков ответ.
Отдельное здрасте Юрию Швченко (НЛП помним:))


 
KSergey ©   (2010-04-09 22:55) [89]

Я так вижу задача найдена, любимая.
Языками почесать ни о чем.
Да уж, эт мы горазды.


 
Nickola2 ©   (2010-04-09 23:00) [90]

KSergey ©   (09.04.10 22:55) [89]

Ок. Простая задача: согласовать SPI - интерфейс микроконроллера на ядре ARM 32 с приложением на компьютере для проверки источников элекропитания.


 
xayam ©   (2010-04-09 23:13) [91]


> Наиль ©   (09.04.10 20:44) [85]
> Самое гланое, что для этого не нужен ни Yacc ни PHP, а лишь
> знание Паскаля и правильная настройка прав доступа.

Максим вроде имел ввиду реализацию именно на php, иначе не интересно

> Nickloa2   (09.04.10 22:01) [88]
> >xayam ©   (31.03.10 20:57)  
> подумай длям начала, а почему ты сидишь без работы и тебе
> нечем заняться?

да работа есть, я два через два работаю, вот два выходных такой ерундой занимаюсь.
PS Юрия зовут Игорь :)


 
Nickola2 ©   (2010-04-09 23:18) [92]

>xayam ©   (09.04.10 23:13) [91]
Прошу прощения, немного пьян. Действительно Игорь Шевчнеко, но вспомнил Юрия Зотова :)(спасибо ему за его уроки). По Subject: когда не чем занаяться, подумай, а может то, что ты сделал можно улучшить? Иногда помогает:)


 
xayam ©   (2010-04-09 23:24) [93]


> Nickola2 ©   (09.04.10 23:18) [92]
> Subject: когда не чем занаяться, подумай, а может то, что ты сделал можно улучшить?

да ничего особенного еще не сделано :)


 
Nickola2 ©   (2010-04-09 23:28) [94]

>xayam ©   (09.04.10 23:24) [93]
Тогда подумай чего хочется сделать. Могу привести в пример себя (прошу простить за нескромность) - разарботаль схемотехнику источника элекропитпния с КПД не менее 95%, жду оформления патента. Но нет пердела совершенству :)


 
McSimm ©   (2010-04-10 00:25) [95]


>
> Если подменить в системных библиотеках паскаля функции обращения
> к диску своими функциями, которые будут перенаправлять все
> операции в песочницу, то откомпилированная программа будет
> в полной уверености, что работает с реальной файловой системой.
>

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

Вспомнилось.
Давно когда-то была долгая и активная дискуссия о том, как сделать подобие песочницы для самого PHP, чтобы позволить посетителям вводить код скрипта и выполнять, хотя бы ограниченное подмножество. Разумеется, хотелось использовать реальный транслятор, "благо" возможностей для "обезопасивания" в нем, на первый взгляд, просто уйма (ограничение рабочей папки, запрет фунций, и пр.). Сколько ни предлагалось вариантов - всегда находился новый подход обойти запреты и напакостить. Как резюме все участники сошлись, что идея не реализуема.


 
McSimm ©   (2010-04-10 00:27) [96]


> Максим вроде имел ввиду реализацию именно на php, иначе
> не интересно

Нет, вопрос изначально стоял про PHP. И в такой постановке лично мне задача кажется весьма интересной.


 
Наиль ©   (2010-04-10 10:59) [97]

> [96] McSimm ©   (10.04.10 00:27)
> Нет, вопрос изначально стоял про PHP. И в такой постановке
> лично мне задача кажется весьма интересной.

Как вполне адекватный программист, который должен получить РЕЗУЛЬТАТ (соответствующий ТЗ) за наименьшее время, я вижу, что для создания Sandbox Pascal изменение системных библиотек паскаля даст более быстрый результат, чем создатние преобразователя Паскаль-кода на языке PHP, на сколько бы интересным это не было. Главное, что из PHP можно вызвать паскалевский компилятор, который приготовит исполняемый файл в нужном виде.
> [95] McSimm ©   (10.04.10 00:25)
> Реальный компилятор позволяет слишком много. Сколько ни
> ставь заглушек - программист найдет лазейку. Взять хотя
> бы возможности адресной арифметики.

Имено это я подразумевал под
> [85] Наиль ©   (09.04.10 20:44)
> Вся эта защита не спасает, всё равно у программы есть возможность
> выскочить из песочницы.

Правда, не подумал в контексте компилятора, а ведь компилятор тожно можно подправить и это решит все остальные проблемы. Естественно, это тоже не простая задача, но по объём работы, значительно меньше, чем для PHP-варианта.
Я так считаю, потому что как раз сейчас разбираюсь с Harbour (http://www.harbour-project.org/). Harbour конвертирует клиперовские программы в байт-код, который интегрируется в си-программу. Полученая программа исполняет байт-код используя виртуальную машину. Другими словами, Pascal Sanbox это тот же Harbour, только вместо паскаля Клипер, а вместо Си PHP.
Проекту Harbour 10 лет, и лишь 2 последних года он не только развивается, а используется по назначению.
Поэтому если есть 8 сводных лет на создание Pascal sandbox PHP based, то это действительно разумно.


 
xayam ©   (2010-04-12 12:02) [98]


> Поэтому если есть 8 сводных лет на создание Pascal sandbox
> PHP based, то это действительно разумно.

это время можно значительно сократить во времена генераторов анализаторов :) Не?


 
Наиль ©   (2010-04-12 17:40) [99]

> это время можно значительно сократить во времена генераторов
> анализаторов :) Не?

Возможно, но Харбор как раз построен на гераторах и анализаторах, bison и Flex.
Без них было бы дольше.


 
xayam ©   (2010-04-12 17:49) [100]


> Наиль ©   (12.04.10 17:40) [99]
> Возможно, но Харбор как раз построен на гераторах и анализаторах,
>  bison и Flex.

думаю с этим будет быстрее http://www.antlr.org   Только грамматику написать паскаля и немного кода


 
xayam ©   (2010-04-13 01:01) [101]


> http://www.antlr.org

прикольная штука, лексер сгенирировался, а парсер не хочет. Кто-нибудь работал с этими грамматиками для antlr? http://www.delphimaster.net/pascal.txt


 
xayam ©   (2010-04-13 14:45) [102]

народ, помогайте для Вас делаю :) Что может быть с этой грамматикой не так?


 
xayam ©   (2010-04-16 11:48) [103]

up


 
xayam ©   (2010-04-20 12:59) [104]

Немного переделал

http://www.delphimaster.net/pascal.txt

Стало почти не осталось ошибок, но по-прежнему генерится только лексер и стали выдаваться две ошибки:
1) internal error: no such group file AST.stg
2) internal error: no such group file ASTParser.stg

Проверил - таких файлов действительно нет, а они видимо используются для генерации парсера, в папке пакета org\antlr\codegen\templates\Php есть только файл Php.stg

На официальном сайте про это написано только то что можно установить опцию output=template но с такой опцией выдается другие две ошибки:
1) AST operator with non-AST output option: template
2) internal error: no such group file ST.stg
Первое я не понял, второе - файла действительно нет в папке org\antlr\codegen\templates\Php

Что я делаю не так? Как создать эти файлы AST.stg ASTParser.stg ST.stg?


 
КаПиБаРа   (2010-04-20 18:11) [105]

http://webproxy.2s.ru/?proxyreferer=86474707a3f2f296d6164723031303e29716e6465687e22757f227563757c64737 &page=/datasets



Страницы: 1 2 3 вся ветка

Форум: "Прочее";
Текущий архив: 2010.08.27;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.78 MB
Время: 0.063 c
3-1242884568
dort12
2009-05-21 09:42
2010.08.27
Сохранение всех файлов с blob поля


15-1266095159
Peace of cake
2010-02-14 00:05
2010.08.27
Как работает функция Ord?


2-1274172165
Irissss
2010-05-18 12:42
2010.08.27
FireBird хранимые процедуры


2-1265397112
И. Павел
2010-02-05 22:11
2010.08.27
Как проиграть несколько звуков из ресурса?


2-1265613649
pavel_guzhanov
2010-02-08 10:20
2010.08.27
цвет под курсором мыши





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский