Форум программистов, компьютерный форум, киберфорум
Обо всем!
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
 Аватар для TermenatorX
2 / 2 / 0
Регистрация: 14.02.2013
Сообщений: 145

Нахождение наилучшего алгоритма

31.12.2015, 13:02. Показов 718. Ответов 7
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
А что если не напрягаться взять самый мощный компьютер и заставить его перебрать коды программ компилировать (если возможно) и проверять проходят они тесты или нет. Например самая простая задача суммирование двух чисел:
Реализация на pascal'e:
Pascal
1
2
3
4
5
var
a,b:integer;
begin
write(a+b);
end.
5 строк всего в написании кода участвует ~40 символов тогда количество комбинаций 40^60=1.329228e+96 (60 -это количество символов учитывая пробелы 5строк*12символов (самая длинная строка))
не так уж и много для суперкомпьютера.
+ Код можно записать в одну строку;
Алгоритм Дейкстры возьмем как наихудшее что можно предложить, он ~1000 символов кода(считал) тогда 1000^60=10^180 - не так уж и много. Алгоритм который получится 100% гениален и прост и меньше 1000 символов, так что мешает нам так и сделать?

Добавлено через 15 часов 37 минут
Ошибочка со вторым вычислением там 40^1000 не так уж и много

Добавлено через 2 минуты
<10^1603

Добавлено через 1 минуту
Если считать то большинство просто не откомпилируется
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
31.12.2015, 13:02
Ответы с готовыми решениями:

Поиск алгоритма нахождения наилучшего результата
Дано: N-ое кол-во таблиц. При объединении трех создается новая таблица (пример ниже) 1 1 1 1 + 1 1 1 0 + 1 0 0 0 = 2 1 1 1 1 0 1...

Строим пирамидку. Массив\нахождение алгоритма
Башня состоит из основания и, возможно, надстройки. В основании башни размещены несколько равных равносторонних треугольников, основания...

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

7
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
31.12.2015, 18:26
Эти количества комбинаций уже больше, чем оценочное число атомов во Вселенной. Ну, перебирать можно не символы, а целые лексемы, но всё равно до фига будет. А так вообще идею юзать можно.
https://ru.wikipedia.org/wiki/Malbolge
Код первой программы, выводящей «HEllO WORld», сгенерировала другая программа на языке Lisp, использовавшая поиск в множестве всех возможных программ, через два года после появления самого языка Malbolge.
https://en.wikipedia.org/wiki/Illegal_prime
One of the earliest illegal prime numbers was generated in March 2001 by Phil Carmody. Its binary representation corresponds to a compressed version of the C source code of a computer program implementing the DeCSS decryption algorithm, which can be used by a computer to circumvent a DVD's copy protection.
0
 Аватар для TermenatorX
2 / 2 / 0
Регистрация: 14.02.2013
Сообщений: 145
01.01.2016, 16:50  [ТС]
1. Pascal - не самый сложный язык
2. Собираюсь написать интерпритатор для получившихся переборов а только потом копилировать, например:
Pascal
1
2
3
4
5
6
var
a,b:integer;
begin
read(a,b);
write(a+b);
end.
Можно заменить на псевдокод:
<&a,&b>{r(a,b)w(a+b)}
Из 60 символов сделали 21

Добавлено через 1 минуту
<...> - объявление переменных
& - integer;
{...} - begin end.
r - read
w - write

Добавлено через 1 минуту
Если точно считать 41^21 = 7.3868791e+33

Добавлено через 35 секунд
Даже для моего компьютера мало.

Добавлено через 21 секунду
+ не все программы будут компилироватся
0
2838 / 1647 / 254
Регистрация: 03.12.2007
Сообщений: 4,222
01.01.2016, 19:00
Ты представляешь себе 7e+33? Солнце погаснет намного быстрее.
0
 Аватар для TermenatorX
2 / 2 / 0
Регистрация: 14.02.2013
Сообщений: 145
01.01.2016, 19:26  [ТС]
Давайте проверим сколько будет находится сумма двух чисел.

Добавлено через 28 секунд
На моём компьютере.
0
Кандёхаем веселее!
 Аватар для MLPMan
