About: Algorithm

An Entity of Type: music genre, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org

In mathematics and computer science, an algorithm (/ˈælɡərɪðəm/) is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing calculations and data processing. More advanced algorithms can perform automated deductions (referred to as automated reasoning) and use mathematical and logical tests to divert the code execution through various routes (referred to as automated decision-making). Using human characteristics as descriptors of machines in metaphorical ways was already practiced by Alan Turing with terms such as "memory", "search" and "stimulus".

Property Value
dbo:abstract
  • Un algorisme (o, alternativament, algoritme) és un conjunt finit d'instruccions o passos que serveixen per a executar una tasca o resoldre un problema. En la vida quotidiana, s'empren algorismes en multitud d'ocasions per a resoldre diversos problemes, com per exemple fer bugada amb una rentadora (conjunt d'instruccions enganxades a la tapa de la màquina), tocar un instrument musical (partitures), construir un aeroplà a escala (expressats en les instruccions), fer trucs de màgia (passos per a fer el truc) o, fins i tot, fer receptes de cuina (passos de la recepta). Alguns exemples d'algorismes en les matemàtiques són l'algorisme de la divisió per a calcular el quocient de dos nombres, l'algorisme d'Euclides per a obtenir el màxim comú divisor de dos enters positius, el mètode de Gauss per resoldre un sistema lineal d'equacions, o com per exemple un algorisme que sumi els 'n' nombres primers. D'una manera més formal, un algorisme és una seqüència finita d'instruccions realitzables, no ambigües, l'execució de les quals condueix a una resolució d'un problema. Aquesta definició es pot generalitzar des del punt de vista sistèmic, si se suposa que l'algorisme pot ser dissenyat per rebre i aprofitar una determinada entrada, donant com a resultat una , que pot resoldre un problema determinat. (ca)
  • Algoritmus je přesný návod či postup, kterým lze vyřešit daný typ úlohy. Pojem algoritmus se nejčastěji objevuje při programování, kdy se jím myslí teoretický princip řešení problému (oproti přesnému zápisu v konkrétním programovacím jazyce). Obecně se ale algoritmus může objevit v jakémkoli jiném vědeckém odvětví. Jako jistý druh algoritmu se může chápat i např. kuchařský recept. Zpravidla však na algoritmy klademe určitá omezení. (cs)
  • الخوارزمية هي مجموعة من الخطوات الرياضية والمنطقية والمتسلسلة اللازمة لحل مشكلة ما. وسميت الخوارزمية بهذا الاسم نسبة إلى العالم أبو جعفر محمد بن موسى الخوارزمي الذي ابتكرها في القرن التاسع الميلادي. الكلمة المنتشرة في اللغات اللاتينية والأوروبية هي «algorithm» وفي الأصل كان معناها يقتصر على خوارزمية لتراكيب ثلاثة فقط وهي: التسلسل والاختيار والتكرار. * التسلسل: تكون الخوارزمية عبارة عن مجموعة من التعليمات المتسلسلة، هذه التعليمات قد تكون إما بسيطة أو من النوعين التاليين. * الاختيار: بعض المشاكل لا يمكن حلها بتسلسل بسيط للتعليمات، وقد تحتاج إلى اختبار بعض الشروط وتنظر إلى نتيجة الاختبار، إذا كانت النتيجة صحيحة تتبع مسار يحوي تعليمات متسلسلة، وإذا كانت خاطئة تتبع مسار آخر مختلف من التعليمات. هذه الطريقة هي ما تسمى اتخاذ القرار أو الاختيار. * التكرار: عند حل بعض المشاكل لا بد من إعادة نفس تسلسل الخطوات عدد من المرات. وهذا ما يطلق عليه التكرار. و قد أثُبت أنه لاحاجة إلى تراكيب إضافية. استخدام هذه التراكيب الثلاث يسهل فهم الخوارزمية الواردة فيها وتغييرها. (ar)
  • Ως αλγόριθμος (ετυμολογία: al-Ḵwārizmī, Abū Ja‘far Muhammad ibn Mūsa) ορίζεται μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Πιο απλά (αλγόριθμο) ονομάζουμε μία σειρά από εντολές που έχουν αρχή και τέλος, είναι σαφείς και έχουν ως σκοπό την επίλυση κάποιου προβλήματος. Η λέξη αλγόριθμος προέρχεται από μία διατριβή του Πέρση μαθηματικού Μοχάμεντ ιμπν Μουσά αλ-Χουαρίζμι, η οποία περιείχε συστηματικές τυποποιημένες λύσεις αλγεβρικών προβλημάτων και αποτελεί ίσως την πρώτη πλήρη πραγματεία άλγεβρας. Έτσι η λέξη αλγόριθμος καθιερώθηκε αργά τα επόμενα χίλια χρόνια με την έννοια «συστηματική διαδικασία αριθμητικών χειρισμών». Τη σημερινή της σημασία την οφείλει στη γρήγορη ανάπτυξη των ηλεκτρονικών υπολογιστών στα μέσα του 20ου αιώνα. Η έννοια του αλγορίθμου γίνεται ευκολότερα αντιληπτή με το παρακάτω παράδειγμα. Αν κάποιος επιθυμεί να γευματίσει θα πρέπει να εκτελέσει κάποια συγκεκριμένα βήματα: να συγκεντρώσει τα υλικά, να προετοιμάσει τα σκεύη μαγειρικής, να παρασκευάσει το φαγητό, να στρώσει το τραπέζι, να ετοιμάσει τη σαλάτα, να γευματίσει, να καθαρίσει το τραπέζι και να πλύνει τα πιάτα. Προφανώς, η προηγούμενη αλληλουχία οδηγεί στο επιθυμητό αποτέλεσμα. Δεν είναι όμως η μοναδική για την επίτευξη του σκοπού, αφού μπορεί να αλλάξει η σειρά των βημάτων (π.χ. πρώτα να ετοιμάσει τη σαλάτα και μετά να στρώσει το τραπέζι). Ωστόσο το νόημα είναι πως η κατάτμηση μιας σύνθετης εργασίας σε διακριτά βήματα που εκτελούνται διαδοχικά, είναι ο πιο πρακτικός τρόπος επίλυσης πολλών προβλημάτων. (el)
  • In mathematics and computer science, an algorithm (/ˈælɡərɪðəm/) is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing calculations and data processing. More advanced algorithms can perform automated deductions (referred to as automated reasoning) and use mathematical and logical tests to divert the code execution through various routes (referred to as automated decision-making). Using human characteristics as descriptors of machines in metaphorical ways was already practiced by Alan Turing with terms such as "memory", "search" and "stimulus". In contrast, a heuristic is an approach to problem solving that may not be fully specified or may not guarantee correct or optimal results, especially in problem domains where there is no well-defined correct or optimal result. As an effective method, an algorithm can be expressed within a finite amount of space and time, and in a well-defined formal language for calculating a function. Starting from an initial state and initial input (perhaps empty), the instructions describe a computation that, when executed, proceeds through a finite number of well-defined successive states, eventually producing "output" and terminating at a final ending state. The transition from one state to the next is not necessarily deterministic; some algorithms, known as randomized algorithms, incorporate random input. (en)
  • Algoritmo estas metodo aŭ programo por solvi komputajn aŭ aliajn problemojn, kiu ĝuste difinas, kiel kaj en kia (vic)ordo procedi por ricevi rezulton senambigue determinitan de originaj datumoj. Ekz. por la konataj reguloj de adicio, subtraho, multipliko kaj divido la eblaj rezultatoj estas naturaj nombroj prezentitaj ekzemple en dekuma sistemo, kaj eblaj originaj datumoj estas ordigitaj paroj de samspecaj nombroj. La vorto algoritmo estas ŝanĝita formo de la nomo de la persa matematikisto Al-Ĥorezmi. Ĝenerale, oni ne supozas ke la rezulto nepre devas esti ricevita: la algoritma proceso povas interrompiĝi aŭ ne finiĝi iam. Algoritma proceso estas la agoj por sinsekvaj transformoj de konstruktaj objektoj, okazantaj per diskretaj paŝoj. Ĉiu paŝo konsideras la ŝanĝon de unu konstrukta objekto per la alia. Oni skribas ĉi tiujn paŝojn matematike per t. n. , kiu konsistas en komandoj, instrukcioj, operatoroj, plenumendaj sinsekve per elementaj operacioj. Laŭ la stirfluo de ekzekutado de algoritma aplikaĵo, ĉiu paŝo estas plenumo de simpla . Kun tiu ĉi difino ne konsentus multaj informadikistoj, kiuj insistas, ke taŭge formulita algoritmo devas garantii iaman finon. Iusenca escepto estas ekzemple mastrumaj programoj (operaciumoj), kiuj normale ne finiĝas; por ili Donald Knuth proponis la nomon "komputika metodo", por distingi ilin de algoritmoj. Mem la vorto devenas de Algorithmi, algorismus, kiu originas de latina transliterado de la nomo de mezazia matematikisto Al-Ĥorezmi. En mezepoka Eŭropo algoritmo nomiĝis la dekuma pozicia sistemo kaj la arto kalkuli per ĝi, ĉar danke al latina traduko de la traktato de Al-Ĥorezmi (en la 12-a jarcento) la eŭropa matematiko konatiĝis kun pozicia sistemo. Algoritmo estas unu el ĉefaj nocioj de matematiko kaj cibernetiko. Ĝin pristudas unu el la matematikaj branĉoj: Teorio de Algoritmoj. En komputada teknologio por priskribi algoritmojn, oni uzas programlingvojn. La termino "algoritmo" kutime implicas relative abstraktan matematikan prezenton, kontraste al komputopreta, sed ofte komputildependa "programo". (eo)
  • Ein Algorithmus (benannt nach Al-Chwarizmi, von arabisch: الخوارزمی al-Ḫwārizmī, deutsch ‚der Choresmier‘) ist eine eindeutige Handlungsvorschrift zur Lösung eines Problems oder einer Klasse von Problemen. Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten. Damit können sie zur Ausführung in ein Computerprogramm implementiert, aber auch in menschlicher Sprache formuliert werden. Bei der Problemlösung wird eine bestimmte Eingabe in eine bestimmte Ausgabe überführt. (de)
  • Algoritmo bat problema bat ebazteko eman behar diren urratsen deskribapen formala. Programazio-lengoaia baten bidez, algoritmoa ordenagailu batek egikari dezakeen programa bihur daiteke. Matematikan, informatikan, hizkuntzalaritzan eta beste zenbait esparrutan, algoritmo bat ongi definitutako instrukzio sekuentzia finitu bat da, ordenagailuz martxan jar daitekeena, normalean problema bat urratsez urrats ebazteko edo konputazio bat kalkulatzeko. Algoritmoak beti dira zehatzak, ez dira anbiguoak, eta jarraibide gisa erabiltzen dira kalkuluak egiteko, datuak prozesatzeko, datuak prozesatzeko, arrazoitze automatizaturako eta beste zeregin batzuetarako. Metodo eraginkor gisa, algoritmo bat espazio- eta denbora-kantitate finitu baten barruan eta ongi definitutako hizkuntza formal batean adieraz daiteke, funtzio bat kalkulatzeko. Hasierako egoera batetik eta hasierako datu batetik ("sarrera") abiatuta (agian hutsik egongo da), instrukioek konputazio bat deskribatzen dute, eta, exekutatzen direnean, ondo definitutako ondoz-ondoko egoera-kopuru finitu baten bidez egiten da, eta, aldi berean, "irteera" sortzen da, eta amaierako egoeran amaitzen da. Egoera batetik bestera igarotzeko bideak ez du beti eredu determinista jarraitzen, zenbait algoritmok zorizko balioak ere integratzen baitituzte. (eu)
  • En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del latín algorithmus y este del griego arithmos, que significa «número», quizá también con influencia del nombre del matemático persa Al-Juarismi)​ es un conjunto de instrucciones o reglas definidas y no-ambiguas, ordenadas y finitas que permite, típicamente, solucionar un problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o actividades.​ Dado un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.​ En la vida cotidiana, se emplean algoritmos frecuentemente para resolver problemas determinados. Algunos ejemplos son los manuales de usuario, que muestran algoritmos para usar un aparato, o las instrucciones que recibe un trabajador de su patrón. Algunos ejemplos en matemática son el algoritmo de multiplicación, para calcular el producto, el algoritmo de la división para calcular el cociente de dos números, el algoritmo de Euclides para obtener el máximo común divisor de dos enteros positivos, o el método de Gauss para resolver un sistema de ecuaciones lineales. En términos de programación, un algoritmo es una secuencia de pasos lógicos que permiten solucionar un problema. (es)
  • Un algorithme est une suite finie et non ambiguë d'instructions et d’opérations permettant de résoudre une classe de problèmes. Le mot algorithme a une longue histoire. Sous l’influence de l’ancien espagnol algorismo, il apparaît en français déjà vers 1230 sous la forme augorisme, puis algorisme au XIIIe siècle, pour désigner le calcul en chiffres, l’arithmétique. La forme moderne du terme reprend le latin médiéval algorithmus, altération influencée par arithmetica, et évoquant le nom d'Al-Khwârizmî (en arabe : الخوارزمي), , nom d'un mathématicien persan du IXe siècle Le domaine qui étudie les algorithmes est appelé l'algorithmique. On retrouve aujourd'hui des algorithmes dans de nombreuses applications telles que le fonctionnement des ordinateurs, la cryptographie, le routage d'informations, la planification et l'utilisation optimale des ressources, le traitement d'images, le traitement de textes, la bio-informatique, etc. (fr)
  • Modh oibre nó liosta treoracha léire críochta socraithe go beacht, ionas go bhfaighfear réiteach nó toradh barrmhaith ar fhadhb choimpléascach má fheidhmítear iad céim ar chéim. Sampla is ea an tacar rialacha chun iolrú simplí a dhéanamh. Saghas oidis bheacht a bhíonn ann, agus úsáidtear an téarma i dtaca le cláir ríomhaire go hiondúil. I gclár mar seo, leagtar amach gach treoir san ord cuí. Má bhíonn fiú treoir amháin in easnamh, treoir breise ann, nó treoir san eagar mícheart, ní fiú tráithnín an clár. (ga)
  • Dalam matematika dan ilmu komputer, algoritma adalah rangkaian terbatas dari instruksi-instruksi yang rumit, yang biasanya digunakan untuk menyelesaikan atau menjalankan suatu kelompok masalah komputasi tertentu. Algoritma digunakan sebagai spesifikasi untuk melakukan perhitungan dan pemrosesan data. Algoritma yang lebih mutakhir dapat melakukan deduksi otomatis (disebut sebagai penalaran otomatis) dan menggunakan tes matematis dan logis untuk mengarahkan eksekusi kode melalui berbagai rute (disebut sebagai pengambilan keputusan otomatis). Penggunaan karakteristik manusia sebagai deskriptor mesin secara metaforis telah dipraktekkan oleh Alan Turing dengan terminologi seperti "memory", "search" dan "stimulus". Sebaliknya, heuristika adalah pendekatan untuk pemecahan masalah komputasi yang mungkin tidak sepenuhnya terspesifikasi atau tidak menjamin hasil yang benar atau optimal, terutama dalam ranah masalah komputasi yang mana tidak ada hasil yang benar atau optimal yang terdefinisi dengan baik. Sebagai metode yang efektif, algoritma dapat diekspresikan dalam jumlah ruang dan waktu yang terbatas, dan dalam bahasa formal yang terdefinisi dengan baik untuk menghitung suatu fungsi. Dimulai dari tataran awal dan input awal (bisa jadi kosong), instruksi-instruksi yang ada menggambarkan sebuah komputasi yang, ketika dieksekusi, berjalan melalui sejumlah tataran dengan jumlah terhingga yang terdefinisi dengan baik, yang pada akhirnya menghasilkan "output" dan berakhir pada tataran final akhir. Transisi dari satu tataran ke tataran berikutnya tidak selalu bersifat menentukan; beberapa algoritme, yang dikenal sebagai algoritme acak, menggabungkan input acak. (in)
  • アルゴリズム(英: algorithm)とは、解が定まっている「計算可能」問題に対して、その解を正しく求める手続きをさす。あるいはそれを形式的(formal)に表現したもの。 加えて、アルゴリズムの効率性も重要となり、速く大量な計算を実現可能とする。このようなアルゴリズムを、コンピュータへソフトウェア的に実装するものがコンピュータプログラムである。 (ja)
  • ( 다른 뜻에 대해서는 알고리즘 (동음이의) 문서를 참고하십시오.) 알고리즘(영어: algorithm), 셈법은 수학과 컴퓨터과학, 언어학 또는 엮인 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차이다. 계산을 실행하기 위한 단계적 절차를 의미하기도 한다. 즉, 문제 풀이에 필요한 계산절차 또는 처리과정의 순서를 뜻한다. 프로그램명령어의 집합을 의미하기도 한다. 알고리즘은 연산, 데이터 마이닝(기계 학습) 또는 자동화된 추론을 수행한다. (ko)
  • In matematica e informatica un algoritmo è la specificazione di una sequenza finita di operazioni (dette anche istruzioni) che consente di risolvere tutti i quesiti di una stessa classe o di calcolare il risultato di un'espressione matematica. Un algoritmo deve essere * finito: è costituito da un numero finito di istruzioni e deve sempre terminare; * deterministico: partendo dagli stessi dati in ingresso, si devono ottenere i medesimi risultati; * non ambiguo: le operazioni non devono poter essere interpretate in modi differenti; * generale: deve essere applicabile a tutti i problemi della classe a cui si riferisce, o ai casi dell'espressione matematica. Il termine deriva dalla trascrizione latina del nome del matematico persiano al-Khwarizmi, vissuto nel IX secolo d.C., che è considerato uno dei primi autori ad aver fatto riferimento a questo concetto scrivendo il libro Regole di ripristino e riduzione. Le prime nozioni di algoritmo si trovano in documenti risalenti al XVII secolo a.C., conosciuti come i papiri di Ahmes, noti anche come papiri di Rhind, che contengono una collezione di problemi con relativa soluzione comprendendo un problema di moltiplicazione che lo scrittore dichiara di aver copiato da altri papiri anteriori di 12 secoli. L'algoritmo è un concetto fondamentale dell'informatica, anzitutto perché è alla base della nozione teorica di calcolabilità: un problema è calcolabile quando è risolvibile mediante un algoritmo. Inoltre, l'algoritmo è un concetto cardine anche nella fase di programmazione dello sviluppo di un software: preso un problema da automatizzare, la programmazione costituisce essenzialmente la traduzione o codifica di un algoritmo per tale problema in programma, scritto in un certo linguaggio, che può essere quindi effettivamente eseguito da un calcolatore rappresentandone la logica di elaborazione. (it)
  • Een algoritme is een recept om wiskundige of informaticaproblemen op te lossen vanuit een gegeven begintoestand naar een beoogd einddoel en dat bestaat uit een eindige reeks eenduidig gedefinieerde instructies. De term algoritme is afkomstig van het Perzische woord Gaarazmi: خوارزمي, naar de naam van de Perzische wiskundige Al-Chwarizmi. Algoritmen staan in beginsel los van computerprogramma's, al worden voor de uitvoering van algoritmen vaak computers gebruikt. Het doel van een algoritme is een probleem op te lossen. De instructies kunnen in het algemeen omgaan met eventualiteiten (fouten, datakwaliteitsproblemen, inconsistenties, randeffecten) die bij het uitvoeren kunnen optreden. Algoritmen hebben in het algemeen stappen (sequentie) die zich kunnen herhalen (iteratie) of die beslissingen (logica of vergelijkingen) vereisen om de taak te voltooien. Eenzelfde taak kan gewoonlijk op verschillende manieren worden opgelost. Het verschil ligt dan meestal in de hoeveelheid tijd, ruimte of inspanning die het algoritme vergt; dit kan een indicatie zijn voor de complexiteit of de efficiëntie van het algoritme. Bij het correct uitvoeren van een computerprogramma is het belangrijk dat het algoritme inderdaad de beoogde functie uitvoert en dat het algoritme goed door het computerprogramma wordt uitgevoerd. Eventuele fouten of problemen moeten hierbij worden gerapporteerd. (nl)
  • Algorytm – skończony ciąg jasno zdefiniowanych czynności koniecznych do wykonania pewnego rodzaju zadań, sposób postępowania prowadzący do rozwiązania problemu. Można go przedstawić na schemacie blokowym. Słowo „algorytm” pochodzi od łacińskiego słowa algorithmus, oznaczającego wykonywanie działań przy pomocy liczb arabskich (w odróżnieniu od abacism – przy pomocy abakusa), które z kolei wzięło się od nazwy „Algoritmi”, zlatynizowanej wersji nazwiska „al-Chwarizmi” Abu Abdullaha Muhammada ibn Musy al-Chuwarizmiego, matematyka perskiego z IX wieku. Zadaniem algorytmu jest przeprowadzenie systemu z pewnego stanu początkowego do pożądanego stanu końcowego. Badaniem algorytmów zajmuje się algorytmika. Algorytm może zostać zaimplementowany w postaci programu komputerowego. Jako przykład stosowanego w życiu codziennym algorytmu podaje się często przepis kulinarny. Dla przykładu, aby ugotować bigos, należy w określonej kolejności oraz odstępach czasowych (imperatyw czasowy) dodawać właściwe rodzaje kapusty i innych składników. Może istnieć kilka różnych przepisów dających na końcu bardzo podobną potrawę. Przykład ten ma wyłącznie charakter poglądowy, ponieważ język przepisów kulinarnych nie został jasno zdefiniowany. Algorytmy zwykle formułowane są w sposób ścisły w oparciu o język matematyki. W niektórych krajach (między innymi Stanach Zjednoczonych) algorytmy mogą zostać opatentowane, jeżeli zostaną zaimplementowane w jakimś praktycznym celu. Przeciwnicy tego podejścia twierdzą, że patentowanie algorytmów spowalnia rozwój informatyki, bo jeden producent może uzyskać monopol na pisanie oprogramowania tworzącego pewne typy plików (jak było to w przypadku GIF). Wiele koncernów komputerowych prowadzi między sobą spory prawne dotyczące praw własności do niektórych patentów. Kontrargumentem zwolenników patentów na oprogramowanie jest prawo własności intelektualnej (którą jest na przykład utwór muzyczny, będący wytworem intelektu i pracy muzyka), zakładające, że program jest intelektualną własnością twórcy. (pl)
  • Em matemática e ciência da computação, um algoritmo é uma sequência finita de ações executáveis que visam obter uma solução para um determinado tipo de problema. Segundo Dasgupta, Papadimitriou e Vazirani; "Algoritmos são procedimentos precisos, não ambíguos, padronizados, eficientes e corretos.". As suas características são: finitas, o algoritmo deve eventualmente resolver o problema; bem definidas: os passos devem ser definidos de modo a serem entendidos; efetivas, deve sempre resolver o que tem para solucionar, antecipando falhas. O conceito de algoritmo existe há séculos e o uso do conceito pode ser atribuído a matemáticos russos, por exemplo a Peneira de Eratóstenes e o algoritmo de Euclides. O conceito de algoritmo é frequentemente ilustrado pelo exemplo de uma receita culinária, embora muitos algoritmos sejam mais complexos. Eles podem repetir passos (fazer iterações) ou necessitar de decisões (tais como comparações ou lógica) até que a tarefa seja completada. Um algoritmo corretamente executado não irá resolver um problema se estiver implementado incorretamente ou se não for apropriado ao problema. Um algoritmo não representa, necessariamente, um programa de computador, e sim os passos necessários para realizar uma tarefa. Sua implementação pode ser feita por um computador, por outro tipo de autômato ou mesmo por um ser humano. Diferentes algoritmos podem realizar a mesma tarefa usando um conjunto diferenciado de instruções em mais ou menos tempo, espaço ou esforço do que outros. Tal diferença pode ser reflexo da complexidade computacional aplicada, que depende de estruturas de dados adequadas ao algoritmo. Por exemplo, um algoritmo para se vestir pode especificar que você vista primeiro as meias e os sapatos antes de vestir a calça enquanto outro algoritmo especifica que você deve primeiro vestir a calça e depois as meias e os sapatos. Fica claro que o primeiro algoritmo é mais difícil de executar que o segundo apesar de ambos levarem ao mesmo resultado. O conceito de um algoritmo foi formalizado em 1936 pela Máquina de Turing de Alan Turing e pelo cálculo lambda de Alonzo Church, que formaram as primeiras fundações da Ciência da computação. (pt)
  • En algoritm är, inom matematiken och datavetenskapen, en ändlig uppsättning (mängd) otvetydiga instruktioner som efter exekvering löser ett problem. Algoritmen startar i ett givet tillstånd (starttillstånd) och når resultatet (sluttillstånd) inom ett ändligt antal steg. Varje steg måste vara tydligt och precist definierat, på så sätt att utomstående ska kunna exekvera algoritmen och verifiera ett resultat. Ytterligare är effektivitet viktigt, det vill säga varje steg måste vara elementärt och exakt, samt gå att beräkna inom en ändlig tidsram. Det yttersta kriteriet för effektiva algoritmer är dess beräkningskomplexitet, något som mäts i antalet beräkningssteg som krävs för att nå ett resultat. Vanligtvis är det tidskomplexitet som mäts för att särskilja algoritmer, som uppmäts i tidsmängd beroende på problemstorleken. Det går även att mäta minneskomplexitet där man mäter hur mycket minne som krävs för att lösa ett problem. Utifrån ett problems algoritm kan man klassificera problem efter svårighetsgrad i så kallade komplexitetsklasser. Med klasser för tidskomplexitet är det möjligt att avgöra vilka problem som går att lösa inom en rimlig tid. Informellt illustreras algoritmer ofta som ett recept (även om många algoritmer är mycket mer komplexa än recept). Konceptuellt blir då ingredienser indata, receptet själva algoritmen och maträtten ett resultat. Men istället för att blanda eller koka finns det andra grundläggande steg i algoritmer. Man brukar räkna de fyra räknesätten och de logiska operationer på sanningsvärden som grundläggande operationer, man säger att de är atomära. Dessutom krävs att man till minne kan både läsa och skriva data. Det är ett mycket känt bevis av Alan Turing för vilka operationer som krävs för att kunna beräkna vilken funktion som helst. Ursprunget för begreppet algoritm uppstod som ett sätt att beskriva procedurer för att lösa matematiska problem som exempelvis att finna den gemensamma delaren för två tal eller att multiplicera två tal. Begreppet formaliserades 1936 genom Alan Turings turingmaskin och Alonzo Churchs lambdakalkyler, som i sin tur lade grunden för datavetenskapen.[källa behövs] De flesta algoritmer implementeras som datorprogram, då man strukturerar dem i programform. För att uttrycka program används programspråk som är formella språk med samtliga nödvändiga operationer för att uttrycka en godtycklig beräkningsbar funktion. Ordet algoritm bör ej förväxlas med den matematiska termen logaritm. (sv)
  • Алгори́тм (лат. algorithmi — от имени среднеазиатского математика Аль-Хорезми) — конечная совокупность точно заданных правил решения некоторого класса задач или набор инструкций, описывающих порядок действий исполнителя для решения определённой задачи. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Независимые инструкции могут выполняться в произвольном порядке, параллельно, если это позволяют используемые исполнители. Ранее в русском языке писали «алгорифм», сейчас такое написание используется редко, но тем не менее имеет место исключение (нормальный алгорифм Маркова). Часто в качестве исполнителя выступает компьютер, но понятие алгоритма необязательно относится к компьютерным программам — так, например, чётко описанный рецепт приготовления блюда также является алгоритмом, в таком случае исполнителем является человек (а может быть и некоторый механизм, например, ткацкий или токарный станок с числовым управлением). Можно выделить алгоритмы вычислительные (далее речь в основном идёт о них) и управляющие. Вычислительные алгоритмы, по сути, преобразуют некоторые начальные данные в выходные, реализуя вычисление некоторой функции. Семантика управляющих алгоритмов существенным образом может отличаться и сводиться к выдаче необходимых управляющих воздействий либо в заданные моменты времени, либо в качестве реакции на внешние события (в этом случае, в отличие от вычислительного алгоритма, управляющий может оставаться корректным при бесконечном выполнении). Понятие алгоритма относится к первоначальным, основным, базисным понятиям математики. Вычислительные процессы алгоритмического характера (арифметические действия над целыми числами, нахождение наибольшего общего делителя двух чисел и т. д.) известны человечеству с глубокой древности. Однако в явном виде понятие алгоритма сформировалось лишь в начале XX века. Частичная формализация понятия алгоритма началась с попыток решения проблемы разрешения (нем. Entscheidungsproblem), которую сформулировал Давид Гильберт в 1928 году. Следующие этапы формализации были необходимы для определения эффективных вычислений или «эффективного метода»; среди таких формализаций — рекурсивные функции Геделя — Эрбрана — Клини 1930, 1934 и 1935 гг., λ-исчисление Алонзо Чёрча 1936 г., «Формулировка 1» Эмиля Поста 1936 года и машина Тьюринга. (ru)
  • 算法(英語:algorithm),在數學(算學)和電腦科學之中,指一個被定義好的、計算機可施行其指示的有限步驟或次序,常用於計算、數據處理和自動推理。算法是,包含一系列定义清晰的指令,并可于有限的时间及空间内清楚的表述出来。 算法中的指令描述的是一個計算,它時從一個初始狀態和初始輸入(可能爲空)開始,經過一系列有限而清晰定義的狀態最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。包括隨機化算法在内的一些算法,都包含了一些隨機輸入。 早在尝试解决希尔伯特提出的判定问题时,算法的不完整概念已经初步定型;在其后的正式化阶段中人們尝试去定义“”或者“”。这些尝试包括库尔特·哥德尔、雅克·埃尔布朗和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的遞歸函數,阿隆佐·邱奇於1936年提出的λ演算,1936年的Formulation 1和艾倫·圖靈1937年提出的圖靈機。即使在當下,依然常有符合直覺的想法難以定義爲形式化算法的情況。 (zh)
  • Алгори́тм (латинізов. Algorithmi за араб. ім'ям перського математика аль-Хорезмі) — набір інструкцій, які описують порядок дій виконавця, щоб досягти результату розв'язання задачі за скінченну кількість дій; система правил виконання дискретного процесу, яка досягає поставленої мети за скінченний час. Для візуалізації алгоритмів часто використовують блок-схеми. Для комп'ютерних програм алгоритм є списком деталізованих інструкцій, що реалізують процес обчислення, який, починаючи з початкового стану, відбувається через послідовність логічних станів, яка завершується кінцевим станом. Перехід з попереднього до наступного стану не обов'язково детермінований — деякі алгоритми можуть містити елементи випадковості. Поняття алгоритму належить до підвалин математики. Обчислювальні процеси алгоритмічного характеру (як-то арифметичні дії над цілими числами, знаходження НСД двох чисел тощо) відомі людству з глибокої давнини. Проте чітке поняття алгоритму сформувалося лише на початку XX століття. Часткова формалізація поняття алгоритму розпочалася зі спроб розв'язати задачу розв'язності (нім. Entscheidungsproblem), яку сформулював Давид Гільберт 1928 року. Наступні формалізації були необхідні для визначення ефективної обчислювальності або «ефективного методу»; до цих формалізацій належать рекурсивні функції Геделя-Ербрана-Кліні 1930, 1934 та 1935 років, λ-числення Алонзо Черча 1936 р., «Формулювання 1» Еміля Поста 1936 року та машина Тюрінга, розроблена Аланом Тюрінгом протягом 1936, 1937 та 1939 років. В методології алгоритм є базисним поняттям і складає основу опису методів. З методології виходить якісно нове поняття алгоритму як оптимальність з наближенням до прогнозованого абсолюту. Зробивши все в послідовності алгоритму за граничних умов задачі, маємо ідеальне рішення нагальних проблем науково-практичного характеру. В сучасному світі алгоритм будь-якої діяльності у формалізованому вигляді складає основу навчання на прикладах за подібністю. На основі подібності алгоритмів різних сфер діяльності була сформована концепція (теорія) експертних систем. (uk)
dbo:thumbnail
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 775 (xsd:integer)
dbo:wikiPageLength
  • 113402 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1124938868 (xsd:integer)
dbo:wikiPageWikiLink
dbp:date
  • December 2020 (en)
  • July 2020 (en)
dbp:id
  • p/a011780 (en)
dbp:reason
  • Stone suggests on page 4: "...any sequence of instructions that can be obeyed by a robot, is called an algorithm" (en)
  • These steps are typically used in every day *software* development. In contrast, coming up with a new *algorithm* requires some ingenuity, and often lead to a research article in a computer science journal; it can hardly be broken down into receipt-like steps. (en)
dbp:title
  • Algorithm (en)
dbp:urlname
  • Algorithm (en)
dbp:wikiPageUsesTemplate
dcterms:subject
gold:hypernym
rdf:type
rdfs:comment
  • Algoritmus je přesný návod či postup, kterým lze vyřešit daný typ úlohy. Pojem algoritmus se nejčastěji objevuje při programování, kdy se jím myslí teoretický princip řešení problému (oproti přesnému zápisu v konkrétním programovacím jazyce). Obecně se ale algoritmus může objevit v jakémkoli jiném vědeckém odvětví. Jako jistý druh algoritmu se může chápat i např. kuchařský recept. Zpravidla však na algoritmy klademe určitá omezení. (cs)
  • Ein Algorithmus (benannt nach Al-Chwarizmi, von arabisch: الخوارزمی al-Ḫwārizmī, deutsch ‚der Choresmier‘) ist eine eindeutige Handlungsvorschrift zur Lösung eines Problems oder einer Klasse von Problemen. Algorithmen bestehen aus endlich vielen, wohldefinierten Einzelschritten. Damit können sie zur Ausführung in ein Computerprogramm implementiert, aber auch in menschlicher Sprache formuliert werden. Bei der Problemlösung wird eine bestimmte Eingabe in eine bestimmte Ausgabe überführt. (de)
  • Modh oibre nó liosta treoracha léire críochta socraithe go beacht, ionas go bhfaighfear réiteach nó toradh barrmhaith ar fhadhb choimpléascach má fheidhmítear iad céim ar chéim. Sampla is ea an tacar rialacha chun iolrú simplí a dhéanamh. Saghas oidis bheacht a bhíonn ann, agus úsáidtear an téarma i dtaca le cláir ríomhaire go hiondúil. I gclár mar seo, leagtar amach gach treoir san ord cuí. Má bhíonn fiú treoir amháin in easnamh, treoir breise ann, nó treoir san eagar mícheart, ní fiú tráithnín an clár. (ga)
  • アルゴリズム(英: algorithm)とは、解が定まっている「計算可能」問題に対して、その解を正しく求める手続きをさす。あるいはそれを形式的(formal)に表現したもの。 加えて、アルゴリズムの効率性も重要となり、速く大量な計算を実現可能とする。このようなアルゴリズムを、コンピュータへソフトウェア的に実装するものがコンピュータプログラムである。 (ja)
  • ( 다른 뜻에 대해서는 알고리즘 (동음이의) 문서를 참고하십시오.) 알고리즘(영어: algorithm), 셈법은 수학과 컴퓨터과학, 언어학 또는 엮인 분야에서 어떠한 문제를 해결하기 위해 정해진 일련의 절차이다. 계산을 실행하기 위한 단계적 절차를 의미하기도 한다. 즉, 문제 풀이에 필요한 계산절차 또는 처리과정의 순서를 뜻한다. 프로그램명령어의 집합을 의미하기도 한다. 알고리즘은 연산, 데이터 마이닝(기계 학습) 또는 자동화된 추론을 수행한다. (ko)
  • 算法(英語:algorithm),在數學(算學)和電腦科學之中,指一個被定義好的、計算機可施行其指示的有限步驟或次序,常用於計算、數據處理和自動推理。算法是,包含一系列定义清晰的指令,并可于有限的时间及空间内清楚的表述出来。 算法中的指令描述的是一個計算,它時從一個初始狀態和初始輸入(可能爲空)開始,經過一系列有限而清晰定義的狀態最終產生輸出並停止於一個終態。一個狀態到另一個狀態的轉移不一定是確定的。包括隨機化算法在内的一些算法,都包含了一些隨機輸入。 早在尝试解决希尔伯特提出的判定问题时,算法的不完整概念已经初步定型;在其后的正式化阶段中人們尝试去定义“”或者“”。这些尝试包括库尔特·哥德尔、雅克·埃尔布朗和斯蒂芬·科尔·克莱尼分别于1930年、1934年和1935年提出的遞歸函數,阿隆佐·邱奇於1936年提出的λ演算,1936年的Formulation 1和艾倫·圖靈1937年提出的圖靈機。即使在當下,依然常有符合直覺的想法難以定義爲形式化算法的情況。 (zh)
  • الخوارزمية هي مجموعة من الخطوات الرياضية والمنطقية والمتسلسلة اللازمة لحل مشكلة ما. وسميت الخوارزمية بهذا الاسم نسبة إلى العالم أبو جعفر محمد بن موسى الخوارزمي الذي ابتكرها في القرن التاسع الميلادي. الكلمة المنتشرة في اللغات اللاتينية والأوروبية هي «algorithm» وفي الأصل كان معناها يقتصر على خوارزمية لتراكيب ثلاثة فقط وهي: التسلسل والاختيار والتكرار. و قد أثُبت أنه لاحاجة إلى تراكيب إضافية. استخدام هذه التراكيب الثلاث يسهل فهم الخوارزمية الواردة فيها وتغييرها. (ar)
  • Un algorisme (o, alternativament, algoritme) és un conjunt finit d'instruccions o passos que serveixen per a executar una tasca o resoldre un problema. En la vida quotidiana, s'empren algorismes en multitud d'ocasions per a resoldre diversos problemes, com per exemple fer bugada amb una rentadora (conjunt d'instruccions enganxades a la tapa de la màquina), tocar un instrument musical (partitures), construir un aeroplà a escala (expressats en les instruccions), fer trucs de màgia (passos per a fer el truc) o, fins i tot, fer receptes de cuina (passos de la recepta). Alguns exemples d'algorismes en les matemàtiques són l'algorisme de la divisió per a calcular el quocient de dos nombres, l'algorisme d'Euclides per a obtenir el màxim comú divisor de dos enters positius, el mètode de Gauss per (ca)
  • In mathematics and computer science, an algorithm (/ˈælɡərɪðəm/) is a finite sequence of rigorous instructions, typically used to solve a class of specific problems or to perform a computation. Algorithms are used as specifications for performing calculations and data processing. More advanced algorithms can perform automated deductions (referred to as automated reasoning) and use mathematical and logical tests to divert the code execution through various routes (referred to as automated decision-making). Using human characteristics as descriptors of machines in metaphorical ways was already practiced by Alan Turing with terms such as "memory", "search" and "stimulus". (en)
  • Ως αλγόριθμος (ετυμολογία: al-Ḵwārizmī, Abū Ja‘far Muhammad ibn Mūsa) ορίζεται μια πεπερασμένη σειρά ενεργειών, αυστηρά καθορισμένων και εκτελέσιμων σε πεπερασμένο χρόνο, που στοχεύουν στην επίλυση ενός προβλήματος. Πιο απλά (αλγόριθμο) ονομάζουμε μία σειρά από εντολές που έχουν αρχή και τέλος, είναι σαφείς και έχουν ως σκοπό την επίλυση κάποιου προβλήματος. (el)
  • Algoritmo estas metodo aŭ programo por solvi komputajn aŭ aliajn problemojn, kiu ĝuste difinas, kiel kaj en kia (vic)ordo procedi por ricevi rezulton senambigue determinitan de originaj datumoj. Ekz. por la konataj reguloj de adicio, subtraho, multipliko kaj divido la eblaj rezultatoj estas naturaj nombroj prezentitaj ekzemple en dekuma sistemo, kaj eblaj originaj datumoj estas ordigitaj paroj de samspecaj nombroj. La vorto algoritmo estas ŝanĝita formo de la nomo de la persa matematikisto Al-Ĥorezmi. (eo)
  • En matemáticas, lógica, ciencias de la computación y disciplinas relacionadas, un algoritmo (del latín algorithmus y este del griego arithmos, que significa «número», quizá también con influencia del nombre del matemático persa Al-Juarismi)​ es un conjunto de instrucciones o reglas definidas y no-ambiguas, ordenadas y finitas que permite, típicamente, solucionar un problema, realizar un cómputo, procesar datos y llevar a cabo otras tareas o actividades.​ Dado un estado inicial y una entrada, siguiendo los pasos sucesivos se llega a un estado final y se obtiene una solución. Los algoritmos son el objeto de estudio de la algoritmia.​ (es)
  • Algoritmo bat problema bat ebazteko eman behar diren urratsen deskribapen formala. Programazio-lengoaia baten bidez, algoritmoa ordenagailu batek egikari dezakeen programa bihur daiteke. Matematikan, informatikan, hizkuntzalaritzan eta beste zenbait esparrutan, algoritmo bat ongi definitutako instrukzio sekuentzia finitu bat da, ordenagailuz martxan jar daitekeena, normalean problema bat urratsez urrats ebazteko edo konputazio bat kalkulatzeko. Algoritmoak beti dira zehatzak, ez dira anbiguoak, eta jarraibide gisa erabiltzen dira kalkuluak egiteko, datuak prozesatzeko, datuak prozesatzeko, arrazoitze automatizaturako eta beste zeregin batzuetarako. Metodo eraginkor gisa, algoritmo bat espazio- eta denbora-kantitate finitu baten barruan eta ongi definitutako hizkuntza formal batean adieraz (eu)
  • Un algorithme est une suite finie et non ambiguë d'instructions et d’opérations permettant de résoudre une classe de problèmes. Le mot algorithme a une longue histoire. Sous l’influence de l’ancien espagnol algorismo, il apparaît en français déjà vers 1230 sous la forme augorisme, puis algorisme au XIIIe siècle, pour désigner le calcul en chiffres, l’arithmétique. La forme moderne du terme reprend le latin médiéval algorithmus, altération influencée par arithmetica, et évoquant le nom d'Al-Khwârizmî (en arabe : الخوارزمي), , nom d'un mathématicien persan du IXe siècle (fr)
  • Dalam matematika dan ilmu komputer, algoritma adalah rangkaian terbatas dari instruksi-instruksi yang rumit, yang biasanya digunakan untuk menyelesaikan atau menjalankan suatu kelompok masalah komputasi tertentu. Algoritma digunakan sebagai spesifikasi untuk melakukan perhitungan dan pemrosesan data. Algoritma yang lebih mutakhir dapat melakukan deduksi otomatis (disebut sebagai penalaran otomatis) dan menggunakan tes matematis dan logis untuk mengarahkan eksekusi kode melalui berbagai rute (disebut sebagai pengambilan keputusan otomatis). Penggunaan karakteristik manusia sebagai deskriptor mesin secara metaforis telah dipraktekkan oleh Alan Turing dengan terminologi seperti "memory", "search" dan "stimulus". (in)
  • In matematica e informatica un algoritmo è la specificazione di una sequenza finita di operazioni (dette anche istruzioni) che consente di risolvere tutti i quesiti di una stessa classe o di calcolare il risultato di un'espressione matematica. Un algoritmo deve essere Il termine deriva dalla trascrizione latina del nome del matematico persiano al-Khwarizmi, vissuto nel IX secolo d.C., che è considerato uno dei primi autori ad aver fatto riferimento a questo concetto scrivendo il libro Regole di ripristino e riduzione. (it)
  • Een algoritme is een recept om wiskundige of informaticaproblemen op te lossen vanuit een gegeven begintoestand naar een beoogd einddoel en dat bestaat uit een eindige reeks eenduidig gedefinieerde instructies. De term algoritme is afkomstig van het Perzische woord Gaarazmi: خوارزمي, naar de naam van de Perzische wiskundige Al-Chwarizmi. Algoritmen staan in beginsel los van computerprogramma's, al worden voor de uitvoering van algoritmen vaak computers gebruikt. (nl)
  • Algorytm – skończony ciąg jasno zdefiniowanych czynności koniecznych do wykonania pewnego rodzaju zadań, sposób postępowania prowadzący do rozwiązania problemu. Można go przedstawić na schemacie blokowym. Słowo „algorytm” pochodzi od łacińskiego słowa algorithmus, oznaczającego wykonywanie działań przy pomocy liczb arabskich (w odróżnieniu od abacism – przy pomocy abakusa), które z kolei wzięło się od nazwy „Algoritmi”, zlatynizowanej wersji nazwiska „al-Chwarizmi” Abu Abdullaha Muhammada ibn Musy al-Chuwarizmiego, matematyka perskiego z IX wieku. (pl)
  • Em matemática e ciência da computação, um algoritmo é uma sequência finita de ações executáveis que visam obter uma solução para um determinado tipo de problema. Segundo Dasgupta, Papadimitriou e Vazirani; "Algoritmos são procedimentos precisos, não ambíguos, padronizados, eficientes e corretos.". As suas características são: finitas, o algoritmo deve eventualmente resolver o problema; bem definidas: os passos devem ser definidos de modo a serem entendidos; efetivas, deve sempre resolver o que tem para solucionar, antecipando falhas. (pt)
  • En algoritm är, inom matematiken och datavetenskapen, en ändlig uppsättning (mängd) otvetydiga instruktioner som efter exekvering löser ett problem. Algoritmen startar i ett givet tillstånd (starttillstånd) och når resultatet (sluttillstånd) inom ett ändligt antal steg. Varje steg måste vara tydligt och precist definierat, på så sätt att utomstående ska kunna exekvera algoritmen och verifiera ett resultat. Ytterligare är effektivitet viktigt, det vill säga varje steg måste vara elementärt och exakt, samt gå att beräkna inom en ändlig tidsram. Det yttersta kriteriet för effektiva algoritmer är dess beräkningskomplexitet, något som mäts i antalet beräkningssteg som krävs för att nå ett resultat. Vanligtvis är det tidskomplexitet som mäts för att särskilja algoritmer, som uppmäts i tidsmängd (sv)
  • Алгори́тм (лат. algorithmi — от имени среднеазиатского математика Аль-Хорезми) — конечная совокупность точно заданных правил решения некоторого класса задач или набор инструкций, описывающих порядок действий исполнителя для решения определённой задачи. В старой трактовке вместо слова «порядок» использовалось слово «последовательность», но по мере развития параллельности в работе компьютеров слово «последовательность» стали заменять более общим словом «порядок». Независимые инструкции могут выполняться в произвольном порядке, параллельно, если это позволяют используемые исполнители. (ru)
  • Алгори́тм (латинізов. Algorithmi за араб. ім'ям перського математика аль-Хорезмі) — набір інструкцій, які описують порядок дій виконавця, щоб досягти результату розв'язання задачі за скінченну кількість дій; система правил виконання дискретного процесу, яка досягає поставленої мети за скінченний час. Для візуалізації алгоритмів часто використовують блок-схеми. (uk)
rdfs:label
  • Algorithm (en)
  • خوارزمية (ar)
  • Algorisme (ca)
  • Algoritmus (cs)
  • Algorithmus (de)
  • Αλγόριθμος (el)
  • Algoritmo (eo)
  • Algoritmo (eu)
  • Algoritmo (es)
  • Algartam (ga)
  • Algoritma (in)
  • Algorithme (fr)
  • Algoritmo (it)
  • アルゴリズム (ja)
  • 알고리즘 (ko)
  • Algoritme (nl)
  • Algorytm (pl)
  • Algoritmo (pt)
  • Алгоритм (ru)
  • Algoritm (sv)
  • 算法 (zh)
  • Алгоритм (uk)
rdfs:seeAlso
owl:sameAs
prov:wasDerivedFrom
foaf:depiction
foaf:isPrimaryTopicOf
is dbo:academicDiscipline of
is dbo:genre of
is dbo:knownFor of
is dbo:nonFictionSubject of
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is dbp:genre of
is dbp:subject of
is gold:hypernym of
is rdfs:seeAlso of
is owl:differentFrom of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License