296 / 330 / 76
Регистрация: 02.10.2012
Сообщений: 2,175
03.01.2016, 01:10
TermenatorX, слышали про генетические алгоритмы?
0
Модератор
Эксперт NIX
 Аватар для NeoMatrix
8532 / 3344 / 105
Регистрация: 24.05.2011
Сообщений: 14,538
Записей в блоге: 8
03.01.2016, 15:09
Цитата Сообщение от TermenatorX Посмотреть сообщение
не все программы будут компилироватся
Вообще, программист, это тот человек, который может объяснить и поставить задачу машине на выполнение.
Сама машина - она не может знать, что человеку от неё нужно.
Хорошо, давайте предположим, что вы напишете программу, которая сможет генерить код. Рабочий код на выбранном ЯП, после чего, его скомпилить и запустить на выполнение.
Итак, у нас есть такая прога. Но что и, главное КАК вы ей передавать собираетесь? Как человек должен машине передать то, чего он от неё желает получить?

Так вот что я вам скажу: код произвольной программы на любом ЯП - это и есть то пожелание человека, выраженное на понятном машине языке.
Да, было бы неплохо выражать свои мысли и пожелания машине на привычном для обычного человека человеческом языке, а ещё лучше - на любом из человеческих языков, да плюсом к этому - голосом: "Эй, емакс, сделай мне чашечку капучино!"
Так прикол в том, что для этого нужно писать программы совершенно другой направленности - программы, распознающие голос, язык пользователя, программы обработки запросов и формализации задач на исполнение, программы драйверов исполняемых устройств, которые может задействовать машина и т.д.

Если вы хотите как-то постепенно переложить труд кодера на сами железные плечи электронных мозгов, то да - задача вроде-бы технически решаема, но вот формально - нет. машина сама никогда так не узнает, какие ей писать программы, пока вы ей это не расскажете. Со всеми подробностями. Техническим языком. И если двигаться дальше - языком программирования. Вероятно, языком программирования высокого уровня.
А не логичней-ли, не проще-ли тогда написать сам этот высокоуровневый ЯП с компилятором и библиотеками?
0
 Аватар для TermenatorX
2 / 2 / 0
Регистрация: 14.02.2013
Сообщений: 145
03.01.2016, 16:03  [ТС]
псс.. тесты(входные данные -> выходные) например сумма двух чисел у меня находится за 33 секунды.

Добавлено через 3 минуты
если использовть предложенный мною псевдокод то программ выглядит так
[[<:&]<[:<[>
не понятно да
[-начало объявления переменных
]- конец
[ -1я переменная типа &-integer
<-2я
<-начало кода
>-конец
[-функция суммирования

Добавлено через 2 минуты
6^12=2176782336 - количество комбинаций
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
03.01.2016, 16:03
Помогаю со студенческими работами здесь

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

Нахождение интервала унимодальности с использованием алгоритма Свенна
дана функция f(x,y)=((y^3-x^2)^2)+100((1-x^2)) ДЛя нахождения интервала унимодальности использовать алгоритм Свенна.

Нахождение максимальной суммы треугольника с помощью эффективного алгоритма
Задача: http://euler.jakumo.org/problems/view/67.html Мой код: using System; using System.Collections.Generic; using System.Linq; ...

Осуществить распараллеливание алгоритма, реализующего нахождение минимального элемента одномерного массива
Help help help есть задание &quot;Нахождение вектора минимальных элементов строк матрицы.&quot; и вот код using System; using...

Нахождение корней линейного диофантова уравнения с пятью переменными при помощи генетического алгоритма
Помогите, пожалуйста, решить!!! Решить в целых числах Диофантово уравнение: A1*x1 + A2*x2 + A3*x3 + A4*x4 + A5*x5 = D, где x -...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
Фото: Daniel Greenwood
kumehtar 13.11.2025
Расскажи мне о Мире, бродяга
kumehtar 12.11.2025
— Расскажи мне о Мире, бродяга, Ты же видел моря и метели. Как сменялись короны и стяги, Как эпохи стрелою летели. - Этот мир — это крылья и горы, Снег и пламя, любовь и тревоги, И бескрайние. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru